马上注册,结识高手,享用更多资源,轻松玩转三维网社区。
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 jianmuguo 于 2016-11-8 08:31 编辑 ( |8 u. a- ?# X
8 _( x" C3 X3 K: _6 I1 B2 C) \+ g
执行宏前图号名称没有分离
未执行前的图号名称没有分离
& l! Q$ P$ k. N
宏按钮设置
. ^) _: W5 f" x& v7 p
关键是宏按钮的新建:打开工具-宏-新建-另存为对话框-自己给起名字-复制填写代码
4 W& s: g$ H1 a8 A. N& V
另存为对话框* U, l2 O8 o$ @: T9 Z- g
6 y% G [7 c7 i4 ]" v d! Z: ^
代码可以复制下面的-最后点保存( |6 H+ }. k2 o5 x+ V/ J# H$ @2 m
下面是按钮制作
$ P4 Z- q$ t! ]# p H, j. K
" ?$ ?# H1 G9 O
: G4 f; n' e1 i( a6 \+ s
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
" L- ^( v% l# L$ E! p) y5 M+ ^# C' y
5 V- w3 B& v1 N, N, ^$ ADim 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 d- ` I( H( f% @1 N
$ f2 o) f# G% B1 n
# }! } p8 h. L7 S) E2 QSub main()
. `" ~9 `) ]* E'link solidworks Set swApp = Application.SldWorks Set Part = swApp.ActiveDoc Set SelMgr = Part.SelectionManager swApp.ActiveDoc.ActiveView.FrameState = 1 6 P% J/ q% o: Z" u4 d. C: d
'设定变量 c = swApp.ActiveDoc.GetTitle() '零件名 + J! F. o# [" J9 {7 N4 T( w, Q5 x' A
strmat = Chr(34) + Trim("SW-Material" + "@") + c + Chr(34) ?7 H0 |0 g$ j$ Y/ {4 [2 a
blnretval = Part.DeleteCustomInfo2("", "代号") blnretval = Part.DeleteCustomInfo2("", "名称") blnretval = Part.DeleteCustomInfo2("", "材料")
- q* L1 S1 H: e, s$ E
# P' U- v1 U$ N' Y4 w' ia = InStr(c, " ") - 1 '重点:分隔标识符,这里是一个空格 If a > 0 Then k = Left(c, a) t = Left(LTrim(e), 3) * x% p$ N) m8 K5 w# u4 Y' X
If t = "GBT" Then e = "GB/T" + Mid(k, 4) Else e = k End If
2 M( v" r2 K: E 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 ^! D3 C! l0 }( N/ H6 w
blnretval = Part.AddCustomInfo3("", "代号", swCustomInfoText, e) '代号 blnretval = Part.AddCustomInfo3("", "名称", swCustomInfoText, m) '名称 blnretval = Part.AddCustomInfo3("", "表面处理", swCustomInfoText, " ")
8 ?0 N$ z5 G! B+ B9 IEnd Sub 6 _2 f0 b( c! c* t& o
, Z8 `0 ~% \6 Z$ e4 t/ o' d
' y7 D' g( L1 A$ X/ y& i
2 K' }6 ?4 N& M+ g9 v( Q3 l ~* } n
7 H+ M- |* Q' i1 `* D
执行宏后图号分离
* o. L2 f# x3 F4 O点击按钮,执行后得到的结果。后续出工程图调用时使用。
! B; j9 {$ m- L" P: X: [! q$ t$ B% B" @# B+ I! L2 b+ J% V) ?
- d/ q5 J/ W8 R; y3 K, l
5 s- C; C' T& _6 B* [5 i0 _ |