QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
切割清单怎样进行方程计算?.jpg
' N( ]4 `0 o! M9 G  F: W0 Q( }- s: \" J! U& @  J2 |+ {
如图所示4 x' ]  y( c6 n; }. _4 H  O3 F
1.在切割清单中点击表格项目,方程为灰显
7 F8 \. p& a1 }; w2.现有(切割清单项目:单件重)与(表格项目:件数)
7 ]4 V. x9 w" j3.如何计算   单件重*件数    ?
) G, E+ ^$ ~1 f) B
发表于 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 编辑 % Q' d0 [! L4 R3 o/ l, R1 Q
4 b) x& x9 n' Z1 D" ^
樓主這個工程圖…
( g) D7 C! u2 N. m7 m1 k3 g是新建的空白表格想要做成「單重」*「件數」的模板供日後使用?
6 v, u8 r: v% w. o% ?: a0 x7 d, l還是由零件/裝配體生成的工程圖?: F8 w7 O& P# Y# M% t" V4 |
兩者貌似都沒問題的,不明白樓主的實際操作過程…

评分

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

查看全部评分

 楼主| 发表于 2013-7-2 20:46:10 | 显示全部楼层 来自: 中国河北唐山
gt.adan 发表于 2013-6-30 10:58 static/image/common/back.gif8 V2 D$ K" f7 m: @8 k
樓主這個工程圖…% f4 t8 ^& @9 z4 y+ |  }$ q( J
是新建的空白表格想要做成「單重」*「件數」的模板供日後使用?
6 R" J7 W: F" n( I還是由零件/裝配體生成 ...

/ j- P! I& @% Q" p( J9 `是新建的空白表格想要做成「單重」*「件數」的模板供日後使用,是在切割清单生成的表格中计算
发表于 2013-7-2 21:11:07 | 显示全部楼层 来自: 中国北京
  这个问题两年前我都提过了
发表于 2013-7-2 22:08:09 | 显示全部楼层 来自: 中国台湾
ugnxs 发表于 2013-7-2 20:46 static/image/common/back.gif) @( I! Q2 D8 p+ q* Y! H6 g  z/ r
是新建的空白表格想要做成「單重」*「件數」的模板供日後使用,是在切割清单生成的表格中计算

$ i$ c3 o1 Y1 }: I, ]* g0 a可以的話請將您做好的表格傳上來~
发表于 2013-7-3 08:12:01 | 显示全部楼层 来自: 中国辽宁沈阳
忘了告诉你,切割清单好象不能直接加方程式,: z5 o# ?* I8 o7 E" ~. o& l
用材料明细表做的详细切割清单才可记添加方程式。
5 ?) j% F9 x4 m9 \+ B. W& R下面GIF动画图片你参考一下。再到帮助里看一下说明。
* Z  V0 }4 N7 S3 Z 详细切割清单.gif
% S/ e4 C# D# X# B  N& P0 C5 p
  b1 F& l) H& I
发表于 2013-7-3 11:48:32 | 显示全部楼层 来自: 中国台湾
qiminger 发表于 2013-7-3 08:12 static/image/common/back.gif
4 x. m- m5 B/ B$ ?6 K忘了告诉你,切割清单好象不能直接加方程式,6 z* U7 D0 c/ H/ |1 v* n
用材料明细表做的详细切割清单才可记添加方程式。
, n9 p0 b( Z  x& o) v  d$ O- ?9 ?下面GIF动 ...

