QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

楼主: eric.bo
收起左侧

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

[复制链接]
发表于 2019-7-1 12:56:48 | 显示全部楼层 来自: 中国山西太原
NC@jiang@nan 发表于 2019-6-29 01:36
- W6 Y) B- a7 o: `/ v$ Y% Z* L7 `, T应该可以用 if gettype = 1 then9 H. F( V; D; W! p7 m
elseif gettype =2 then + I7 j' h2 u( _5 T
end if 代码来分别操作零件和装配体吧。好 ...

$ R! e# ?* V2 w2 _+ E) r- m能否指导下这个语句增加到哪里?一下是源代码2 s* f. \4 Z! l: C& e* [
Sub main()& A8 \4 k+ E: ^1 S$ U
. i2 w; z" M/ d+ x" J3 ^
'link solidworks) ]2 ?, T% j& c  A; Y9 h- U- y
Set swApp = Application.SldWorks
# N8 ]7 [7 ?  ]# P* B) B3 z5 ]Set Part = swApp.ActiveDoc4 @$ o7 ^2 r3 X$ F/ j7 U
Set SelMgr = Part.SelectionManager) C4 b* ?& T3 `, i, \9 g1 t7 q
swApp.ActiveDoc.ActiveView.FrameState = 1( n4 u7 C" x7 K$ m# q: x

; t- `9 q9 a0 u2 O* t8 b* U+ Y'设定变量) v: f0 Q, k2 n, G" ]; D, M0 h
c = swApp.ActiveDoc.GetTitle() '获取零件名& ]0 |/ d' T" A8 ?/ A6 p

/ M( l" C4 o6 O" rIf GetType = 1 Then6 g7 N1 Y8 g; p9 ~0 s9 v
) _+ l2 D7 u" D6 |! V
strmat = Chr(34) + Trim("SW-Material" + "@") + c + ".SLDPRT" + Chr(34)" a* ?9 y3 R: W1 {9 X$ a0 ?
strmas = Chr(34) + Trim("SW-Mass" + "@") + c + ".SLDPRT" + Chr(34)
9 q7 R) e$ R  `0 {8 }& }) r- i' K# s2 p" A3 e0 a. o. Z
ElseIf GetType = 2 Then0 J7 a9 Z- ]( E7 b% ]6 I
strmat = Chr(34) + Trim("SW-Material" + "@") + c + ".SLDASM" + Chr(34)3 t% q! a2 a# G9 P$ L2 j1 E5 I
strmas = Chr(34) + Trim("SW-Mass" + "@") + c + ".SLDASM" + Chr(34)0 S4 O) {2 Y$ y5 W, q! M. Z

' r( K5 r) K4 t) j$ f* r; v8 d: E'tempvalue = Part.CustomInfo2("", "材料")
/ @5 n  B, Z& P' l; v: Nblnretval = Part.DeleteCustomInfo2("", "代号")# A# l( B5 P# `( S/ T& C. R
blnretval = Part.DeleteCustomInfo2("", "名称")
& O7 [6 S2 ~& m# Vblnretval = Part.DeleteCustomInfo2("", "材料")
/ \; a1 a$ ?3 _# Z5 X) Z  Fblnretval = Part.DeleteCustomInfo2("", "质量"), g( G' A. M6 A, S
; J0 R, ]4 u) T$ Y& u
8 w( }, o5 ]8 y" b  ]
a = InStr(c, ".") - 17 s& u: w& _" ?$ B
If a > 0 Then
9 n! D* u6 j0 f% _  Y    k = Left(c, a)
( g) S  h: ]7 k. Y" q9 y. `( q    t = Left(LTrim(e), 3)
) b( Y9 a# p: N( g6 k
3 j2 n! }. C) Y: \6 x    If t = "GBT" Then
9 o5 m& h$ M4 D6 s5 j) X        e = "GB/T" + Mid(k, 4)
5 o# F! i/ M8 `' }: g6 k    Else
$ A. y, ?" o( h- K! }  i        e = k: n" ~  V% M6 F/ L4 s
    End If
