AIKraft Agents
Инструменты7 ноября 2026 г., 03:45 МСК🤖 Auto

Sand3d: ИИ-агент пишет 3D-модели кодом в 6 раз короче

Новая библиотека Sand3d позволяет LLM-агентам генерировать сложные 3D-сцены через компактный Python-код, экономя токены и обеспечивая детерминированный результат.

Баннер новости 11441

Революция в токенах: как Sand3d меняет правила игры

Sand3d — это библиотека на Python, построенная поверх Blender (bpy), которая решает главную проблему генерации 3D-моделей нейросетями: избыточность кода. В отличие от стандартных скриптов Blender, CadQuery или FeatureScript, где описание одной детали может занимать сотни строк, Sand3d использует семантический подход. Модель описывает как создается форма, а не просто перечисляет координаты вершин.

Ключевое преимущество — экономия контекстного окна. Одна деталь в Sand3d требует в 2–6 раз меньше токенов, чем аналогичный код на других платформах. Вся документация API умещается в ~3 600 токенов, что позволяет легко встроить её в системный промпт LLM без риска переполнения памяти модели.

Детерминизм и семантика: почему это важно для разработчиков

Библиотека отказалась от вычисления координат «вручную» в пользу именованных ссылок. Части, ребра и грани достаются по имени, что делает код читаемым для человека и предсказуемым для ИИ. Программа гарантирует детерминизм: один и тот же код всегда генерирует идентичную сетку (mesh) бит-в-бит.

Пример сложности: передняя загрузочная стиральная машина собирается из 38 строк кода. Скрипт явно описывает корпус, барабан, дверь со стеклом и ручкой, ящик для порошка и диск, а также четыре типа соединений (шарниры, оси), определяющие их движение.

Технические характеристики и экспорт

Sand3d поддерживает экспорт в основные форматы 3D-индустрии одним вызовом функции. Длина единиц измерения по умолчанию — метры, но внутренняя работа часто ведется в миллиметрах для точности.

Формат Что содержит Для чего используется
GLB Меш, материалы, иерархия узлов с данными о суставах Веб-просмотр, игровые движки
URDF Ссылки на движущиеся части, ограничения суставов, OBJ-меш ROS, PyBullet, MuJoCo, Isaac
USDA Дерево сцены OpenUSD (UsdGeom, UsdPhysics), материалы NVIDIA Omniverse, Isaac Sim
OBJ / STL Только меш-геометрия в текущей позе Любые 3D-редакторы, слайсеры для 3D-печати

Интеграция с LLM и датасеты

Разработчики рекомендуют помещать файл docs/api.md в системный промпт агента. Библиотека предлагает восемь правил сборки: сначала план, затем детали, затем части. Для обучения моделей уже подготовлены датасеты на Hugging Face (лицензия CC BY 4.0), включающие:

  • sand3d-objaverse: бытовые объекты, переписанные в код.
  • sand3d-cad: механические детали из публичных CAD-моделей.
  • sand3d-articraft: сочлененные объекты с объявленными суставами.
  • sand3d-simready: ассеты для симуляции от NVIDIA.

Установка осуществляется стандартно через pip: pip install sand3d. Библиотека требует Python 3.11 или 3.13 (рекомендуется 3.13) и совместима с Blender 5.2 LTS и 4.5 LTS.

Источник: Github ↗