|
0 z g* c6 k2 {, s( C! ~9 y
分享在他網的回覆
& c5 S" A/ Y; H" V, o: T3 [8 f3 s- ]# U: F" n3 ]5 w5 }) M
) {6 W" g# r% {% f' a3 J; v! O Y! t' K; [" ?
4 I% h @) \7 h# z8 `8 ^5 e2 V" H/ F" M
- ' ************************************************************************************
$ |" M6 ^7 ]# R% J% L - ' 依據配置特定屬性之"件號"及"名稱"存檔 - macro recorded on 10/30/18 by scliang
/ k9 a. p9 j0 I2 z# B* V9 E5 S - ' ************************************************************************************+ U& R7 F/ Z. X
0 }& u$ n- U, M- Dim swApp As SldWorks.SldWorks
- r5 ^8 S( y, ]) M/ A - Dim swModel As SldWorks.ModelDoc29 j' Q3 J( ?5 y* f! ^* z
- Dim swConfigMgr As SldWorks.ConfigurationManager
# F R) L* g6 Z6 c/ G* N - Dim swConfig As SldWorks.Configuration$ c, J7 [, Q; h5 m0 T8 q
- Dim swCustPropMgr As SldWorks.CustomPropertyManager7 r6 C6 ?9 M4 t5 ~# I! o% X4 j" ]
- Dim nNbrProps As Long
, V- y0 S+ l( j. j1 m - Dim Part As Object+ N- b, ], W" z
- Dim Code_Name(2) As String
& W' y/ G ^6 i3 h# S: R - Dim valOut As String# `' V6 Z. q, N5 b5 t, H
- Dim resolvedValOut As String [" I# F- B8 L- b& Z A; h0 u; [
- Dim longstatus As Long
: I* [0 H& D0 h& x
6 P/ M1 x% M$ k: h- ( B! L g! Y* {( h
- Sub main()3 n6 S6 M" R5 [. U* M
- 3 ]1 Z' C q8 D2 n" l* J
- Set swApp = Application.SldWorks
7 u/ h9 L% @( I - Set swModel = swApp.ActiveDoc2 X5 f. l+ Z' A) T! c6 ]: e
- Set swConfigMgr = swModel.ConfigurationManager
8 P4 {) |7 B# |' k - Set swConfig = swConfigMgr.ActiveConfiguration
1 a7 V: C$ p7 U$ @& v - Set swCustPropMgr = swConfig.CustomPropertyManager& p, i4 E$ `2 G7 ^
- ' Get the number of custom properties for this configuration' u/ R) A1 z; p6 K% L: @. p7 ~
- nNbrProps = swCustPropMgr.Count+ O& O- _6 c5 d; ^. l
- vPropNames = swCustPropMgr.GetNames$ d4 Q& ^ [5 L6 ^0 R
- For j = 0 To nNbrProps - 14 P2 y8 p T# L5 a2 A0 c& H
- swCustPropMgr.Get2 vPropNames(j), valOut, resolvedValOut( s' F2 t+ C+ v8 ~% v8 X. [
- If vPropNames(j) = "代號" Then Code_Name(0) = valOut$ l$ v9 U6 Q4 K; X
- If vPropNames(j) = "名稱" Then Code_Name(1) = valOut I0 Q0 ?) I8 K- `+ F
- Next j, m1 Y$ b/ g$ f- d4 T
- 'Debug.Print " Name, type, and resolved value of custom property: " & "代號: " & Code_Name(0) & " ----- " & "名稱:" & Code_Name(1)
+ q u q- z; l4 N8 ~ - Path_Name = swApp.ActiveDoc.GetPathName '取得"路徑名稱及擴展名",不管擴展名是否隱藏' W; i7 q' [. w8 u3 c
- Path_ = Left(Path_Name, InStrRev(Path_Name, "")) '提出路徑& c5 @7 w+ \3 I# U, i/ k
- Set Part = swApp.ActiveDoc
& ^, _7 `5 }! U! x& h - longstatus = Part.SaveAs3(Path_ & Code_Name(0) & " " & Code_Name(1) & ".SLDPRT", 0, 2) '依據配置屬性"件號"及"名稱"存檔
- {! K! A/ @5 Z1 l; ~6 L - , A2 c4 e" Z ^
- End Sub
8 X# F( {- P; v p; f' L3 N, q
复制代码 ; J1 [, Q# `. Q; z
" M" g: `; I. p# m1 I/ v |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册会员
×
评分
-
查看全部评分
|