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 開發的隧道。

Sources