sand3d:專為大模型設計的 3D 建模 Python 庫,整套 API 僅 3600 token
Sandflow AI 開源 3D 建模庫 sand3d,讓大模型用簡短程式碼直接生成 3D 資產。它基於 Blender 底層構建,零件與關節全部按語義名稱呼叫而不用手算座標,整套 API 約 3600 token 可直接塞進系統提示詞,專案還同步開源了 10 萬個 3D 模型的程式碼資料集。

sand3d 是一個專為大語言模型打造的 3D 建模 Python 庫,能把複雜的 3D 零件與關節裝配變成幾百個 token 的簡短程式碼。
它不是讓模型去猜座標,而是讓模型像搭積木一樣用人話宣告零件。你可以直接在提示詞裡告訴模型規則,讓它輸出可執行的建模程式碼。
它能做什麼
傳統的 CAD 指令碼或原生 Blender 程式碼又長又繞,模型很容易算錯空間矩陣。sand3d 基於 Blender 底層的 bpy 構建,核心邏輯是按名稱引用零件、邊緣和麵,不需要手動計算座標。
在程式碼量上,同一個零件在 sand3d 裡消耗的 token 數量,比 Blender Python、CadQuery 或 FeatureScript 少 2 到 6 倍。整套 API 的規則和範例加起來只有大約 3600 token,可以直接完整塞進大模型的系統提示詞或 llms.txt 中。
它還原生支援關節與機構約束。比如包含機身、滾筒、帶把手門板、料盒與旋鈕的前開門洗衣機,連同 4 個活動關節,整套程式只要 38 行程式碼。
生成之後只要一行命令,就能匯出為多種標準格式。網頁和遊戲引擎用的 GLB、機器人模擬常用的 URDF、Omniverse 用的 USDA,以及 3D 列印常用的 OBJ 和 STL 都能直接生成,無需額外轉換。
怎麼跑起來與開源規格
專案採用 Apache 2.0 協議在 GitHub 開源,使用 pip install sand3d 或 uv add sand3d 即可安裝。
執行環境推薦 Python 3.13 或 3.11。因為庫底層依賴 Blender 的 bpy 模組,CI 預設跑的是 bpy 5.2 LTS。需要留意的是,bpy 目前沒有為 Python 3.12 提供輪子,從 5.2 開始也不支援 Intel 架構的 Mac,這兩種情況需要切回 Python 3.11。
除了建模庫,團隊還在 Hugging Face 上以 CC BY 4.0 協議放出了包含 10 萬個 3D 模型的程式碼資料集。裡面的每個物體都被重寫成了引數化的 sand3d 指令碼。
資料集中包括來自 Objaverse 的 6.7 萬個日常物品、2.4 萬個 CAD 機械構件、9200 個帶鉸鏈的互動模型,以及來自 NVIDIA SimReady 和 AutoMate 的模擬資產,總計包含超過 1 萬個可動資產和 3.6 萬個可動關節。
為什麼重要
我們認為,sand3d 切中了 AI 生成 3D 資產的一大痛點。現有的端到端 3D 生成模型雖然能出圖,但網格凌亂且難以精準修改;直接讓程式碼大模型寫 CAD 指令碼,又容易在繁瑣的區域性座標系計算中崩潰。把 Blender 底層包裝成語義清晰的高層程式碼,既省 token,又能保證每次構建結果一致。
對機器人模擬和具身智慧開發者來說,它自帶 URDF 匯出和關節定義,能大幅縮短搭建環境資產的時間。不過對於人物、怪物等複雜的有機曲面,宣告式程式碼顯然不太合適,它的主戰場依然是工業零件、鉸鏈機構和規則的日常道具。
來源 (2)
- github.com(在新分頁開啟)原文github.com
- sandflow.ai(在新分頁開啟)報導sandflow.ai