加入收藏 联系我们 设为首页
 
电话:400-696-5950
 
账号
密码
验证  验证码,看不清楚?请点击刷新验证码

热线:400-696-5950
电话:0512-57303116
公司地址:昆山市伟业路18号现代广场A座2101室 官网:www.sw-joysun.com.cn

用SOLIDWORKS”宏”代码实现“图号分离”
更新时间:2023-3-7 15:05:26  游览人次:683   【打印此页

SOLIDWORKS”代码实现“图号分离”

文章来源:SOLIDWORKS卓盛信息(400-696-5950)

在日常零件设计中,我们会对绘制好的零件进行命名,通常为图号+零件名称,例如“SOLIDWORKS-01-001 钣金零件”,当我们在生成对应的工程图时,工程图模板中提前定义好的标题栏属性会自行提取零件属性。但是,标题栏中图号和零件号是分开的,此时,需要我们在零件中手动输入分离开的两项自定义属性,面对较多的零件时,往往会减慢我们的工作效率。针对这种情况,下面就给大家分享如何利用SOLIDWORKS“宏”功能,实现一键图号分离。SOLIDWORKS价格

1. 新建零件,并按公司标准进行命名。

2. 点击“工具—宏—新建”,并对其进行命名。

3. 点击保存后,进入到“编辑宏”的界面,按下图中数位代码,并保存。

4. 运行写好的宏命令,进行测试。

5. 打开自定义属性,此时可以看到图号和零件名称成功分离。

6. 点击“自定义—命令”,找到宏,并将“运行宏”命令拖放到工具栏中,此时会自动弹出自定义宏按钮选项卡,将路径指定到保存好的宏位置,其它选项可根据需要自行选择,而后点击确定。后续使用此命令时,只需点击此命令选项即可。SOLIDWORKS价格

 

7. 以下为图号分离宏代码:

Dim boolstatus As Boolean

Dim longstatus As Long, longwarnings As Long

Dim a                  As Integer

Dim b                  As String

Dim m                  As String

Dim k                  As String

Dim c                  As String

Dim j                  As Integer

Dim strmat             As String

Dim tempvalue          As String

Dim Part               As Object

Dim swApp              As SldWorks.SldWorks

Dim swModelDoc         As SldWorks.ModelDoc2

Dim swConfig           As SldWorks.Configuration

Dim CustPropMgr        As SldWorks.CustomPropertyManager

Dim swModel            As SldWorks.ModelDoc2

Sub main()

Set swApp = Application.SldWorks

Set swModelDoc = swApp.ActiveDoc

Set swModelDocExt = swModelDoc.Extension

Dim swModel2 As SldWorks.ModelDoc2

Dim vCustInfoNameArr2 As Variant

Set swModel2 = swApp.ActiveDoc

vCustInfoNameArr2 = swModel2.GetCustomInfoNames

  If Not IsEmpty(vCustInfoNameArr2) Then

     For Each vCustInfoName2 In vCustInfoNameArr2 '遍历自定义属性

         bRet = swModel2.DeleteCustomInfo(vCustInfoName2)

      Next

  End If

Set CustPropMgr = swModelDocExt.CustomPropertyManager("")  '获取自定义属性

'设定变量

c = swApp.ActiveDoc.GetTitle() '零件名,如SOLIDWORKS-01-001 钣金零件.sldprt

strmat = Chr(34) + Trim("SW-Material" + "@") + c + Chr(34)

a = InStr(c, " ") - 1      '重点:分隔标识符,这里是一个空格,也可换成其他符号

 

If a > 0 Then

    k = Left(c, a)   '零件名取空格左侧值,如SOLIDWORKS-01-001

    b = Mid(c, a + 2) '空格后的字符,如钣金零件.sldprt

    j = Len(b) - 7 '消除后缀(区分大小写,即含4种)'空格后 后缀前有多少字符

    m = Left(b, j) '空格后 后缀前字符,如钣金零件

End If

'删除栏

CustPropMgr.Delete ("图号") '删除配置特定的图号属性

CustPropMgr.Delete ("零件名称")

'新增

CustPropMgr.Add2 "图号", swCustomInfoText, k

CustPropMgr.Add2 "零件名称", swCustomInfoText, m

End Sub

一如以往,谢谢阅读,快乐阳光!SOLIDWORKS代理商SOLIDWORKS 2023)

 

上一篇:“SOLIDWORKS”在音频设备上针对高级Hi-Fi制造商Bowers and Wilkins
下一篇:管理电动汽车电池组的温度
苏州卓盛信息技术有限公司
苏ICP备13059410号-3