QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 8347|回复: 23
收起左侧

[求助] solidworks切割清单中的方程计算(图)

[复制链接]
发表于 2013-6-29 14:11:34 | 显示全部楼层 |阅读模式 来自: 中国辽宁沈阳

马上注册,结识高手,享用更多资源,轻松玩转三维网社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
切割清单怎样进行方程计算?.jpg
5 q9 }8 `) b. v/ O2 z
) ?# K& r( K: H9 v: B/ c+ w如图所示' b& {$ h/ q- V( }$ `
1.在切割清单中点击表格项目,方程为灰显: c, I0 v5 r$ b' G, u) Y
2.现有(切割清单项目:单件重)与(表格项目:件数)
; h- [& t# @  q9 b6 z3.如何计算   单件重*件数    ?
6 O' |: K+ M4 y2 Z
发表于 2013-6-30 09:06:50 | 显示全部楼层 来自: 中国山东济南
顶,期待解决。。。
发表于 2013-6-30 09:45:09 | 显示全部楼层 来自: 中国广东东莞
方程应该是在文档属性中添加的.不是在清单中添加的吧?
发表于 2013-6-30 10:58:04 | 显示全部楼层 来自: 中国台湾
本帖最后由 gt.adan 于 2013-6-30 11:05 编辑 * j1 H, u6 U/ T7 O8 _
7 N! n9 Z) y. f, K/ @
樓主這個工程圖…
3 o1 n" C7 Z$ t, x6 y. U是新建的空白表格想要做成「單重」*「件數」的模板供日後使用?
; E4 t4 [  V; |% ]4 b7 ?還是由零件/裝配體生成的工程圖?
  W6 o9 S/ {8 w! V( R8 v兩者貌似都沒問題的,不明白樓主的實際操作過程…

评分

参与人数 1三维币 +3 收起 理由
阿帕奇 + 3

查看全部评分

 楼主| 发表于 2013-7-2 20:46:10 | 显示全部楼层 来自: 中国河北唐山
gt.adan 发表于 2013-6-30 10:58 static/image/common/back.gif
: E" t: [4 Q5 J& ^, S樓主這個工程圖…1 b: ]* f* e2 }/ r5 C
是新建的空白表格想要做成「單重」*「件數」的模板供日後使用?- g! s4 C7 N/ `1 ?5 |
還是由零件/裝配體生成 ...

/ j  S6 J6 c$ u. t  H1 z0 f3 W- e* \是新建的空白表格想要做成「單重」*「件數」的模板供日後使用,是在切割清单生成的表格中计算
发表于 2013-7-2 21:11:07 | 显示全部楼层 来自: 中国北京
  这个问题两年前我都提过了
发表于 2013-7-2 22:08:09 | 显示全部楼层 来自: 中国台湾
ugnxs 发表于 2013-7-2 20:46 static/image/common/back.gif" [# f$ @0 A3 G! L& ]
是新建的空白表格想要做成「單重」*「件數」的模板供日後使用,是在切割清单生成的表格中计算
. D/ h1 t: {$ i  i/ [, V
可以的話請將您做好的表格傳上來~
发表于 2013-7-3 08:12:01 | 显示全部楼层 来自: 中国辽宁沈阳
忘了告诉你,切割清单好象不能直接加方程式,
) `, z! w8 L" J7 R3 @6 S# x用材料明细表做的详细切割清单才可记添加方程式。
2 h3 _; X" P, e% k- h下面GIF动画图片你参考一下。再到帮助里看一下说明。
; R- p. s2 o) v/ ]& F5 C; L 详细切割清单.gif ( B6 }& D- a, j! o; y

