QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

楼主: eric.bo
收起左侧

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

[复制链接]
发表于 2019-7-1 12:56:48 | 显示全部楼层 来自: 中国山西太原
NC@jiang@nan 发表于 2019-6-29 01:367 m2 u" h5 g1 X9 D# Y
应该可以用 if gettype = 1 then
4 B- R& O: g& F$ m elseif gettype =2 then ' ?  M8 v* j+ K' o
end if 代码来分别操作零件和装配体吧。好 ...
- K1 k: q$ ?# c8 F  o* F& {8 i. x
能否指导下这个语句增加到哪里?一下是源代码$ n7 t3 {0 p) I$ f& t
Sub main()
0 |( L0 j* n" ?) u1 O& ~8 `" q; U' E# m, S4 p
'link solidworks
9 F7 N; p/ |- O( u: f# C4 USet swApp = Application.SldWorks
3 U" f+ X' ~* s. sSet Part = swApp.ActiveDoc
1 e8 _8 {/ s9 C2 V7 _Set SelMgr = Part.SelectionManager
& A9 p! j1 F) eswApp.ActiveDoc.ActiveView.FrameState = 11 v5 j0 [3 {  a7 \3 B" |( _) i* Q

) h" B0 L4 M! r5 t" i'设定变量0 K8 k4 M% j) |- x: U$ y) E% W
c = swApp.ActiveDoc.GetTitle() '获取零件名
& M8 x) f/ {4 m6 A/ B% g: S/ b: g
If GetType = 1 Then. E/ F/ S: [* i/ ]9 q* h% ~5 |
' ]" l3 O( H3 B# l6 K& V
strmat = Chr(34) + Trim("SW-Material" + "@") + c + ".SLDPRT" + Chr(34)
* e# h9 S) h3 {" f0 Z6 L& tstrmas = Chr(34) + Trim("SW-Mass" + "@") + c + ".SLDPRT" + Chr(34)# ?+ R, Q( {1 K4 ~
5 o# B8 A9 X+ t7 a; B) n
ElseIf GetType = 2 Then
1 c+ b) a$ ]- E, n4 Nstrmat = Chr(34) + Trim("SW-Material" + "@") + c + ".SLDASM" + Chr(34)
# I7 z& ?" h$ j# V& j: [6 Ostrmas = Chr(34) + Trim("SW-Mass" + "@") + c + ".SLDASM" + Chr(34)
# Q" o9 f/ K( |
4 e9 m" L; l. l- b1 K# Y5 m'tempvalue = Part.CustomInfo2("", "材料")
* r7 T: t0 ~) h$ _1 M7 o( Vblnretval = Part.DeleteCustomInfo2("", "代号")
! H2 w1 Z) m7 {4 V3 _blnretval = Part.DeleteCustomInfo2("", "名称")" V  U2 x9 |% q' `
blnretval = Part.DeleteCustomInfo2("", "材料")5 e* a3 @2 C1 x: E2 ?
blnretval = Part.DeleteCustomInfo2("", "质量")
( j8 P. Y* p; @2 |, X
" h6 [1 c2 r/ C$ P$ m4 d2 L1 x& c# _4 n7 u
a = InStr(c, ".") - 1& H4 s4 }6 {. [; y; Z# ]) I1 g
If a > 0 Then
6 W& n6 l( S, r/ t% t; ?    k = Left(c, a)8 z2 H6 t$ N7 x8 ^* m. }
    t = Left(LTrim(e), 3). M2 `1 D( Z" i* T% [4 k- v/ B% h
3 v' K% D0 o4 O$ n1 M9 y  u
    If t = "GBT" Then% O$ f( M0 B' I& n! T. {$ g" L
        e = "GB/T" + Mid(k, 4)
( `2 K$ k, `5 @( v/ H    Else$ I2 ]8 ]  |/ C% c3 D
        e = k8 `' V2 D3 i8 }9 q& H
    End If
0 n: H9 w  Y# f3 ?" r( Q8 G7 L  _  X/ m; ]7 V; B! y7 b3 W  L
    b = Mid(c, a + 2)
4 ~0 G, p5 W, @6 Q! L0 ~/ t    t = Right(c, 7)+ }" O& P3 l( A, N
    If t = ".SLDPRT" Or t = ".SLDASM" Then' I* I; c) k/ [& O
        j = Len(b) - 7' ^# K: X2 f4 y3 q+ T+ }$ |7 a9 t
    Else: n, R3 M* q3 J* Z# M; k1 P! n
        j = Len(b)
4 ]8 |4 a* V# v% w  W3 l3 j    End If
! g/ b' T5 f5 T, D6 {6 V$ w+ {) W    'If t = ".sldprt" Or t = ".sldasm" Then
* ^' ?* @% Q/ L+ l    '    j = Len(b) - 7
1 r; E$ t, d8 d" _    'Else
* z6 W8 o4 f+ B. S4 |    '    j = Len(b)/ D; n" `3 P1 S+ |; p, s! [" I
    'End If, K/ \9 y" _4 C6 c% F
    m = Left(b, j)% E! n) s( o, E' n: J
End If" r! I; ~! h. U4 u1 H% \" L/ t7 R$ d6 B
3 k% T# D- X4 C
blnretval = Part.AddCustomInfo3("", "代号", swCustomInfoText, e)
% f+ J3 A& {: i. U0 K1 X0 j& Qblnretval = Part.AddCustomInfo3("", "名称", swCustomInfoText, m)
! T! ^8 `# A+ Nblnretval = Part.AddCustomInfo3("", "材料", swCustomInfoText, strmat)
7 P4 j9 B9 ^7 c3 [% I3 N) wblnretval = Part.AddCustomInfo3("", "质量", swCustomInfoText, strmas)1 w5 \: `  F8 ^
blnretval = Part.AddCustomInfo3("", "数量", swCustomInfoText, " ")9 A% [- |' z9 o
blnretval = Part.AddCustomInfo3("", "总重", swCustomInfoText, " ")' S/ z9 X" p6 Q8 U2 Q3 P( `6 f
blnretval = Part.AddCustomInfo3("", "备注", swCustomInfoText, " ")( l/ a/ a/ p2 Q; ]: ~( f
# e0 R4 s( x2 G3 ~) T' Y' ^

* n7 A5 g$ ?* F) `' tlongstatus = Part.Save, u0 N* \& g+ F" R; x7 f
boolstatus = Part.EditRebuild3()
& c) O/ M+ U! g
- S  T1 C1 b$ \6 l- K$ `End Sub
发表于 2019-7-2 10:13:31 | 显示全部楼层 来自: 中国广东深圳
eric.bo 发表于 2015-7-9 20:49( J( B  }- G: a0 v7 S6 k; X0 |. S
此宏的主要目的不是用来添加自定义属性的,是用来从文件名提取物料编码和名称的,顺便增加了可以添加其他 ...

4 }: K+ Y* G# C. A完美的设计树,是只有整齐的图号。名称可以自定义到属性,而且设计树本身是可以显示出来一项属性。可以设定为名称。这样设计树的可以单独显示图号合图号加名称的方式
发表于 2019-10-2 09:41:26 | 显示全部楼层 来自: 中国江苏常州
he6266130 发表于 2019-7-2 10:13: f# l0 g  ?7 R3 d% {
完美的设计树,是只有整齐的图号。名称可以自定义到属性,而且设计树本身是可以显示出来一项属性。可以设 ...

- \0 j; h' P( @: A1 N有没有图片,可否示范一下??
发表于 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 )

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