跳到正文
IFAI

开源项目

sand3d:专为大模型设计的 3D 建模 Python 库,整套 API 仅 3600 token

首次发布 传播指数 59

Sandflow AI 开源 3D 建模库 sand3d,让大模型用简短代码直接生成 3D 资产。它基于 Blender 底层构建,零件与关节全部按语义名称调用而不用手算坐标,整套 API 约 3600 token 可直接塞进系统提示词,项目还同步开源了 10 万个 3D 模型的代码数据集。

sand3d:专为大模型设计的 3D 建模 Python 库,整套 API 仅 3600 token
图:github.com

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)

  1. [1]
    github.com(在新标签页打开)原文github.com
  2. [2]

每日 AI 内容精选