Shpigford/nurb

Agentic CAD for 3D printing

nurb – 面向 3D 列印的 AI 驅動 CAD 合作夥伴

是什麼nurb 是一個基於 Python 的工具(附帶原生 macOS GUI),讓您與已訂閱的大語言模型(LLM)對話,由其生成可用於 FDM 3D 列印的真實 B-Rep CAD 幾何。AI 會撰寫一個帶有 @part 裝飾器的小型 Python 函數來描述零件;nurb 在 Open CASCADE (OCCT) 內核上執行該程式碼,檢查生成的實體是否符合一組列印可行性規則,即時在 three.js 查看器中顯示模型,並可匯出包含切片器設定的列印就緒 3MF(或 STL/STEP/GLB)。


核心理念

方面 如何運作(如 README 所述)
提示 → 模型 您輸入自然語言請求(例如:「製作一個將我的吸塵器軟管連接到台鋸塵口的轉接器」)。AI 使用您現有的訂閱(GPT-4、Claude 等)撰寫一個帶有 @part 裝飾器的 Python 函數。
真實 CAD 內核 生成的函數使用 build123dOCCT 內核上運作,因此幾何體是真正的 B-Rep 實體(而非網格)。
即時查看器 內建的 three.js 查看器會隨著零件變動即時更新,保持相機固定,並可使用截面平面進行切片。
參數滑桿 零件函數的預設參數會變成 UI 滑桿;移動滑桿會更新模型,AI 也能看到新值。
可列印性檢查 13 條硬編碼規則(懸垂、薄壁、浮島、翹曲風險、穩定性等)會針對精確實體執行。觸發規則的面會顯示檢查結果。
成本與時間估算 查看器會呼叫您已有的切片器(OrcaSlicer 或 Bambu Studio)來報告估算的列印時間與耗材重量。
強度模擬 基於體素的應力分析可提供破斷重量估算,並可視化載荷集中區域。
現實世界適配 您可以匯入掃描資料或測量值;工具會強制 AI 使用這些尺寸而非猜測。
匯出 預設匯出為嵌入列印設定的 3MF;STL、STEP、GLB 僅需一個旗標即可。
離線優先 所有建模、檢查和查看均在本機執行;無需雲端帳戶。

安裝

平台 方法
macOS(Apple Silicon 或 Intel) 從最新 GitHub 發布頁下載簽署的 .dmg
命令列(任意系統) `curl -fsSL https://nurb.dev/install.sh
替代方法 uv tool install nurbpip install nurb 安裝 Python 套件,然後執行 npx skills add shpigford/nurb --skill nurb 將技能註冊到您選擇的 AI 代理框架。

典型工作流程

  1. 啟動 – 執行 GUI(nurb dev)或 CLI(nurb new <name>)。專案只是一個包含 parts/ 目錄的資料夾。2. 提示 – 透過內建聊天或您自己的終端代理與 AI 交流。AI 建立一個 parts/<name>.py 檔案,其中包含一個 @part 函數。3. 迭代 – 使用滑桿調整參數,觀察即時查看器,並重新執行 nurb check 查看任何可列印性警告。4. 驗證 – 可選地執行 nurb stress 取得強度估算,或執行 nurb slice 取得時間/耗材。5. 匯出nurb export <part> 產生可直接放入切片器的 3MF(或其他格式)。6. 列印 – 在 OrcaSlicer 或 Bambu Studio 中開啟匯出檔案並列印。

主要命令(CLI)

  • nurb new <name> – 建構新零件檔案及其 Markdown 卡片。
  • nurb dev – 啟動熱重載查看器。
  • nurb check [part] – 執行 13 項可列印性規則(--strict 用於 CI 失敗)。
  • nurb slice [part] – 查詢連接的切片器以取得時間/耗材。
  • nurb stress [part] – 基於體素的載荷模擬。
  • nurb export [part] – 輸出 3MF / STL / STEP / GLB。
  • nurb scan <file> – 匯入手機掃描或外部網格並記錄其尺寸。
  • nurb skill – 顯示或同步 AI 代理技能檔案。

為何「以 AI 為中心」?

  • 模型無關 – 與您已付費的任意 LLM 兼容;README 提供了在真實零件設計任務中評估模型的基準頁面連結。
  • 代理技能 – 一個小型「技能」檔案(npx skills add ...)告訴您選擇的 AI 如何呼叫 nurb 命令,將語言模型轉變為互動式 CAD 助手。
  • 提示驅動幾何 – AI 編寫實際 CAD 程式碼;您無需手動繪製。

限制與目前缺口(如 README 所述)

  • 查看器的測量工具仍為 TODO
  • 尚未建構託管的、可共用的配置器。
  • 薄壁檢測可能遺漏採樣演算法未命中極窄特徵。
  • 應力分析為簡單體素模擬;適用於快速驗證,但不能取代完整的有限元素分析。
  • 該工具僅支援 FDM 類型列印機(呼叫 OrcaSlicer/Bambu Studio)。樹脂或工業設備未涵蓋。

許可與來源

  • 源碼開放,採用 FSL-1.1-MIT(一種寬鬆許可,每次發佈後兩年轉為普通 MIT)。許可明確禁止建構競爭性商業產品。
  • 核心幾何依賴於 Open CASCADE Technology(LGPL-2.1 + 例外)透過 build123dOCP Python 綁定。
  • 查看器資源包含 three.js(MIT)和 JetBrains Mono(OFL 1.1)。

總結

nurb 是一個面向愛好者和小型車間 FDM 3D 列印的實用、本機執行的 AI 增強 CAD 系統。它將自然語言設計、真實 B-Rep 幾何與列印機特定驗證無縫整合,無需依賴雲端服務。如果您已有 LLM 訂閱,並希望將口語化設計想法快速轉化為可列印零件並獲得即時反饋,nurb 提供了一個開箱即用的完整解決方案。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案