📌 本文重點
- Adam 把自然語言變成可編輯的 OpenSCAD 程式碼與 3D 模型
- 用「文字 + 滑桿」就能調整尺寸與設計邏輯
- 雲端試用簡單,也能用 CADAM 自架整合到現有流程
一句話先講結論:Adam 讓你用一句自然語言描述零件,就能拿到可編輯的 OpenSCAD 程式碼和 3D 模型,用滑桿或文字微調尺寸,直接接到現有 CAD/3D 列印流程。
官網 / Demo:https://adam.new
開源專案(CADAM):https://github.com/Adam-CAD/CADAM
核心功能:從文字到 CAD 程式碼
Adam 圍繞一條實際工作流程設計:「文字描述零件 → 生成 CAD 程式碼 → 視覺化 3D 模型 → 滑桿 / 文字微調 → 導出到現有流程」。
💡 關鍵: 這條流程的重點是輸出「可維護的程式碼 + 模型」,而不是單次不可重用的模型檔。
1. 兩種模式:參數化建模 vs 網格生成
進入 Adam 介面後,先選模式:
- 參數化建模(Text → OpenSCAD)
- 輸入:
- 例:「一個 20×40 mm 的 L 形支架,厚度 3 mm,兩邊各有 2 個直徑 4 mm 的螺絲孔,孔中心離邊 8 mm。」
- 輸出:
- 可編輯的 OpenSCAD 程式碼
- 內建參數滑桿(長度、厚度、孔徑等)
-
適合:
- 要做多尺寸版本、後續要改尺寸的零件
-
網格生成(Text → Mesh)
- 輸入:較偏形狀描述,如「帶有圓角的桌角保護套,可套在 20 mm 厚桌板上」。
- 輸出:
- 一個可下載的網格(通常是 STL 或類似格式)
- 適合:
- 只要快速 3D 列印,不打算日後精細改版的形狀件
實際操作行動:
- 先想清楚這個零件未來會不會「常改尺寸」。
- 會改 → 選「參數化建模」;一次性打樣 → 可試「網格生成」。
2. 滑桿調參 + 文本修改:像寫程式一樣調零件
Adam 的核心體驗是「文字 + 滑桿」雙軌控制:
- 第一次生成:
- 在文字框輸入需求,按下生成。
-
Adam 會:
- 呼叫 AI 生成 OpenSCAD 程式碼
- 解析出關鍵尺寸,放成可拖曳的滑桿
-
用滑桿調整尺寸:
- 介面右側是 3D 模型預覽,左側或下方是參數列表:
length、width、thickness、hole_diameter等。
- 你可以直接拖拉滑桿,看模型即時更新。
-
適用情境:
- 客戶說「再厚一點」
- 3D 列印測試後只想調整孔徑、間距
-
用文字改需求:
- 覺得形狀邏輯要變,例如:
- 原本「兩個孔」,改成「三個等距孔」。
- 直接在文字框補一句:「改成三個等距螺絲孔,孔徑 5 mm。」
- Adam 會重新生成程式碼,並保留參數化結構。
💡 關鍵: 數值用滑桿、邏輯用文字,能把「一次性建模」變成「可持續迭代的設計流程」。
實際操作行動:
- 每次修改先問自己:「這是數值調整,還是設計邏輯變更?」
- 數值:用滑桿或直接改參數欄位數字。
- 邏輯:用文字提示重新生成,然後再微調滑桿。
3. Text → Code:產出可讀的 OpenSCAD
Adam 的底層策略是「Text → Code → CAD」:
- 你得到的不是黑盒模型,而是完整 OpenSCAD 程式碼:
- 具名變數:
bracket_length、wall_thickness、hole_offset… - 結構清楚的
module()函式。 - 你可以:
- 直接把程式碼複製到本機 OpenSCAD 編輯。
- 放進 Git 版本控制。
- 用腳本批次修改某些參數再輸出多版本。
實際操作行動:
- 生成完成後,打開程式碼面板,把 OpenSCAD 內容存成
part.scad。 - 用 Git 建版(例如
v1.0、v1.1),把 AI 產生的 CAD 正式納入工程專案。
適合誰用?三個具體場景
1. 機構工程師:快速打樣支架 / 夾具
常見痛點:
- 為測試治具、感測器支架畫模型,來回改尺寸耗時間。
用 Adam 的 workflow:
- 文字描述:
- 「一個可以夾在 20 mm 厚鋁板上的 U 形夾具,內側貼合,外側有一個 5 mm 穿孔用來鎖 M5 螺絲。」
- 選「參數化建模」,生成模型和程式碼。
- 滑桿調整:板厚、公差、螺絲孔位置。
- 導出 STL,送去 3D 列印測試。
建議做法:把專案常用尺寸(例如板厚、公差)命名成變數,後續專案只改變數就能重用設計。
2. 3D 列印工作室:一次生成多尺寸版本
需求:
- 同一個產品,需要 10、20、30、40 mm 四種尺寸給不同客戶。
做法:
- 在 Adam 生成一個參數化模型,例如「桌角保護套」,把關鍵尺寸寫成變數
edge_size。 - 將 OpenSCAD 程式碼複製回本機,寫簡單迴圈:
scad
for (s = [10, 20, 30, 40]) {
edge_size = s;
// 呼叫 Adam 生成的 module
corner_protector(edge_size=edge_size);
}
- 在 OpenSCAD 中分別導出不同尺寸 STL。
替代做法:懶得寫程式時,可在 Adam 的滑桿上手動切四個尺寸,分別匯出四個 STL,適合量少時使用。
💡 關鍵: 把尺寸參數化後,同一份程式碼就能覆蓋多個規格,大幅減少重畫模型的時間成本。
3. 軟體工程師:用文字產出可讀 CAD
痛點:
- 不熟 3D CAD,但懂程式,希望能為 Side Project 做外殼或支架。
用 Adam 的方式:
- 用你熟悉的軟體語言思維來描述零件:
- 「為一塊 100×80 mm 的 PCB 做一個盒子,上方預留 10 mm 高空間,下方有 4 個 M3 鎖孔,孔位與 PCB 四角對齊。」
- Adam 會產生具名變數與模組化程式碼:
- 很像在讀一個乾淨的程式檔案。
- 你可以把
part.scad放進專案 repo: hardware/case_v1.scad- 在 CI 裡加註解:「生成 STL 時請用 OpenSCAD 2024.x 以上版本。」
實際操作行動:團隊中沒有機構工程師時,讓軟體工程師先用 Adam 做「可用但不完美」的機構草稿,再請專業設計師基於 OpenSCAD 程式碼優化。
怎麼開始:雲端體驗到本機部署
1. 直接在線上玩 Demo(最快)
- 開啟:https://adam.new
- 用 Google / GitHub 帳號註冊或以訪客登入(以實際介面為準)。
- 選擇模式:
- 多尺寸零件 → 「參數化建模」
- 只要快速 3D 打樣形狀 → 「網格生成」
- 在文字框輸入第一個零件描述,按生成。
- 試著:
- 拖拉滑桿,觀察模型變化。
- 切到程式碼頁籤,複製 OpenSCAD 程式碼。
目標:第一次使用,用 10 分鐘做出一個「有螺絲孔的簡單支架」並匯出 STL。
2. 在本機部署開源 CADAM
如果你想要自架服務(內網使用、接私有模型),可以部署開源專案 CADAM:
CADAM 是一個 React + Supabase 的 web app,大致步驟:
- 準備環境(本機或伺服器):
- Node.js(建議 18+)
pnpm或npm-
Docker(選用,如果你要用容器)
-
Clone 專案:
bash
git clone https://github.com/Adam-CAD/CADAM.git
cd CADAM
- 安裝依賴:
bash
pnpm install
# 或 npm install
- 設定環境變數:
-
依照 README 建立
.env檔:- Supabase 金鑰 / URL
- OpenAI 或相容 LLM 的 API Key(若要自接模型,依說明調整)
-
啟動開發伺服器:
bash
pnpm dev
在瀏覽器打開 http://localhost:3000 即可使用。
行動建議:先在線上版熟悉介面,再決定是否要自架;部署前從 GitHub 的 issue / README 確認當前支援的模型與功能狀態。
3. 接到 OpenSCAD / CAM / 生產流程
Adam 的輸出是程式碼 + 模型,你可以這樣接入現有流程:
3.1 接 OpenSCAD
- 從 Adam 介面複製生成的 OpenSCAD 程式碼。
- 在本機用 OpenSCAD 打開,進行:
- 更進階的布林運算(差集、交集)
- 加入你自己的 library / module
- 用 OpenSCAD 導出 STL / STEP,交給下游軟體。
3.2 接 CAM / CNC / 3D 列印
- 3D 列印:
- 從 Adam 或 OpenSCAD 匯出 STL。
-
在
Cura/PrusaSlicer/Bambu Studio裡切片,設定填充率、支撐等。 -
CNC / CAM:
- 如果需要 STEP/IGES,可先用其他工具把 STL 轉 B-rep(或改用能輸出 STEP 的 CAD 路線)。
- 在
Fusion 360/SolidWorks/FreeCAD裡做 CAM 規劃,生成刀具路徑。
實際操作行動:選一個目前專案中的小零件,用 Adam 生成 → 用 OpenSCAD 調整 → 匯出 STL → 3D 列印,完整跑一次小型「文字到實物」流程,確認團隊能接得住輸出格式。
小結:下一步可以做什麼?
如果你是:
- 機構工程師:先把常用的支架 / 夾具模板交給 Adam 生成 OpenSCAD 草稿,日後改尺寸只改變數。
- 3D 列印工作室:用 Adam 做參數化模型,批次產生多尺寸版本,減少重畫時間。
- 軟體工程師 / Maker:把 CAD 當程式寫,用 Git 管理
.scad,讓硬體外殼也成為可維護的程式碼資產。
下一步,開啟 https://adam.new,用一句話描述你今天最想偷懶不想畫的零件,看看 Adam 能幫你省掉多少建模時間。
🚀 你現在可以做的事
- 上 https://adam.new,用一句話生出一個含螺絲孔的小支架並匯出 STL
- 把生成的 OpenSCAD 存成
part.scad,放進 Git repo 當作第一個「程式化 CAD」檔案- 到 https://github.com/Adam-CAD/CADAM 看 README,評估是否在團隊內部自架一套 Adam/CADAM 服務










