Claude Code × SolidWorks:批量填属性、格式转换、BOM 汇总自动化实战摘要:SolidWorks 中大量重复性操作——批量填写自定义属性、格式转换、多配置工程图生成、递归 BOM 汇总、设计计算——均可通过 VBA 宏实现自动化。本文以 Claude Code 为代码生成工具,提供 5 个可直接运行的实战案例,覆盖从单文件操作到装配体递归遍历的完整工作流。所有代码基于 SolidWorks 2020+ API,实测通过。关键词:SolidWorks VBA, Claude Code, 批量处理, BOM 自动化, 设计效率, 宏编程目录环境准备能力模型:Claude Code 做什么实战一:批量填写自定义属性实战二:批量格式转换(STEP/DXF)实战三:自动生成多配置工程图实战四:滚珠丝杠选型计算实战五:装配体递归 BOM 导出 Excel效率对比汇总注意事项环境准备适用版本:SolidWorks 2020 及以上(API 接口兼容)。前置检查:打开 SolidWorks → 工具 → 宏 → 新建输入MsgBox "API OK"→ 运行如果弹窗正常弹出,说明 API 通路正常所需工具:Claude Code(Node.js 环境,用于以自然语言生成 VBA 代码)Microsoft Excel(实战五的输出目标)Python 3.9+(实战四的计算脚本环境)能力模型Claude Code 本身不直接操控 SolidWorks 进程。它承担的是代码生成层的角色。用户用自然语言描述需求 ↓ Claude Code 生成 VBA 宏代码(.swp) ↓ SolidWorks 中加载并执行宏 ↓ 批量处理结果SolidWorks 暴露的 API 覆盖了几乎所有 GUI 操作——打开/保存文件、读写属性、遍历特征树、操作配置、导出格式。这些 API 的手册有上千页,但 Claude Code 将其压缩为自然语言到代码的映射。实战一:批量填写自定义属性场景:50 个新设计零件,每个需填写图号、材料(6061-T6)、表面处理(喷砂阳极氧化)、设计者。手动耗时:~60 分钟 |宏执行:10 秒完整 VBA 代码' BatchAddProperties.swp ' 功能:遍历指定文件夹,为所有 .SLDPRT 批量添加自定义属性 Dim swApp As SldWorks.SldWorks Dim swModel As SldWorks.ModelDoc2 Dim swCustProp As SldWorks.CustomPropertyManager Sub main() Set swApp = Application.SldWorks ' 目标文件夹路径(根据实际修改) Dim folderPath As String folderPath = "D:\Projects\RobotArm\Parts" Dim fileName As String Dim count As Integer count = 0 fileName = Dir(folderPath "\*.SLDPRT") Do While fileName "" Set swModel = swApp.OpenDoc6(folderPath "\" fileName, _ swDocumentTypes_e.swDocPART, swOpenDocOptions_e.swOpenDocOptions_Silent, "", 0, 0) If Not swModel Is Nothing Then Set swCustProp = swModel.Extension.CustomPropertyManager("") ' 写入自定义属性 swCustProp.Add2 "图号", swCustomInfoType_e.swCustomInfoText, _ Replace(fileName, ".SLDPRT", "") swCustProp.Add2 "材料", swCustomInfoType_e.swCustomInfoText, "6061-T6" swCustProp.Add2 "表面处理", swCustomInfoType_e.swCustomInfoText, "喷砂阳极氧化" swCustProp.Add2 "设计", swCustomInfoType_e.swCustomInfoText, "洵锋" swModel.Save3 swSaveAsOptions_e.swSaveAsOptions_Silent, 0, 0 swApp.CloseDoc fileName count = count + 1 End If fileName = Dir() Loop MsgBox "处理完成,共 " count " 个文件。" End Sub使用方法将代码保存为.swp文件修改folderPath为目标文件夹SolidWorks → 工具 → 宏 → 运行 → 选取该文件实战二:批量格式转换(SLDPRT → STEP)场景:交付加工厂需将全部零件转为 STEP 格式。钣金件需额外导出 DXF。手动耗时:200 个零件约 80 分钟 |宏执行:~30 秒' BatchExportSTEP.swp ' 将指定文件夹下所有 .SLDPRT 另存为 .STEP Sub main() Dim swApp As SldWorks.SldWorks Set swApp = Application.SldWorks Dim sourceFolder As String Dim destFolder As String sourceFolder = "D:\Projects\RobotArm\Parts" destFolder = "D:\Projects\RobotArm\STEP_Output" ' 确保目标文件夹存在 If Dir(destFolder, vbDirectory) = "" Then MkDir destFolder End If Dim fileName As String Dim swModel As SldWorks.ModelDoc2 Dim newName As String Dim count As Integer count = 0 fileName = Dir(sourceFolder "\*.SLDPRT") Do While fileName "" Set swModel = swApp.OpenDoc6(sou