根据公开资料,SW图号分离宏代码文件是用于在 SolidWorks 中自动将零件文件名中的“图号”和“名称”分离,并写入自定义属性的 VBA 宏脚本。以下是关键信息整理:核心功能
自动识别:从零件文件名(如 SOLIDWORKS-01-001 钣金零件.SLDPRT)中按空格分隔图号与名称。
写入属性:将分离后的图号存入“代号”属性,名称存入“零件名称”属性。
提升效率:避免手动填写属性,尤其适用于批量处理。
典型宏代码(VBA)
以下为最常用版本,基于多个来源
整合:vba
Dim swApp As SldWorks.SldWorks
Dim swModelDoc As SldWorks.ModelDoc
Dim swModelDocExt As SldWorks.ModelDocExtension
Dim swConfig As SldWorks.Configuration
Dim CustPropMgr As SldWorks.CustomPropertyManager
Dim c As String '完整文件名
Dim k As String '图号(空格前)
Dim m As String '名称(空格后,去后缀)
Dim a As Integer '空格位置
Dim b As String '空格后内容(含后缀)
Dim j As Integer '后缀长度调整
Sub main()
Set swApp = Application.SldWorks
Set swModelDoc = swApp.ActiveDoc
Set swModelDocExt = swModelDoc.Extension
c = swApp.ActiveDoc.GetTitle() '获取文件名(含扩展名)
'删除原有自定义属性
On Error Resume Next
Set CustPropMgr = swModelDocExt.CustomPropertyManager("")
CustPropMgr.Delete ("图号")
CustPropMgr.Delete ("零件名称")
'查找空格位置并分离
a = InStr(c, " ") -
If a > 0 Then
k = Left(c, a) '图号(空格前)
b = Mid(c, a + 2) '名称+后缀(如"钣金零件.sldprt")
j = Len(b) - 7 '去除".SLDPRT"或".SLDASM"后缀(7字符)
If Right(b, 7) = ".SLDPRT" Or Right(b, 7) = ".SLDASM" Then
m = Left(b, j) '最终名称
Else
m = b '无后缀时直接使用
End If
Else
k = "" '无空格时图号为空
m = c '整个文件名作为名称
End If
'写入新属性
CustPropMgr.Add2 "图号", swCustomInfoText, k
CustPropMgr.Add2 "零件名称", swCustomInfoText, m
End Sub
使用步骤
保存代码为宏文件:在 SolidWorks 中点击 工具 → 宏 → 新建。
输入文件名(如 图号分离.swp),保存后粘贴上述代码,保存关闭。
添加到工具栏:右键工具栏空白处 → 自定义 → 命令 → 宏。
将 运行宏 按钮拖到工具栏,点击后选择刚保存的 .swp 文件。
命名规范:文件名必须包含空格分隔图号与名称,例如:图号_001 零件名称.SLDPRT。
运行宏:打开零件文件,点击工具栏中的宏按钮,自动填充属性。
注意事项
空格是关键分隔符:代码依赖 InStr(c, " ") 查找空格,若文件名无空格则无法分离
后缀处理:代码自动识别 .SLDPRT / .SLDASM 并剔除后缀
兼容性:适用于 SolidWorks 2014 及上面版本
如需获取现成的 .swp 宏文件,可参考以下资源:沐风网图号分离宏教程
武汉格发信息技术有限公司 | 许可分析,许可优化,许可管理,许可授权,软件授权