Adam CADAM:開源 AI 驅動的文字轉 CAD 平台
Adam CADAM 是一個開源的文字轉 CAD 網頁應用程式,讓使用者能夠從自然語言描述和圖像參考生成 3D 模型。透過 AI 產生參數化的 OpenSCAD 程式碼,平台允許使用互動式滑桿即時調整尺寸,無需讓 AI 重新生成整個模型。
AI 驅動的參數化建模
CADAM 將純英文提示與上傳的圖像轉換為可運作的 3D 幾何。與靜態的 3D 生成不同,CADAM 產生的是參數化模型,意味著它會自動辨識可調整的尺寸,並將其提取為互動控制項。
主要功能包括:
- 自然語言輸入:使用者以純英文描述模型,即可生成 3D 幾何。
- 圖像導向生成:上傳的圖像可用於指導 AI 建立模型。
- 參數化控制:互動式滑桿允許即時調整尺寸。
- 智慧更新:參數變更會立即套用,無需完整的 AI 重新生成流程。
- 即時預覽:與 Three.js 整合,提供模型在修改時的即時視覺呈現。
技術架構與堆疊
CADAM 以瀏覽器為基礎的應用程式建構,使用 WebAssembly 在本機執行 CAD 引擎,確保高效能與無需安裝本機軟體的可及性。
技術堆疊包括:
- CAD 引擎:編譯成 WebAssembly(WASM)的 OpenSCAD。
- 前端:React 19、TypeScript、TanStack Start 與 Vite。
- 3D 渲染:Three.js 與 React Three Fiber。
- 後端:TanStack Start 伺服器路由結合 Supabase 提供 PostgreSQL、驗證與儲存。
- AI 整合:由 Anthropic Claude API 提供動力。
- 樣式:Tailwind CSS 與 shadcn/ui。
- 支援函式庫:系統支援 BOSL、BOSL2 與 MCAD 函式庫。
基準測試與模型複雜度
CADAM 能夠從單一提示生成簡單的參數化零件以及複雜的多零件組件。所有輸出皆可匯出為 .STL、.SCAD 或 .DXF 檔案。
複雜組件
- V8 引擎:完整的內燃機,包含兩排四氣缸、氣缸頭、進氣歧管、排氣歧管、曲軸、活塞與油底殼(受 22 個尺寸控制)。
- 徑向飛機引擎:9 氣缸引擎,具中心曲軸箱、星形排列的散熱片氣缸與螺旋槳軸心(受 15 個尺寸控制)。
- 渦扇噴射引擎:高旁通比渦扇,包括前風扇、旁通護罩、內部核心與排氣塞。
- 軸向渦輪葉盤:具中心輪轂與 28 片扭曲氣動葉片的葉盤。
參數化基礎
- 機械零件:系統可生成高精度零件,如具實際螺紋的 M12 六角螺栓與螺母、帶 D 型軸孔的紋刻控制旋鈕,以及直角斜齒輪傳動。
- 工程元件:範例包括 NACA 2412 錐形飛機翼、帶後彎葉片的離心泵葉輪,以及人字形行星齒輪組。
- 消費品物件:簡單的扭曲六角花瓶與帶匹配螺旋蓋的螺紋罐子。
部署與開發
CADAM 授權採用 GNU 通用公共授權第 3 版(GPLv3)。開發者可透過克隆倉庫並設定 Supabase 與各 AI 供應商(Anthropic、OpenAI、Google、OpenRouter)的環境變數,在本機執行此專案。
本機開發需要 Node.js(^20.19.0 或 >=22.12.0)與 Supabase CLI。由於應用程式使用公共 URL 作為供應商回呼與簽名儲存 URL,開發者建議使用 ngrok 建立本機 webhook 開發的隧道。