马上注册,结识高手,享用更多资源,轻松玩转三维网社区。
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 jianmuguo 于 2016-11-8 08:31 编辑
f: ]7 P8 r7 i' n" M4 T1 h0 u: h& z; m9 m
执行宏前图号名称没有分离
未执行前的图号名称没有分离
1 k: g/ s. |" A9 [
宏按钮设置
$ u+ h Z3 c+ A
关键是宏按钮的新建:打开工具-宏-新建-另存为对话框-自己给起名字-复制填写代码
. A5 j0 Z7 x: G: E: D
另存为对话框" c8 k4 l' W( Y, U- j7 a5 s% @
" W& E- n5 Z: S0 S
代码可以复制下面的-最后点保存- G3 \0 f; I2 R! u
下面是按钮制作
# s6 h* W) u1 j0 J0 x7 K
- R3 C4 z( d9 n
- T& W+ e& ^7 z) I2 HDim 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
; p( N$ f% }) W( w
B2 o) o5 h X LDim 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
# j0 `8 w: P+ f2 I: @' U8 _- j& p8 r3 _. t* k6 c0 k
5 j& H2 U# I- n0 A) z. _
Sub main() 6 N5 _- R( w8 Q0 r5 V
'link solidworks Set swApp = Application.SldWorks Set Part = swApp.ActiveDoc Set SelMgr = Part.SelectionManager swApp.ActiveDoc.ActiveView.FrameState = 1
- ^5 e4 D4 C& n( K. J5 I# H'设定变量 c = swApp.ActiveDoc.GetTitle() '零件名
3 g5 C) z6 x" M1 T7 \6 d+ x: nstrmat = Chr(34) + Trim("SW-Material" + "@") + c + Chr(34)
1 n4 J9 J4 D- Z7 n oblnretval = Part.DeleteCustomInfo2("", "代号") blnretval = Part.DeleteCustomInfo2("", "名称") blnretval = Part.DeleteCustomInfo2("", "材料") . _) Z4 T4 j4 I |3 z
" M. _ d j; t
a = InStr(c, " ") - 1 '重点:分隔标识符,这里是一个空格 If a > 0 Then k = Left(c, a) t = Left(LTrim(e), 3) 2 k$ c( P8 ^( U) b
If t = "GBT" Then e = "GB/T" + Mid(k, 4) Else e = k End If 6 p% N$ \0 h1 r+ @& y" ]( Q
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
/ ]" F) |; ^; h9 X4 Xblnretval = Part.AddCustomInfo3("", "代号", swCustomInfoText, e) '代号 blnretval = Part.AddCustomInfo3("", "名称", swCustomInfoText, m) '名称 blnretval = Part.AddCustomInfo3("", "表面处理", swCustomInfoText, " ") - }0 q4 s G$ x/ {
End Sub ! s# [1 p7 l9 H* V; }1 X
" x5 {& J' d4 y+ ~, ?2 m/ n; Z" M, x$ P' d
) y% K" w6 U3 C" m8 L" l
+ I+ | |+ P7 G* }) N2 N7 ~5 X, C7 y1 |& \" q+ T( B
执行宏后图号分离
D6 F% U/ E# x6 F' ~
点击按钮,执行后得到的结果。后续出工程图调用时使用。1 T2 Z# s7 Z6 v1 @ B& { Z6 [
" Q- U1 H4 K# k/ e
; L& @# d% m5 F5 L1 ^
1 ~# w4 X. W% U; u |