摘要:本文主要是讲解在SolidWorks中,如何自动分离零件的代号跟名称的方法。大家都知道我们在设计好零件后,通常会命名该零件的名字是“代号”+“名称”的方法。例如一个传动抽会命名:SW001传动轴。然后我们在出工程图的时候通常就会想到有没有什么方便快捷的方法,能在出工程图的时候,能自动的将零件名字中的代号和名称进行分离,分别放入对应的线框中。 下面讲的就是运用宏的命令,来实现自动的分离代号和名称。之前可能网上也有一些运用宏命令的方法,但是那些方法的确能实现分离代号和名称,但是需要去手动运行宏命令,我们现在要讲的就是自动运行宏命令的方法。 我们要创建两个宏命令,两个宏命令的作用分别是分离宏命令以及自动运行宏命令。步骤如下: 1. 打开SolidWorks,工具-宏-新建;
3 _+ o" \- y- U# A
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 3. 按照上面同样的步骤再次新建一个宏命令,命名为“AutoRun”;删除红色框中所有代码,并将下列代码复制进去。 Public AutoRun As 类1 Sub main() Set AutoRun = New 类1 End Sub
3 s8 |8 K: U) T0 w3 _! X
4. 右键左边资源管理器,选择插入类模块,并将下列代发复制进去,保存宏;
+ x, G r# b' t9 w Private WithEvents SwApp As SldWorks.SldWorks Private Sub Class_Initialize() Set SwApp = Application.SldWorks End Sub Private Function SwApp_ActiveModelDocChangeNotify() As Long Dim runMacroError As Long SwApp.RunMacro2 "C:\Macros\图号分离-宏.swp", "图号分离_宏1", "main", 0, runMacroError End Function 5. 在C盘新建文件夹,命名Macros,将附件的两个.swp文件放到上面新建的Macros文件夹中; 6. 右键桌面选择solidworks 图标
,选择属性
* D' g7 d9 y8 z8 A# R8 C1 H& V 7. 在目标栏中接着路径输入:空格/m空格"C:\Macros\AutoRun.swp"
$ [" i, m- N/ i/ m& V2 X就是:solidworks启动程序的路径+空格+/m+空格+常驻宏的文件位置(注意一定要空格键)注:如果发现目标是灰色无法输入,需要删掉桌面的图标,然后在我的电脑中找到安装启动程序,创建快捷方式到桌面。 8. 最后我们的设定就已经成功了,当我们在新建文件的时候,保存零件需要输入:零件号+空格+零件名,这样在我们关闭零件再次打开,或者切换窗口时,软件会自动运行宏命令,自动将零件名称代号添加到属性中。
/ x$ S! c6 `3 e. Z# H& v |