跳到主要內容

【2026 最新】Text-to-CAD 怎麼產 STEP?尺寸、干涉、可製造性 3 關驗收教學

最後更新: ·
Text-to-CAD STEP 三關驗收教學首圖:尺寸、干涉、製程

Text-to-CAD 有一個常見誤區:3D 模型能旋轉,就以為完成了。可交付 CAD 還要回答尺寸、干涉、製程三題。這篇用非承重線材導槽,帶你讓 Claude Code 或 Codex 產 STEP,再留下驗收紀錄。

核心公式是:可交付 CAD = 明確規格 × 可重建檔案 × 三關驗收。任何一項為零,預覽都救不了結果。本文只用於低風險原型;承重、醫療、壓力、車用、電氣或兒童用品,需要專業分析、測試與簽核。

Text-to-CAD 到底交付什麼?先分清 STEP 與 STL

Text-to-CAD 官方專案是一組 CAD/CAE/CAM Skills。CAD Skill 以 Python/build123d 建模,可輸出 STEP、STL、3MF、GLB。STEP 交換 B-Rep 幾何;STL 是三角網格,通常不攜帶單位。兩者用途不同。

  • STEP:重開、量尺寸、查實體與拓撲。
  • STL:由已驗收模型匯出,再做網格、DfAM 與切片檢查。
  • 預覽圖:用來看懂外形,不證明尺寸或內部幾何。

不熟悉 Skills 可先讀 Agent Skill/SKILL.md 教學;工具差異可看 Claude Code vs Codex。兩者都要接受同一張驗收表。

Text-to-CAD 從規格、模型、STEP 與 STL 到三關驗收的工作流程圖
先定規格,再生成模型;STEP 與 STL 各自進入對應的檢查,不以預覽圖代替驗收。

Text-to-CAD 安裝:Claude Code 與 Codex 兩條路

截至 2026 年 9 月,官方版本是 v0.5.1。跨 Agent 安裝可在建模專案執行:

npx skills add earthtojake/text-to-cad

若你採用原生 plugin 流程,Claude Code 可依官方 marketplace 文件執行:

claude plugin marketplace add earthtojake/text-to-cad
claude plugin install cad@text-to-cad

Codex 原生 plugin 需要 0.142.0 以上;低於門檻先用原安裝管道升級。完成後以 codex plugin list 確認,再開新工作階段。管理方式見官方文件

codex --version
codex plugin marketplace add earthtojake/text-to-cad
codex plugin add cad@text-to-cad
codex plugin list

這個 plugin 打包 Skills;Agent 依其指示執行本機 Python/CLI,仍受主機 sandbox 與核准規則限制。先查來源。CAD Skill 要求 Python 3.11 以上;把 CAD_SKILL_DIR 換成安裝路徑:

CAD_SKILL_DIR="/absolute/path/to/skills/cad"
python3.11 -m venv .venv
source .venv/bin/activate
python -m pip install -r "$CAD_SKILL_DIR/requirements.txt"
python -m playwright install chromium
cadgen doctor "$CAD_SKILL_DIR"

doctor 只檢查環境,失敗就先修依賴。Blender AI 3D 工作流也一樣:可執行不等於可交付。

把一句需求改成可驗收規格

「做一個桌面線材固定器」沒有單位、基準或禁止條件,Agent 只能猜。先整理驗收表,衝突就停下來問。以下用單一非承重零件練習。

建立一個桌面線材導槽,單位全部為 mm。成品外框 X=50、Y=24、Z=10;底面位於 Z=0,零件沿 X 軸置中。從頂面沿整個 X 方向切出寬 6.4、深 6.0 的開放槽,槽在 Y 軸置中,因此槽底 Z=4.0。外側垂直邊圓角 2.0;槽口只做 0.8 倒角。最終必須是 1 個封閉、正體積 solid,不可有獨立碎片、自交或開放 shell。交付建模原始碼、STEP 與 STL。若圓角/倒角指涉不唯一,先列出候選邊並請我確認,不得自行猜測。