: C3 j' h. U, m1 i可能阿丹理解有誤…但是切割清單貌似可以加方程的呀…請 qiminger 前輩幫忙看下…
( I2 U8 p1 S; ]3 G8 I7 u
3 N" \/ z8 o% n# Z capture-1.gif
发表于 2013-7-3 14:39:54 | 显示全部楼层 来自: 中国辽宁沈阳
gt.adan 发表于 2013-7-3 11:48 static/image/common/back.gif; x& ?- a0 y( ^: F2 |
可能阿丹理解有誤…但是切割清單貌似可以加方程的呀…請 qiminger 前輩幫忙看下…

/ l' }9 p5 m% i' \- E5 K谢谢交流,以前没太细研究在切割清单方程式,草率下定论,见笑了。
4 P( C* m) k1 i4 u" h& _刚才又试一下,可以象电子表格那样添加,但结果不知为什么不对。
2 j: M2 s4 Q) d" R+ t( \ 2.gif
1 f9 t8 _/ y- ^. ^9 s8 g
发表于 2013-7-3 17:23:08 | 显示全部楼层 来自: 中国台湾
本帖最后由 gt.adan 于 2013-7-4 01:12 编辑
6 c9 P/ M; b3 S# ^; Q* ?
qiminger 发表于 2013-7-3 14:39 static/image/common/back.gif; X' J" j; M' {9 E6 t+ L5 O
谢谢交流,以前没太细研究在切割清单方程式,草率下定论,见笑了。
+ b  V; S6 I" }* ~: ?; F' o2 o: i刚才又试一下,可以象电子表格那样添 ...
& C! s: G2 O% j( W) P! B$ d
謝謝回覆~" l* J8 R- m1 l! {+ ]: |$ O" s
=========================================================
4 k5 I8 u9 |4 y* K& a不知道樓主為何要切割清單又要材料明細表…可能真的有需要吧。
: r7 d( P7 g4 |. [=========================================================( t) r! S7 |8 t% `
關於您的動畫演示,如果可行的話前輩上傳檔案,阿丹幫忙研究看下~
发表于 2013-7-4 01:17:49 | 显示全部楼层 来自: 中国台湾
qiminger 发表于 2013-7-3 14:39 static/image/common/back.gif
' i) M9 n9 y/ ?+ `谢谢交流,以前没太细研究在切割清单方程式,草率下定论,见笑了。' t. V. {9 P% `: K
刚才又试一下,可以象电子表格那样添 ...
1 ^8 j5 |3 Y% ^" r1 ~
網路上說的「焊件切割清單無法寫入方程」這話說得太辭不達意,往往會讓人誤解。
. t$ \, P3 }& S# E/ ]1 G2 \$ |應該說無法實現整欄(列)的方程套用,只能對單一輸入窗格套用方程。意即咱們的動畫所示。
3 F$ g$ n1 m5 E# L9 |2 o2 E$ @件數少的時候,直接輸入方程的方法或許可行;! G" m8 [# q; |7 e4 i
然而一旦件數多(切割清單多)的時候,每一個欄位都要重新輸入對應的「單重」*「件數」?
# Z( f5 f* n4 x100件就要輸入100次?光是用想的就累人了…
& @1 i( `7 U" ^8 f" I( q
, y# @1 m5 I: t' }, g+ w# P" p3 x% p; x5 D4 B
发表于 2013-7-4 07:48:27 | 显示全部楼层 来自: 中国天津
本帖最后由 qiminger 于 2013-7-4 07:55 编辑
# Q2 a7 s( r, b* x
gt.adan 发表于 2013-7-4 01:17 http://www.3dportal.cn/discuz/static/image/common/back.gif
& @  ~2 U5 B3 }% b' g網路上說的「焊件切割清單無法寫入方程」這話說得太辭不達意,往往會讓人誤解。
# |/ m  c4 T8 R( G& l應該說無法實現整欄(列) ...
" U1 Q# H7 X! z& A; C1 `3 `6 T( v
3 U7 j1 M- o0 z& @
对应栏位输入方程式没有应用价值,我上源文件,还麻烦阿丹有时间研究一下。
* ^1 m/ N2 }, ~再说楼主的问题,是想在切割清单里加入单重和总重吧,一般的话切割清单里不必加。
/ x) Q( t3 I& Y: d/ z就是要加的话,详细切割清单和在焊件里设置自定义属性,应该能达到目的。
3 I" E" ~: G  U  h* G再请阿丹将那个可以计算总重的切割清单分享一份。
, U" ^2 _8 b! Z% _% ~! H. U+ d' g 焊件.rar (446.02 KB, 下载次数: 59)
发表于 2013-7-5 10:14:23 | 显示全部楼层 来自: 中国台湾
本帖最后由 gt.adan 于 2013-7-5 10:16 编辑 & V3 v& M: ]# H
qiminger 发表于 2013-7-4 07:48 static/image/common/back.gif8 N9 F: Z, g. K+ [& C% B6 A" x  I
对应栏位输入方程式没有应用价值,我上源文件,还麻烦阿丹有时间研究一下。* v/ I* h7 j: T
再说楼主的问题,是想在切 ...
7 w% n: N5 \/ \
回覆 qiminger 前輩,您的工程圖俺打開後,數值是正常的,並無像動畫中顯示的負值。
% O+ L. d1 ^# R$ i  J6 ?( _7 `由於焊件清單截至目前仍不支援清單總重的方程寫入,而且逐項輸入也如您所說的沒有利用價值。! z( @5 j; s( }1 {/ p# q
動手試過幾回後發現無法實現要求,所以阿丹只能借用前人分享的宏來生成單重及總重的屬性以調用。9 R& a9 v9 c/ b* ?4 F) P8 w
文件相信前輩應該是有了,若是有需要再請您告知。
- N! U+ q, X, Z$ p" K5 a
( w6 {" [1 p4 I QQ截圖20130705101454.gif
发表于 2015-9-21 21:03:53 | 显示全部楼层 来自: 中国河北唐山
qiminger 发表于 2013-7-4 07:48. a: i: p; P( Q8 a
对应栏位输入方程式没有应用价值,我上源文件,还麻烦阿丹有时间研究一下。
# v% \) Y" j' w( q4 A! J" D- H再说楼主的问题,是想在切 ...
1 V6 w3 x4 ]  S" ]: I" p
谢谢分享!可是为什么列属性是不可编辑的?而且我加了一列:“材质”,也是不能编辑,为什么?
发表于 2015-9-22 07:18:26 | 显示全部楼层 来自: 中国山东威海
mingri 发表于 2015-9-21 21:031 h( r1 R1 s1 D. K. n2 a0 Z
谢谢分享!可是为什么列属性是不可编辑的?而且我加了一列:“材质”,也是不能编辑,为什么?

+ s7 U3 D4 q' w8 `7 |- U3 o. e切割清单有属性链接,不可编辑,如果一定要编辑,就会断开参考的。。。
发表于 2016-3-7 15:23:28 | 显示全部楼层 来自: 中国四川攀枝花
gt.adan 发表于 2013-7-5 10:14: W2 D' T9 G5 r+ ?0 `- B) Q
回覆 qiminger 前輩,您的工程圖俺打開後,數值是正常的,並無像動畫中顯示的負值。
6 H9 N. P* m) C: r% `$ |由於焊件清單截至目 ...

% S. h5 C& g2 P# Y; j7 k8 O" R切割清单里计算每一行的总重确实太麻烦了,请丹大提供一下可以生成总重的宏,谢谢!
发表于 2016-3-9 14:01:48 | 显示全部楼层 来自: 中国台湾
本帖最后由 gt.adan 于 2016-3-10 20:17 编辑 4 p3 l- ?8 G4 A9 p" g! C. q
pzhzshun 发表于 2016-3-7 15:23
& a) L4 i9 z  c9 V切割清单里计算每一行的总重确实太麻烦了,请丹大提供一下可以生成总重的宏,谢谢!

: @& H0 O* U" {, v1 C這個宏是悶大於2009年分享的   焊件切割清单中自动增加『单重』和『总重』的属性以下內容轉貼自開思。. b( ]) \, H% w# a" x0 {: u
請注意,以下是電腦顯示後綴名稱的代碼,不顯示後綴名稱的請看#21說明。
- H8 |" {' i  `4 @9 M: v
  1. Option Explicit
    : |# Y6 X" F) l+ Z  K! T
  2. Dim swApp As SldWorks.SldWorks8 V, m0 d! f2 _2 e* a0 _
  3. Dim Part As SldWorks.ModelDoc2
    ; |0 i; [$ U) j8 y
  4. Dim thisFeat As SldWorks.Feature9 J/ I  ]- t. N" L9 A3 A, O7 m
  5. Dim thisSubFeat As SldWorks.Feature7 e! M- Y+ G& B+ ~# j; G; \$ S
  6. Dim cutFolder As Object4 ]! T# K* F8 Y7 l4 e. n
  7. Dim BodyCount As Integer2 q) E6 P8 i( l' B7 N
  8. Dim fn As String# d% v. R, @5 j# U5 W/ _/ B2 H
  9. Dim pn As String& w8 R4 N, _6 z
  10. Dim custPropMgr As SldWorks.CustomPropertyManager2 k. c8 |8 e/ _1 M" `. }( x
  11. Dim propNames As Variant
    ( L$ V/ J# X3 K7 w6 \
  12. Dim vName As Variant1 W! D% y( b: a% D/ T
  13. Dim propName As String
    - f; }: [# T  y( y
  14. Dim Value As String
    " R3 h* b. t1 s' }+ o2 E. h+ C
  15. Dim resolvedValue As String
    ' t1 h& R5 V3 q6 w" T0 e
  16. Dim TotalW As Double: S% ^1 [9 I. y
  17. Sub main()) t4 l  Y) f) J9 z% q. R
  18. Set swApp = Application.SldWorks1 |9 y& t) D% }# ^/ w) _4 g. ^
  19. Set Part = swApp.ActiveDoc; c$ l2 t- j( G
  20. Set thisFeat = Part.FirstFeature
    / J" l! t! H' c3 }( s% Z# I0 ?/ Q
  21. Do While Not thisFeat Is Nothing$ F- ?9 N3 a% G4 _
  22.     If thisFeat.GetTypeName = "SolidBodyFolder" Then
    ) I" y$ Y: f  K5 ?4 `
  23.         thisFeat.GetSpecificFeature2.UpdateCutList
    9 Y; w8 @* P/ j0 B' t$ c
  24.     End If6 `: b( s6 t  D5 T: b9 G0 Q" X
  25.     Set thisSubFeat = thisFeat.GetFirstSubFeature6 w  n- J/ h; j7 W2 D+ n( F6 a
  26.     Do While Not thisSubFeat Is Nothing
    ) M/ d; p& h0 L. P. b0 e, h* a
  27.         If thisSubFeat.GetTypeName = "CutListFolder" Then
    " m* w# J7 I: G$ F; q
  28.             Set cutFolder = thisSubFeat.GetSpecificFeature2
    1 u5 h% r  j) q. ?+ P- o5 a  I4 J
  29.         End If
    8 O# C2 {  ~' o, c7 K" `% j" ?  U# P
  30.         If Not cutFolder Is Nothing Then) l' j! I* P2 G4 n
  31.             BodyCount = cutFolder.GetBodyCount0 C: v0 f$ Z. F* \% [: Q
  32.             If BodyCount > 0 Then
    ) c3 {) t8 i' |2 G+ m
  33.                 Set custPropMgr = thisSubFeat.CustomPropertyManager/ t4 |5 w" E0 P/ N
  34.                 If Not custPropMgr Is Nothing Then; H7 Z7 z( }0 C: q
  35.                     custPropMgr.Delete "Total Weight"
    ' g* x! ]2 W# ]* G- [9 T
  36.                     custPropMgr.Delete "Weight"9 f% J) o2 o- J& b
  37.                     fn = thisSubFeat.Name. i4 C9 r+ b# i3 R" E
  38.                     pn = Part.GetTitle- V( K1 \* Y- g+ [0 E% X
  39.                     custPropMgr.Add "WEIGHT", "Text", Chr(34) & "SW-Mass@@@" & fn & "@" & pn & ".SLDPRT" & Chr(34)
    / H" V& a7 a* s+ q4 r
  40.                     propNames = custPropMgr.GetNames
    3 w5 C8 C" l+ P3 U6 b. w9 L
  41.                     If Not IsEmpty(propNames) Then" Q) q- ?* G& A. I$ d
  42.                         For Each vName In propNames
    1 S0 O2 r. \; `6 v( G
  43.                             propName = vName/ d" v9 q+ a  Y' x& |6 O0 [& w
  44.                             custPropMgr.Get2 propName, Value, resolvedValue" J5 U6 p3 W* y+ ^
  45.                             If propName = "WEIGHT" Then TotalW = resolvedValue1 z. q/ D6 ]! I- s
  46.                         Next vName4 i, `6 r" P3 B9 `. ^. W1 `
  47.                     End If
    1 ?# l0 o7 ~6 @, e& `6 s% ~
  48.                     custPropMgr.Add "TOTAL WEIGHT", "Text", Format(BodyCount * TotalW, "0.00")! x; F8 ?* t8 Z. K
  49.                 End If
    7 Q# r4 F# `, q# {5 v% A3 t
  50.                
    0 f* \  i. l$ p* b$ X9 g8 `0 b9 G  ~
  51.             End If
    8 A3 ^! c8 R0 V# Q0 e) x
  52.         End If$ {  D8 c! U0 Y! ~" ]
  53.         Set thisSubFeat = thisSubFeat.GetNextSubFeature
    - J" h9 L. s0 p) r
  54.     Loop. x* ?6 o2 U7 ?' u8 V& i
  55.     Set thisFeat = thisFeat.GetNextFeature
    , {+ e7 i, H& n* Z3 w
  56. Loop# y. }- o: D  U- _1 X8 W
  57. End Sub1 ?3 H; D+ A% K1 F) e& D  ]. b  n7 j
复制代码
1 Z' G4 v" M; G7 l6 f

2 P: M. c( Y' p; S9 m' q
6 `6 W' t7 N" n! |+ R$ e3 E* e( E: p9 R; O
发表于 2016-3-9 17:18:30 | 显示全部楼层 来自: 中国四川攀枝花
gt.adan 发表于 2016-3-9 14:01
, o# z% ~8 e! {! Y& O2 g2 U0 d( R這個宏是悶大於2009年分享的   焊件切割清单中自动增加『单重』和『总重』的属性以下內容轉貼自開思。8 C: l  l0 z/ Y, d7 N. P3 T% O
/ C1 l  e* _; Y( y% p
...
- L1 [0 M  g7 y& x) s
谢谢丹大,回头试一试,非常感谢!
发表于 2016-3-9 18:08:48 | 显示全部楼层 来自: 中国台湾
pzhzshun 发表于 2016-3-9 17:18' r- k$ }9 \* d0 x6 H3 ?4 m
谢谢丹大,回头试一试,非常感谢!

$ A4 w) I* y8 Q9 V" Z& Y有機會謝謝悶大吧~我只是順手轉貼而已
发表于 2016-3-10 15:53:27 | 显示全部楼层 来自: 中国四川攀枝花
gt.adan 发表于 2016-3-9 14:01
1 U0 }; ?+ f5 T! l) K! m這個宏是悶大於2009年分享的   焊件切割清单中自动增加『单重』和『总重』的属性以下內容轉貼自開思。
" U; r& _8 n! O5 F
4 I; i  Z5 n: h% n ...

