QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
切割清单怎样进行方程计算?.jpg ; Q6 C7 b$ G3 R; \: j. W8 R
  X1 h) K4 t! {. ^/ a
如图所示: c/ M$ H6 o; L: f8 c3 Y* [2 G1 ]
1.在切割清单中点击表格项目,方程为灰显# O7 W( s7 x. ^& n4 V
2.现有(切割清单项目:单件重)与(表格项目:件数)
" a' D9 s" w% ~% Y" |/ B$ S: ]3.如何计算   单件重*件数    ?
' g7 O6 F/ k4 ?7 M
发表于 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 编辑
1 @/ _2 x1 P1 R( g3 |( d
$ Y  M; ~( o# e) y1 H樓主這個工程圖…7 c- D# V7 b  Z) ^5 G/ `$ m+ Q9 J9 |
是新建的空白表格想要做成「單重」*「件數」的模板供日後使用?/ n# W& t$ L$ W! |
還是由零件/裝配體生成的工程圖?  K" a! p% p: q
兩者貌似都沒問題的,不明白樓主的實際操作過程…

评分

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

查看全部评分

 楼主| 发表于 2013-7-2 20:46:10 | 显示全部楼层 来自: 中国河北唐山
gt.adan 发表于 2013-6-30 10:58 static/image/common/back.gif- u) b4 w  P' l- D
樓主這個工程圖…
) L" j, C$ w, [, Z$ P: g: W" Z8 Y是新建的空白表格想要做成「單重」*「件數」的模板供日後使用?4 U! p# d& u2 ?$ [$ @: j
還是由零件/裝配體生成 ...

$ R" H0 S5 {7 B5 n. o, j  Y* e是新建的空白表格想要做成「單重」*「件數」的模板供日後使用,是在切割清单生成的表格中计算
发表于 2013-7-2 21:11:07 | 显示全部楼层 来自: 中国北京
  这个问题两年前我都提过了
发表于 2013-7-2 22:08:09 | 显示全部楼层 来自: 中国台湾
ugnxs 发表于 2013-7-2 20:46 static/image/common/back.gif
9 o3 J# ^* T" S- |- l* s4 E是新建的空白表格想要做成「單重」*「件數」的模板供日後使用,是在切割清单生成的表格中计算

/ u3 G" \% s/ _7 x% @$ N可以的話請將您做好的表格傳上來~
发表于 2013-7-3 08:12:01 | 显示全部楼层 来自: 中国辽宁沈阳
忘了告诉你,切割清单好象不能直接加方程式,- n/ O& P' t- `8 f! `5 m
用材料明细表做的详细切割清单才可记添加方程式。
: n& ]) d6 p% _. Q下面GIF动画图片你参考一下。再到帮助里看一下说明。
9 R. m5 Z1 U/ {2 X! J! |" w 详细切割清单.gif
/ L7 w3 J" @# e9 {/ L/ r, r; ]' ]8 r- V/ V
发表于 2013-7-3 11:48:32 | 显示全部楼层 来自: 中国台湾
qiminger 发表于 2013-7-3 08:12 static/image/common/back.gif
" J8 V2 K' }& z( K. i忘了告诉你,切割清单好象不能直接加方程式,
8 X/ m3 j, t: b用材料明细表做的详细切割清单才可记添加方程式。
( \& s5 G0 R+ D* p$ k下面GIF动 ...
" y$ a$ B! e& V
可能阿丹理解有誤…但是切割清單貌似可以加方程的呀…請 qiminger 前輩幫忙看下…
+ b( U4 `5 n' h1 ]6 U0 v) ~" {/ H/ I$ ?. d+ |" w8 T8 Q
capture-1.gif
发表于 2013-7-3 14:39:54 | 显示全部楼层 来自: 中国辽宁沈阳
gt.adan 发表于 2013-7-3 11:48 static/image/common/back.gif4 G! e) B7 N. D4 n" W! E2 H
可能阿丹理解有誤…但是切割清單貌似可以加方程的呀…請 qiminger 前輩幫忙看下…

. q2 [) `+ {/ Q- ^谢谢交流,以前没太细研究在切割清单方程式,草率下定论,见笑了。
1 @% m5 j  z5 `0 T* _7 d& ~刚才又试一下,可以象电子表格那样添加,但结果不知为什么不对。# G% I3 h+ R& ?' v
2.gif " S( {3 l3 i, v! E) ^. i+ {" F5 ^
发表于 2013-7-3 17:23:08 | 显示全部楼层 来自: 中国台湾
本帖最后由 gt.adan 于 2013-7-4 01:12 编辑 ) l( w7 X' ^% l
qiminger 发表于 2013-7-3 14:39 static/image/common/back.gif
; X. ]- y. y9 e' j) f0 ?谢谢交流,以前没太细研究在切割清单方程式,草率下定论,见笑了。
6 Y. C; f6 V% Z5 ^/ n7 u" p& d刚才又试一下,可以象电子表格那样添 ...
7 l7 w; \+ M  v- n
謝謝回覆~
+ r9 C) ]9 f1 Q$ M6 W" N! J3 C' P=========================================================
/ w$ o4 i1 F& @, w不知道樓主為何要切割清單又要材料明細表…可能真的有需要吧。+ O" l8 p0 S0 M+ c9 \6 Z% m
=========================================================
) e3 k% h$ s( C  |8 ]關於您的動畫演示,如果可行的話前輩上傳檔案,阿丹幫忙研究看下~
发表于 2013-7-4 01:17:49 | 显示全部楼层 来自: 中国台湾
qiminger 发表于 2013-7-3 14:39 static/image/common/back.gif
6 ]7 n! n0 k3 H* `+ J- T谢谢交流,以前没太细研究在切割清单方程式,草率下定论,见笑了。- H% f! y7 y% b  a7 c+ W1 }2 P# f
刚才又试一下,可以象电子表格那样添 ...

7 N. R! F( \0 k2 k6 f( `網路上說的「焊件切割清單無法寫入方程」這話說得太辭不達意,往往會讓人誤解。
2 _; T; K# z/ O1 A1 v- A7 x* b應該說無法實現整欄(列)的方程套用,只能對單一輸入窗格套用方程。意即咱們的動畫所示。1 s* y9 z* |0 g4 w. X8 p9 L
件數少的時候,直接輸入方程的方法或許可行;
' S/ {0 _5 j2 i6 S然而一旦件數多(切割清單多)的時候,每一個欄位都要重新輸入對應的「單重」*「件數」?
& s! y, Q1 |3 ^# k100件就要輸入100次?光是用想的就累人了…
: D1 t' s: M9 N7 X" _& V; z* |2 T) F; t9 `6 u! R, \

0 w3 m9 S: Q, l( c" |
发表于 2013-7-4 07:48:27 | 显示全部楼层 来自: 中国天津
本帖最后由 qiminger 于 2013-7-4 07:55 编辑
1 ~1 n$ [) I/ [) l! Y% I3 a% d$ x7 W
gt.adan 发表于 2013-7-4 01:17 http://www.3dportal.cn/discuz/static/image/common/back.gif5 Y- W$ y: @/ G
網路上說的「焊件切割清單無法寫入方程」這話說得太辭不達意,往往會讓人誤解。6 `1 _( s# n0 G# E0 O
應該說無法實現整欄(列) ...

" O- W' Y3 k9 I0 @! v3 l0 O( [: u' z4 L* ]/ J& R; M
对应栏位输入方程式没有应用价值,我上源文件,还麻烦阿丹有时间研究一下。' |) T; G$ z& J2 K
再说楼主的问题,是想在切割清单里加入单重和总重吧,一般的话切割清单里不必加。
6 |4 q8 Y5 ~) M9 R就是要加的话,详细切割清单和在焊件里设置自定义属性,应该能达到目的。
# O* j6 n' Z  `9 R/ r6 B再请阿丹将那个可以计算总重的切割清单分享一份。
5 x) T* d6 e; F 焊件.rar (446.02 KB, 下载次数: 59)
发表于 2013-7-5 10:14:23 | 显示全部楼层 来自: 中国台湾
本帖最后由 gt.adan 于 2013-7-5 10:16 编辑 + g7 Q2 u( g* e* T; q* L
qiminger 发表于 2013-7-4 07:48 static/image/common/back.gif
4 h/ F6 z$ @! x1 Q5 U' D4 i对应栏位输入方程式没有应用价值,我上源文件,还麻烦阿丹有时间研究一下。
6 q* z) N6 J  D  S: q1 Y& @再说楼主的问题,是想在切 ...
, x  B) `  g/ U. g  k$ c
回覆 qiminger 前輩,您的工程圖俺打開後,數值是正常的,並無像動畫中顯示的負值。' \. I) N/ P1 Y. p) p/ i9 k! I
由於焊件清單截至目前仍不支援清單總重的方程寫入,而且逐項輸入也如您所說的沒有利用價值。' j3 Y. f! }- y# R
動手試過幾回後發現無法實現要求,所以阿丹只能借用前人分享的宏來生成單重及總重的屬性以調用。
" e$ S, W7 {4 e7 N. R文件相信前輩應該是有了,若是有需要再請您告知。  P8 ~0 b' a! ]% E
' J* k) h3 s- ~) K2 a! M% S& K
QQ截圖20130705101454.gif
发表于 2015-9-21 21:03:53 | 显示全部楼层 来自: 中国河北唐山
qiminger 发表于 2013-7-4 07:483 I  z3 n% ^/ ^! y7 x4 Y, M5 a
对应栏位输入方程式没有应用价值,我上源文件,还麻烦阿丹有时间研究一下。7 _0 \! g: G8 b  I* r; Q0 r
再说楼主的问题,是想在切 ...
6 D- M+ r" r1 N# R  I) I# X
谢谢分享!可是为什么列属性是不可编辑的?而且我加了一列:“材质”,也是不能编辑,为什么?
发表于 2015-9-22 07:18:26 | 显示全部楼层 来自: 中国山东威海
mingri 发表于 2015-9-21 21:03% R; t0 _! A9 v
谢谢分享!可是为什么列属性是不可编辑的?而且我加了一列:“材质”,也是不能编辑,为什么?

+ W) T  Q* J5 s  v. N" u1 L切割清单有属性链接,不可编辑,如果一定要编辑,就会断开参考的。。。
发表于 2016-3-7 15:23:28 | 显示全部楼层 来自: 中国四川攀枝花
gt.adan 发表于 2013-7-5 10:14
9 r8 p. r& J* X6 |6 y回覆 qiminger 前輩,您的工程圖俺打開後,數值是正常的,並無像動畫中顯示的負值。# X1 }8 l8 c# L% B8 J9 k1 ~
由於焊件清單截至目 ...
6 Z$ ]+ Q' k! r$ L# g
切割清单里计算每一行的总重确实太麻烦了,请丹大提供一下可以生成总重的宏,谢谢!
发表于 2016-3-9 14:01:48 | 显示全部楼层 来自: 中国台湾
本帖最后由 gt.adan 于 2016-3-10 20:17 编辑 / E# X6 ^/ m( Y: A2 }+ K
pzhzshun 发表于 2016-3-7 15:237 |. x* @8 i& W! ~6 x3 C7 E4 u. O3 h  B
切割清单里计算每一行的总重确实太麻烦了,请丹大提供一下可以生成总重的宏,谢谢!
8 w7 B6 I+ w" T0 ~+ {6 M
這個宏是悶大於2009年分享的   焊件切割清单中自动增加『单重』和『总重』的属性以下內容轉貼自開思。/ n# |1 j+ C" U$ A2 H
請注意,以下是電腦顯示後綴名稱的代碼,不顯示後綴名稱的請看#21說明。
4 Z' w1 m- n% g8 A
  1. Option Explicit3 h# e  s+ N: _, Y
  2. Dim swApp As SldWorks.SldWorks* \: M+ U  o& S; ^! U7 R' O
  3. Dim Part As SldWorks.ModelDoc2
    9 D1 }) _0 Z( K  f
  4. Dim thisFeat As SldWorks.Feature
    : v+ Z& P+ F( X9 |2 N9 P) Q5 d
  5. Dim thisSubFeat As SldWorks.Feature# |* j7 v, ?/ a# T4 R4 s
  6. Dim cutFolder As Object7 Q0 a  t8 J2 [! @6 n4 w/ f3 c! Z
  7. Dim BodyCount As Integer
    5 P, n' J1 B0 Z( l! n7 Z
  8. Dim fn As String
    9 r) j" ~  A5 F! K
  9. Dim pn As String
    ' o4 ?/ I( {. }: u/ q
  10. Dim custPropMgr As SldWorks.CustomPropertyManager# s# N4 r# n3 H: n; o: _( |
  11. Dim propNames As Variant4 s' B* r& M  H+ d2 {) H
  12. Dim vName As Variant
    2 H' M" c& e; [7 h& v% h
  13. Dim propName As String
    6 P1 ~: k! C1 K6 i9 ]
  14. Dim Value As String* v0 [1 r" L3 ?; G$ l
  15. Dim resolvedValue As String  G% W3 b# [* `4 n$ R
  16. Dim TotalW As Double
    & ]. o  e: @: _4 u
  17. Sub main()
    . F' \5 h" n& S  D: {+ @
  18. Set swApp = Application.SldWorks
    6 O0 A! O' b, c6 |
  19. Set Part = swApp.ActiveDoc" W! ~$ ~: Q4 x0 w( q
  20. Set thisFeat = Part.FirstFeature
    2 w; w0 K3 j' Y7 N% Q8 Z
  21. Do While Not thisFeat Is Nothing
    1 N3 G7 z% v+ b$ J% p9 Z& j
  22.     If thisFeat.GetTypeName = "SolidBodyFolder" Then
      {+ f, r4 ~6 }! y
  23.         thisFeat.GetSpecificFeature2.UpdateCutList
    " U5 |; m: V5 Q7 q* f
  24.     End If
    6 B: F/ ?: o" D, A5 u% R/ b! b7 Z6 G
  25.     Set thisSubFeat = thisFeat.GetFirstSubFeature- x' f0 p0 F: n% C" Q
  26.     Do While Not thisSubFeat Is Nothing
    . `+ {% U( F3 C+ P7 k7 P
  27.         If thisSubFeat.GetTypeName = "CutListFolder" Then7 ~2 _% s1 |: Z! T! |" m& }
  28.             Set cutFolder = thisSubFeat.GetSpecificFeature25 V- E5 h/ B. X6 `
  29.         End If0 h# T$ J8 O6 c  O& G8 P
  30.         If Not cutFolder Is Nothing Then4 v- f, \- X* g' r8 i) N( i# A
  31.             BodyCount = cutFolder.GetBodyCount0 T& ]3 J2 I( Q4 k
  32.             If BodyCount > 0 Then
    " M  R/ V- H& Q1 C, r0 H
  33.                 Set custPropMgr = thisSubFeat.CustomPropertyManager
    2 f7 m3 P& h7 W8 J
  34.                 If Not custPropMgr Is Nothing Then9 n3 I: u" y- f& Q) I
  35.                     custPropMgr.Delete "Total Weight"
    - y( ]2 @, t( [2 P* d( i6 X
  36.                     custPropMgr.Delete "Weight"
    - |( O! Z' i/ M, {+ Q
  37.                     fn = thisSubFeat.Name) D9 F* N, Z2 z# q, i, U& \
  38.                     pn = Part.GetTitle
    0 ?. ~/ z4 y6 y4 ~' W: y) _& `
  39.                     custPropMgr.Add "WEIGHT", "Text", Chr(34) & "SW-Mass@@@" & fn & "@" & pn & ".SLDPRT" & Chr(34)8 v/ h4 L+ l9 J0 U% _& {5 Y
  40.                     propNames = custPropMgr.GetNames
    7 [. Z; I' S( M5 E# r, e! n' N8 W' Y& d/ q
  41.                     If Not IsEmpty(propNames) Then
    , R7 D- K2 y  K- h4 Y2 I+ i( m
  42.                         For Each vName In propNames- o2 U9 m1 ^/ ~
  43.                             propName = vName
    0 p4 ~8 P0 t+ m* \6 y
  44.                             custPropMgr.Get2 propName, Value, resolvedValue  M' _5 B4 C  ]  e. V. g3 z; m
  45.                             If propName = "WEIGHT" Then TotalW = resolvedValue. }7 d2 s' U9 T: f( S! ^
  46.                         Next vName
    5 E7 W2 d7 ^, ^' ~: y
  47.                     End If5 m! R' j$ l" V3 U  L* f
  48.                     custPropMgr.Add "TOTAL WEIGHT", "Text", Format(BodyCount * TotalW, "0.00")! W8 z; F' k- Y6 j/ r; [
  49.                 End If) Z) B9 z: p! j. L
  50.                 . \) V4 Y; X( Z/ I, a
  51.             End If
    " K- ?: M+ @& y& J8 g: U
  52.         End If7 Y2 j9 C. _4 t# `0 G! c8 B
  53.         Set thisSubFeat = thisSubFeat.GetNextSubFeature& b% E1 C% h2 R$ A3 f, i
  54.     Loop3 u" ~. B$ z/ P  c2 Y
  55.     Set thisFeat = thisFeat.GetNextFeature
    . b; _5 Y2 @! R3 d% Z/ p
  56. Loop2 [6 _9 A  z( b- m8 j/ T$ s
  57. End Sub
    ! |# K( y- x$ l' E& U& A
复制代码

7 C& x# P6 v- P; M  }1 b
) Y! Z# n: q# J0 A# K% i. }# e( `2 J4 m/ H8 n- E

$ Y2 {1 l: Y$ w+ x5 K
发表于 2016-3-9 17:18:30 | 显示全部楼层 来自: 中国四川攀枝花
gt.adan 发表于 2016-3-9 14:015 U& y) I, Y% K3 b
這個宏是悶大於2009年分享的   焊件切割清单中自动增加『单重』和『总重』的属性以下內容轉貼自開思。% `0 ^+ v8 e3 @6 Z9 G

" N$ ?* g- m: H; R+ M( H ...
' W; j5 @; ^6 y" t2 e. s
谢谢丹大,回头试一试,非常感谢!
发表于 2016-3-9 18:08:48 | 显示全部楼层 来自: 中国台湾
pzhzshun 发表于 2016-3-9 17:18
% ]5 _4 S- A4 h& G0 Y' d9 K, t谢谢丹大,回头试一试,非常感谢!
  Q+ y/ [/ F* h% A6 V
有機會謝謝悶大吧~我只是順手轉貼而已
发表于 2016-3-10 15:53:27 | 显示全部楼层 来自: 中国四川攀枝花
gt.adan 发表于 2016-3-9 14:01* u/ h+ [3 h+ ^  a% U- C
這個宏是悶大於2009年分享的   焊件切割清单中自动增加『单重』和『总重』的属性以下內容轉貼自開思。( E2 G# {7 q' _+ G7 l' W+ n

% E4 Z& |1 ~* @' w2 ~ ...
4 h- r! o9 H: _& l4 b' k6 Z
今天测试了一下:8 I+ B- l% U/ e
代码第39、48行在 sw2012 里没起作用,『Weight』和『Total Weight』没写入切割清单的属性中。
- g" T, J+ ~  C查了一下 API 帮助,发现要把其中的『Add』改为『Add2』,『"Text"』改为『30』才能在切割清单属性中写入这些属性。
. J# T2 H* e" n( N2 C: N* Z! T第39行代码中还要把『& ".SLDPRT"』去掉,才能正常显示出单重。( s  h! t& V9 a* ^* a; g3 M
39行代码写成下面这样,也能在切割清单的属性中正常显示单重。
& P4 [) X6 i& v! I0 C
  1. custPropMgr.Add2 "WEIGHT", 30, Chr(34) & "SW-Mass" & Chr(34)
复制代码

2 H( @5 d) @, O# F) F; T, u; [% W; c8 y* Y( ?
在 sw2016 中,多了一个『Add3』,可以修改属性里的值(『Add2』是不能修改属性的值,只能增加属性)。
6 ?& I8 c  Q0 N6 {8 vsw2016 中把39、48行代码里的『Add』改为『Add3』,那么下面两行代码就可以删掉了(不能在 sw2012 里使用『Add3』)。1 _5 k" b2 l$ e" P& [& C
  1. custPropMgr.Delete "Total Weight"& p( {4 t) j) T) Z& }
  2. custPropMgr.Delete "Weight"
复制代码

5 e/ O" l0 X' \9 G$ C上面两行代码删不删掉对结果没有什么影响,就影响一点效率而已。
! v4 k+ h7 x2 X4 {3 F* U& x$ V+ q$ q& R: M
这样修改后,这个宏代码就可以在 sw2012 和 sw2016 中使用了(其余版本未测),终于解决了困扰我很久的焊件切割清单中每行总重的问题。/ u/ f6 u' z, Q/ Q/ ?4 K
; p$ Y/ q; t0 b: \6 V% ^  _2 s/ Z
再次感谢丹大和闷大,谢谢!" f" c3 p+ q) Y$ Z# N# J
" n; S2 M. }# V$ c1 z3 [' {
发表于 2016-3-10 16:11:35 | 显示全部楼层 来自: 中国四川攀枝花
本帖最后由 pzhzshun 于 2016-3-10 16:14 编辑 ; B4 e0 ?. \0 }' c

- ^+ `2 h+ q# L: S+ N. r, l' b来个使用的效果图; S/ s4 U8 [: g/ ?, O0 \* R2 E4 Y7 E
C004.gif / w, p) t# T. \4 h; {4 L  g6 M
虽然每次修改零件后都要重新生成总重,这也比一行一行地输入公式求总重方便多了。) ~0 X7 ]1 O3 x
6 j% ~$ I$ Y# _2 j" a: b# z
发表于 2016-3-10 17:32:26 | 显示全部楼层 来自: 中国台湾
pzhzshun 发表于 2016-3-10 15:53
" d; h& O( h# b, ^今天测试了一下:
( y8 e8 N3 S3 n0 z4 F代码第39、48行在 sw2012 里没起作用,『Weight』和『Total Weight』没写入切割清单的 ...
2 H! K) y: g/ [" ^4 ~( T, Q
那是因為您的電腦沒有顯示檔案的後綴名稱(*.SLDPRT),所以39行才會出問題哦~^^: s2 Z+ n) K7 @; h' e% J: R
謝謝您的分享
发表于 2016-3-12 16:43:22 | 显示全部楼层 来自: 中国四川绵阳
本帖最后由 eastking1111 于 2016-3-12 16:54 编辑 ) N1 `% Q0 [, l7 v/ d1 U- a

: |* T* x" c1 Y1 U( c* ~0 g感谢你的描述,终于搞定
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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