輸出清單包含 src/cable_guide.py、STEP、STL 與命令輸出;路徑不是預設值,要求程式明寫 @step(out="STEP/cable-guide.step")@stl(out="STL/cable-guide.stl")

本篇驗收政策規定:配合尺寸不清就回問;非關鍵外觀只能在記錄假設後繼續。可故意寫「槽寬大約 6 mm」,測試 Agent。這與 AGENTS.md 規則與 Gate相同:先寫停手條件。

Text-to-CAD 官方示範中由文字指令生成 CAD 模型的畫面
官方示範畫面呈現文字指令到 CAD 預覽的過程;預覽可供理解,但仍要檢查真正輸出的 STEP。圖片來源:Text-to-CAD 官方 repository。

Text-to-CAD 三關驗收:尺寸、干涉、可製造性

第一關:量 STEP 檔,不量 Agent 的記憶

先執行建模程式並核對 stdout 的 builtcurrentskipped-peer;快取異常先跑 cadgen store why src/cable_guide.py,必要時用 python src/cable_guide.py --force。再直接檢查磁碟上的 STEP:

python src/cable_guide.py
cadgen step inspect refs STEP/cable-guide.step --facts --planes --positioning
cadgen step inspect refs STEP/cable-guide.step --topology
cadgen step inspect refs STEP/cable-guide.step '#selector_a' --detail --facts --positioning
cadgen step inspect measure STEP/cable-guide.step \
  --from '#selector_a' --to '#selector_b' --axis x
cadgen step snapshot STEP/cable-guide.step tmp/cable-guide-review.png

只有主要 planes 不足時才跑較昂貴的 --topology。selector 必須來自 refs,再用 detail 確認;snapshot 是整體語意複核,不會替 face/edge 上色。外框正確只算 sanity check。

再用 FreeCAD 空白文件透過 File → Import 重開 STEP,選整個實體跑 Part → Check geometryRun BOP check,重核 solid 數量、體積與尺寸。這次要查磁碟檔,不重跑 Python。

第二關:拓撲與干涉要分開判斷

cadgen step inspect validate STEP/cable-guide.step
cadgen step inspect interfere STEP/cable-guide-check.step --tolerance 0.01

validate 會回報無效拓撲、open shell、非正體積、缺少 solid 或自交等問題;失敗就退回。「通過」只代表沒偵測到其涵蓋的問題,不代表符合需求。

檢查檔要把導槽與配合圓柱建成不同 top-level part;全在同一 part 仍是 INCONCLUSIVE。6.0/6.4 mm 只是教材值,正式尺寸要用線材最大外徑加選定 allowance。交集體積大於 --tolerance 0.01(0.01 mm³)才算 clash;它不是間隙值,還要量指定側面的 clearance。

FreeCAD 的 Check geometry 不是裝配碰撞分析。人工複核可用 Part → Boolean → Common 產生兩件交集,再查體積與最小距離;Common 體積為 0 仍不等於間隙足夠。

第三關:用真正製程檢查 STL

STEP 通過後才驗收 STL。DfAM 工具回報 watertight、ray-cast 抽樣牆厚、向下面角度與粗略支撐量,並比較六個軸向候選方向;它不會自行證明可製造性。STEP 是 B-Rep,不能代替:

DFAM_SKILL_DIR="/absolute/path/to/skills/dfam-check"
python -m pip install -r "$DFAM_SKILL_DIR/requirements.txt"
python "$DFAM_SKILL_DIR/scripts/dfam_tool.py" measure \
  STL/cable-guide.stl --angle-limit 45
python "$DFAM_SKILL_DIR/scripts/dfam_tool.py" orientations \
  STL/cable-guide.stl --angle-limit 45