1 ~+ V+ y2 S5 m, |. B$ c& }, T5 E" O  y) Y/ y
    b = Mid(c, a + 2)4 b/ A* |. L$ x5 I8 i6 p5 E4 X- s4 e
    t = Right(c, 7)# A- m6 i- R& @9 P; w* W7 X7 P
    If t = ".SLDPRT" Or t = ".SLDASM" Then7 l, t: p: {4 S/ B3 u9 Q, L+ ]9 J; Y# I
        j = Len(b) - 7
8 S( ]4 Q2 `2 B6 P$ x    Else
) ~5 B* x8 i. i, O        j = Len(b)
% x& _6 g% N, q# v* E% V    End If
! @4 F" u6 n4 ?( l- w+ D    'If t = ".sldprt" Or t = ".sldasm" Then
3 `: ~4 c* i5 H- p; y    '    j = Len(b) - 7
7 Z" N, b( O/ w+ Y- {2 \    'Else' [8 w: f9 w1 B# }3 w- n9 x7 e% p
    '    j = Len(b)
0 t; m$ `; F3 q    'End If% g1 z" g9 s& I: m( S
    m = Left(b, j)
1 _/ Y  b* g$ Q- ?End If
4 e; [# D7 V9 V" n8 P% I7 L, C; m
2 p! e# Q8 u" X5 _( \1 ublnretval = Part.AddCustomInfo3("", "代号", swCustomInfoText, e)
& W+ ^+ F( P  a1 ?5 A, U( T, Gblnretval = Part.AddCustomInfo3("", "名称", swCustomInfoText, m)
3 Q# e; g5 ^; ~9 J( M/ H8 Pblnretval = Part.AddCustomInfo3("", "材料", swCustomInfoText, strmat)
) r  T9 [& a. O7 k  Z0 j; @blnretval = Part.AddCustomInfo3("", "质量", swCustomInfoText, strmas)
# |8 J, G- w; m( t/ nblnretval = Part.AddCustomInfo3("", "数量", swCustomInfoText, " ")3 w) @$ R# ^- q# M1 f+ S! m
blnretval = Part.AddCustomInfo3("", "总重", swCustomInfoText, " ")
  K: g$ ?9 l0 F" A! K! a% Iblnretval = Part.AddCustomInfo3("", "备注", swCustomInfoText, " ")
/ j! Z6 m0 \/ @2 j3 S. R  Q& s0 _+ K9 e" ]; G0 H4 }( W' ]8 p/ c0 d  P
5 p- Q: I( [; E4 L! h
longstatus = Part.Save
2 A+ _( b. f8 ~  h% N/ ~  oboolstatus = Part.EditRebuild3()
- W! f3 ?( E; w5 w8 C
& u: |8 R6 W) @6 y6 z, \End Sub
发表于 2019-7-2 10:13:31 | 显示全部楼层 来自: 中国广东深圳
eric.bo 发表于 2015-7-9 20:49
! T2 v+ w3 R4 W1 U此宏的主要目的不是用来添加自定义属性的,是用来从文件名提取物料编码和名称的,顺便增加了可以添加其他 ...
9 q. i- n+ G3 W1 A1 Y
完美的设计树,是只有整齐的图号。名称可以自定义到属性,而且设计树本身是可以显示出来一项属性。可以设定为名称。这样设计树的可以单独显示图号合图号加名称的方式
发表于 2019-10-2 09:41:26 | 显示全部楼层 来自: 中国江苏常州
he6266130 发表于 2019-7-2 10:13
9 x9 i7 H. ^6 a' F0 W完美的设计树,是只有整齐的图号。名称可以自定义到属性,而且设计树本身是可以显示出来一项属性。可以设 ...
5 F, o' e+ X) D
有没有图片,可否示范一下??
发表于 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 )

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