欢迎光临
我们一直在努力

SolidWorks AI 自动画图系统从零复现最终成果超详细教学

SolidWorks AI 自动画图系统从零复现最终成果超详细教学

目标

这篇文章的目标只有一个:

从零开始,在一台 Windows 电脑上,完整复现一套长期可用的 SolidWorks + Codex + MCP + PowerShell 自动化画图系统,并最终达到下面这个状态:

  • Codex 可以直接驱动本机 SolidWorks。
  • 可以自动生成原生 SLDPRT。
  • 可以做常见格式导出,例如 STEP、STL、IGES、X_T。
  • 可以把中性格式重新转回原生 SLDPRT。
  • 可以读取模型信息和自定义属性。
  • 所有 AI 自动化文件统一归档到 D:\\solidworks\\project\\ai。
  • 目录浅、命名短、不乱放文件。
  • 有统一总入口,后续长期使用不需要每次重新拼脚本。
  • 可以用 health 和 smoke-test 快速判断整套系统是否正常。
  • 最终复现成功后的标准状态

    复现完成后,系统应该满足下面这些条件。

    目录结构

    AI 自动化总目录固定为:

    D:\\solidworks\\project\\ai

    顶层只保留这些目录和文件:

    D:\\solidworks\\project\\ai
    ├─ asm
    ├─ drw
    ├─ export
    ├─ mcp
    ├─ part
    ├─ project
    ├─ report
    ├─ temp
    └─ README.md

    各目录用途必须统一:

  • part
    放原生零件 SLDPRT。
  • asm
    放原生装配体 SLDASM。
  • drw
    放原生工程图 SLDDRW。
  • project
    放从外部导入后、准备长期管理的项目副本。
  • export
    放导出格式结果。
  • report
    放健康检查、读取结果、烟雾测试结果。
  • temp
    放临时任务目录、VBS 缓存、测试残留。
  • mcp
    放本机 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 支持这些命令:

  • init-root
  • health
  • import-project
  • new-flange
  • new-part-from-vbs
  • inspect
  • export
  • convert
  • smoke-test
  • tidy
  • 一、复现前提

    开始之前,先保证这台机器满足下面条件。

    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. 磁盘路径原则

    为了最大化复现最终成果,必须遵守下面规则:

  • AI 自动化输出必须集中到 D:\\solidworks\\project\\ai。
  • 尽量使用英文路径。
  • 中文路径项目不要直接反复拿来做装配和读写,优先先导入到 project。
  • 不要把测试文件随手丢到桌面、下载、文档目录。
  • 二、从零创建最终目录结构

    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. 为什么必须这么配

    原因如下:

  • managed_workspace_root
    指定所有 AI 受管文件的总根。
  • stage_root
    指定临时中转位置。
  • temp_script_root
    指定 VBS 包装脚本缓存位置。
  • solidworks_exe
    指定要调用的 SolidWorks 可执行文件。
  • template_path
    指定默认零件模板。
  • skill_root
    指向全局技能脚本根目录。
  • subdirectories
    指定受管目录最小集合。
  • default_export_formats
    定义默认导出格式。
  • smoke_test_flange
    定义烟雾测试默认法兰参数。
  • 五、安装全局 SolidWorks 自动化技能

    1. 技能目录

    最终技能目录应该是:

    C:\\Users\\李天乐\\.codex\\skills\\solidworks-cad-automation

    2. 需要具备的脚本

    在:

    C:\\Users\\李天乐\\.codex\\skills\\solidworks-cad-automation\\scripts

    至少要有这些文件:

  • new-parametric-flange.ps1
  • new-part-from-vbs.ps1
  • convert-to-sldprt.ps1
  • export-solidworks-file.ps1
  • inspect-solidworks-file.ps1
  • solidworks-common.ps1
  • solidworks_file_ops.py
  • 3. 关键原则

    这一套脚本分两类:

  • PowerShell 外壳脚本
    负责参数组织、路径控制、流程编排。
  • VBS 或 Python COM 执行层
    负责真正调用 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 需要的文件

    这个目录里至少需要:

  • server.js
  • package.json
  • package-lock.json
  • node_modules
  • README.md
  • 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 里必须满足下面三条:

  • SolidWorks 路径固定为:
  • const SW_EXE = "D:\\\\solidworks\\\\SOLIDWORKS\\\\SLDWORKS.exe";

  • 默认输出根目录必须指向:
  • const DEFAULT_OUTPUT_ROOT = "D:\\\\solidworks\\\\project\\\\ai\\\\part";

  • 默认临时 VBS 目录必须指向:
  • 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. 这个脚本的定位

    这个脚本不是单一工具,而是整个平台的调度器。

    它负责:

  • 读取配置。
  • 检查路径。
  • 确保目录存在。
  • 设置环境变量。
  • 统一调用底层技能脚本。
  • 把生成物强制收口到 AI 管理区。
  • 输出 JSON,便于 Codex 后续继续处理。
  • 2. 环境变量设计

    脚本里要设置:

  • SW_AI_MANAGED_ROOT
  • SW_AI_STAGE_ROOT
  • SW_AI_TEMP_ROOT
  • 这样底层脚本能统一感知 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

    负责检查:

  • SolidWorks 路径是否存在。
  • 模板是否存在。
  • 技能脚本是否齐全。
  • Python COM 模块是否正常。
  • SolidWorks COM 是否可派发。
  • AI 根路径是否为英文路径。
  • 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

    负责自动跑完整链路:

  • 创建法兰。
  • 读取属性。
  • 导出中性格式。
  • 用导出的 STEP 再转回 SLDPRT。
  • 生成 JSON 报告。
  • tidy

    负责清理:

  • 历史 smoke-* 临时目录。
  • 历史 demo 目录。
  • temp\\script 下 VBS 残留。
  • temp 顶层散落的测试件。
  • 并且必须具备下面两个特性:

  • 严格限制只能删除 AI 管理根内的文件。
  • 如果遇到被占用文件,不能整条命令崩掉,而是记录到 skipped_paths。
  • 5. health 的关键稳定性修正

    最终稳定版里,health 不能无限卡住。

    因为 COM 检测有可能在 Python 派发阶段长时间等待。

    所以最终版必须对 Python COM 检测加超时保护,原则是:

  • 子进程运行 Python 检查逻辑。
  • 超时后直接停止子进程。
  • 返回错误信息,而不是让整个 health 卡死。
  • 6. smoke-test 的目录策略

    最终版里 smoke-test 建议在:

    D:\\solidworks\\project\\ai\\temp\\smoke-时间戳

    里面完成整个链路,不要再多套一层 exports,避免临时目录继续变深。

    八、为什么最后一定要把目录压平

    复现最终成果时,目录设计不是附属问题,而是核心设计的一部分。

    最终压平成:

    D:\\solidworks\\project\\ai

    而不是:

    D:\\solidworks\\project\\00-codex-ai\\workspace\\…

    原因有四个:

  • 层级太深,不利于人找文件。
  • 旧 demo 路径容易混入历史测试垃圾。
  • SolidWorks 对路径稳定性本来就一般,越长越容易增加麻烦。
  • AI 自动化必须长期使用,目录必须一眼能看懂。
  • 最终原则非常简单:

  • AI 的东西只放 D:\\solidworks\\project\\ai。
  • 你的业务项目目录不乱动。
  • AI 平台自己不要制造多余层级。
  • 九、从零执行完整复现

    下面是按顺序执行的完整步骤。

    第一步:创建 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

    如果已经存在,就重点核对:

  • scripts 目录是否齐全。
  • solidworks-common.ps1 是否已经改成优先 CreateObject("SldWorks.Application")。
  • 默认 StageRoot 是否对准 D:\\solidworks\\project\\ai\\temp。
  • 默认 TempRoot 是否对准 D:\\solidworks\\project\\ai\\temp\\script。
  • 第六步:准备 MCP 服务目录

    把本机 SolidWorks MCP 服务目录放到:

    D:\\solidworks\\project\\ai\\mcp

    第七步:安装 MCP 依赖

    cd D:\\solidworks\\project\\ai\\mcp
    npm install

    第八步:检查 server.js

    必须确认:

  • SW_EXE 指向 D:\\solidworks\\SOLIDWORKS\\SLDWORKS.exe
  • DEFAULT_OUTPUT_ROOT 指向 D:\\solidworks\\project\\ai\\part
  • DEFAULT_TEMP_ROOT 指向 D:\\solidworks\\project\\ai\\temp\\script
  • VBS 里优先 CreateObject("SldWorks.Application")
  • 第九步:重新注册 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

    成功时应关注:

  • solidworks_exe_exists = true
  • template_exists = true
  • skill_root_exists = true
  • skill_scripts_missing = []
  • python_modules_ok = true
  • com_dispatch_ok = true
  • overall_ok = true
  • 报告应写入:

    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

    成功时应满足:

  • 成功生成法兰 SLDPRT
  • 成功读取属性 JSON
  • 成功导出 STEP
  • 成功导出 STL
  • 成功导出 IGES
  • 成功导出 X_T
  • 成功把 STEP 转回原生 SLDPRT
  • overall_ok = true
  • 报告应写入:

    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-partfromvbs `
    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

    原因:

  • server.js 没改。
  • MCP 还注册在旧路径。
  • 修复:

  • 把 DEFAULT_OUTPUT_ROOT 改成 D:\\solidworks\\project\\ai\\part
  • 把 DEFAULT_TEMP_ROOT 改成 D:\\solidworks\\project\\ai\\temp\\script
  • 重新 codex mcp add
  • 坑 2:目录太深

    错误表现:

    有类似下面的路径:

    D:\\solidworks\\project\\00-codex-ai\\workspace\\…

    修复:

    直接收口到:

    D:\\solidworks\\project\\ai

    不要再保留多层壳目录。

    坑 3:health 卡死

    错误表现:

    health 长时间不返回。

    原因:

    Python COM 派发检测可能卡住。

    修复:

  • health 改成子进程检查 Python。
  • 设置明确超时。
  • 超时时返回失败,不允许整条命令无限挂住。
  • 坑 4:smoke-test 或 new-flange 卡死

    错误表现:

    PowerShell 长时间没返回,cscript.exe 一直挂着。

    原因:

  • 旧 cscript 残留。
  • 旧 SolidWorks COM 会话脏了。
  • 旧的 GetObject 接管了错误会话。
  • 修复:

  • 清掉残留 cscript.exe
  • 关闭残留 SLDWORKS.exe
  • 改底层逻辑优先 CreateObject("SldWorks.Application")
  • 坑 5:tidy 一删就报错

    错误表现:

    tidy 删除失败,提示文件被占用。

    原因:

    SolidWorks 还开着模型。

    修复:

  • tidy 逻辑改成跳过被占用文件。
  • 把这些文件记入 skipped_paths。
  • 先关掉 SolidWorks 再跑一次 tidy。
  • 坑 6:中文路径装配不稳定

    错误表现:

    打开、读取、导出装配体或工程图时偶发异常。

    修复:

    先用:

    sw-ai import-project

    把项目导入到:

    D:\\solidworks\\project\\ai\\project

    后续优先从这里读写。

    十二、最终验收标准

    你只有在下面所有条件都通过时,才算真正复现了最终成果。

    验收项 1:目录验收

    D:\\solidworks\\project\\ai 顶层只保留:

  • asm
  • drw
  • export
  • mcp
  • part
  • project
  • report
  • temp
  • README.md
  • 验收项 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

    下存在:

  • final-check.step
  • final-check.stl
  • final-check.igs
  • final-check.x_t
  • 验收项 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

    确认:

  • temp 里没有大量历史 smoke-*
  • temp\\script 里没有堆积大量旧 VBS
  • 即使有被占用文件,也会记录为 skipped_paths,而不是直接崩掉
  • 十三、复现完成后的长期使用规则

    以后长期使用只遵守下面这些规则。

    规则 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

    如果又出现卡死,优先排查:

  • 有没有残留 cscript.exe
  • 有没有残留 SLDWORKS.exe
  • MCP 是否还指向旧路径
  • server.js 默认输出是否又改回旧 demo 目录
  • 十四、最短复现清单

    如果你已经理解整篇文章,真正执行时可以只看这份最短清单。

  • 建好 D:\\solidworks\\project\\ai 和 part/asm/drw/project/export/temp/report/mcp
  • 建好 D:\\UsersData\\Documents\\Codex\\2026-05-28\\ai-3d-codex-solidwork
  • 写好 sw-ai.ps1
  • 写好 solidworks-ai-system.json
  • 准备好 solidworks-cad-automation 技能脚本
  • 修好 solidworks-common.ps1,优先 CreateObject("SldWorks.Application")
  • 准备好 D:\\solidworks\\project\\ai\\mcp\\server.js
  • 确保 server.js 默认输出是 D:\\solidworks\\project\\ai\\part
  • 重新注册 codex mcp add solidworks-local — node D:\\solidworks\\project\\ai\\mcp\\server.js
  • 跑 sw-ai init-root
  • 跑 sw-ai health
  • 跑 sw-ai smoke-test
  • 成功后开始正式使用
  • 十五、最终结论

    从零复现这套系统时,最重要的不是单独某个脚本,而是下面四件事同时成立:

  • 目录统一收口到 D:\\solidworks\\project\\ai
  • 主入口统一收口到 sw-ai.ps1
  • MCP 默认输出和临时脚本目录都统一收口到 AI 管理区
  • SolidWorks COM 自动化不能依赖脏会话,必须能干净拉起并通过 health 和 smoke-test
  • 只要这四件事同时做到,你复现出来的就不是一堆零散脚本,而是一套能长期跑、能维护、能排错、能持续用的 AI 自动画图系统。

    赞(0)
    未经允许不得转载:171主机测评 » SolidWorks AI 自动画图系统从零复现最终成果超详细教学
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址