QQ登录

只需一步,快速开始

登录 立即注册

SOLIDWORKS自动更新代号名称分离方法

2017-10-10 11:03| 发布者: CSWP| 查看: 469| 评论: 18|原作者: chenshDDsoft

摘要: 摘要:本文主要是讲解在SOLIDWORKS中,如何自动分离零件的代号跟名称的方法。大家都知道我们在设计好零件后,通常会命名该零件的名字是“代号”+“名称”的方法。例如一个传动抽会命名:SW001传动轴。然后我们在出工 ...
摘要:本文主要是讲解在solidworks中,如何自动分离零件的代号跟名称的方法。大家都知道我们在设计好零件后,通常会命名该零件的名字是代号”+“名称的方法。例如一个传动抽会命名:SW001传动轴。然后我们在出工程图的时候通常就会想到有没有什么方便快捷的方法,能在出工程图的时候,能自动的将零件名字中的代号和名称进行分离,分别放入对应的线框中。
下面讲的就是运用宏的命令,来实现自动的分离代号和名称。之前可能网上也有一些运用宏命令的方法,但是那些方法的确能实现分离代号和名称,但是需要去手动运行宏命令,我们现在要讲的就是自动运行宏命令的方法。
         我们要创建两个宏命令,两个宏命令的作用分别是分离宏命令以及自动运行宏命令。步骤如下:
1.      打开SOLIDWORKS,工具-宏-新建;
1.png
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
2.png
4.      右键左边资源管理器,选择插入类模块,并将下列代发复制进去,保存宏;
3.png
Private WithEvents SwApp AsSldWorks.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图标4.png,选择属性5.png
7.      在目标栏中接着路径输入:空格/m空格"C:\Macros\AutoRun.swp"
就是:SOLIDWORKS启动程序的路径+空格+/m+空格+常驻宏的文件位置(注意一定要空格键)注:如果发现目标是灰色无法输入,需要删掉桌面的图标,然后在我的电脑中找到安装启动程序,创建快捷方式到桌面。
8.      最后我们的设定就已经成功了,当我们在新建文件的时候,保存零件需要输入:零件号+空格+零件名,这样在我们关闭零件再次打开,或者切换窗口时,软件会自动运行宏命令,自动将零件名称代号添加到属性中。


鲜花

握手

雷人

路过

鸡蛋
发表评论

最新评论

引用 xiatian 2017-9-1 06:25
这不是悶大的常驻宏吗
引用 1711985212 2017-9-1 08:08
谢谢楼主分享!
引用 水水5 2017-9-10 18:26
谢谢楼主分享
引用 寻寻觅觅06 2017-9-13 14:06
楼主,为什么我按照你的步骤一步一步坐下来,但是不能自动运行呢??
引用 道法清风 2017-9-20 16:45
谢谢分享,成功批量分离
引用 janson8 2017-9-21 09:22

janson888,谢谢楼主分享!
引用 wou 2017-9-21 13:24
SOLIDWORKS自动更新代号名称分离方法好
引用 Luxjinc 2017-9-22 13:48
功能强大,很实用!给力!感谢楼主分享!!!
引用 bz1016 2017-9-22 13:52
这个真是太方便了,以前,操作太麻烦了!
引用 Ryu1223 2017-9-22 17:25
很好的解决了我的问题
引用 麦饼荣 2017-9-24 13:35
给力,楼主,谢谢分享~方法很好,省事了
引用 chenshDDsoft 2017-9-25 14:06
非常不错的功能!!!
引用 伊豆 2017-9-26 13:20

谢谢分享,成功批量分离!!!
引用 932841651 2017-9-27 10:44
这个技巧很不错啊,使用起来很方便,也很能解决问题。
引用 weisir1dds 2017-9-28 14:07
处理后,自定义属性的步骤省略了
引用 1TOM1 2017-9-28 14:44
谢谢分享,好好学习
引用 wou 2017-9-29 15:31
很专业,学习了
引用 李丶伟 2017-9-30 13:38
这个功能很是实用,感谢楼主

查看全部评论(18)

Archiver|手机版|小黑屋|京ICP备11009482号-2  

400 - 818 - 3535 (中国地区咨询电话) | 达索析统(上海)信息技术有限公司北京分公司

京ICP备11009482号-2 | 电话:01065362288

北京市朝阳区建国路79号华贸中心2号写字楼707-709室,邮编:100025

GMT+8, 2017-12-11 21:17 , Processed in 0.117018 second(s), 28 queries .

Copyright © 2002-2015 Dassault Systèmes - All rights reserved

返回顶部