本帖最后由 苏州装配工 于 2021-3-8 17:27 编辑
# K; V$ }# J( e" r, m
# O( |" u1 X S; N' dDim swApp As Object" }3 \3 c. k/ e: N' q% i- x- O
: q' R1 G+ u. ?& p [) q$ w
Dim Part As Object0 K8 K& \+ a3 Z$ z/ e8 t
3 @7 c! f% {0 Y$ \6 ~7 UDim SelMgr As Object
- F9 Y: _5 ~1 }1 U
% @( h0 }& W+ _8 YDim boolstatus As Boolean
4 Y3 t& s2 P+ q1 Q1 P
: _4 R/ x% Z7 i1 o* {9 A! tDim longstatus As Long, longwarnings As Long
0 [0 m/ u( ?0 M
% E) g `6 K# i7 v" KDim Feature As Object+ U+ F( i$ Y0 D1 m( R, z3 U
3 u8 \4 I' j; s0 bDim a As Integer
* J7 e/ A+ {+ [* o9 C. o) F9 m2 s: O# c2 |+ E
Dim b As String
9 n& V: q7 q0 d9 y6 h9 b; M& A1 e+ {) e$ I
Dim m As String1 h, h4 d' b9 w% h
; Z. W3 l! v( L/ X( W% e
Dim e As String" z, v5 U" G9 I7 I. e2 c
* s, B* S( V2 W7 Q a9 JDim k As String$ q& C V7 V0 v# m8 x: Q7 _
/ C5 J; U" A- e( ZDim t As String; j& Y- w2 x1 H5 i( I& y
* @% l* w5 m, Y# \! B7 V
Dim c As String- U7 ^ B, ]7 M, ?; w
3 B7 a9 A& |2 G+ _. Y9 C
Dim j As Integer
3 k0 B2 z. d- D9 [1 |2 [* c7 Q: y1 X: P) F9 I3 _/ u
Dim strmat As String
+ y# ^+ f& O6 |$ F M5 b {
( B. N6 z: W5 k7 i9 XDim tempvalue As String
2 P# m( S( y- q& |
/ Q; r; X" \2 ~* s5 JSub main()
( u/ Z* N6 H, [4 v) [8 y- o) Q( _' [ A! k( T( h M% i
'link solidworks) W, P: ?$ J ^) D6 Y% R$ d
2 H% t! F7 H* X' X2 eSet swApp = Application.SldWorks
! y* d) H+ s2 \0 n& F3 j$ s3 n Q+ H! i2 p# M- [. G
Set Part = swApp.ActiveDoc
& [5 B0 _. p7 _/ `% l% z0 ` C" b+ n e& b
Set SelMgr = Part.SelectionManager) Y) G1 ?9 X( k0 b6 }/ n2 \
* a4 `2 j' k* RswApp.ActiveDoc.ActiveView.FrameState = 1 a% W, |; [0 S/ ~" e1 Q' p0 w1 _* \+ @
- S2 E# y+ S4 _; K'设定变量
/ b! F6 j5 q' [ ]1 ]7 n# K E8 \: o0 {
c = swApp.ActiveDoc.GetTitle() '零件名( h) e0 Z2 k5 g6 U$ P" [0 k8 _2 A
# r. F% _1 G; ?# u- V. xstrmat = Chr(34) + Trim("SW-Material" + "@") + c + Chr(34)
0 v0 F6 \: A+ {/ V2 X" z2 v/ m1 O9 q1 ~. M4 {! ~$ J! P
blnretval = Part.DeleteCustomInfo2("", "代号")8 a3 k/ G; L1 k
- w3 ~' y0 Q0 R' ~! Y- }& C& Z
blnretval = Part.DeleteCustomInfo2("", "名称")% F- P- V) r1 g$ y6 N
; d6 a3 o9 `& J- B
blnretval = Part.DeleteCustomInfo2("", "材料")
) o+ s- }3 o* c
4 L( T5 V% l9 Qa = InStr(c, ".") - 1: Z% i# U2 N+ ]8 a" u, v
! m* \1 `: x" G8 s0 ]
If a > 0 Then4 Y. F' n% Z6 m* V' ~
- h" e/ _& w: \
k = Left(c, a)
9 A9 j4 T4 t0 n" N4 ], C; I1 \# x d
t = Left(LTrim(c), 3)
3 g) k; w: _/ i8 ?
; S B7 C2 I u0 u( r/ | If t = "GBT" Then+ U/ L5 z0 x0 {5 J j" B
/ }/ S# N- c- s
e = "GB/T" + Mid(k, 4)5 Z% k' W* S0 |2 T
9 t: {% Q9 N( L" q+ {/ [ Else2 H4 B; r, T7 n9 ]% Z
9 h$ R! N5 g% }2 L e = k/ g$ a5 g5 _( H: O" }
# ]$ L2 D- r% s/ t5 y End If
4 q3 q7 |, S9 _8 W. d) ^# {4 c
$ g3 f8 s+ z5 X0 G, N3 r b = Mid(c, a + 2)
* O1 o9 [6 N% z( y3 z- e+ P2 K" I% G/ B: q" z/ I6 o9 {& u; U0 {
t = Right(c, 7)
6 b: X, ?2 K+ N. v
" v& r. {; Y" g1 |* a) K6 j0 v If t = ".SLDPRT" Or t = ".SLDASM" Then1 e" \3 N# a! M
2 [9 ^8 ]0 J) ]% t
j = Len(b) - 73 f+ E! q) }& j7 J) V- X& ~0 Z! q
" q9 A8 D% L! o3 W+ l" j. m
Else) S, K* W0 z- Z3 ]! {
7 C: [! t% ?( j2 M* x" @/ P/ i4 L, f) A
j = Len(b)9 w* K& x- P2 j- R
( d7 a2 |# p( ]+ m; J9 ]1 O End If
1 q3 |; _- B% {) d# T! j
, w7 }( W' V) B/ Q( ?( M# ^ If j <> -1 Then
4 W* s ~: o1 p1 {' k
# j1 A; m! y ^ m = Left(b, j)- q% ^7 e/ j1 k h' j
/ `8 V0 f4 `" g( l$ v5 S! a End If$ q6 X: E [/ J7 k9 ?+ M
1 V2 g( O/ s! A3 Y
% `2 J2 Y! q6 O' H6 Y9 REnd If4 b! h, |6 L% L$ \" |1 u8 s9 C6 W j
- m0 s! [ v3 J& M, E( kblnretval = Part.AddCustomInfo3("", "代号", swCustomInfoText, e)& S+ N9 U; s# ]& P- y8 ]
' C$ i; J+ K. _1 d. f
blnretval = Part.AddCustomInfo3("", "名称", swCustomInfoText, m)1 `9 ^9 l( c! L* \
5 K$ F( [) [5 N. Z! D1 L& V/ rblnretval = Part.AddCustomInfo3("", "表面处理", swCustomInfoText, strmat)& \9 X6 k9 I4 E) B; l* M! I4 ^
1 a5 s, q: Q' v2 }End Sub l! w8 L0 C- Z/ M
----------------------------------------------------------------------------------------------------------------2 \) H N; g5 Q5 }& k/ O
改了一下,亲测可用。有哪里不符合你的要求回帖再改咯。 |