|
/ P* J' S& r) L* _7 g分享在他網的回覆
# a$ ^- B. t4 G, i# c: j* S2 p8 X) k! Y& t
+ P8 z. ^/ [6 P
q( j. W# Y# O& R
% `; B: K3 |. h7 J# |6 H' l, T6 N; i8 h# I4 f. m+ u
- ' ************************************************************************************/ z3 g3 N& H/ G2 Q
- ' 依據配置特定屬性之"件號"及"名稱"存檔 - macro recorded on 10/30/18 by scliang
$ |3 J% O; _! i - ' ************************************************************************************2 |2 |# w9 D( R" c9 ^3 y0 J( Q" X
3 v# d6 Y4 J" j& i% P0 b5 \# `- Dim swApp As SldWorks.SldWorks' W0 V0 O$ Z% W5 E4 l! h/ l! z# r
- Dim swModel As SldWorks.ModelDoc2( s* {* S5 i0 p( P$ q
- Dim swConfigMgr As SldWorks.ConfigurationManager
$ W* }" I$ f) N. a - Dim swConfig As SldWorks.Configuration
4 K! S3 x. E: Q0 e - Dim swCustPropMgr As SldWorks.CustomPropertyManager# Q# V6 y: ?& Z2 _' G0 w
- Dim nNbrProps As Long# l/ Y( X( v# c- I/ f0 B( q% f
- Dim Part As Object
# Y. b' g7 U4 N& ? j3 C& {; K% B - Dim Code_Name(2) As String
; J3 y& v6 ^" x- K - Dim valOut As String
/ i* _& ^- K' @. l8 n' Z - Dim resolvedValOut As String
$ f( v4 _7 L% Q7 n1 W - Dim longstatus As Long
( A& j$ y/ E0 L( | - & @/ f! u: }9 @0 u( O
* D; P- S1 ^# e3 N0 U. t2 ]7 L- Sub main()
+ w! R. ~2 J" Z" [1 z% s1 j
. `2 M, r; N/ B- Set swApp = Application.SldWorks |9 q! Z/ O6 T3 g7 N- T5 p
- Set swModel = swApp.ActiveDoc
+ z$ `/ F! K8 v, z6 [# C - Set swConfigMgr = swModel.ConfigurationManager% Q# R N6 R) o& D; {. M9 A
- Set swConfig = swConfigMgr.ActiveConfiguration5 z* ` ]; h9 y2 ^* b3 r9 i
- Set swCustPropMgr = swConfig.CustomPropertyManager
5 b8 Y) n/ z& j2 _) q: w$ S9 L - ' Get the number of custom properties for this configuration
) [% V ?$ p% z8 x5 _ - nNbrProps = swCustPropMgr.Count
# Y" V1 T5 T' H" u) G: x+ D- C - vPropNames = swCustPropMgr.GetNames) R @& e, l& Y6 P5 x
- For j = 0 To nNbrProps - 18 E( J. z8 j: I2 C* L1 \0 ^2 H
- swCustPropMgr.Get2 vPropNames(j), valOut, resolvedValOut
: p ?* |8 d# A9 N m* M- c - If vPropNames(j) = "代號" Then Code_Name(0) = valOut
$ a- M3 J: C7 I8 J - If vPropNames(j) = "名稱" Then Code_Name(1) = valOut% s$ P* H1 z2 N6 ?# d
- Next j. s' D/ D$ a, ^( h4 p
- 'Debug.Print " Name, type, and resolved value of custom property: " & "代號: " & Code_Name(0) & " ----- " & "名稱:" & Code_Name(1)- e" l |" L: }( x# ~
- Path_Name = swApp.ActiveDoc.GetPathName '取得"路徑名稱及擴展名",不管擴展名是否隱藏5 r# V' L& J4 r+ _
- Path_ = Left(Path_Name, InStrRev(Path_Name, "")) '提出路徑9 s% H: S3 n: R T1 g
- Set Part = swApp.ActiveDoc9 j1 n m7 f h4 K" s
- longstatus = Part.SaveAs3(Path_ & Code_Name(0) & " " & Code_Name(1) & ".SLDPRT", 0, 2) '依據配置屬性"件號"及"名稱"存檔! U9 F6 P5 L0 D$ m1 G l9 k
- : {; y8 d* Z2 H" Q8 |% _
- End Sub: A% x4 u4 y0 m5 l( W
复制代码
& J8 l2 v+ Q% H: v& k5 f1 [: u6 x1 b' W: i! P/ y$ @( Z
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册会员
×
评分
-
查看全部评分
|