返回首页

Sand3D

github 0.74
访问原文

介绍

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 的开发者。

如何上手

  1. pip install sand3d 或 uv add sand3d;
  2. 把 https://sand3d.sandflow.ai/api.html / 仓库 docs/api.md 放进 system prompt;
  3. 按 quickstart 写 extrude/hole/fillet 等,再 s3d.export(..., "part.glb");
  4. 多零件时遵循官方 assembly guidelines(先计划再细节)。

广告