QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

楼主: eric.bo
收起左侧

[求助] solidworks宏里自定义的属性,重量如何在赋予材料后自动带出来?

[复制链接]
发表于 2019-7-1 12:56:48 | 显示全部楼层 来自: 中国山西太原
NC@jiang@nan 发表于 2019-6-29 01:363 O, l, V. R8 I' R
应该可以用 if gettype = 1 then8 b; e9 d% e4 l" c* t, F
elseif gettype =2 then : g6 i+ w6 K% r3 ^, I
end if 代码来分别操作零件和装配体吧。好 ...

' X! [7 R/ F) s1 U% [8 p9 i5 ^9 u能否指导下这个语句增加到哪里?一下是源代码8 D: W0 T3 Q( \. ?
Sub main()
- D. |% M  v# x( a% R; v4 J5 |5 J9 C, S1 i) B/ M% H1 u2 Q' S( L6 Q/ R+ |$ z
'link solidworks
  C- g2 o0 g8 p# d1 }Set swApp = Application.SldWorks
6 K. s! I) H" p, a+ jSet Part = swApp.ActiveDoc1 g3 v& k% p/ {* Q+ e, B! i
Set SelMgr = Part.SelectionManager/ e4 ^* u  V% ]* v
swApp.ActiveDoc.ActiveView.FrameState = 1
! ~! E" F; F+ F: X' y: p! o; S/ x$ Z6 u/ {* p1 F+ H5 Y$ U0 Z
'设定变量3 t+ _& [: m& G2 \# w" S
c = swApp.ActiveDoc.GetTitle() '获取零件名! d  Q# \3 y" g: P7 L

$ Z* ]. [- V6 y& `  q  [) SIf GetType = 1 Then8 Q  r$ S, {* U- Z

  y: m" v5 U& r2 vstrmat = Chr(34) + Trim("SW-Material" + "@") + c + ".SLDPRT" + Chr(34)
+ z$ ~+ N. U# h% M' Tstrmas = Chr(34) + Trim("SW-Mass" + "@") + c + ".SLDPRT" + Chr(34)
, t6 _; Z$ e; T7 S- P+ j
) a0 M5 Z* F/ u' F- W1 cElseIf GetType = 2 Then0 x: @, W2 w3 ^" Y6 y
strmat = Chr(34) + Trim("SW-Material" + "@") + c + ".SLDASM" + Chr(34)# o4 N5 }) F$ N$ t
strmas = Chr(34) + Trim("SW-Mass" + "@") + c + ".SLDASM" + Chr(34)2 K. z" S8 e: W) S- J! w

! {/ ~$ O2 x" F6 K9 h'tempvalue = Part.CustomInfo2("", "材料")
8 X7 Y& J2 v+ e* m& x4 Zblnretval = Part.DeleteCustomInfo2("", "代号")
+ ?8 I' C; A, x& dblnretval = Part.DeleteCustomInfo2("", "名称")! x4 R9 c1 P1 G' S, [& ~# A. R5 P/ |
blnretval = Part.DeleteCustomInfo2("", "材料")# P! a5 w, V! ?% g
blnretval = Part.DeleteCustomInfo2("", "质量"); e0 U( m4 W! E% g$ g& N' H& Z1 U
; e' q% H3 q# a# x; Y1 ~
" u" e4 w8 X! v- j% v& g% c0 q
a = InStr(c, ".") - 13 ^, B, r5 c7 {. M, b' ]2 H
If a > 0 Then5 z" V5 ]4 d) n" B3 k. C
    k = Left(c, a). W; B, N& A; C
    t = Left(LTrim(e), 3). {. o. L  c& G

& S) B7 a9 ]# w! C) \    If t = "GBT" Then- u. E8 R$ h8 B  M) E  g4 V
        e = "GB/T" + Mid(k, 4)+ {# s6 _, x( {- f
    Else
/ ]  K3 Q- ~- t* ^+ K' q  I: R9 d        e = k( n! ]" m; Y) J% Q/ |5 x0 [( s9 Q
    End If) H0 I) T& t8 G4 s, n) U( m
8 M3 z& H! h) ?8 B* }4 ]- Y
    b = Mid(c, a + 2)8 \/ r: w1 X6 b  I6 e8 @  X
    t = Right(c, 7)
- o: c  n/ w' d) c    If t = ".SLDPRT" Or t = ".SLDASM" Then
# E+ V1 s2 x; y7 H. x, N6 Q        j = Len(b) - 75 T1 X' Y3 v3 K# t+ `# t5 O
    Else, L  w; }3 p1 V
        j = Len(b)
