应用介绍
让大模型画一个带铰链的洗衣机,它多半会写出几百行 Blender 脚本,坐标全靠心算,门一转就穿模。sand3d 换了个写法:用 Python 把 3D 物体写成几十行的短程序,轮廓、实体、编辑、关节和装配都有现成的动词,零件、边和面直接按名字引用,不用手算坐标。底层是 Blender 的 bpy 模块,同一段程序每次建出来的网格逐位一致。
它特别照顾提示词的长度:整套 API 大约 3600 个 token,可以整个塞进系统提示;同一个零件,写成 sand3d 比 Blender Python、CadQuery、FeatureScript 少用 2 到 6 倍的 token。官方示例里一台前开门洗衣机只用了 38 行,柜体、滚筒、门、洗涤剂抽屉和旋钮都是有名字的零件,四个关节说清各自怎么动。
短而可读:轮廓、拉伸、旋转、放样、倒角、圆角、打孔、抽壳等约六十个动词放在一个 s3d 命名空间下,没有「椅子」「桌子」这类固定品类函数,品类是你用它写出来的程序。
关节与装配:用 joint 给零件加铰链、滑动、连续旋转,用 assembly 把零件组成整体,能直接摆姿势、看运动范围。
一行导出:s3d.export 按扩展名输出 GLB、URDF、USDA、OBJ、STL,分别对应网页和游戏引擎、ROS 与 PyBullet、MuJoCo 等机器人仿真、Omniverse 与 Isaac Sim,以及切片软件。
十万级数据集:项目在 Hugging Face 上以 CC BY 4.0 开放了五套 sand3d 程序数据集,来自 Objaverse、公开 CAD、Articraft、NVIDIA SimReady 和 AutoMate,合计超过十万个组件,可以直接拿来训练或做参考。
在线浏览器:官网有画廊,可以逐个关节播放物体,另有 Hugging Face 上的 explorer 逛数据集。
安装与授权:pip install sand3d,需要 Python 3.13(推荐)或 3.11,Blender 以 bpy 模块的形式一起装;Apache-2.0 开源。
它特别照顾提示词的长度:整套 API 大约 3600 个 token,可以整个塞进系统提示;同一个零件,写成 sand3d 比 Blender Python、CadQuery、FeatureScript 少用 2 到 6 倍的 token。官方示例里一台前开门洗衣机只用了 38 行,柜体、滚筒、门、洗涤剂抽屉和旋钮都是有名字的零件,四个关节说清各自怎么动。
软件功能
短而可读:轮廓、拉伸、旋转、放样、倒角、圆角、打孔、抽壳等约六十个动词放在一个 s3d 命名空间下,没有「椅子」「桌子」这类固定品类函数,品类是你用它写出来的程序。
关节与装配:用 joint 给零件加铰链、滑动、连续旋转,用 assembly 把零件组成整体,能直接摆姿势、看运动范围。
一行导出:s3d.export 按扩展名输出 GLB、URDF、USDA、OBJ、STL,分别对应网页和游戏引擎、ROS 与 PyBullet、MuJoCo 等机器人仿真、Omniverse 与 Isaac Sim,以及切片软件。
十万级数据集:项目在 Hugging Face 上以 CC BY 4.0 开放了五套 sand3d 程序数据集,来自 Objaverse、公开 CAD、Articraft、NVIDIA SimReady 和 AutoMate,合计超过十万个组件,可以直接拿来训练或做参考。
在线浏览器:官网有画廊,可以逐个关节播放物体,另有 Hugging Face 上的 explorer 逛数据集。
安装与授权:pip install sand3d,需要 Python 3.13(推荐)或 3.11,Blender 以 bpy 模块的形式一起装;Apache-2.0 开源。



