QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

楼主: eric.bo
收起左侧

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

[复制链接]
发表于 2019-7-1 12:56:48 | 显示全部楼层 来自: 中国山西太原
NC@jiang@nan 发表于 2019-6-29 01:363 R2 s3 |- y4 ]* j
应该可以用 if gettype = 1 then
8 k; Q5 W5 W) g, J" U, {' ~ elseif gettype =2 then 7 `: U( t1 M3 L) F7 l
end if 代码来分别操作零件和装配体吧。好 ...

9 k% a$ y' N4 G+ Q能否指导下这个语句增加到哪里?一下是源代码! }- ^! X) [0 a
Sub main()* q- |) c* ^3 |

* w  r) J5 I* H'link solidworks
0 x# Z$ o0 o' ]% {Set swApp = Application.SldWorks; E5 @% `5 _1 g: D6 d
Set Part = swApp.ActiveDoc
# W4 O' r6 j* L$ i" lSet SelMgr = Part.SelectionManager/ N2 Y+ [2 L1 y2 c
swApp.ActiveDoc.ActiveView.FrameState = 1
! A$ N% p! k0 X4 N+ A8 I$ P( }0 o0 |; I" S* T8 v8 K
'设定变量8 f6 v1 X7 n$ z0 v: P7 ^/ E
c = swApp.ActiveDoc.GetTitle() '获取零件名
% x4 p' n! |4 W6 ~. J- _
/ W; a, M4 G8 w* pIf GetType = 1 Then
2 T4 I- \5 ?2 Q2 n* e
" a" A1 x/ Z0 N; astrmat = Chr(34) + Trim("SW-Material" + "@") + c + ".SLDPRT" + Chr(34)0 R. M3 B- }8 N- c, `" P* l
strmas = Chr(34) + Trim("SW-Mass" + "@") + c + ".SLDPRT" + Chr(34)0 ~) [# G  N+ @; v
- \- T& P. A' H; |
ElseIf GetType = 2 Then
6 U, i) @; y* m/ T. W- Zstrmat = Chr(34) + Trim("SW-Material" + "@") + c + ".SLDASM" + Chr(34)
" H  W3 V' F6 t: Q6 |5 ~" Gstrmas = Chr(34) + Trim("SW-Mass" + "@") + c + ".SLDASM" + Chr(34)! `2 V) J5 X, C1 A

" d3 ]2 w8 j; I'tempvalue = Part.CustomInfo2("", "材料")
+ g3 ^) V( H- z5 ]4 S& Hblnretval = Part.DeleteCustomInfo2("", "代号")9 R) ?: c8 ]5 y0 C
blnretval = Part.DeleteCustomInfo2("", "名称")
: N" I% s8 U  D3 L$ S" Vblnretval = Part.DeleteCustomInfo2("", "材料")
, d5 B5 e0 j( G( y3 p1 O$ B% Xblnretval = Part.DeleteCustomInfo2("", "质量")3 Y4 O. w: O, N# E9 U# }. _' P

& l8 ~' L) B9 l! w  ^2 ~4 V/ u6 V5 o: L6 S& e' n" d* M- U
a = InStr(c, ".") - 1
# d+ |  m5 a3 `( m1 I  t. \If a > 0 Then' T- z% O! h. Q% N& S$ C
    k = Left(c, a)
7 u& y& g: P0 f6 Q& H! I5 A' h8 }    t = Left(LTrim(e), 3)
4 g1 n  N" f7 ~6 m4 h/ D2 ^
2 w& b' D) m3 c5 V' t: X    If t = "GBT" Then0 t0 G/ H/ o" k, i5 E
        e = "GB/T" + Mid(k, 4)- l9 S! n; @% Z: S
    Else+ l" p6 T# [0 e
        e = k
6 B4 N8 \- c+ i    End If
- M, v3 E3 d) s# s/ s
& w4 `& I8 B  q( v, F' G    b = Mid(c, a + 2)
& u/ b9 t0 m; H7 M; ?  Y) q    t = Right(c, 7)
$ k1 _* J! o8 K8 A    If t = ".SLDPRT" Or t = ".SLDASM" Then
. ~% r/ N  l8 W& y" H* T        j = Len(b) - 71 @# U$ Q. n+ _( D. w8 d  D5 @
    Else+ x3 n. `- E8 ^+ b. \% \
        j = Len(b), g4 \: C, u0 j9 V) G7 P, V) p5 i
    End If
2 O/ s" H: s+ J. ^4 Z; T/ R) a    'If t = ".sldprt" Or t = ".sldasm" Then& F! M  x1 ~2 s6 W1 Q+ ^: W$ K
    '    j = Len(b) - 77 ]/ Q  g8 j2 k- N1 \
    'Else7 o' M% \" i9 v: [0 g$ G+ [, c+ ?7 W
    '    j = Len(b)
1 T( D, S6 P" l# I* H9 e! O! Y3 {% O5 m    'End If; S& Y8 M5 j# r! x) u; a; M; R
    m = Left(b, j)0 b3 O5 w7 q6 ^, T4 {+ u
End If4 s3 v( g. N& y6 x

( d: G, s+ q' zblnretval = Part.AddCustomInfo3("", "代号", swCustomInfoText, e)
, z$ A8 Z& Y& p3 y' i1 o$ E* Z0 }% B5 ~blnretval = Part.AddCustomInfo3("", "名称", swCustomInfoText, m)! N9 M3 K9 H6 `6 _
blnretval = Part.AddCustomInfo3("", "材料", swCustomInfoText, strmat)8 _# X! x$ V7 I2 n5 o
blnretval = Part.AddCustomInfo3("", "质量", swCustomInfoText, strmas)
9 N; {' o$ S* ?" qblnretval = Part.AddCustomInfo3("", "数量", swCustomInfoText, " ")* N! X# t$ x  ~/ p" t
blnretval = Part.AddCustomInfo3("", "总重", swCustomInfoText, " ")
% b. Y5 i0 f, r$ Z& Z$ @blnretval = Part.AddCustomInfo3("", "备注", swCustomInfoText, " ")
" R7 X2 x+ z8 h, o/ i4 E1 h  f% G% b% V- J8 m, [

0 r5 M. z9 ^& R5 c5 W- E/ Elongstatus = Part.Save
7 \5 Y+ b. C5 |. j* ~boolstatus = Part.EditRebuild3(), J  B0 z! x3 Z1 Y

3 h! v- W8 ^# @. a! G$ JEnd Sub
发表于 2019-7-2 10:13:31 | 显示全部楼层 来自: 中国广东深圳
eric.bo 发表于 2015-7-9 20:49
! l3 |1 e$ v! @# V! X) c此宏的主要目的不是用来添加自定义属性的,是用来从文件名提取物料编码和名称的,顺便增加了可以添加其他 ...
& e$ O/ C9 p; L, {! j9 s
完美的设计树,是只有整齐的图号。名称可以自定义到属性,而且设计树本身是可以显示出来一项属性。可以设定为名称。这样设计树的可以单独显示图号合图号加名称的方式
发表于 2019-10-2 09:41:26 | 显示全部楼层 来自: 中国江苏常州
he6266130 发表于 2019-7-2 10:13
7 T" Y; s: x. C  r' J$ X; `5 G% r完美的设计树,是只有整齐的图号。名称可以自定义到属性,而且设计树本身是可以显示出来一项属性。可以设 ...
, h5 U9 a) T: U( F+ M, X/ e) |5 I" x
有没有图片,可否示范一下??
发表于 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 )

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