青华模具培训学校

 找回密码
 注册

QQ登录

只需一步,快速开始

青华模具培训学院
查看: 1210|回复: 14

[分享] SolidWorks自动更新代号名称分离方法

[复制链接]
发表于 2017-9-17 22:59 | 显示全部楼层 |阅读模式
摘要本文主要是讲解SolidWorks中,如何自动分离零件的代号跟名称的方法大家都知道我们在设计好零件后,通常会命名该零件的名字是代号”+“名称方法。例如一个传动抽命名:SW001传动轴然后我们出工程图的时候通常就会想到有没有什么方便快捷的方法,在出工程的时候,能自动的将零件中的代号和名称进行分离,分别放入对应的线框中。
下面讲的就是运用宏的命令,来实现自动的分离代号名称之前可能网上也有一些运用宏命令的方法,但是那些方法的确能实现分离代号和名称但是需要去手动运行宏命令,我们现在要讲的就是自动运行宏命令的方法。
        我们要创建两个宏命令,两个宏命令的作用分别分离宏命令以及自动运行宏命令。步骤如下:
1. 打开SolidWorks,工具--新建
B1.png
' W- |& X( T) }7 Z
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
B2.png
! t+ @( g  D" Z$ G. V5 Z$ b
4. 右键左边资源管理器,选择插入类模块,并将下列代发复制进去保存宏;
B3.png
  i" [6 b; Y  c! R
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图标 B4.png ,选择属性
B5.png
8 S; ?. W' P1 m2 l+ ?1 g
7. 目标接着路径输入空格/m空格"C:\Macros\AutoRun.swp"
# r( T" m; @$ k  @0 j* t就是:solidworks启动程序的路径+空格+/m+空格+常驻宏的文件位置(注意一定要空格键如果发现目标是灰色无法输入需要删掉桌面的图标,然后在我的电脑中找到安装启动程序,创建快捷方式到桌面。
8. 最后我们的设定就已经成功了,当我们在新建文件时候,保存零件需要输入:零件号+空格+零件名这样在我们关闭零件再次打开或者切换窗口,软件会自动运行宏命令,自动零件名称代号添加到属性中。
9 S, [, p( G; ^5 Y
发表于 2017-9-21 14:21 | 显示全部楼层
SolidWorks功能很强大
回复 支持 反对

使用道具 举报

发表于 2017-9-22 14:22 | 显示全部楼层
功能强大,很实用!给力!感谢楼主分享!!!- D0 P  {! z; R( \& ?7 a' J; Q
回复 支持 反对

使用道具 举报

发表于 2017-9-22 15:17 | 显示全部楼层
学习了,之前一直弄不好!
回复 支持 反对

使用道具 举报

发表于 2017-9-24 14:01 | 显示全部楼层
功能强大,很实用!给力!感谢楼主分享!!!
回复 支持 反对

使用道具 举报

发表于 2017-9-25 11:58 | 显示全部楼层

6 N4 O, [0 E& s6 l% T# d功能强大,很实用!给力!感谢楼主分享!!
回复 支持 反对

使用道具 举报

发表于 2017-9-25 12:41 | 显示全部楼层
# h1 [% v. Q2 X* |& t
功能强大,很实用!给力!感谢楼主分享!!!
回复 支持 反对

使用道具 举报

发表于 2017-9-25 16:34 | 显示全部楼层
不错的宏,成功分享
回复 支持 反对

使用道具 举报

发表于 2017-9-25 16:54 | 显示全部楼层
楼主,不论什么情况你一定要hold住!hold住就是胜利!hold就是对UG网最大的支持!
回复 支持 反对

使用道具 举报

发表于 2017-9-26 14:29 | 显示全部楼层
solidworks软件功能很强大!!!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|关于我们|sitemap|小黑屋|Archiver|手机版|UG网-UG技术论坛-青华数控模具培训学校 ( 粤ICP备15108561号 )

GMT+8, 2024-4-28 19:43 , Processed in 0.059726 second(s), 22 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表