exit 0 時仍要查 JSON 的 errorscale.units_suspect、watertight 與抽樣數,再依 datasheet 判 PASS/FAIL/NEED MORE INFO。孔徑、clearance、正特徵、bridge、粉末逃逸、收縮與實際配合目前未量測;45 也只是製程未知時的初始值。

最後把 STL 匯入實際 slicer,選定機器、噴嘴、材料、profile 與方向,逐層看第一層、floating islands、薄牆、槽與支撐。repair 後要另存並重跑。另一案例可看 AI PCB/KiCad 教學

Text-to-CAD 尺寸、干涉與可製造性三關驗收卡
三關使用不同證據:STEP 尺寸與重開、拓撲與跨 part 干涉、實際 STL 與 slicer 預覽。

怎麼設計停手與人工簽核規則?

  1. 規格不完整就停:單位、基準、關鍵尺寸或用途缺失時只能提問。
  2. 不能只看 exit code:validate 非零就停;DfAM 還要讀 JSON 的 error、scale 與取樣品質。
  3. INCONCLUSIVE 就補測:不同 part 不足、selector 不確定、製程未知,都不能記成 PASS。
  4. 修復後全部重跑:來源、STEP、STL 或切片設定改變,就視為新版本。
  5. 人工簽核看兩層:一人核對驗收表與命令;另一人看 snapshot、CAD 重開與 slicer 預覽。

簽核至少留需求版本、commit、STEP/STL SHA-256、工具版本、命令、slicer profile、簽核者與日期,才能重現通過條件。延伸可讀 Coding Agent 測試驗證

Text-to-CAD 常見問題 FAQ

1. 3D 預覽正常,還需要驗收 STEP 嗎?

需要。預覽會漏掉尺寸、重疊或 open shell;量測與 validate 要讀交付檔。

2. 有 STEP,為什麼還要 STL?

STEP 用於幾何交換與量測;STL 是切片網格。做 FDM 時,兩者依序驗收。

3. 不懂 CAD 也能使用 Text-to-CAD 嗎?

可以從簡單零件開始,但要懂單位、基準、尺寸、公差與 solid/mesh;自然語言不會替你定義需求。

4. Claude Code 與 Codex 產出的檔案會一樣嗎?

不保證。Agent、上下文與版本都會影響程式;兩者都要用同一規格驗收磁碟檔。

5. 單一零件顯示沒有干涉,就是通過嗎?

不是。少於兩個不同 part 時無法判定;加入獨立配合件,再查交集與指定 clearance。

6. 應該把公差固定寫成 0.2 mm 嗎?

不要套通用數字。先定義 fit,再用同設備、材料、方向與 profile 的 coupon 實測。

7. 與水平面夾角低於 45° 的向下面都要支撐嗎?

不是。工具由水平面起算,slicer 可能相反。45°只是初值,仍以 profile 與測試判定。

8. 所有檢查都綠燈,模型還可能錯嗎?

可能。驗收表漏掉的條件,工具不會自動補上;因此仍需 snapshot、重開、切片與人工簽核。

接著閱讀

左右滑動查看更多推薦

結論:把聊天結果變成可追溯的 CAD 交付

Text-to-CAD 的價值不是「一句話變出 3D」,而是把明確規格轉成可重建程式與 STEP/STL。完成定義仍掌握在你手上:量交付檔、分開判斷拓撲與跨 part 干涉,再用目標製程證據收尾。

第一次就從線材導槽開始:先留模糊需求,確認 Agent 會停下來問;再補齊尺寸、跑完三關並保存紀錄。當每個 PASS 都能對應檔案、命令與簽核者,AI CAD 才從展示品走向可交付資產。

ALPHALAB 社群

有問題?來 Telegram 聊

和 Terry、編輯、其他網友一起討論這篇文章。提問、分享觀點,回覆更即時。

加入 Telegram 討論

📩 訂閱 AlphaLab 電子報

每週最多三封:一封 Weekly 週報與最多兩封關鍵 Alpha Signal。

我們不會 spam,隨時可退訂。