马上注册,结识高手,享用更多资源,轻松玩转三维网社区。
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 jianmuguo 于 2016-11-8 08:31 编辑
- h2 L- c9 _0 e7 D% O& r: j6 y/ q' q+ u9 V+ G' M, V! `
执行宏前图号名称没有分离
未执行前的图号名称没有分离; o: H1 U2 T a' |# v( o
宏按钮设置
7 F& Z% z C# H( t关键是宏按钮的新建:打开工具-宏-新建-另存为对话框-自己给起名字-复制填写代码
7 X' Q# G% ]- F: x另存为对话框
& H' W4 i* P) D. _6 O& ~
. u6 r" U* c, I2 Z+ p* r# [9 O+ s& M代码可以复制下面的-最后点保存
0 {( n+ N; N$ ?2 S下面是按钮制作
" ~) `( e) x' z1 H% K- ]
. _# f2 }6 \( [; I/ F
3 F. p1 i1 x7 n9 t/ w
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 1 n8 k8 @/ x9 z% o4 I
/ _% e' c8 y- L5 i
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 " y/ A, w9 Q* e! K/ z
- | b, O6 W. t, t, R' E( k
) D8 ]: K2 n9 A: v3 I. |# J: K0 {9 F8 d
Sub main() . ~% o! A+ H- n+ I4 @, ~ s
'link solidworks Set swApp = Application.SldWorks Set Part = swApp.ActiveDoc Set SelMgr = Part.SelectionManager swApp.ActiveDoc.ActiveView.FrameState = 1
/ W9 F$ O6 i' \'设定变量 c = swApp.ActiveDoc.GetTitle() '零件名
) N+ _ |, b1 O# K& lstrmat = Chr(34) + Trim("SW-Material" + "@") + c + Chr(34)
0 z$ _5 B& ]+ Q/ M4 W, B6 m) _blnretval = Part.DeleteCustomInfo2("", "代号") blnretval = Part.DeleteCustomInfo2("", "名称") blnretval = Part.DeleteCustomInfo2("", "材料")
7 y3 P. i' C1 D! X
' e( X1 M3 X: `! {a = InStr(c, " ") - 1 '重点:分隔标识符,这里是一个空格 If a > 0 Then k = Left(c, a) t = Left(LTrim(e), 3)
# J5 M- i- I7 ^* E/ }& l/ [; } If t = "GBT" Then e = "GB/T" + Mid(k, 4) Else e = k End If
+ \" `( J5 k/ n7 n 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 ! S# z/ {, n- [; [( n; n% `
blnretval = Part.AddCustomInfo3("", "代号", swCustomInfoText, e) '代号 blnretval = Part.AddCustomInfo3("", "名称", swCustomInfoText, m) '名称 blnretval = Part.AddCustomInfo3("", "表面处理", swCustomInfoText, " ")
7 J3 d1 M5 a% p* W* o/ q' g' {7 L( rEnd Sub 6 Y! z6 V3 A0 u9 v, n$ c, c- o
0 n& Y# Z% U6 _/ E8 l) x9 V" ^' B l' d. d9 b, s; v9 d& U
( P4 ?6 P: _! x L
) [2 L `) o* K5 W2 L
8 Y$ B# A( [' K+ p3 o2 [2 X* G2 D
执行宏后图号分离
) U$ q' X, y+ a; y( `" |: u2 h点击按钮,执行后得到的结果。后续出工程图调用时使用。
. ]9 Z0 A) t# h9 }5 t8 M2 p2 W4 E$ v/ h
5 o0 q: }& C- D% q: D
; k2 R3 O$ c2 T' }. ^' M
) M. ?+ ^8 o' E8 d |