SolidWorks如何利用宏来快速的实现 “图号名称”分离 呢?

smellycat solidworks技巧SolidWorks如何利用宏来快速的实现 “图号名称”分离 呢?已关闭评论

solidworks中图号分离是什么意思呢? 指的是比如说文件名起的名字叫 gocae-10-101 图号测试件, 那么在运行 图号分享宏 后, 在自定义属性里面会把 gocae-10-101和图号测试件 分别定义成2条不同的自定义属性, 方便出BOM的时候引用. 下面就给大家分享一下solidworks如何进行图号分享的教程.

问题1: 文件名怎么起


问题2: 制做图号分享宏.


问题3: 在工具栏添加宏运行图标


 文章源自 solidworks教程网 http://gocae.comsolidworks教程网-http://gocae.com/2565.html

1. 按图号分享原则给零件命名

新建一个零件, 起名叫 gocae-10-101 图号测试件, 需要注意的图号和名称之间有一个空格做为识别符, 其它位置不能有空格.文章源自 solidworks教程网 http://gocae.comsolidworks教程网-http://gocae.com/2565.html

SolidWorks如何利用宏来快速的实现 “图号名称”分离 呢?文章源自 solidworks教程网 http://gocae.comsolidworks教程网-http://gocae.com/2565.html

2. 新建宏文件

  • 新建宏代码:工具——宏——新建

SolidWorks如何利用宏来快速的实现 “图号名称”分离 呢?文章源自 solidworks教程网 http://gocae.comsolidworks教程网-http://gocae.com/2565.html

  • 给宏起个名字, 在文件名中输入:图号分离.swp ;

SolidWorks如何利用宏来快速的实现 “图号名称”分离 呢?文章源自 solidworks教程网 http://gocae.comsolidworks教程网-http://gocae.com/2565.html

3. solidworks图号分享的宏代码

点击保存后,就进入宏编辑界面对话框;把其它代码全删掉, 再把图号分离的代码复制到对话框里, 点保存后退出就行.文章源自 solidworks教程网 http://gocae.comsolidworks教程网-http://gocae.com/2565.html

SolidWorks如何利用宏来快速的实现 “图号名称”分离 呢?文章源自 solidworks教程网 http://gocae.comsolidworks教程网-http://gocae.com/2565.html

  • solidworks图号分享宏代码
'定义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. 测试一下图号分离宏

  • 工具-宏-运行

SolidWorks如何利用宏来快速的实现 “图号名称”分离 呢?文章源自 solidworks教程网 http://gocae.comsolidworks教程网-http://gocae.com/2565.html

  • 运行后, 到自定义属性里查看, 代号和名称成功分离. 刚才做的solidworks图号分享宏没问题

SolidWorks如何利用宏来快速的实现 “图号名称”分离 呢?文章源自 solidworks教程网 http://gocae.comsolidworks教程网-http://gocae.com/2565.html

5. 新建 图号分离宏 按钮

在solidworks工具栏空白处右键, 进入自定义-命令-宏 ,把 运行宏 这个按钮拖动到工具栏.文章源自 solidworks教程网 http://gocae.comsolidworks教程网-http://gocae.com/2565.html

SolidWorks如何利用宏来快速的实现 “图号名称”分离 呢?

拖动到工具栏后, 会自动弹出 solidworks自定义宏按钮 对话框, 选择下图中的按钮, 找到刚才保存的图号分离宏, 其它的项目软件会自动添加, 之后点确定.

SolidWorks如何利用宏来快速的实现 “图号名称”分离 呢?

点评: 图号分享宏对于有这种需要的朋友来说很方便, 不过当solidworks零件的文件名修改后, 自定义属性不会自动更新, 需要手动运行一下图号分离宏. 当然论坛上的大牛还制作有常驻宏. 这个以后再讲.

 
  • 本文由 smellycat Published on 2017年7月7日
  • solidworks宏
  • 图号分离