QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
切割清单怎样进行方程计算?.jpg
$ P( q! z3 _( p0 x! J# ~& o7 ^3 u. B3 B' c0 \0 t  h! q
如图所示
8 G1 g3 x0 b5 d( c, w$ ~0 E1.在切割清单中点击表格项目,方程为灰显- h& @! t8 h5 ]! U$ e! H& F
2.现有(切割清单项目:单件重)与(表格项目:件数)9 v" S) T' o# x' Z0 e& ?
3.如何计算   单件重*件数    ?
( ?3 n- r% S% z$ n( O
发表于 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 编辑 * V# ]! `0 p( N' D" T
. N9 p* E! h$ Q  P
樓主這個工程圖…. a) P8 \, ]8 @0 Z& p: H9 |* k
是新建的空白表格想要做成「單重」*「件數」的模板供日後使用?
# j- z2 u/ `# s; @  m還是由零件/裝配體生成的工程圖?, Q9 \$ [( o/ j' ?  V0 i
兩者貌似都沒問題的,不明白樓主的實際操作過程…

评分

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

查看全部评分

 楼主| 发表于 2013-7-2 20:46:10 | 显示全部楼层 来自: 中国河北唐山
gt.adan 发表于 2013-6-30 10:58 static/image/common/back.gif
0 w9 B7 H4 u2 f8 \! `樓主這個工程圖…& ~- h7 m" q# X/ v* X, d
是新建的空白表格想要做成「單重」*「件數」的模板供日後使用?- j. |! e$ K8 z6 q
還是由零件/裝配體生成 ...

5 T2 U  _1 v6 m( N. O8 Z3 D& L- ]$ f是新建的空白表格想要做成「單重」*「件數」的模板供日後使用,是在切割清单生成的表格中计算
发表于 2013-7-2 21:11:07 | 显示全部楼层 来自: 中国北京
  这个问题两年前我都提过了
发表于 2013-7-2 22:08:09 | 显示全部楼层 来自: 中国台湾
ugnxs 发表于 2013-7-2 20:46 static/image/common/back.gif4 G% T3 v6 u5 `4 [: a/ Z3 L
是新建的空白表格想要做成「單重」*「件數」的模板供日後使用,是在切割清单生成的表格中计算

8 @% P: @: S% q+ P( z可以的話請將您做好的表格傳上來~
发表于 2013-7-3 08:12:01 | 显示全部楼层 来自: 中国辽宁沈阳
忘了告诉你,切割清单好象不能直接加方程式,) z# f, h5 @8 `: o
用材料明细表做的详细切割清单才可记添加方程式。
/ w9 ~$ ?& g' n5 f- N' m; }下面GIF动画图片你参考一下。再到帮助里看一下说明。2 x+ O  J7 ]5 K2 `4 H! w, o( o/ E1 @
详细切割清单.gif ( T& X1 e( n3 O! J# @; ^

4 ?2 R) A" w# X7 R
发表于 2013-7-3 11:48:32 | 显示全部楼层 来自: 中国台湾
qiminger 发表于 2013-7-3 08:12 static/image/common/back.gif
) w; ^0 n1 b' O! C4 r忘了告诉你,切割清单好象不能直接加方程式,& l  F  C, O/ x4 B
用材料明细表做的详细切割清单才可记添加方程式。
( J: H  R; V8 H. o* C+ `* i下面GIF动 ...

/ n, j& L; z* H4 a3 l1 _可能阿丹理解有誤…但是切割清單貌似可以加方程的呀…請 qiminger 前輩幫忙看下…, I, `9 [% a# m9 o
6 ]4 k! w8 \6 {/ `
capture-1.gif
发表于 2013-7-3 14:39:54 | 显示全部楼层 来自: 中国辽宁沈阳
gt.adan 发表于 2013-7-3 11:48 static/image/common/back.gif
" p, {. S$ N! F& M可能阿丹理解有誤…但是切割清單貌似可以加方程的呀…請 qiminger 前輩幫忙看下…
* g& [' z) v4 I. ?9 D2 A
谢谢交流,以前没太细研究在切割清单方程式,草率下定论,见笑了。9 L- W8 }7 U0 |2 b; F
刚才又试一下,可以象电子表格那样添加,但结果不知为什么不对。
8 B- O( t. E" l+ H0 g/ d/ l, ] 2.gif
* Q- @# d- }3 y. r2 b
发表于 2013-7-3 17:23:08 | 显示全部楼层 来自: 中国台湾
本帖最后由 gt.adan 于 2013-7-4 01:12 编辑 , C; G9 A! {. e
qiminger 发表于 2013-7-3 14:39 static/image/common/back.gif
7 r$ N; f6 l) Q( Q4 a谢谢交流,以前没太细研究在切割清单方程式,草率下定论,见笑了。2 F/ Z; R% }. H; a; l" ^6 _: B
刚才又试一下,可以象电子表格那样添 ...

: S% Q" o( ]4 |5 ~5 |" y謝謝回覆~: [0 _) ~' |$ [/ u$ ^# C
=========================================================
( a* R2 _* u) W" D不知道樓主為何要切割清單又要材料明細表…可能真的有需要吧。
7 r6 e7 {* h7 z0 u8 X/ X+ O=========================================================
6 z' |/ c5 O2 S關於您的動畫演示,如果可行的話前輩上傳檔案,阿丹幫忙研究看下~
发表于 2013-7-4 01:17:49 | 显示全部楼层 来自: 中国台湾
qiminger 发表于 2013-7-3 14:39 static/image/common/back.gif
( M& v0 o6 s1 j# i谢谢交流,以前没太细研究在切割清单方程式,草率下定论,见笑了。5 c7 R- D9 v0 {0 [
刚才又试一下,可以象电子表格那样添 ...
' V9 ]9 e/ F1 y; R" _
網路上說的「焊件切割清單無法寫入方程」這話說得太辭不達意,往往會讓人誤解。
$ @! r! c* P$ _) |' J應該說無法實現整欄(列)的方程套用,只能對單一輸入窗格套用方程。意即咱們的動畫所示。
/ K. X! D9 k7 y件數少的時候,直接輸入方程的方法或許可行;5 Y- Y8 C' v7 K; ]) X6 K2 n
然而一旦件數多(切割清單多)的時候,每一個欄位都要重新輸入對應的「單重」*「件數」?8 ~! o1 j) t! w( y0 N& z1 ?. Z1 Q& n
100件就要輸入100次?光是用想的就累人了…
5 I5 a% L+ O' [9 U; E
2 m; ]. o6 p! y% {
: A( J, M& a9 H5 R! U7 j0 x/ J
发表于 2013-7-4 07:48:27 | 显示全部楼层 来自: 中国天津
本帖最后由 qiminger 于 2013-7-4 07:55 编辑 , [* h. g( c7 I# n+ }* m4 x
gt.adan 发表于 2013-7-4 01:17 http://www.3dportal.cn/discuz/static/image/common/back.gif
2 [; g4 d7 P, V9 |6 |% q$ t網路上說的「焊件切割清單無法寫入方程」這話說得太辭不達意,往往會讓人誤解。
/ j  ?+ n4 f" E, N# t應該說無法實現整欄(列) ...
7 U+ p' b& l. r6 V

+ U# _6 l! I) `: X5 D2 T对应栏位输入方程式没有应用价值,我上源文件,还麻烦阿丹有时间研究一下。
( V2 d+ G# Y* W; ?1 t3 o) U; f- y再说楼主的问题,是想在切割清单里加入单重和总重吧,一般的话切割清单里不必加。
8 L- U  H, S; a& i# f% U: X% q就是要加的话,详细切割清单和在焊件里设置自定义属性,应该能达到目的。
, S: X) n1 P, Z4 M4 B再请阿丹将那个可以计算总重的切割清单分享一份。
$ ~! F( e1 j$ c, _! g 焊件.rar (446.02 KB, 下载次数: 59)
发表于 2013-7-5 10:14:23 | 显示全部楼层 来自: 中国台湾
本帖最后由 gt.adan 于 2013-7-5 10:16 编辑
8 O' b3 e6 O) u
qiminger 发表于 2013-7-4 07:48 static/image/common/back.gif
, {, g0 _0 }# X6 G( E0 |% s, u1 H对应栏位输入方程式没有应用价值,我上源文件,还麻烦阿丹有时间研究一下。4 B9 U+ X% w* M
再说楼主的问题,是想在切 ...
% l6 k# A/ ?6 i2 [0 {; I9 g' W
回覆 qiminger 前輩,您的工程圖俺打開後,數值是正常的,並無像動畫中顯示的負值。
. K& j9 q, ?7 t2 }9 N/ h: Z由於焊件清單截至目前仍不支援清單總重的方程寫入,而且逐項輸入也如您所說的沒有利用價值。
, v1 C! A5 e# q2 L2 U動手試過幾回後發現無法實現要求,所以阿丹只能借用前人分享的宏來生成單重及總重的屬性以調用。. q! e- v) n, w3 A
文件相信前輩應該是有了,若是有需要再請您告知。$ S( T) N: I; l" A8 ~4 I2 z  I

* ?: t( ]+ q4 i3 W. x QQ截圖20130705101454.gif
发表于 2015-9-21 21:03:53 | 显示全部楼层 来自: 中国河北唐山
qiminger 发表于 2013-7-4 07:48" ?: P' k; j- V
对应栏位输入方程式没有应用价值,我上源文件,还麻烦阿丹有时间研究一下。
8 N( O& r! T2 `! ~7 @8 s& f; \再说楼主的问题,是想在切 ...
; a; e/ ~0 e. a
谢谢分享!可是为什么列属性是不可编辑的?而且我加了一列:“材质”,也是不能编辑,为什么?
发表于 2015-9-22 07:18:26 | 显示全部楼层 来自: 中国山东威海
mingri 发表于 2015-9-21 21:03
6 l. l0 F4 A& W  ]; [) i/ K6 y谢谢分享!可是为什么列属性是不可编辑的?而且我加了一列:“材质”,也是不能编辑,为什么?
" C! Z; P5 R9 z/ [4 c/ @6 H/ n7 @
切割清单有属性链接,不可编辑,如果一定要编辑,就会断开参考的。。。
发表于 2016-3-7 15:23:28 | 显示全部楼层 来自: 中国四川攀枝花
gt.adan 发表于 2013-7-5 10:144 \: Y# y1 Q; S, X8 k) k
回覆 qiminger 前輩,您的工程圖俺打開後,數值是正常的,並無像動畫中顯示的負值。
6 I, d) ~5 I" U% O& ?4 y8 z由於焊件清單截至目 ...

5 }, I5 d) ~9 @- ^# @0 \; {+ ~切割清单里计算每一行的总重确实太麻烦了,请丹大提供一下可以生成总重的宏,谢谢!
发表于 2016-3-9 14:01:48 | 显示全部楼层 来自: 中国台湾
本帖最后由 gt.adan 于 2016-3-10 20:17 编辑 - }8 T  ]/ ^7 b5 B: C  D3 C: W2 g
pzhzshun 发表于 2016-3-7 15:23+ l8 F% f4 I& h0 C  w" D
切割清单里计算每一行的总重确实太麻烦了,请丹大提供一下可以生成总重的宏,谢谢!
+ g2 l$ r% o2 A/ K$ n7 U- M1 ~, x
這個宏是悶大於2009年分享的   焊件切割清单中自动增加『单重』和『总重』的属性以下內容轉貼自開思。
% I/ P4 [' [2 s請注意,以下是電腦顯示後綴名稱的代碼,不顯示後綴名稱的請看#21說明。
2 K. E# [* w6 |; }
  1. Option Explicit+ {3 x- W! r; ~! j6 }/ h% y
  2. Dim swApp As SldWorks.SldWorks9 f" C: e6 o7 I, O! T
  3. Dim Part As SldWorks.ModelDoc2& R, x5 w: L' e, C7 D/ I
  4. Dim thisFeat As SldWorks.Feature
    9 @! o3 G) w0 ?. V
  5. Dim thisSubFeat As SldWorks.Feature$ ^8 w2 y( h$ n1 Q* f. W5 h& I) k
  6. Dim cutFolder As Object" R9 k2 l& y: K: y4 T/ O
  7. Dim BodyCount As Integer- c( o! I4 N' C
  8. Dim fn As String
    # Y- [, A& d8 }0 E; g8 Z
  9. Dim pn As String
    $ H  N5 H  F* G# t1 Z$ ^/ L
  10. Dim custPropMgr As SldWorks.CustomPropertyManager
    0 W2 Q, s2 a! e: W( T2 T
  11. Dim propNames As Variant
    ! N& j; A6 e  M5 I& r/ i
  12. Dim vName As Variant/ ^* K4 m& k; A8 M" W
  13. Dim propName As String
    * r& s1 r9 m% s/ g: H4 B" ]& |5 t
  14. Dim Value As String
    ! T) V) }8 g, `' F* H+ g
  15. Dim resolvedValue As String
    * I/ S" C8 h! ]
  16. Dim TotalW As Double: i% @* G# h0 G# ]* ^8 g
  17. Sub main()
    # N/ o/ s3 t) C8 Z- @( d+ {
  18. Set swApp = Application.SldWorks. p' V3 q7 m( A4 h8 \' J8 u3 r
  19. Set Part = swApp.ActiveDoc8 k$ K* H% _. U4 E# j/ T
  20. Set thisFeat = Part.FirstFeature
    3 a, |& W! _4 h- m; g/ M
  21. Do While Not thisFeat Is Nothing! |4 f9 e. ]# t  v9 g7 c5 q" M
  22.     If thisFeat.GetTypeName = "SolidBodyFolder" Then
    ! m; V- n6 A& I
  23.         thisFeat.GetSpecificFeature2.UpdateCutList7 ]" ~) d9 U; u+ m8 g) ?* A
  24.     End If
    ! E, W: ?( d; Q* K9 g5 s' J  n' y9 H( h
  25.     Set thisSubFeat = thisFeat.GetFirstSubFeature1 o. D2 t; E) A( d9 d7 e; p6 d5 m0 G* F
  26.     Do While Not thisSubFeat Is Nothing( [& A" w3 T+ h! [  ~
  27.         If thisSubFeat.GetTypeName = "CutListFolder" Then
    4 B7 _  w% {# |* [- }
  28.             Set cutFolder = thisSubFeat.GetSpecificFeature2
    6 x7 z# [. E% |. b8 e
  29.         End If
    " k7 V- M8 f; c8 z7 ?& T
  30.         If Not cutFolder Is Nothing Then
    6 l- M( g6 L4 @- A
  31.             BodyCount = cutFolder.GetBodyCount, O1 a- {6 {0 _6 h' J0 |
  32.             If BodyCount > 0 Then
    0 o' I+ J* Q/ |. m9 V6 H' v% O
  33.                 Set custPropMgr = thisSubFeat.CustomPropertyManager
    ) l( i; m' e! [
  34.                 If Not custPropMgr Is Nothing Then
    # X+ c% q7 k) b3 C
  35.                     custPropMgr.Delete "Total Weight"3 j9 Y. e+ ~) F
  36.                     custPropMgr.Delete "Weight"
    5 `- b* Y* W: l# `  G) D2 P0 |
  37.                     fn = thisSubFeat.Name( W! _& p; f$ f) A0 V
  38.                     pn = Part.GetTitle4 f1 [+ q" S9 h2 a9 o5 g4 u7 z8 ~
  39.                     custPropMgr.Add "WEIGHT", "Text", Chr(34) & "SW-Mass@@@" & fn & "@" & pn & ".SLDPRT" & Chr(34)5 m. B9 r- D5 D: _
  40.                     propNames = custPropMgr.GetNames
    5 {. z8 K# g% \! P8 B% N# I
  41.                     If Not IsEmpty(propNames) Then, @6 t! {6 d- L( M2 G, i% V
  42.                         For Each vName In propNames
    0 F. b9 s% Y0 D8 X2 u7 U
  43.                             propName = vName
    6 X0 I  T8 g: \2 c* ~
  44.                             custPropMgr.Get2 propName, Value, resolvedValue
    0 ?. b" ~$ M( W/ w+ t6 [0 [$ W
  45.                             If propName = "WEIGHT" Then TotalW = resolvedValue0 ~  s; U& Y7 X9 u
  46.                         Next vName# J& H# }4 g) ]/ Y/ C7 O3 C% f: o
  47.                     End If
    # E( J$ D* {5 c) t
  48.                     custPropMgr.Add "TOTAL WEIGHT", "Text", Format(BodyCount * TotalW, "0.00")2 V, ]8 E; q# ~9 m/ j- ?
  49.                 End If
    ! J9 t) v& I% h: _6 s& A. d5 `: g
  50.                 ; M6 z2 _5 ?  A) w, v6 A0 u
  51.             End If. c+ Z& G; @1 L5 p& n" Q
  52.         End If% J' j. r; q3 [4 |
  53.         Set thisSubFeat = thisSubFeat.GetNextSubFeature
    9 Y% C. Q9 c6 B, \5 I+ P1 C( x4 W+ k
  54.     Loop6 E6 L) M* A( X
  55.     Set thisFeat = thisFeat.GetNextFeature
    3 i% V- Q/ ~2 F
  56. Loop9 g7 h9 H4 Q! }" _8 O$ N# p7 M
  57. End Sub
    , X, T: {* o: \  Q
复制代码
0 R( D1 L3 g# D: n, S& |  r( u
" |$ F. Z! I) b% J) f
' U# @: d  X! z

9 v. P9 p* d! B+ ^5 S
发表于 2016-3-9 17:18:30 | 显示全部楼层 来自: 中国四川攀枝花
gt.adan 发表于 2016-3-9 14:01
- N6 U/ r9 ]- C: V7 k* X這個宏是悶大於2009年分享的   焊件切割清单中自动增加『单重』和『总重』的属性以下內容轉貼自開思。2 r2 H1 k! C3 {. f9 e* Z. I, b
* v0 {6 g3 E+ }  L$ D. P
...
5 a) f+ x; W' r" c: p# |0 n
谢谢丹大,回头试一试,非常感谢!
发表于 2016-3-9 18:08:48 | 显示全部楼层 来自: 中国台湾
pzhzshun 发表于 2016-3-9 17:182 l: ]2 I; j+ L% V9 Z; G
谢谢丹大,回头试一试,非常感谢!

& |& ~, c- g% X8 U有機會謝謝悶大吧~我只是順手轉貼而已
发表于 2016-3-10 15:53:27 | 显示全部楼层 来自: 中国四川攀枝花
gt.adan 发表于 2016-3-9 14:01& M7 K& z3 V  J4 |# e  _! x5 J0 q( L
這個宏是悶大於2009年分享的   焊件切割清单中自动增加『单重』和『总重』的属性以下內容轉貼自開思。
/ q! A7 g% |- S0 L6 F( G
' D  }7 n$ D6 v( J  E ...

- s* x" M+ c6 e* ?# k今天测试了一下:
3 g2 M0 m' C! H+ e# _7 u代码第39、48行在 sw2012 里没起作用,『Weight』和『Total Weight』没写入切割清单的属性中。
+ t" g3 ]( v& ]% w9 E, ^0 @6 w- \查了一下 API 帮助,发现要把其中的『Add』改为『Add2』,『"Text"』改为『30』才能在切割清单属性中写入这些属性。' v8 ]$ M# |* X! W2 x) R: u
第39行代码中还要把『& ".SLDPRT"』去掉,才能正常显示出单重。' Q0 X1 h+ m* m: e' h
39行代码写成下面这样,也能在切割清单的属性中正常显示单重。
: _- C" z9 _. a
  1. custPropMgr.Add2 "WEIGHT", 30, Chr(34) & "SW-Mass" & Chr(34)
复制代码
% H! a4 h3 _& ~; q7 `% O) D; @
6 h6 j$ d# Y7 G; @" }3 j7 `
在 sw2016 中,多了一个『Add3』,可以修改属性里的值(『Add2』是不能修改属性的值,只能增加属性)。
* U6 B) v3 ~4 E' Z) M, Ssw2016 中把39、48行代码里的『Add』改为『Add3』,那么下面两行代码就可以删掉了(不能在 sw2012 里使用『Add3』)。9 t% G9 X( d* _5 a
  1. custPropMgr.Delete "Total Weight"
    6 u) U% s' R; w! O0 U
  2. custPropMgr.Delete "Weight"
复制代码

5 _3 z2 T9 S& ]: F# c$ x上面两行代码删不删掉对结果没有什么影响,就影响一点效率而已。
+ M6 ^/ ^( f2 |2 O& y8 y
! h; ^# }: t, z/ X+ P9 s# e这样修改后,这个宏代码就可以在 sw2012 和 sw2016 中使用了(其余版本未测),终于解决了困扰我很久的焊件切割清单中每行总重的问题。
( G* Y0 i" _# g
& q4 s% b8 q) s) K4 z再次感谢丹大和闷大,谢谢!4 {9 n4 u% K5 d: f2 L, }: |3 e0 ]* \8 t
! h" p* Y* O- L# S( C( M
发表于 2016-3-10 16:11:35 | 显示全部楼层 来自: 中国四川攀枝花
本帖最后由 pzhzshun 于 2016-3-10 16:14 编辑
3 g7 F: ]# ^4 H2 N7 V. t& Z; k1 H, b: o1 P9 J
来个使用的效果图
# T" _6 H* Z" C+ K C004.gif
, v3 D( r) b! s% j虽然每次修改零件后都要重新生成总重,这也比一行一行地输入公式求总重方便多了。
" k% w  D7 E4 V# A; c' b# \) t) a
5 J7 A7 z1 G6 `8 I+ W. z9 O
发表于 2016-3-10 17:32:26 | 显示全部楼层 来自: 中国台湾
pzhzshun 发表于 2016-3-10 15:53( |4 h" \( @, U" a: |' a7 x! n
今天测试了一下:
" {% x' ^. [/ t, \代码第39、48行在 sw2012 里没起作用,『Weight』和『Total Weight』没写入切割清单的 ...
+ r- Q1 H7 \+ Q& E
那是因為您的電腦沒有顯示檔案的後綴名稱(*.SLDPRT),所以39行才會出問題哦~^^
% D6 h0 p; z/ z! t3 s  L謝謝您的分享
发表于 2016-3-12 16:43:22 | 显示全部楼层 来自: 中国四川绵阳
本帖最后由 eastking1111 于 2016-3-12 16:54 编辑 + h) N8 C5 i1 ^4 e9 J2 ]) R

, X! @9 m% S  J. S& e# g感谢你的描述,终于搞定
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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