|
. j5 |& J, m& @- J; O ^分享在他網的回覆
7 M, p0 b2 B- O7 \+ L; [2 G" [% z2 y+ h O4 P1 n
. L) ~ D( ]0 b( s: o6 }5 ~% l( q7 X8 s: @: ~4 h
~! Z2 \/ Q3 |6 s3 z$ V. b7 C
8 R+ G& j- X: F8 E$ [) f" i& [2 [- ' ************************************************************************************
5 n6 D/ v+ Y; H1 I - ' 依據配置特定屬性之"件號"及"名稱"存檔 - macro recorded on 10/30/18 by scliang; o; v4 ]* G& {
- ' ************************************************************************************
& ]' Z8 w1 q7 k: G) Q - ; g2 E7 G/ p% ^2 {8 i% H
- Dim swApp As SldWorks.SldWorks8 }/ w2 B& K2 I0 N( x. x2 S- u
- Dim swModel As SldWorks.ModelDoc2
?( o& b4 ^9 k# v. s" K3 \ - Dim swConfigMgr As SldWorks.ConfigurationManager; k- W' X. C+ _8 k
- Dim swConfig As SldWorks.Configuration) _& J, U ^# ]+ C! F
- Dim swCustPropMgr As SldWorks.CustomPropertyManager
/ c w/ T. @. O6 L, s8 j - Dim nNbrProps As Long
, `# b4 P2 I# n2 |1 f - Dim Part As Object; Z3 h4 ^) `! C
- Dim Code_Name(2) As String
$ E6 W$ ^* p! t3 f$ w) x8 d( S - Dim valOut As String0 T2 p" w- r. G! C6 y( p" N/ D2 k
- Dim resolvedValOut As String
, M( `% n" w. Q( O' W, z. h9 ?6 s - Dim longstatus As Long' H. i3 ^# z" ?' O g7 a
- 1 _ s7 P* [( \, f# K
- + Q$ e, l) s$ X+ h, f, @
- Sub main()$ c! O7 Y3 N1 `- ]
- ; n" o" [: B$ s& s8 p
- Set swApp = Application.SldWorks
2 z2 Z6 ?+ x4 a0 D4 W - Set swModel = swApp.ActiveDoc
9 n( [1 I* b H7 r6 x% @, B+ z - Set swConfigMgr = swModel.ConfigurationManager
( ^. v& P* j5 k3 Q9 _ - Set swConfig = swConfigMgr.ActiveConfiguration7 p" e/ c3 Y' E/ d" A
- Set swCustPropMgr = swConfig.CustomPropertyManager6 \7 e$ L- A' a1 ~2 @ M9 \
- ' Get the number of custom properties for this configuration
+ y. ^$ O/ \/ R ~2 `, n7 L - nNbrProps = swCustPropMgr.Count
( l4 D8 f/ ]( G7 a - vPropNames = swCustPropMgr.GetNames# j0 N8 D) e2 o8 S0 x
- For j = 0 To nNbrProps - 1% ^& o, M( \/ E, v/ q6 D+ `
- swCustPropMgr.Get2 vPropNames(j), valOut, resolvedValOut
7 e% U: t- a; _5 f( q4 z3 T - If vPropNames(j) = "代號" Then Code_Name(0) = valOut
, N" D- Z# i5 I* ~6 x4 p - If vPropNames(j) = "名稱" Then Code_Name(1) = valOut
/ O5 M7 k3 {" m - Next j3 ?% z# c/ U9 h+ Q% j
- 'Debug.Print " Name, type, and resolved value of custom property: " & "代號: " & Code_Name(0) & " ----- " & "名稱:" & Code_Name(1)5 G5 z+ |6 y5 N6 r( y3 b) X% V: g7 u' f
- Path_Name = swApp.ActiveDoc.GetPathName '取得"路徑名稱及擴展名",不管擴展名是否隱藏, }1 g7 m+ e! h
- Path_ = Left(Path_Name, InStrRev(Path_Name, "")) '提出路徑
1 w; w& i% ]1 m - Set Part = swApp.ActiveDoc1 B/ u3 @( X) O9 P9 T7 f
- longstatus = Part.SaveAs3(Path_ & Code_Name(0) & " " & Code_Name(1) & ".SLDPRT", 0, 2) '依據配置屬性"件號"及"名稱"存檔* O* _9 y+ T6 H
9 g$ Q. \5 B# z' P* P- End Sub
& \* S/ }$ V0 p6 M
復制代碼
8 W# K. Z( ^2 x/ F1 F6 N- R3 w. D
# Q% r. N4 k$ d& d( R) _9 a |
本帖子中包含更多資源
您需要 登錄 才可以下載或查看,沒有賬號?注冊會員
×
評分
-
查看全部評分
|