资讯动态

Codex 辅助 AutoCAD 绘图与三维转二维三视图:TaoToken 统一 Key 接入实践

发布时间:2026/10/29 14:02:44 来源:尧图企业网站定制
1. 先把问题说清楚Codex 画图卡在哪AutoCAD 三视图怎么落地Codex 辅助 AutoCAD 绘图这件事真正难的不是让模型写几行 Python而是让写代码的进程和你眼前打开的 AutoCAD 窗口对上话。我见过太多人第一步就卡死Codex 在后台跑脚本脚本里win32com.client.Dispatch(AutoCAD.Application)一执行就抛MK_E_UNAVAILABLE因为后台会话根本看不到你手动打开的那个 AutoCAD 实例。这不是代码写错了是 COM 活动对象跨会话拿不到。所以本文的核心检索词就三个Codex 生成 AutoCAD 绘图脚本、三维转二维三视图、TaoToken 统一 Key 接入。适合谁适合手上有一台 Windows、装了 AutoCAD、想用自然语言描述图纸需求、让 AI 把图元直接画进当前 DWG 的工程师也适合手里有.step模型、想批量出主视图/俯视图/左视图线稿、为后续参数化出图和自动标注打底的人。我采用的方案是文件桥接Codex 不直接碰 COM只负责把绘图意图写成 JSON 指令文件丢进bridge/commands一个由你自己在 PowerShell 里启动的cad_bridge.py常驻进程和 AutoCAD 处在同一个用户会话稳定连接 COM 并把指令执行到当前 DWG结果写回bridge/results。三维转二维时多加一层 FreeCADFreeCADCmd.exe读 STEP、用TechDraw.project生成投影边、离散成二维 polyline再转成同一套桥接 JSON 画进 AutoCAD。整条链路里Codex 的模型调用走 TaoToken 统一 Key/API 通道endpoint 和auth.json都改到一处省得在多个供应商之间来回切。下面从环境准备开始一步步给可复制的配置和验证步骤。2. TaoToken 前置把 Codex 的 endpoint 与 auth.json 统一到一处这一章解决模型调用从哪来。Codex 这类编码 Agent 的配置通常落在两个地方一个是 CLI/桌面端的模型 endpoint 配置一个是auth.json里的凭据。我们要做的就是把这两处都指向 TaoToken 的统一通道Key 只维护一份。先拿 Key。打开https://taotoken.net/api-keysdeep link 已带归因参数在控制台创建一枚 API Key复制出来形如sk-...的字符串。注意这枚 Key 是给程序用的不要贴到公开仓库里。控制台地址是https://taotoken.net/console模型对话调试入口在https://taotoken.net/model-chat接入文档在https://taotoken.net/doc。Codex 的auth.json一般位于用户配置目录下Windows 常见为%USERPROFILE%\.codex\auth.json具体以你安装版本的文档为准。把里面的凭据字段改成 TaoToken 的 Key同时把模型 endpoint 指向 TaoToken 的 API 根地址https://taotoken.net/api。下面是一个可复制的auth.json片段字段名按你本地实际结构对齐值替换成自己的{ OPENAI_API_KEY: sk-你的TaoToken密钥, OPENAI_BASE_URL: https://taotoken.net/api, model: gpt-5-codex }如果你用的是环境变量方式而不是auth.json等价写法是在 PowerShell 里设置$env:OPENAI_API_KEY sk-你的TaoToken密钥 $env:OPENAI_BASE_URL https://taotoken.net/api这里有个容易踩的坑Base URL 到底带不带/v1。TaoToken 的 API 根是https://taotoken.net/api多数 OpenAI 兼容客户端会自动拼/v1/chat/completions之类的路径所以你在配置里就写根地址不要自己再叠一层/v1否则会出现 404 或路径重复。改完配置后先别急着跑 CAD 脚本用一次最小请求确认通道是通的curl.exe https://taotoken.net/api/v1/models -H Authorization: Bearer sk-你的TaoToken密钥返回里能看到模型列表说明 Key 和 endpoint 都对。这一步过了再进 CAD 环境否则后面报错你分不清是模型通道问题还是 COM 问题。关于长期编码和 Agent 场景如果你打算让 Codex 持续参与制图脚本迭代可以看https://taotoken.net/coding-plan按用量规划比临时买额度更省心。Claude Code 相关接入参考https://taotoken.net/claude-code-anthropic。这些都属于通道层和 CAD 桥接是解耦的换通道不影响桥接脚本。3. 可复制配置项目目录、虚拟环境与桥接 JSON 片段这一章给的是能直接抄的配置。先建工作目录我用的路径是C:\Users\XIE\Desktop\AI_CAD你换成自己的即可。推荐结构如下AI_CAD ├─ .venv ├─ bridge │ ├─ commands # 待执行 JSON 指令 │ ├─ processed # 已成功执行 │ ├─ failed # 执行失败 │ ├─ results # 执行结果 │ └─ examples # 示例指令 ├─ scripts │ ├─ cad_bridge.py │ ├─ enqueue_cad_command.py │ ├─ test_autocad_com.py │ └─ step_to_three_views.py ├─ Drawing1.dwg └─ GML.stp创建虚拟环境并装依赖PowerShell 里执行cd C:\Users\XIE\Desktop\AI_CAD py -m venv .venv .\.venv\Scripts\Activate.ps1 python -m pip install --upgrade pip pip install pywin32 ezdxf numpy python -c import win32com.client, ezdxf, numpy; print(CAD Python environment OK)如果py --version报No installed Python found!但.venv\Scripts\python.exe --version正常那就后续统一用.\.venv\Scripts\python.exe显式调用别依赖py启动器。桥接指令的 JSON 结构是这套方案的核心契约Codex 生成的就是它。下面这个片段可以直接存成bridge\examples\rectangle.json用来做首次验证{ target_document: Drawing1.dwg, zoom_extents: true, save: false, actions: [ { type: rectangle, x: 0, y: 0, width: 1000, height: 600, layer: AI_RECTANGLE, color: 1 }, { type: text, text: AI CAD BRIDGE, insert: [80, 680, 0], height: 80, layer: AI_TEXT, color: 3 } ] }target_document是防呆字段桥接程序会校验当前 DWG 名是否匹配避免画错图纸save默认false确认无误再手动存actions里目前支持rectangle、line、polyline、circle、text、zoom_extents、save这几类动作。三维转二维时step_to_three_views.py生成的就是一个包含几百条polyline动作的大 JSON结构完全一致所以桥接层不用改。如果你用 Cline MCP 或 CC Switch 管理多个编码工具记得三件套要写全Base URL 填https://taotoken.net/api、Key 填 TaoToken 密钥、Model ID 填你实际调用的模型名。三者缺一客户端要么 401要么reading choices解析失败。Codex 的auth.json同理字段对齐后不要留旧供应商的残留值。4. 验证请求与成功结果从 COM 连通到三视图 548 条动作落图配置齐了就开始验证顺序不能乱先 COM再桥接再二维最后三维转二维。第一步确认 AutoCAD COM 可连。确保 AutoCAD 已打开并加载了目标 DWG然后跑.\.venv\Scripts\python.exe .\scripts\test_autocad_com.py成功输出类似CONNECTEDAutoCAD.Application.23.1 VERSION23.1s (LMS Tech) DOCUMENTDrawing1.dwg FULLNAMEC:\Users\XIE\Desktop\AI_CAD\Drawing1.dwgProgID 因版本而异本次有效的是AutoCAD.Application.23.1脚本里也兼容尝试AutoCAD.Application.23和AutoCAD.Application。换版本连不上时去注册表查实际 ProgID。第二步启动桥接常驻进程这个窗口别关.\.venv\Scripts\python.exe .\scripts\cad_bridge.py --verbose它会持续监听bridge\commands。另开一个 PowerShell 投递示例指令.\.venv\Scripts\python.exe .\scripts\enqueue_cad_command.py --file .\bridge\examples\rectangle.json桥接程序读取 JSON、连接当前 AutoCAD、执行动作、把结果写进bridge\results成功则把指令移到processed失败移到failed。结果文件里看到ok: true和document: Drawing1.dwg二维链路就通了。第三步三维转二维。先确认 FreeCADCmd 可用 D:\Program Files\FreeCAD 1.1\bin\FreeCADCmd.exe --version输出FreeCAD 1.1.1即可。然后对GML.stp生成三视图 D:\Program Files\FreeCAD 1.1\bin\FreeCADCmd.exe .\scripts\step_to_three_views.py脚本逻辑是导入 STEP、从文档里挑包围盒有限且含实体的最大总成对象本次是GMLsolids109、faces768、edges1992、调用TechDraw.project分别投影 FRONT/TOP/LEFT、把投影边离散成二维 polyline、生成桥接 JSON 写入bridge\commands。本次输出Projecting FRONT VIEW... polylines235 Projecting TOP VIEW... polylines258 Projecting LEFT VIEW... polylines49 ACTIONS548桥接端执行结果ok True、executed 548三视图就画进了当前 DWG。默认视图方向是 FRONT[0,-1,0]、TOP[0,0,1]、LEFT[1,0,0]模型坐标系不同时要先调方向向量或在 FreeCAD 里旋转后再导出 STEP。5. 本篇常见错排查401、MK_E_UNAVAILABLE、reading choices 与 OAuth排错按通道层 → 会话层 → 数据层三段定位别一上来就改脚本。401 Unauthorized / invalid api key几乎都是 Key 或 Base URL 的问题。先确认auth.json里的 Key 没有多余空格、没有把控制台登录态当成 API Key再确认 Base URL 是https://taotoken.net/api而不是叠了/v1。用第 2 章的curl最小请求复测通了再回 CAD。MK_E_UNAVAILABLECodex 后台进程连不上你手动打开的 AutoCAD。根因是后台执行环境和桌面会话不在同一权限/会话上下文。解法就是本文的桥接方案——由你在自己的 PowerShell 里启动cad_bridge.pyCodex 只写 JSON不碰 COM。别试图给后台进程提权去抓活动对象那条路又脆又不安全。reading choices / 返回体解析失败客户端拿到了非预期响应体。常见于 Base URL 指错、模型名不存在、或中间层返回了 HTML 错误页。检查 Model ID 是否与 TaoToken 控制台列出的名称一致curl看原始返回是不是 JSON。OAuth / 登录态相关报错如果你混用了网页登录态和 API Key客户端可能走了 OAuth 分支。统一改成 API Key 方式清掉旧的 token 缓存再试。local proxy failed本地代理配置残留。检查环境变量里有没有遗留的代理设置把它清掉后重开终端。注意这里说的是清理本机环境变量不是让你去搭什么通道。FreeCADCmd 报unable to open file .../system.cfg本次不影响 STEP 导入和投影可忽略。投影把坐标轴、基准面也混进来初期文档里有X_Axis、XY_Plane这类包围盒为1e100的无穷大对象。解法是只选有限包围盒且含实体的 Shape再按 solids/faces/edges 数量挑最大总成。投影线太密、AutoCAD 执行慢三维模型倒角、光顺边太多。第一版只画主要可见硬边step_to_three_views.py默认不含 smooth/tangent 边要更完整线稿再开include_smooth但图面会更密、执行更慢。中文文字乱码PowerShell/JSON 编码和 AutoCAD 字体样式双重影响。第一版自动出图优先用英文标注如FRONT VIEW需要中文时先在 AutoCAD 建好中文文字样式再让桥接支持指定 TextStyle。6. 继续往下走把 Key 通道和制图链路都固定下来链路跑通后建议做两件收尾的事。一是把 FreeCAD 路径、默认 STEP、视图方向、图层规范GML_VISIBLE/GML_HIDDEN/GML_CENTER/GML_TEXT写进一个配置 JSON避免每次改脚本二是自动绘图前先备份 DWG桥接指令保持save: false确认无误再手动保存。模型通道这边日常调试用模型对话入口https://taotoken.net/model-chat快速验证提示词长期让 Codex 参与脚本迭代就走 Coding Planhttps://taotoken.net/coding-planKey 管理和新建都在https://taotoken.net/api-keys接入细节查https://taotoken.net/doc。把 endpoint 和auth.json固定到 TaoToken 统一通道后换模型、换工具都不用再动 CAD 桥接层两层各管各的出问题也好定位。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