1 Q6 |: w3 B0 A2 L( Q( j" I; k
发表于 2013-7-3 11:48:32 | 显示全部楼层 来自: 中国台湾
qiminger 发表于 2013-7-3 08:12 static/image/common/back.gif! x; Y% v- W0 _8 h  \3 M) a
忘了告诉你,切割清单好象不能直接加方程式,
$ q+ ?* S" v7 i用材料明细表做的详细切割清单才可记添加方程式。, h4 {5 H1 J& ?1 l
下面GIF动 ...

4 W7 Y# s6 g' }/ v  s# p# p可能阿丹理解有誤…但是切割清單貌似可以加方程的呀…請 qiminger 前輩幫忙看下…3 Y  P  G( W7 W/ ~, t7 N

8 ^7 f$ {8 H; a) B% V1 S capture-1.gif
发表于 2013-7-3 14:39:54 | 显示全部楼层 来自: 中国辽宁沈阳
gt.adan 发表于 2013-7-3 11:48 static/image/common/back.gif
9 k, y8 s) U% o' H/ t可能阿丹理解有誤…但是切割清單貌似可以加方程的呀…請 qiminger 前輩幫忙看下…

* Y) j/ b; R5 P  g谢谢交流,以前没太细研究在切割清单方程式,草率下定论,见笑了。
6 G/ S6 {9 q1 G0 Y! U刚才又试一下,可以象电子表格那样添加,但结果不知为什么不对。
9 v) ]! }4 X/ l' `4 T+ n* C& D 2.gif 7 ?6 [6 r8 [; \* J6 e7 X
发表于 2013-7-3 17:23:08 | 显示全部楼层 来自: 中国台湾
本帖最后由 gt.adan 于 2013-7-4 01:12 编辑 # l" k! K  M) Z
qiminger 发表于 2013-7-3 14:39 static/image/common/back.gif& Q, a3 I" M* x6 \$ y
谢谢交流,以前没太细研究在切割清单方程式,草率下定论,见笑了。
, T1 `# c" K  }+ C1 N( G  f刚才又试一下,可以象电子表格那样添 ...
# C5 d% S" n* w4 g8 s4 H
謝謝回覆~3 ^- M+ S1 @, C/ l! A3 E
=========================================================
. o$ o9 F' m8 n& {7 v# M+ I9 ~不知道樓主為何要切割清單又要材料明細表…可能真的有需要吧。
( _" U; o" p9 v1 m2 t=========================================================
6 h- I7 @: ?/ M! S關於您的動畫演示,如果可行的話前輩上傳檔案,阿丹幫忙研究看下~
发表于 2013-7-4 01:17:49 | 显示全部楼层 来自: 中国台湾
qiminger 发表于 2013-7-3 14:39 static/image/common/back.gif
8 X& l* S" r* y+ G: O/ f& N% |谢谢交流,以前没太细研究在切割清单方程式,草率下定论,见笑了。
! Q5 y$ g0 i( [- i6 F刚才又试一下,可以象电子表格那样添 ...

! x0 E, S/ g+ ]; S2 ^2 u網路上說的「焊件切割清單無法寫入方程」這話說得太辭不達意,往往會讓人誤解。. A" ?/ C0 A) o# q) ]6 v
應該說無法實現整欄(列)的方程套用,只能對單一輸入窗格套用方程。意即咱們的動畫所示。- `  j3 r7 i: ^4 z) [
件數少的時候,直接輸入方程的方法或許可行;0 N0 B( v  P( C! [
然而一旦件數多(切割清單多)的時候,每一個欄位都要重新輸入對應的「單重」*「件數」?
) z' [; L) o" ?8 U- ?, H. I100件就要輸入100次?光是用想的就累人了…1 V/ v. H/ T" v3 }# }

. t+ L* ?- D  _/ }! Y2 D5 C: B9 C$ H  `
发表于 2013-7-4 07:48:27 | 显示全部楼层 来自: 中国天津
本帖最后由 qiminger 于 2013-7-4 07:55 编辑 3 Y% Q- S8 w( p! ^  M5 ^) [$ ^6 A
gt.adan 发表于 2013-7-4 01:17 http://www.3dportal.cn/discuz/static/image/common/back.gif
* q5 @. `* s2 }網路上說的「焊件切割清單無法寫入方程」這話說得太辭不達意,往往會讓人誤解。, F. y9 W" G5 }4 j3 P
應該說無法實現整欄(列) ...

8 _) u& d" i, n5 g+ w! `4 t* R
对应栏位输入方程式没有应用价值,我上源文件,还麻烦阿丹有时间研究一下。
+ _$ S$ L- E3 C9 `0 X再说楼主的问题,是想在切割清单里加入单重和总重吧,一般的话切割清单里不必加。& v8 i$ G6 v8 o+ x7 K9 Y" Y
就是要加的话,详细切割清单和在焊件里设置自定义属性,应该能达到目的。: o6 W  a) W- ?: }# t; \7 o
再请阿丹将那个可以计算总重的切割清单分享一份。
1 S% h4 ^3 a) r 焊件.rar (446.02 KB, 下载次数: 59)
发表于 2013-7-5 10:14:23 | 显示全部楼层 来自: 中国台湾
本帖最后由 gt.adan 于 2013-7-5 10:16 编辑 ; M/ d% d+ K# l
qiminger 发表于 2013-7-4 07:48 static/image/common/back.gif; A4 |% K! Y1 y
对应栏位输入方程式没有应用价值,我上源文件,还麻烦阿丹有时间研究一下。
+ o% n1 r; _+ K& Q9 R( I& C* G再说楼主的问题,是想在切 ...

6 |6 }8 s4 Z. ~, a- R回覆 qiminger 前輩,您的工程圖俺打開後,數值是正常的,並無像動畫中顯示的負值。! y( G. {: ^( {6 l6 w4 g6 Z
由於焊件清單截至目前仍不支援清單總重的方程寫入,而且逐項輸入也如您所說的沒有利用價值。7 R/ h! J$ P" S( ~
動手試過幾回後發現無法實現要求,所以阿丹只能借用前人分享的宏來生成單重及總重的屬性以調用。1 u: Y0 y& n3 Q5 ~+ M; N
文件相信前輩應該是有了,若是有需要再請您告知。
1 w" {/ y8 b: E
  T4 p' r* N0 v  n QQ截圖20130705101454.gif
发表于 2015-9-21 21:03:53 | 显示全部楼层 来自: 中国河北唐山
qiminger 发表于 2013-7-4 07:48
' k$ b3 m4 c" z7 ^! Z% t对应栏位输入方程式没有应用价值,我上源文件,还麻烦阿丹有时间研究一下。( _0 D- @' p) F* f2 H: i# |7 P
再说楼主的问题,是想在切 ...

/ O5 Z" ?. C$ }7 e; Y2 U! `谢谢分享!可是为什么列属性是不可编辑的?而且我加了一列:“材质”,也是不能编辑,为什么?
发表于 2015-9-22 07:18:26 | 显示全部楼层 来自: 中国山东威海
mingri 发表于 2015-9-21 21:034 `* `( w" _0 J4 V7 r/ L& h* C
谢谢分享!可是为什么列属性是不可编辑的?而且我加了一列:“材质”,也是不能编辑,为什么?

, c' f# [5 `- w" K6 _切割清单有属性链接,不可编辑,如果一定要编辑,就会断开参考的。。。
发表于 2016-3-7 15:23:28 | 显示全部楼层 来自: 中国四川攀枝花
gt.adan 发表于 2013-7-5 10:14
+ u* a5 B# _# r# q) w! l) }8 E回覆 qiminger 前輩,您的工程圖俺打開後,數值是正常的,並無像動畫中顯示的負值。
( @; d( c4 j' @2 }/ b由於焊件清單截至目 ...

5 L0 m( s% o- O3 |/ d1 ]切割清单里计算每一行的总重确实太麻烦了,请丹大提供一下可以生成总重的宏,谢谢!
发表于 2016-3-9 14:01:48 | 显示全部楼层 来自: 中国台湾
本帖最后由 gt.adan 于 2016-3-10 20:17 编辑
8 B1 Q: O  e' z6 @% i' Y
pzhzshun 发表于 2016-3-7 15:23! r% w' E! X5 Y/ v' [9 ^7 H
切割清单里计算每一行的总重确实太麻烦了,请丹大提供一下可以生成总重的宏,谢谢!

1 r; q2 V, w/ Y1 O3 _/ U這個宏是悶大於2009年分享的   焊件切割清单中自动增加『单重』和『总重』的属性以下內容轉貼自開思。
* _, {+ P" C: O! g' x* {" X請注意,以下是電腦顯示後綴名稱的代碼,不顯示後綴名稱的請看#21說明。
4 A. z( J. ?& K) Z0 g+ h
  1. Option Explicit
    1 P3 i, n$ j0 k4 F# l& z! T; ?6 h
  2. Dim swApp As SldWorks.SldWorks" F5 H- Q3 S; H+ Y: c  r6 c
  3. Dim Part As SldWorks.ModelDoc2
    3 ?. `" `# K6 z4 e
  4. Dim thisFeat As SldWorks.Feature
    5 ~) K9 u' G1 k% o) V
  5. Dim thisSubFeat As SldWorks.Feature# D) N0 M* d+ R  [
  6. Dim cutFolder As Object, e5 M$ ]( Y$ b  C/ a. I
  7. Dim BodyCount As Integer
    % U" B3 z% K9 }
  8. Dim fn As String$ i3 t5 U, m3 p1 u: e# A7 f
  9. Dim pn As String
    # A" U4 b* t1 r  H+ c9 J( R" j1 b
  10. Dim custPropMgr As SldWorks.CustomPropertyManager% i$ G9 y# h, G$ v1 {4 ]) B
  11. Dim propNames As Variant
    0 f9 ^4 c7 ?+ _! T, v
  12. Dim vName As Variant
    ) B; U. B# _. _+ M& c' \9 H( R
  13. Dim propName As String
    " f$ @8 z- |5 j" D( `) y4 x
  14. Dim Value As String
      M8 u4 G6 f; V% t. o! a
  15. Dim resolvedValue As String
      ?% o" l; E6 h& k1 d
  16. Dim TotalW As Double7 V3 N$ Z9 |* P9 L$ @) ?0 j+ E; Z
  17. Sub main()
    ( g' C- `) S0 w& u, Y# t7 y) [
  18. Set swApp = Application.SldWorks
    % J+ t/ i2 d0 y. I% a; O* I
  19. Set Part = swApp.ActiveDoc
    3 ]" B* f. A5 |
  20. Set thisFeat = Part.FirstFeature
    / t% _8 u! r3 H5 r  n
  21. Do While Not thisFeat Is Nothing
    / V* e# h% E! E/ X8 ?% t
  22.     If thisFeat.GetTypeName = "SolidBodyFolder" Then* X0 f3 R  {+ P% @
  23.         thisFeat.GetSpecificFeature2.UpdateCutList8 ^( U' h$ @  _4 I' X: \5 E; A9 A
  24.     End If
    / [! J7 l5 q# D* x# z3 J; ^* h
  25.     Set thisSubFeat = thisFeat.GetFirstSubFeature
    4 _- ?/ G* g0 a! s7 ^
  26.     Do While Not thisSubFeat Is Nothing
    0 d- B: n+ ~& t
  27.         If thisSubFeat.GetTypeName = "CutListFolder" Then
    3 Y, ?- j) M6 M/ w9 P' K# Q' _$ I
  28.             Set cutFolder = thisSubFeat.GetSpecificFeature2
    ( n5 y2 B: D; X
  29.         End If: u$ v3 k% D; B% x, o( T" s& b
  30.         If Not cutFolder Is Nothing Then4 z$ G9 e, n& Q$ n0 E
  31.             BodyCount = cutFolder.GetBodyCount
    % \9 }, h1 b/ T, ~
  32.             If BodyCount > 0 Then2 O2 s- ^4 K  m* ^6 ^
  33.                 Set custPropMgr = thisSubFeat.CustomPropertyManager  n: r0 {" d' n. ?2 h: P/ \4 c3 N
  34.                 If Not custPropMgr Is Nothing Then: C1 H3 g% D. P; a) @
  35.                     custPropMgr.Delete "Total Weight"
    : U+ b2 T8 `/ `' y
  36.                     custPropMgr.Delete "Weight"5 `' @* a' U2 n6 j# P4 N
  37.                     fn = thisSubFeat.Name
    * B/ q7 v! d) A! D5 O, o, @
  38.                     pn = Part.GetTitle$ l$ a, [( H8 r: |8 m
  39.                     custPropMgr.Add "WEIGHT", "Text", Chr(34) & "SW-Mass@@@" & fn & "@" & pn & ".SLDPRT" & Chr(34)$ e% v2 |; P5 k( \
  40.                     propNames = custPropMgr.GetNames
    4 S5 Y1 I- K  }# W! \6 L
  41.                     If Not IsEmpty(propNames) Then
    2 a5 M# x- u2 J$ P
  42.                         For Each vName In propNames& z% {; q8 u- Q' B
  43.                             propName = vName7 t( M- O6 Y( w$ l! i0 J6 H
  44.                             custPropMgr.Get2 propName, Value, resolvedValue( e5 @& @+ \- ?4 `8 J; j$ B
  45.                             If propName = "WEIGHT" Then TotalW = resolvedValue1 m4 G0 I2 \4 [  v1 C
  46.                         Next vName
    1 m% B/ C; r) ^% H. ~
  47.                     End If
    8 g! x9 c$ S6 o' {9 C2 [
  48.                     custPropMgr.Add "TOTAL WEIGHT", "Text", Format(BodyCount * TotalW, "0.00")
    / Y# b( C: L$ P$ N- _. H: n1 Y/ [
  49.                 End If7 r' M1 b- K( z% p; V! t
  50.                 1 B, C' |) |8 ~& u' }/ u- x
  51.             End If
    9 V5 `7 Q' J3 K% t+ Q  y& E
  52.         End If
    * G8 z' a6 f8 C
  53.         Set thisSubFeat = thisSubFeat.GetNextSubFeature
    9 j/ a* @( z; d0 _6 c& W
  54.     Loop
    $ J, R2 M, J) I- H( n) K' G. |% f
  55.     Set thisFeat = thisFeat.GetNextFeature
    - V  ]6 o4 Q" ?' S' d! p' p- b
  56. Loop  D1 _' U4 N6 O& Q7 R
  57. End Sub8 Z2 }. t9 l( Y$ C# ]8 _
复制代码
  M* M; A3 x; j8 N- S9 P. j

; C& ]# |: ^, B. v( r
$ x' d- [3 i8 k' D+ h# Q! A7 h2 n! Q; L7 o) x. B3 i  w& V8 N( u
发表于 2016-3-9 17:18:30 | 显示全部楼层 来自: 中国四川攀枝花
gt.adan 发表于 2016-3-9 14:01
5 v8 A9 z, q3 s6 r這個宏是悶大於2009年分享的   焊件切割清单中自动增加『单重』和『总重』的属性以下內容轉貼自開思。) {# y7 g1 P) |* T

! c- o7 a% u" X* c+ X2 B$ i9 d ...

7 Z& p$ K/ f* m1 K7 ~- O, n谢谢丹大,回头试一试,非常感谢!
发表于 2016-3-9 18:08:48 | 显示全部楼层 来自: 中国台湾
pzhzshun 发表于 2016-3-9 17:18
5 Z5 [* `: a  ~9 W! `5 s谢谢丹大,回头试一试,非常感谢!

0 |& D$ d- I; g6 w有機會謝謝悶大吧~我只是順手轉貼而已
发表于 2016-3-10 15:53:27 | 显示全部楼层 来自: 中国四川攀枝花
gt.adan 发表于 2016-3-9 14:01) O5 f2 [2 b* h7 R$ C
這個宏是悶大於2009年分享的   焊件切割清单中自动增加『单重』和『总重』的属性以下內容轉貼自開思。
+ x$ w! T, ~: u! g; h& I& o) g/ P8 V6 [. k5 t. x* h4 m- A5 N
...
7 k/ {* A* k4 ?  Z& h
今天测试了一下:$ e7 O% f+ I/ Q, h6 h; H. l
代码第39、48行在 sw2012 里没起作用,『Weight』和『Total Weight』没写入切割清单的属性中。
% \9 s4 Q+ b9 r+ ~查了一下 API 帮助,发现要把其中的『Add』改为『Add2』,『"Text"』改为『30』才能在切割清单属性中写入这些属性。
! x$ Y2 Y1 ^* H1 e5 ~第39行代码中还要把『& ".SLDPRT"』去掉,才能正常显示出单重。+ B" C  Y$ s4 t. X8 v. @- ~
39行代码写成下面这样,也能在切割清单的属性中正常显示单重。8 V  \% x+ [9 k1 o/ P9 [
  1. custPropMgr.Add2 "WEIGHT", 30, Chr(34) & "SW-Mass" & Chr(34)
复制代码
5 N& q; v$ q: Z) E" r

  p- H( S+ x: k# G% q! I, ~在 sw2016 中,多了一个『Add3』,可以修改属性里的值(『Add2』是不能修改属性的值,只能增加属性)。1 S6 Q, Y! ]! v. V( i
sw2016 中把39、48行代码里的『Add』改为『Add3』,那么下面两行代码就可以删掉了(不能在 sw2012 里使用『Add3』)。/ c5 M& a( [" h  ~; n% q
  1. custPropMgr.Delete "Total Weight"
    0 u! {7 ?" t/ Z* O
  2. custPropMgr.Delete "Weight"
复制代码
7 T9 Q+ _% E: l7 f
上面两行代码删不删掉对结果没有什么影响,就影响一点效率而已。$ D) ~2 O" K( o" h: V

5 i, e) u! \# s% n这样修改后,这个宏代码就可以在 sw2012 和 sw2016 中使用了(其余版本未测),终于解决了困扰我很久的焊件切割清单中每行总重的问题。3 b) J1 z, J, J" w" I

+ Q  q$ d9 Z1 a" V! f再次感谢丹大和闷大,谢谢!8 ?& b0 `6 L# H+ m/ u
% w+ w9 T* ?( v) |# Q
发表于 2016-3-10 16:11:35 | 显示全部楼层 来自: 中国四川攀枝花
本帖最后由 pzhzshun 于 2016-3-10 16:14 编辑 " V* F; ~, Y1 F2 [# ]
) i% x3 \2 f& G5 g" B
来个使用的效果图5 P/ ^) }/ y: r
C004.gif
4 _: H  {3 P7 x) r: t& f$ s虽然每次修改零件后都要重新生成总重,这也比一行一行地输入公式求总重方便多了。: W/ P, J6 \7 ?5 b6 B& y

; k9 y/ B6 `7 Y& m8 G, ~" {4 |
发表于 2016-3-10 17:32:26 | 显示全部楼层 来自: 中国台湾
pzhzshun 发表于 2016-3-10 15:53
) O$ K( a% s$ q! @! q今天测试了一下:
, {( w* |5 z( a; O( ?! B9 M! c代码第39、48行在 sw2012 里没起作用,『Weight』和『Total Weight』没写入切割清单的 ...
: `( i  j, ~) A! y. l* Y7 z; M
那是因為您的電腦沒有顯示檔案的後綴名稱(*.SLDPRT),所以39行才會出問題哦~^^% |  ?, f- s/ m) J/ i
謝謝您的分享
发表于 2016-3-12 16:43:22 | 显示全部楼层 来自: 中国四川绵阳
本帖最后由 eastking1111 于 2016-3-12 16:54 编辑
  Z$ d: o% ~9 V. M' C! }& F6 [' v2 z/ K! W( G2 _
感谢你的描述,终于搞定
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


Licensed Copyright © 2016-2020 http://www.3dportal.cn/ All Rights Reserved 京 ICP备13008828号

小黑屋|手机版|Archiver|三维网 ( 京ICP备2023026364号-1 )

快速回复 返回顶部 返回列表