6 u  w- t! A: y& [& ]) o* h    End If" N# O. i- q8 d9 p) l" g, U
    'If t = ".sldprt" Or t = ".sldasm" Then
7 j  F8 Q% J9 w+ O3 ]+ Y# m  @9 n    '    j = Len(b) - 7: _: h- z) O0 W9 {
    'Else
& q$ v" l, @1 B3 ]; H* w, j8 \    '    j = Len(b)
1 n2 Z) E* y, K* ~2 Z* x: ^7 Q3 Y    'End If
6 z9 |, ?* s/ q- N    m = Left(b, j)
0 ~- C  b- G! B* g4 m, OEnd If
7 [2 w2 z+ ~" C( o; z  o
/ h: x% R% W- qblnretval = Part.AddCustomInfo3("", "代号", swCustomInfoText, e)! ]7 W  X2 a! h. l4 e' [7 p/ S  Z
blnretval = Part.AddCustomInfo3("", "名称", swCustomInfoText, m), T* q% u: E8 j4 y+ o
blnretval = Part.AddCustomInfo3("", "材料", swCustomInfoText, strmat)4 Y1 D3 a( c. y/ M. A
blnretval = Part.AddCustomInfo3("", "质量", swCustomInfoText, strmas)
# e& ]6 y; J" V5 kblnretval = Part.AddCustomInfo3("", "数量", swCustomInfoText, " ")
4 W! k' w! {7 G8 |  U# sblnretval = Part.AddCustomInfo3("", "总重", swCustomInfoText, " ")
+ B6 s0 A" ^/ y( R% E0 Oblnretval = Part.AddCustomInfo3("", "备注", swCustomInfoText, " "); i+ R+ S  ]  c9 ?3 F$ B

" p( y6 n6 S8 t1 L/ N) {  e5 S# O5 g) ?! I
longstatus = Part.Save
* d2 u5 L+ ~) h- Lboolstatus = Part.EditRebuild3()
4 s5 u; Q# ]; k3 ^
/ P# G1 {! Q! V2 N0 ]6 ]End Sub
发表于 2019-7-2 10:13:31 | 显示全部楼层 来自: 中国广东深圳
eric.bo 发表于 2015-7-9 20:49
0 I9 b8 O  L0 E% \7 N% w此宏的主要目的不是用来添加自定义属性的,是用来从文件名提取物料编码和名称的,顺便增加了可以添加其他 ...
! M  e  @* K6 m
完美的设计树,是只有整齐的图号。名称可以自定义到属性,而且设计树本身是可以显示出来一项属性。可以设定为名称。这样设计树的可以单独显示图号合图号加名称的方式
发表于 2019-10-2 09:41:26 | 显示全部楼层 来自: 中国江苏常州
he6266130 发表于 2019-7-2 10:139 Z8 {5 v( K7 Y) V' }; F
完美的设计树,是只有整齐的图号。名称可以自定义到属性,而且设计树本身是可以显示出来一项属性。可以设 ...
0 S( W- i9 ]; _5 p# Z
有没有图片,可否示范一下??
发表于 2022-4-11 17:28:08 | 显示全部楼层 来自: 中国广东深圳
顶一下
发表于 2022-5-20 18:56:45 | 显示全部楼层 来自: 中国浙江杭州
我也找到了这个宏,我改的有点复杂
发表于 2023-1-1 10:31:31 | 显示全部楼层 来自: 中国广东珠海
学习中,谢谢大神们
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


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

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

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