下面是分离到配置(备注:间隔符同样是空格号,并可以根据自己需求编辑), K( O! x3 \& r& V* J
; G3 X' e7 p* F! @'定义sw
% i7 w2 u( S5 U4 D0 K, P# `
, W+ n4 M2 G1 X; d& A" ` Y
" F, [& [: O+ C, S) m0 m; l9 Z; C1 \: J2 z1 E" m, g
Dim a As Integer
% J1 P( `- _$ t6 m! o8 q
0 W) D* Y3 W' V# [ \. V9 ]8 BDim b As String2 s6 \3 ~( ^2 {
/ ^+ d) B; H" c% s E
Dim m As String
# x, G' M/ G3 t( v; r0 V
+ ?! {5 P- M; W) G7 Q0 k* ADim e As String
4 T2 s6 j6 p+ j3 u9 G9 W8 z) k9 J" l( T- }- X: W( J/ _( Y
Dim k As String& I1 k0 J0 I- Z* ~/ Y. }
- n0 J" k8 C9 W6 SDim t As String
6 H5 }* f8 r: [8 r
8 y5 K5 ]. u$ c; ~/ F$ v% d* @" [7 {* ]Dim c As String
/ _( P/ n2 d9 W& E
. U8 L+ v9 K0 d# l# y. ?' G+ }Dim j As Integer: ]; q# h$ C ?
0 a" V8 S5 s. ?3 dDim strmat As String
" ^( D+ |+ \& |* N$ A
! a6 l4 S. [& k- a. u" a& g IDim tempvalue As String$ I3 f0 c5 @7 d
+ L& T# r4 l% Z. r$ h3 Z$ S
Dim Part As Object1 `' R9 B% D& }* ]
5 k8 u. V) M8 S& b: }1 Z4 v
Dim swApp As SldWorks.SldWorks5 ?) ^( j. D* {; D9 a& [! D
: Y" q |1 d H/ i8 F9 H6 ?5 R. z
Dim swModelDoc As SldWorks.ModelDoc2
0 c; p) ^' g1 ~- {$ p% o. {3 z7 ?6 p0 q
Dim swConfig As SldWorks.Configuration
; Q; t0 w9 e9 t2 @
$ U# {& u" x: O+ W( q4 q- x& M9 ]Dim CustPropMgr As SldWorks.CustomPropertyManager
( |# U7 b3 J. N7 u$ E
9 d: r0 O! ?0 Q+ J3 ^6 j$ _Dim swModel As SldWorks.ModelDoc27 i7 t5 S T) j4 x2 b2 T
$ {. x, X3 M/ v
( F6 J0 L3 M# N7 e) K2 a3 a, L; q. k9 f7 Y. s, v8 v
Sub main()
3 h0 {! @3 j4 U# y2 ~+ J3 c3 D( o2 K5 v) y4 o
Set swApp = Application.SldWorks" M( V$ y; |9 @. p' E |
% I, |/ Q" U; M' w
Set swModelDoc = swApp.ActiveDoc) Z3 s; s* P* y" _7 j) v$ S
; ~/ r& D9 v) c/ r8 N( A: U/ wSet swConfig = swModelDoc.ConfigurationManager.ActiveConfiguration
4 q; Z* F8 c6 v Z0 H) D9 s
; d! q0 w2 S2 g6 _Set swModel = swApp.ActiveDoc! E+ _6 I* {9 C4 D5 f
; b# a+ X6 e% B% ]Set CustPropMgr = swModel.Extension.CustomPropertyManager: m9 f! P2 Z9 S4 H
t( g0 F" c! v8 n, u
(swModel.ConfigurationManager.ActiveConfiguration.Name) '配置特定延伸
' [% r" p* a' v9 I& m6 I' V; E: k+ ]4 O
! p0 K; H' S& G1 a4 I3 N; `& \
- U6 A9 |( E& u6 q, w
'设定变量
~+ j* |$ [# [0 d$ Y& D. u, o' K' l0 ?. t: X. P6 q
c = swApp.ActiveDoc.GetTitle() '零件名
5 q% ?4 p# W; l |( e: x
' E" _5 v; w' k. x, G" dstrmat = Chr(34) + Trim("SW-Material" + "@") + c + Chr(34)2 O. x5 i- ?9 N1 Q3 d; U ^0 M
. T/ E5 x$ N/ i# ?
a = InStr(c, " ") - 1 '重点:分隔标识符,这里是一个空格,也可换成其他符号9 ~) K' v9 G4 y- O' l) J) l) q
( L8 A$ j1 L4 p3 b7 F
If a > 0 Then
! S8 O. E1 y, p; o) j; p7 `6 m2 p+ L6 v' T- y8 Y# ^
k = Left(c, a)4 A% `- `7 c7 u% ^# G/ A+ P
* S6 x5 n% u- b9 |t = Left(LTrim(e), 3)* d0 m7 |- T- A) k ~
- t4 w+ g# p: w! \4 j/ ?
If t = "GBT" Then$ q# Z9 j; O( b8 F& c$ e3 J- W
( |5 G* \ r/ Q: _$ Fe = "GB/T" + Mid(k, 4)! H. j3 d! M6 t( ], S* e1 o/ g. s- ~
2 _: g7 ?4 j9 ]/ v/ Q; gElse$ _$ A- u4 B- ^% ~: u- t7 U( V
6 G$ P! \; _+ v; k0 }% Ee = k
9 c5 M6 b# j& }7 C
( O. w& `. _3 E8 O3 hEnd If
$ X F/ O; |9 v3 V" Q, W( g
, T& j; d: g) s& m9 L5 gb = Mid(c, a + 2)$ O7 _2 K5 E6 q# S- @% E% `2 D% \
0 V6 U6 a/ a& Z& [7 E7 Pt = Right(c, 7)
- [7 B) E# }0 [0 y
8 B0 }. Q ~0 I' S8 n% @' q! xIf t = ".SLDPRT" Or t = ".SLDASM" Or t = ".sldprt" Or t = ".sldasm" Then
! T2 u8 X: ] _7 k2 S# w+ i
1 l9 {6 T7 V0 Q4 Z0 n; v. ~j = Len(b) - 7 '消除后缀(区分大小写,即含4种)
; c2 n# k1 h' o& f* m w/ W1 t% B6 w, Y! m
Else
8 x: C8 _1 j4 O0 ]- R
; _6 Y* V- o/ G9 b ej = Len(b)
; b& G7 v! ], `0 R8 X. M* Q( k3 K/ E& d3 {. F
End If" {" l5 ?) |/ d4 d3 x
0 X& |5 J& C1 g% Im = Left(b, j)
7 p/ \0 w: X' [# ^2 {2 [8 i: N
% G7 N4 g( M- i* i' VEnd If
. g1 G' y# i( Y$ D* A$ J1 }; @& q1 i
'删除栏) N/ w T h+ Q+ x$ T
) }( {1 u# K) [3 s" B0 q: i1 ]
CustPropMgr.Delete ("Number")5 k4 x1 X$ Q7 R
1 M! v9 ]# j& t* t, f( b. H9 ^CustPropMgr.Delete ("作者")
: O+ Y+ d- W8 S, o
% J+ S% {3 ~# \) e4 q% CCustPropMgr.Delete ("图样名称")8 r# y4 m, o' n5 R! \' ^/ Y
$ }) k4 r# C" B# a
+ V! u! W1 @) B" Y# a& p6 W/ D3 [$ U3 ^, E; G5 x$ p
4 c4 g: C8 G9 p0 \; u4 W$ P! N9 p! L: Y# F, H
( Q& a4 |# @+ i3 n$ U'新增/ r3 B7 h9 V# F" }; Y
+ W* F" f! m& R7 C0 T2 U
CustPropMgr.Add2 "Number", swCustomInfoText, e
) a) Q+ {6 k1 i3 }; f: p
8 T) ^) u7 |! PCustPropMgr.Add2 "作者", swCustomInfoText, "刘腾qq420221716" D$ ` t; H5 U# i- B
& ?: ^5 Y. l1 F4 N+ gCustPropMgr.Add2 "图样名称", swCustomInfoText, m
; I5 _3 j! Z: M5 {$ X/ s
. u+ F: P5 [+ d/ J1 g: [- e' |) [
7 U, w# S, b. B2 K$ E- j" l4 d8 z) i' I$ b$ P
End Sub( ^! U5 j) k$ F4 f
- h' ^, s+ T8 ^. X- _% r |