当我们创建好一个Solidworks 零件以后,为了更快速把零件的图号和名称分别填入自定义属性中,以方便出工程图时调用到标题栏中。用solidworks宏编写整理这篇说明,现实把CTJ300-03-10 连杆座 分离出CTJ300-03-10和连杆座,以供参考。
一、宏代码
1、新建宏代码:工具宏新建
在文件名中输入:图号分离.swp ;点击保存,进入宏编辑界面;
2、认识宏编辑界面:
1)工程信息
2)编程区域
3)做一个写代码前的准备工作,把2区域的内容Ctrl+A 全选删除。
3、写代码:复制如下代码,写到上图的2区域;
'从这里开始复制:
'定义solidwork
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
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
Sub main()
'link solidworks
Set swApp = Application.SldWorks
Set Part = swApp.ActiveDoc
Set SelMgr = Part.SelectionManager
swApp.ActiveDoc.ActiveView.FrameState = 1
'设定变量
c = swApp.ActiveDoc.GetTitle() '零件名
strmat = Chr(34) + Trim(SW-Material + @) + c + Chr(34)
blnretval = Part.DeleteCustomInfo2(, 代号)
blnretval = Part.DeleteCustomInfo2(, 名称)
blnretval = Part.DeleteCustomInfo2(, 材料)
a = InStr(c, ) - 1 '重点:分隔标识符,这里是一个空格
If a 0 Then
k = Left(c, a)
t = Left(LTrim(e), 3)
If t = GBT Then
e = GB/T + Mid(k, 4)
Else
e = k
End If
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
blnretval = Part.AddCustomInfo3(, 代号, swCustomInfoText, e) '代号
blnretval = Part.AddCustomInfo3(, 名称, swCustomInfoText, m) '名称
blnretval = Part.AddCustomInfo3(, 表面处理, swCustomInfoText, )
End Sub
4、保存退出。第一部分做到这就算完成了。下面是创建宏按钮;
二、创建宏按钮
1、返回Solidworks工作界面,进入自定义工具栏:工具自定义;象牙白泽,择命令选项卡,找到宏 ,把新建宏按钮拖到工具栏的空白处;
2、弹出自定义宏按钮对话框:
1)选择上面保存的宏文件;
2)指定一个图标,以便在工具栏中显示;
3)指定一个指示的名称,以便在工具栏中显示;
3、点击确定,退出自定义宏按钮,完成制作。
4、新建零件命名规则:代号+空格+名称
注意事项:
代号中不能出现空格,宏以第一个空格为分隔符。