在 SolidWorks(SW)工程图中实现图号自动填写,主要通过以下两种方式实现:一、使用图框属性引用自定义图号前缀(适用于简单自动编号)
此方法适用于为每张工程图自动填充一个统一的图号前缀,但不支持自动递增。
操作步骤如下:打开 SolidWorks,新建或打开一个工程图文件。
在图纸空白处右键 → 选择 “属性”(或点击顶部菜单栏 “图框属性”)。
在弹出的 “图框属性” 对话框中,切换到 “通用” 选项卡。
找到 “图号” 选项,勾选右侧的 “引用” 复选框。
在 “引用” 文本框中输入图号前缀(如 DWG-)。
点击 “确定” 保存设置。
此方式仅能自动填写固定前缀,无法实现如 DWG-001, DWG-002 这类自动递增编号。若需递增功能,需结合自定义属性或宏
二、通过自定义属性 + VB 代码实现文件名解析自动填入图号(推荐用于复杂需求)
该方法可从零件文件名中自动提取“图号”部分,并填入工程图的图号字段,适用于装配体工程图中批量自动填写。
前提条件:零件文件命名格式统一,例如 XXX零件 ICT-001-001.sldprt(空格分隔名称与图号)。
操作步骤如下:打开零件文件(.sldprt),进入 “文件” → “属性”。
在 “自定义” 选项卡中,添加两个自定义属性:属性名:零件名称
属性名:图号
切换到 “方程式” 选项卡,添加两个全局变量并关联 VB 代码:变量 运行VB1 = A
变量 运行VB2 = B
在 “数值/方程式” 列中分别填入以下 VB 代码(以空格分隔为例):vb
' 提取零件名称
Part.Extension.CustomPropertyManager("").Set("零件名称", Rtrim(Left(Part.GetTitle, InStr(Part.GetTitle, " "))))
' 提取图号(去除扩展名)
Part.Extension.CustomPropertyManager("").Set("图号", Trim(Replace(Right(Part.GetTitle, Len(Part.GetTitle) - InStr(Part.GetTitle, " ")), ".SLDPRT", "")))
保存零件为模板(如 .prtdot)。
在工程图模板中,插入 “材料明细表” 或 “注释文本框”,链接到自定义属性 图号,即可自动显示
⚠️ 注意:若文件名使用其他分隔符(如 -),需修改代码中的 " " 为 "-"
三、补充说明:自动零件序号 ≠ 图号自动填写
自动零件序号(Auto Balloon)用于为装配体中的零部件标注序号,并与材料明细表(BOM)对应
图号通常指工程图本身的编号(如图纸标题栏中的“图号”字段),二者用途不同,不可混淆。
如需进一步自动化(如按项目自动递增图号),建议使用 SolidWorks PDM 或编写 宏(Macro) 实现
如需模板或示例文件,可参考以下资源:SolidWorks 工程图模板下载(含自动属性设置)
武汉格发信息技术有限公司 | 许可分析,许可优化,许可管理,许可授权,软件授权