马上注册,结识高手,享用更多资源,轻松玩转三维网社区。
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 jianmuguo 于 2016-11-8 08:31 编辑 3 ]5 I1 k* O6 Z0 C
4 x" ~2 _3 Y8 t
执行宏前图号名称没有分离
未执行前的图号名称没有分离
+ z, F4 T) J% m7 Z7 S4 c
宏按钮设置
. [0 b$ X2 z1 k8 B关键是宏按钮的新建:打开工具-宏-新建-另存为对话框-自己给起名字-复制填写代码
! j; W" O& G/ f% W* b4 h
另存为对话框
, K% x) I1 F) Z+ a$ c
2 W( I% E0 s. V
代码可以复制下面的-最后点保存
4 s; t$ C8 O( j# W$ O下面是按钮制作
% U- F# J& \; X4 W3 l5 y
$ F* g) e) ?. ]8 e$ g
, j$ q. Q: f) ^# pDim 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 G1 A7 c) a' j% P: i* h2 C
6 z: Q& t7 i, s7 Q3 z: X4 ] L: |1 iDim 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
. i. ^+ K: l' W4 q
) O% h- d. \/ f) f
) S1 N3 z7 U' [1 Y1 g/ s! [: e% R+ |Sub main()
, T& N& Z* H! F& c* k1 s'link solidworks Set swApp = Application.SldWorks Set Part = swApp.ActiveDoc Set SelMgr = Part.SelectionManager swApp.ActiveDoc.ActiveView.FrameState = 1
2 ~0 x+ U# b4 Q" i'设定变量 c = swApp.ActiveDoc.GetTitle() '零件名
4 }) ^7 y. i* Tstrmat = Chr(34) + Trim("SW-Material" + "@") + c + Chr(34) " @2 T0 O2 j, ?9 _# j3 \
blnretval = Part.DeleteCustomInfo2("", "代号") blnretval = Part.DeleteCustomInfo2("", "名称") blnretval = Part.DeleteCustomInfo2("", "材料")
" B$ H |( f# o& q* A4 o
. Y9 d" n: b7 u/ |8 `a = InStr(c, " ") - 1 '重点:分隔标识符,这里是一个空格 If a > 0 Then k = Left(c, a) t = Left(LTrim(e), 3)
. ]8 c2 ~9 M8 h! z- H If t = "GBT" Then e = "GB/T" + Mid(k, 4) Else e = k End If
! a3 _) |& b/ ^' E c- [ 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
7 i* I# }4 {5 @' cblnretval = Part.AddCustomInfo3("", "代号", swCustomInfoText, e) '代号 blnretval = Part.AddCustomInfo3("", "名称", swCustomInfoText, m) '名称 blnretval = Part.AddCustomInfo3("", "表面处理", swCustomInfoText, " ") 2 Y0 S8 Q) j3 J: Y: z
End Sub ' E* b5 n' T$ Z0 B$ L( o5 q/ P
) B2 y" m$ F( ^: m' Y8 o0 ~
) w$ p) R- E/ ^1 n
* y3 M% o/ A( T5 x7 p- {( _0 s" [5 U5 x# P2 F b& Z
8 u% t$ r3 Q2 h' S2 E1 a1 D
执行宏后图号分离
9 j2 v: A6 H: V' K点击按钮,执行后得到的结果。后续出工程图调用时使用。
3 d- a% \* K# l+ |! Y1 s+ z0 a
( e1 _, T O* @' B! @' p2 P
0 `- p5 t8 H8 S6 Z
4 j& S, b7 y+ g% C. N |