4 r& r" R- f6 i* F" h# g! M今天测试了一下:4 g3 H) a: ]) D
代码第39、48行在 sw2012 里没起作用,『Weight』和『Total Weight』没写入切割清单的属性中。+ V* ]" [4 A) J' h* Z
查了一下 API 帮助,发现要把其中的『Add』改为『Add2』,『"Text"』改为『30』才能在切割清单属性中写入这些属性。  R2 e, I; w! V. U" [5 V
第39行代码中还要把『& ".SLDPRT"』去掉,才能正常显示出单重。
/ d& h& V7 v* c7 [* o+ B' f39行代码写成下面这样,也能在切割清单的属性中正常显示单重。
% K- h( m  g! H9 i* T9 W4 T% O
  1. custPropMgr.Add2 "WEIGHT", 30, Chr(34) & "SW-Mass" & Chr(34)
复制代码

: |2 O0 X: Z( m2 N, j3 b6 g  [: a9 m
在 sw2016 中,多了一个『Add3』,可以修改属性里的值(『Add2』是不能修改属性的值,只能增加属性)。7 j  i1 v* d' V  o7 ?1 g1 v
sw2016 中把39、48行代码里的『Add』改为『Add3』,那么下面两行代码就可以删掉了(不能在 sw2012 里使用『Add3』)。( A& q/ n9 B- j* I3 n
  1. custPropMgr.Delete "Total Weight"5 z6 x( S0 ?+ h' H1 Y
  2. custPropMgr.Delete "Weight"
复制代码
% _3 Q5 ]" d/ H" E) l
上面两行代码删不删掉对结果没有什么影响,就影响一点效率而已。
* w8 n$ C0 u8 o( }7 S
0 _, ^' U1 p6 C这样修改后,这个宏代码就可以在 sw2012 和 sw2016 中使用了(其余版本未测),终于解决了困扰我很久的焊件切割清单中每行总重的问题。/ `" V; Q$ B$ a: ]7 Z& {  L" R
+ j9 Y( w" @1 u: N6 T; i! J4 O9 C
再次感谢丹大和闷大,谢谢!6 w% |: l# e  i4 w

% J2 Y) S% L$ r1 K1 H9 S
发表于 2016-3-10 16:11:35 | 显示全部楼层 来自: 中国四川攀枝花
本帖最后由 pzhzshun 于 2016-3-10 16:14 编辑 4 K4 e7 K, [. l- }+ w! Y4 u6 a
9 e' Q- \0 d  j4 b* z
来个使用的效果图
4 E+ B  D' r9 a  X C004.gif
6 E3 X& q# i* }$ k虽然每次修改零件后都要重新生成总重,这也比一行一行地输入公式求总重方便多了。
- c4 L! Y$ m9 W
7 I, g' c7 d  _. G9 P9 o; W
发表于 2016-3-10 17:32:26 | 显示全部楼层 来自: 中国台湾
pzhzshun 发表于 2016-3-10 15:53
4 E# q" [) k: A1 Y  V今天测试了一下:
+ c; d  q: f0 j( O( k) W3 f代码第39、48行在 sw2012 里没起作用,『Weight』和『Total Weight』没写入切割清单的 ...
: W5 [5 L2 H4 v2 _) |0 H4 e' v
那是因為您的電腦沒有顯示檔案的後綴名稱(*.SLDPRT),所以39行才會出問題哦~^^8 `8 k6 P+ _% X) R3 b
謝謝您的分享
发表于 2016-3-12 16:43:22 | 显示全部楼层 来自: 中国四川绵阳
本帖最后由 eastking1111 于 2016-3-12 16:54 编辑 0 Z& A8 @4 _. ]+ b$ ~

. a8 f  ]! q' N* z8 o, t- J感谢你的描述,终于搞定
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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