马上注册,结识高手,享用更多资源,轻松玩转三维网社区。
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 jianmuguo 于 2016-11-8 08:31 编辑 % E* Y+ _$ d4 m
% K. Z V& {7 @/ Z1 D$ W& T3 e
执行宏前图号名称没有分离
未执行前的图号名称没有分离1 e- h; @* e! B3 x( M5 B3 |
宏按钮设置
0 S2 E9 E$ D3 L: h
关键是宏按钮的新建:打开工具-宏-新建-另存为对话框-自己给起名字-复制填写代码
1 }% H" O+ H6 w* W* x: T' e另存为对话框: i s. t& g' Z
4 S9 @8 X) s3 N代码可以复制下面的-最后点保存
) l1 U6 K" R; N0 s) y/ i下面是按钮制作
" g+ q: @# z# I
, q8 c( [# s1 ^- O4 S$ M8 D% l3 G: U4 e$ o" f
Dim swApp As Object Dim Part As Object Dim SelMgr As Object Dim boolstatus As Boolean Dim longstatus As Long, longwarnings As Long Dim Feature As Object
! i) g# W r0 u2 b0 n: J: G7 K- ^5 p0 k5 v% j
Dim a As Integer Dim b As String Dim m As String Dim e As String Dim k As String Dim t As String Dim c As String Dim j As Integer Dim strmat As String Dim tempvalue As String
9 F `: J X$ y( l( L( t, S; e, f8 U
: [: p D9 Z2 Y; U7 A5 d& `, k
Sub main() ' f8 @1 k( B% g4 S( [. R3 u6 N+ V- K
'link solidworks Set swApp = Application.SldWorks Set Part = swApp.ActiveDoc Set SelMgr = Part.SelectionManager swApp.ActiveDoc.ActiveView.FrameState = 1
! ]1 v, U( O/ I+ u" ~'设定变量 c = swApp.ActiveDoc.GetTitle() '零件名 : [+ ^9 D( `0 T: ]+ z
strmat = Chr(34) + Trim("SW-Material" + "@") + c + Chr(34)
/ k* d" A/ B" H0 xblnretval = Part.DeleteCustomInfo2("", "代号") blnretval = Part.DeleteCustomInfo2("", "名称") blnretval = Part.DeleteCustomInfo2("", "材料") 4 z f, Q3 r4 X4 I- R) N
, `/ [( e9 G6 U3 e: s' M/ na = InStr(c, " ") - 1 '重点:分隔标识符,这里是一个空格 If a > 0 Then k = Left(c, a) t = Left(LTrim(e), 3) . T* h( Y' ~) O. o7 W' {6 C- k
If t = "GBT" Then e = "GB/T" + Mid(k, 4) Else e = k End If % s9 v0 v g' B
b = Mid(c, a + 2) t = Right(c, 7) If t = ".SLDPRT" Or t = ".SLDASM" Then j = Len(b) - 7 Else j = Len(b) End If m = Left(b, j) End If
6 Q: c" Z7 Q2 d, jblnretval = Part.AddCustomInfo3("", "代号", swCustomInfoText, e) '代号 blnretval = Part.AddCustomInfo3("", "名称", swCustomInfoText, m) '名称 blnretval = Part.AddCustomInfo3("", "表面处理", swCustomInfoText, " ") 2 k! U" X; z. B# v& A: v' }
End Sub
`3 a/ A, W$ l" o* d {" B( ]7 c! p7 v- a' _3 B( v( k6 a# E
- B& x) w0 Y! H/ g2 l4 ?1 P6 V
9 `" R K. d' E0 d% d
0 @7 }" ~9 {5 D) F: W* a& D
u$ D# k0 ?6 |+ N# ]& p; u
执行宏后图号分离
z8 M* B* [9 N) j点击按钮,执行后得到的结果。后续出工程图调用时使用。/ c! f" |; v! ]& r3 L
' {" q, }, n, F4 W1 Z* i9 Z; R
, e2 p/ k2 T; Q) f0 w
5 m2 D+ H2 a3 d. }8 r/ z
|