SolidWorks AI 自动画图系统从零复现最终成果超详细教学
目标
这篇文章的目标只有一个:
从零开始,在一台 Windows 电脑上,完整复现一套长期可用的 SolidWorks + Codex + MCP + PowerShell 自动化画图系统,并最终达到下面这个状态:
最终复现成功后的标准状态
复现完成后,系统应该满足下面这些条件。
目录结构
AI 自动化总目录固定为:
D:\\solidworks\\project\\ai
顶层只保留这些目录和文件:
D:\\solidworks\\project\\ai
├─ asm
├─ drw
├─ export
├─ mcp
├─ part
├─ project
├─ report
├─ temp
└─ README.md
各目录用途必须统一:
放原生零件 SLDPRT。
放原生装配体 SLDASM。
放原生工程图 SLDDRW。
放从外部导入后、准备长期管理的项目副本。
放导出格式结果。
放健康检查、读取结果、烟雾测试结果。
放临时任务目录、VBS 缓存、测试残留。
放本机 SolidWorks MCP 服务端。
统一入口
总入口脚本固定为:
D:\\UsersData\\Documents\\Codex\\2026-05-28\\ai-3d-codex-solidwork\\sw-ai.ps1
这个脚本只是最外层入口,它内部继续转发到:
D:\\UsersData\\Documents\\Codex\\2026-05-28\\ai-3d-codex-solidwork\\system\\scripts\\sw-ai.ps1
当前配置文件
平台主配置文件固定为:
D:\\UsersData\\Documents\\Codex\\2026-05-28\\ai-3d-codex-solidwork\\system\\config\\solidworks-ai-system.json
最终有效配置应当类似下面这样:
{
"managed_workspace_root": "D:\\\\solidworks\\\\project\\\\ai",
"stage_root": "D:\\\\solidworks\\\\project\\\\ai\\\\temp",
"temp_script_root": "D:\\\\solidworks\\\\project\\\\ai\\\\temp\\\\script",
"solidworks_exe": "D:\\\\solidworks\\\\SOLIDWORKS\\\\SLDWORKS.exe",
"template_path": "C:\\\\ProgramData\\\\SOLIDWORKS\\\\SOLIDWORKS 2025\\\\templates\\\\gb_part.prtdot",
"skill_root": "C:\\\\Users\\\\李天乐\\\\.codex\\\\skills\\\\solidworks-cad-automation",
"subdirectories": [
"part",
"asm",
"drw",
"project",
"export",
"temp",
"report"
],
"default_export_formats": [
"STEP",
"STL",
"IGES",
"X_T"
]
}
MCP 注册状态
最终 solidworks-local MCP 必须注册到:
D:\\solidworks\\project\\ai\\mcp\\server.js
也就是:
codex mcp get solidworks-local
应该返回类似:
solidworks-local
enabled: true
transport: stdio
command: node
args: D:\\solidworks\\project\\ai\\mcp\\server.js
可用命令集合
最终 sw-ai 支持这些命令:
一、复现前提
开始之前,先保证这台机器满足下面条件。
1. 操作系统
建议使用 Windows 10 或 Windows 11。
2. SolidWorks
本机已经安装 SolidWorks,并且能正常手工打开。
最终系统默认优先使用下面这个路径:
D:\\solidworks\\SOLIDWORKS\\SLDWORKS.exe
如果你的 SolidWorks 不在这个路径,也可以后面改配置,但为了完全复现最终成果,建议先把路径整理到这里。
3. SolidWorks 模板文件
系统默认优先使用:
C:\\ProgramData\\SOLIDWORKS\\SOLIDWORKS 2025\\templates\\gb_part.prtdot
如果没有,则允许退回到其它模板候选路径,但最终建议至少保证这一个存在。
4. Node.js
本地需要有 node 可执行。
终端检查:
node –v
5. Python
本地需要有 python 可执行。
终端检查:
python —version
6. Python COM 依赖
后续 inspect、export、convert、health 里会用到 Python COM。
如果缺包,先安装:
python –m pip install pywin32
7. Codex 桌面端或命令行环境
必须已经能使用 codex 命令。
检查:
codex —help
8. 磁盘路径原则
为了最大化复现最终成果,必须遵守下面规则:
二、从零创建最终目录结构
1. 创建总目录
先创建:
D:\\solidworks\\project
如果已经存在就不用重复建。
然后创建:
D:\\solidworks\\project\\ai
再创建下面这些一级子目录:
D:\\solidworks\\project\\ai\\part
D:\\solidworks\\project\\ai\\asm
D:\\solidworks\\project\\ai\\drw
D:\\solidworks\\project\\ai\\project
D:\\solidworks\\project\\ai\\export
D:\\solidworks\\project\\ai\\temp
D:\\solidworks\\project\\ai\\report
D:\\solidworks\\project\\ai\\mcp
你可以直接用 PowerShell 一次性创建:
New-Item –ItemType Directory –Force –Path `
'D:\\solidworks\\project\\ai', `
'D:\\solidworks\\project\\ai\\part', `
'D:\\solidworks\\project\\ai\\asm', `
'D:\\solidworks\\project\\ai\\drw', `
'D:\\solidworks\\project\\ai\\project', `
'D:\\solidworks\\project\\ai\\export', `
'D:\\solidworks\\project\\ai\\temp', `
'D:\\solidworks\\project\\ai\\report', `
'D:\\solidworks\\project\\ai\\mcp'
2. 创建 temp\\script
后续 VBS 临时包装脚本必须只落在这里:
D:\\solidworks\\project\\ai\\temp\\script
创建命令:
New-Item –ItemType Directory –Force –Path 'D:\\solidworks\\project\\ai\\temp\\script'
3. 创建 AI 区说明文件
在:
D:\\solidworks\\project\\ai\\README.md
写入纯文字说明,例如:
# AI CAD Zone
This folder is reserved for Codex-driven SolidWorks automation.
## Main folders
– `part`
– `asm`
– `drw`
– `project`
– `export`
– `temp`
– `report`
## Rule
– Keep all Codex / AI generated and temporary artifacts inside this folder tree.
三、搭建项目脚本总入口
1. 创建项目根目录
最终项目工作区路径使用:
D:\\UsersData\\Documents\\Codex\\2026-05-28\\ai-3d-codex-solidwork
建立目录:
New-Item –ItemType Directory –Force –Path `
'D:\\UsersData\\Documents\\Codex\\2026-05-28\\ai-3d-codex-solidwork', `
'D:\\UsersData\\Documents\\Codex\\2026-05-28\\ai-3d-codex-solidwork\\system', `
'D:\\UsersData\\Documents\\Codex\\2026-05-28\\ai-3d-codex-solidwork\\system\\config', `
'D:\\UsersData\\Documents\\Codex\\2026-05-28\\ai-3d-codex-solidwork\\system\\scripts', `
'D:\\UsersData\\Documents\\Codex\\2026-05-28\\ai-3d-codex-solidwork\\docs'
2. 创建最外层入口 sw-ai.ps1
文件位置:
D:\\UsersData\\Documents\\Codex\\2026-05-28\\ai-3d-codex-solidwork\\sw-ai.ps1
内容如下:
Set-StrictMode –Version Latest
$ErrorActionPreference = 'Stop'
$scriptPath = Join-Path $PSScriptRoot 'system\\scripts\\sw-ai.ps1'
$output = @(& powershell –ExecutionPolicy Bypass –File $scriptPath @args 2>&1 | ForEach-Object { $_.ToString() })
if ($LASTEXITCODE -ne 0) {
throw ($output -join [Environment]::NewLine)
}
($output -join [Environment]::NewLine).Trim()
这个脚本的作用不是做建模,而是统一对外暴露一个命令入口,避免以后每次都手敲更深层的脚本位置。
四、配置平台主配置文件
1. 创建配置文件
文件位置:
D:\\UsersData\\Documents\\Codex\\2026-05-28\\ai-3d-codex-solidwork\\system\\config\\solidworks-ai-system.json
写入下面内容:
{
"managed_workspace_root": "D:\\\\solidworks\\\\project\\\\ai",
"stage_root": "D:\\\\solidworks\\\\project\\\\ai\\\\temp",
"temp_script_root": "D:\\\\solidworks\\\\project\\\\ai\\\\temp\\\\script",
"solidworks_exe": "D:\\\\solidworks\\\\SOLIDWORKS\\\\SLDWORKS.exe",
"template_path": "C:\\\\ProgramData\\\\SOLIDWORKS\\\\SOLIDWORKS 2025\\\\templates\\\\gb_part.prtdot",
"skill_root": "C:\\\\Users\\\\李天乐\\\\.codex\\\\skills\\\\solidworks-cad-automation",
"subdirectories": [
"part",
"asm",
"drw",
"project",
"export",
"temp",
"report"
],
"default_export_formats": [
"STEP",
"STL",
"IGES",
"X_T"
],
"smoke_test_flange": {
"outer_diameter_mm": 160,
"center_hole_diameter_mm": 72,
"bolt_circle_diameter_mm": 120,
"bolt_hole_count": 8,
"bolt_hole_diameter_mm": 14,
"thickness_mm": 18
}
}
2. 为什么必须这么配
原因如下:
指定所有 AI 受管文件的总根。
指定临时中转位置。
指定 VBS 包装脚本缓存位置。
指定要调用的 SolidWorks 可执行文件。
指定默认零件模板。
指向全局技能脚本根目录。
指定受管目录最小集合。
定义默认导出格式。
定义烟雾测试默认法兰参数。
五、安装全局 SolidWorks 自动化技能
1. 技能目录
最终技能目录应该是:
C:\\Users\\李天乐\\.codex\\skills\\solidworks-cad-automation
2. 需要具备的脚本
在:
C:\\Users\\李天乐\\.codex\\skills\\solidworks-cad-automation\\scripts
至少要有这些文件:
3. 关键原则
这一套脚本分两类:
负责参数组织、路径控制、流程编排。
负责真正调用 SolidWorks COM 自动化。
4. 最关键的稳定性修正
复现最终成果时,必须确保底层 VBS/COM 启动逻辑优先新建自己的 SolidWorks COM 会话,而不是优先接管一个已经脏掉的旧会话。
也就是 solidworks-common.ps1 内部 VBS 预置逻辑需要走:
Set app = CreateObject("SldWorks.Application")
而不是先大量依赖:
GetObject(, "SldWorks.Application")
因为之前最终修复出来的稳定版本中,长期卡死的根因之一就是旧 cscript 和旧 COM 会话残留,把后续自动建模拖住。
六、搭建本机 SolidWorks MCP 服务
1. MCP 目录
MCP 服务端目录最终固定为:
D:\\solidworks\\project\\ai\\mcp
2. MCP 需要的文件
这个目录里至少需要:
3. package.json
核心依赖需要包含:
{
"dependencies": {
"@modelcontextprotocol/sdk": "^1.29.0",
"zod": "^4.4.3"
}
}
如果没有依赖,则进入目录安装:
cd D:\\solidworks\\project\\ai\\mcp
npm install
4. server.js 的关键约束
server.js 里必须满足下面三条:
const SW_EXE = "D:\\\\solidworks\\\\SOLIDWORKS\\\\SLDWORKS.exe";
const DEFAULT_OUTPUT_ROOT = "D:\\\\solidworks\\\\project\\\\ai\\\\part";
const DEFAULT_TEMP_ROOT = "D:\\\\solidworks\\\\project\\\\ai\\\\temp\\\\script";
如果你把默认输出根还写在旧 demo 路径,例如:
D:\\solidworks\\project\\vscode\\solidworks_ai_demo
那么以后 AI 生成的零件还会继续往旧路径乱落,等于没有真正复现最终成果。
5. MCP 注册
先删除旧注册:
codex mcp remove solidworks-local
然后重新添加:
codex mcp add solidworks-local — node D:\\solidworks\\project\\ai\\mcp\\server.js
检查:
codex mcp get solidworks-local
必须看到参数指向:
D:\\solidworks\\project\\ai\\mcp\\server.js
七、实现主控脚本 system\\scripts\\sw-ai.ps1
1. 这个脚本的定位
这个脚本不是单一工具,而是整个平台的调度器。
它负责:
2. 环境变量设计
脚本里要设置:
这样底层脚本能统一感知 AI 管理区,不会写到别处。
3. 必须具备的命令
ValidateSet 中必须包括:
'health', 'init-root', 'import-project', 'new-flange', 'new-part-from-vbs', 'inspect', 'export', 'convert', 'smoke-test', 'tidy'
少一个都不算最终成果。
4. 必须具备的能力
init-root
负责初始化 AI 管理区目录。
health
负责检查:
import-project
负责把外部项目目录导入 D:\\solidworks\\project\\ai\\project。
new-flange
负责生成标准参数化法兰。
new-part-from-vbs
负责从自定义 VBS 几何代码生成原生 SLDPRT。
inspect
负责读取模型元信息和自定义属性,并输出 JSON。
export
负责导出 STEP、STL、IGES、X_T 或工程图的 PDF、DXF。
convert
负责将中性格式转回 SLDPRT。
smoke-test
负责自动跑完整链路:
tidy
负责清理:
并且必须具备下面两个特性:
5. health 的关键稳定性修正
最终稳定版里,health 不能无限卡住。
因为 COM 检测有可能在 Python 派发阶段长时间等待。
所以最终版必须对 Python COM 检测加超时保护,原则是:
6. smoke-test 的目录策略
最终版里 smoke-test 建议在:
D:\\solidworks\\project\\ai\\temp\\smoke-时间戳
里面完成整个链路,不要再多套一层 exports,避免临时目录继续变深。
八、为什么最后一定要把目录压平
复现最终成果时,目录设计不是附属问题,而是核心设计的一部分。
最终压平成:
D:\\solidworks\\project\\ai
而不是:
D:\\solidworks\\project\\00-codex-ai\\workspace\\…
原因有四个:
最终原则非常简单:
九、从零执行完整复现
下面是按顺序执行的完整步骤。
第一步:创建 AI 管理根
New-Item –ItemType Directory –Force –Path `
'D:\\solidworks\\project\\ai', `
'D:\\solidworks\\project\\ai\\part', `
'D:\\solidworks\\project\\ai\\asm', `
'D:\\solidworks\\project\\ai\\drw', `
'D:\\solidworks\\project\\ai\\project', `
'D:\\solidworks\\project\\ai\\export', `
'D:\\solidworks\\project\\ai\\temp', `
'D:\\solidworks\\project\\ai\\temp\\script', `
'D:\\solidworks\\project\\ai\\report', `
'D:\\solidworks\\project\\ai\\mcp'
第二步:创建项目根目录
New-Item –ItemType Directory –Force –Path `
'D:\\UsersData\\Documents\\Codex\\2026-05-28\\ai-3d-codex-solidwork', `
'D:\\UsersData\\Documents\\Codex\\2026-05-28\\ai-3d-codex-solidwork\\system', `
'D:\\UsersData\\Documents\\Codex\\2026-05-28\\ai-3d-codex-solidwork\\system\\config', `
'D:\\UsersData\\Documents\\Codex\\2026-05-28\\ai-3d-codex-solidwork\\system\\scripts', `
'D:\\UsersData\\Documents\\Codex\\2026-05-28\\ai-3d-codex-solidwork\\docs'
第三步:写入最外层 sw-ai.ps1
把前面给出的总入口脚本写入:
D:\\UsersData\\Documents\\Codex\\2026-05-28\\ai-3d-codex-solidwork\\sw-ai.ps1
第四步:写入主配置
把前面给出的 JSON 写入:
D:\\UsersData\\Documents\\Codex\\2026-05-28\\ai-3d-codex-solidwork\\system\\config\\solidworks-ai-system.json
第五步:准备全局技能脚本
把 solidworks-cad-automation 整体放到:
C:\\Users\\李天乐\\.codex\\skills\\solidworks-cad-automation
如果已经存在,就重点核对:
第六步:准备 MCP 服务目录
把本机 SolidWorks MCP 服务目录放到:
D:\\solidworks\\project\\ai\\mcp
第七步:安装 MCP 依赖
cd D:\\solidworks\\project\\ai\\mcp
npm install
第八步:检查 server.js
必须确认:
第九步:重新注册 MCP
codex mcp remove solidworks-local
codex mcp add solidworks-local — node D:\\solidworks\\project\\ai\\mcp\\server.js
codex mcp get solidworks-local
第十步:跑初始化
powershell –ExecutionPolicy Bypass –File D:\\UsersData\\Documents\\Codex\\2026-05-28\\ai-3d-codex-solidwork\\sw-ai.ps1 init-root
第十一步:跑健康检查
powershell –ExecutionPolicy Bypass –File D:\\UsersData\\Documents\\Codex\\2026-05-28\\ai-3d-codex-solidwork\\sw-ai.ps1 health
成功时应关注:
报告应写入:
D:\\solidworks\\project\\ai\\report\\health-时间戳.json
第十二步:跑烟雾测试
powershell –ExecutionPolicy Bypass –File D:\\UsersData\\Documents\\Codex\\2026-05-28\\ai-3d-codex-solidwork\\sw-ai.ps1 smoke-test
成功时应满足:
报告应写入:
D:\\solidworks\\project\\ai\\report\\smoke-test-时间戳.json
十、正式使用方式
复现完成后,正式使用优先走 sw-ai.ps1,不要每次都绕到底层脚本。
1. 先做健康检查
powershell –ExecutionPolicy Bypass –File D:\\UsersData\\Documents\\Codex\\2026-05-28\\ai-3d-codex-solidwork\\sw-ai.ps1 health
2. 创建参数化法兰
powershell –ExecutionPolicy Bypass –File D:\\UsersData\\Documents\\Codex\\2026-05-28\\ai-3d-codex-solidwork\\sw-ai.ps1 new-flange –Name main-flange
默认输出会进入:
D:\\solidworks\\project\\ai\\part\\main-flange.sldprt
3. 自定义 VBS 画零件
准备一个 VBS 几何体主体文件,例如:
D:\\solidworks\\project\\ai\\temp\\custom-body.vbs
然后运行:
powershell –ExecutionPolicy Bypass –File D:\\UsersData\\Documents\\Codex\\2026-05-28\\ai-3d-codex-solidwork\\sw-ai.ps1 new-part–from–vbs `
–BodyFile D:\\solidworks\\project\\ai\\temp\\custom-body.vbs `
–Name custom-part
4. 导入外部项目
powershell –ExecutionPolicy Bypass –File D:\\UsersData\\Documents\\Codex\\2026-05-28\\ai-3d-codex-solidwork\\sw-ai.ps1 import-project `
–SourceDir C:\\你的原项目目录 `
–ProjectName pump-station-a
结果会复制到:
D:\\solidworks\\project\\ai\\project\\pump-station-a
5. 读取模型信息
powershell –ExecutionPolicy Bypass –File D:\\UsersData\\Documents\\Codex\\2026-05-28\\ai-3d-codex-solidwork\\sw-ai.ps1 inspect `
–SourcePath D:\\solidworks\\project\\ai\\part\\main-flange.sldprt
JSON 默认落到:
D:\\solidworks\\project\\ai\\report\\main-flange.json
6. 导出常用格式
powershell –ExecutionPolicy Bypass –File D:\\UsersData\\Documents\\Codex\\2026-05-28\\ai-3d-codex-solidwork\\sw-ai.ps1 export `
–SourcePath D:\\solidworks\\project\\ai\\part\\main-flange.sldprt `
–Formats @('STEP','STL','IGES','X_T')
默认输出到:
D:\\solidworks\\project\\ai\\export\\main-flange
7. 中性格式转原生
powershell –ExecutionPolicy Bypass –File D:\\UsersData\\Documents\\Codex\\2026-05-28\\ai-3d-codex-solidwork\\sw-ai.ps1 convert `
–SourcePath D:\\solidworks\\project\\ai\\export\\main-flange\\main-flange.step
默认转回:
D:\\solidworks\\project\\ai\\part\\main-flange.sldprt
8. 清理临时垃圾
powershell –ExecutionPolicy Bypass –File D:\\UsersData\\Documents\\Codex\\2026-05-28\\ai-3d-codex-solidwork\\sw-ai.ps1 tidy
十一、复现过程中最容易踩的坑
坑 1:把文件写到旧 demo 目录
错误表现:
AI 自动生成结果还在:
D:\\solidworks\\project\\vscode\\solidworks_ai_demo
原因:
修复:
坑 2:目录太深
错误表现:
有类似下面的路径:
D:\\solidworks\\project\\00-codex-ai\\workspace\\…
修复:
直接收口到:
D:\\solidworks\\project\\ai
不要再保留多层壳目录。
坑 3:health 卡死
错误表现:
health 长时间不返回。
原因:
Python COM 派发检测可能卡住。
修复:
坑 4:smoke-test 或 new-flange 卡死
错误表现:
PowerShell 长时间没返回,cscript.exe 一直挂着。
原因:
修复:
坑 5:tidy 一删就报错
错误表现:
tidy 删除失败,提示文件被占用。
原因:
SolidWorks 还开着模型。
修复:
坑 6:中文路径装配不稳定
错误表现:
打开、读取、导出装配体或工程图时偶发异常。
修复:
先用:
sw-ai import-project
把项目导入到:
D:\\solidworks\\project\\ai\\project
后续优先从这里读写。
十二、最终验收标准
你只有在下面所有条件都通过时,才算真正复现了最终成果。
验收项 1:目录验收
D:\\solidworks\\project\\ai 顶层只保留:
验收项 2:MCP 验收
codex mcp get solidworks-local
必须指向:
D:\\solidworks\\project\\ai\\mcp\\server.js
验收项 3:健康检查验收
powershell –ExecutionPolicy Bypass –File D:\\UsersData\\Documents\\Codex\\2026-05-28\\ai-3d-codex-solidwork\\sw-ai.ps1 health
必须返回:
overall_ok = true
验收项 4:烟雾测试验收
powershell –ExecutionPolicy Bypass –File D:\\UsersData\\Documents\\Codex\\2026-05-28\\ai-3d-codex-solidwork\\sw-ai.ps1 smoke-test
必须返回:
overall_ok = true
验收项 5:实际出图验收
运行:
powershell –ExecutionPolicy Bypass –File D:\\UsersData\\Documents\\Codex\\2026-05-28\\ai-3d-codex-solidwork\\sw-ai.ps1 new-flange –Name final-check
然后确认:
D:\\solidworks\\project\\ai\\part\\final-check.sldprt
确实生成。
验收项 6:导出验收
运行:
powershell –ExecutionPolicy Bypass –File D:\\UsersData\\Documents\\Codex\\2026-05-28\\ai-3d-codex-solidwork\\sw-ai.ps1 export `
–SourcePath D:\\solidworks\\project\\ai\\part\\final-check.sldprt `
–Formats @('STEP','STL','IGES','X_T')
确认:
D:\\solidworks\\project\\ai\\export\\final-check
下存在:
验收项 7:转回原生验收
运行:
powershell –ExecutionPolicy Bypass –File D:\\UsersData\\Documents\\Codex\\2026-05-28\\ai-3d-codex-solidwork\\sw-ai.ps1 convert `
–SourcePath D:\\solidworks\\project\\ai\\export\\final-check\\final-check.step `
–OutputPath D:\\solidworks\\project\\ai\\part\\final-check-roundtrip.sldprt
确认:
D:\\solidworks\\project\\ai\\part\\final-check-roundtrip.sldprt
存在。
验收项 8:清理验收
运行:
powershell –ExecutionPolicy Bypass –File D:\\UsersData\\Documents\\Codex\\2026-05-28\\ai-3d-codex-solidwork\\sw-ai.ps1 tidy
确认:
十三、复现完成后的长期使用规则
以后长期使用只遵守下面这些规则。
规则 1
让 Codex 画图时,优先说:
用 sw-ai 做
规则 2
所有 AI 自动化输出都留在:
D:\\solidworks\\project\\ai
规则 3
外部项目先导入:
D:\\solidworks\\project\\ai\\project
规则 4
每次大更新后先跑:
sw-ai health
sw-ai smoke-test
规则 5
每隔一段时间跑:
sw-ai tidy
规则 6
如果又出现卡死,优先排查:
十四、最短复现清单
如果你已经理解整篇文章,真正执行时可以只看这份最短清单。
十五、最终结论
从零复现这套系统时,最重要的不是单独某个脚本,而是下面四件事同时成立:
只要这四件事同时做到,你复现出来的就不是一堆零散脚本,而是一套能长期跑、能维护、能排错、能持续用的 AI 自动画图系统。




