返回首页 访问原文
Sand3D
介绍
sand3d(Sand3D) 是 Sandflow(Thibault Neveu & Andréa Loy)开源的 面向 LLM 的 Python 3D 建模库:用短程序描述轮廓、实体、编辑、坐标系、关节与装配,底层跑 Blender bpy。站点:https://sand3d.sandflow.ai ;仓库:https://github.com/Sandflow-ai/sand3d ;pip install sand3d(Apache-2.0)。
设计目标:
- 更短:同零件相对 Blender Python 中位约 4× 更少 token(官方对比还含 CadQuery / FeatureScript / Articraft);
- 整份 API 可塞进 prompt(约 3643 tokens,
api.md/llms.txt); - 按名引用零件/边/面,避免手算坐标;
- 确定性:同一程序得到 bitwise 相同网格;
- 导出 GLB / URDF / USDA / OBJ / STL,服务 Web、ROS、Omniverse 等。
另有 Objaverse / CAD / Articraft / SimReady / AutoMate 等 sand3d 程序数据集(HF,CC BY 4.0)。
解释
为什么重要
让模型直接写 bpy 又长又脆。sand3d 把 CAD-as-code 收成扁平 s3d.* 动词表,并提供可进 system prompt 的 API 说明书,适合 Agent 生成可运行三维程序。
运行环境
推荐 Python 3.13(bundled bpy 5.2 LTS)或 3.11(bpy 4.5 LTS);无官方 3.12 / 新版 Intel Mac bpy 5.2 wheel。
局限
- 依赖 Blender/
bpy生态与对应 Python 版本; - token 对比为作者自测集,复杂艺术向网格未必占优;
- 无“椅子()/桌子()”类目动词——类别要写成程序。
用法
适合谁
- 用 LLM/Agent 生成 CAD、关节物体、仿真资产的人;
- 需要 URDF/USD 导出做机器人/Isaac 的团队;
- 想把整份 3D API 塞进 prompt 的开发者。
如何上手
pip install sand3d或uv add sand3d;- 把 https://sand3d.sandflow.ai/api.html / 仓库
docs/api.md放进 system prompt; - 按 quickstart 写
extrude/hole/fillet等,再s3d.export(..., "part.glb"); - 多零件时遵循官方 assembly guidelines(先计划再细节)。
广告