一图看懂实现方式

在标准化设计流程中,让零件属性依据文件名自动提取“图样代号”和“图样名称”,可以省去手动填写或运行宏的麻烦。只需在零件模板中内置一组表达式和方程式,即可在每次保存或重建时自动完成分离。
命名规范
文件名必须统一为:图样代号 + 分隔符 + 图样名称 推荐分隔符为一个空格(如 052401 底板.SLDPRT),若要使用下划线等其他符号,只需将下方代码中的 " " 对应替换即可。
实现原理
利用 SOLIDWORKS 表达式中的 Part.GetTitle 获取窗口标题(即文件名),用 Replace 去除可能出现的 .SLDPRT 后缀,再通过 InStr 定位分隔符位置,用 Left 和 Mid 切分出代号与名称。最后将字符串结果写入目标属性。
为使表达式被触发执行,必须借助“方程式”来引用这些属性,强制其在文件重建时运算。
操作步骤(在零件模板中完成)
- 预置目标属性 进入 文件→属性→自定义,创建两个属性: 属性名称:图样代号,类型:文字,数值:0 属性名称:图样名称,类型:文字,数值:0
- 添加分离代码 在同一个自定义属性窗口中继续新建两个属性,作为代码容器(名称可自定义): 属性名称:代号提取 数值/文字表达: Part.Extension.CustomPropertyManager("").Set("图样代号", Left(Replace(Part.GetTitle, ".SLDPRT", ""), InStr(Replace(Part.GetTitle, ".SLDPRT", ""), " ") - 1)) 属性名称:名称提取 数值/文字表达: Part.Extension.CustomPropertyManager("").Set("图样名称", Mid(Replace(Part.GetTitle, ".SLDPRT", ""), InStr(Replace(Part.GetTitle, ".SLDPRT", ""), " ") + 1))
- 用方程式触发执行 点击 工具→方程式,添加两个全局变量方程式: 变量名任意(如 A),表达式:"代号提取" 变量名任意(如 B),表达式:"名称提取"
- 保存并测试 将文件另存为零件模板(.prtdot)。新建零件并按规则命名保存,执行 Ctrl+Q 强制重建,打开文件属性即可看到自动填好的图样代号与名称。
注意
- 若分隔符不是空格,请同时修改两处 " " 为实际符号。
- 如系统显示扩展名,Replace 会确保去掉 .SLDPRT;若不显示,替换函数不生效也不会出错。
- 目标属性名称(图样代号、图样名称)必须与代码中 Set("属性名", …) 里的名称完全一致。
从此,任何使用该模板创建的零件,只要文件名符合规范,属性即可自动分离,真正做到零操作、零宏。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删