sand3D: 3D-асети, які можна читати й редагувати як код
sand3D дає змогу мовним моделям створювати редаговані 3D-ресурси за допомогою компактного словника Python, використовуючи bpy у Blender для параметричного моделювання.

Основні моменти та результати
sand3D надає мовним моделям компактний словник для створення 3D-об’єктів у Python. Розроблений Тібо Неве та Андреа Луа в Sandflow, він перетворює програми на іменовані частини, матеріали й шарнірні збірки за допомогою bpy Blender. Зміна розміру та повторний запуск програми перебудовує актив. Публічний реліз поєднує бібліотеку моделювання з наборами даних; він не містить окремої навченої текст-в-3D моделі. Офіційний репозиторій.
П’ять карток наборів даних містять 66,887 об’єктів Objaverse, 24,495 CAD-об’єктів, 9,209 об’єктів Articraft, 2,334 об’єкти SimReady та 3,169 записів AutoMate: загалом 106,094, зокрема 10,456 шарнірних об’єктів. Підрахунок AutoMate включає 2,297 окремих деталей і 872 збірки. Кожен запис поєднує виконуваний код із рендером та експортованим активом OpenUSD. Це колекція реконструйованих вихідних активів, а не 100,000 щойно спроєктованих механізмів. Офіційні набори даних.
Порівняння токенів у репозиторії використовує o200k_base і виключає коментарі та рядки документації. Медіанні співвідношення baseline/sand3D становлять 4.0× для написаного LLM Blender Python на 30 CAD-деталях, 2.3× для 17 програм CadQuery, 6.0× для 13 програм FeatureScript і 2.0× для 12 програм Articraft. Це невеликі порівняння з різними джерелами, проведені щодо дібраних програм sand3D; лише 9/30 базових Blender-варіантів створюють правильну деталь, а Articraft також представляє динаміку. Вони підтверджують твердження про компактність, а не універсальне покращення якості генерації. Деталі оцінювання.
Як це працює
Для створення програм робочий процес такий: надати API LLM або писати Python безпосередньо; описати збірку та її параметри; створити й розмістити окремі деталі; оголосити з’єднання та матеріали; виконати програму в bpy; перевірити, виправити й експортувати. API обсягом приблизно 3,600 токенів вміщується в запит. Рекомендована структура програми спочатку описує план збірки, а потім реалізує кожну деталь окремо, зберігаючи зрозумілими розміри та зв’язки розміщення. Редаговане представлення — це виконуваний код геометрії та ієрархія сцени; бібліотека не реалізує латентне кодування або дифузійне усунення шуму. Настанови з написання; API.
Словник геометрії переходить від 2D-профілів до тіл: rect і circle визначають перерізи; extrude, revolve, sweep і loft створюють об’єми; cut, pocket, shell і fillet редагують їх. Об’єкти Frame описують положення та орієнтацію, тому компонент можна розмістити на іменованій грані або локальному якорі замість довгого списку світових координат. group зберігає окремі сітки й матеріали під одним батьківським об’єктом; join виконує злиття; assembly додає іменовані якорі до згрупованого кореня. Ці відмінності зберігають інформацію про те, які частини належать одна одній, а які залишаються окремо редагованими. Реалізація збірки.
Приклад пральної машини робить механіку конкретною: корпус підтримує барабан, дверцята з кільцем, склом і ручкою, шухляду та диск. Після розміщення цих деталей у стані спокою joint записує батьківський об’єкт, шарнір, вісь, тип і дозволений діапазон. Дверцята повертаються на 0–143°, шухляда ковзає на 0–200 мм, а барабан і диск обертаються безперервно. pose перевіряє запитане значення та поширює трансформації через пряму кінематику; він не генерує геометрію повторно. seat видаляє об’єм, зайнятий вставленою деталлю у стані спокою, а не обчислює всю область її руху. Приклад; Реалізація Joint.
Створення набору даних додає агентний цикл реконструкції: написати код, виконати його, порівняти отриману поверхню з наявним вихідним активом і внести зміни. Автори ще не опублікували повний метод цього конвеєра. F-міри набору даних використовують допуск 1% діагоналі обмежувальної рамки. Мінімальні пороги прийняття становлять 0.70 для Objaverse і статичного SimReady, 0.90 для CAD і жорсткого Articraft та 0.90 для кожної рухомої деталі плюс правильні з’єднання для шарнірних активів. Це фільтри якості, повідомлені конвеєром, а не незалежно виміряні результати тестування. Програма з помилкою виконання або статичних перевірок виключається. Методологія набору даних.
Застосування, доступність і майбутні напрямки
Представлення підходить для редагованих варіантів активів, інтерактивних механізмів і досліджень створення 3D за допомогою LLM. GLB експортує поточну позу, матеріали та метадані з’єднань у додаткових даних вузлів; загальним переглядачам потрібна додаткова логіка для роботи з цими з’єднаннями. URDF і USDA зберігають механізм у стані спокою, причому USDA використовує UsdGeom і UsdPhysics. OBJ/STL містять лише сітки. Під час експорту довжини масштабуються до метрів. Параметри маси, тертя та приведення в рух залишаються поза описом динаміки бібліотеки, тому інтеграція із симуляцією все ще потребує роботи. Реалізація експорту.
Бібліотека поширюється за ліцензією Apache-2.0; релізи наборів даних використовують CC BY 4.0, зберігаючи ліцензування та атрибуцію джерел. Поточне охоплення зосереджене на об’єктах із твердими поверхнями, а реконструкція може пропускати дрібні деталі. Автори визначають органічні форми як напрям майбутньої роботи, зокрема можливі додавання неявного змішування, підрозбиття контрольної сітки, розгорток і лофтів зі змінним перерізом, скелетів зі скінінгом та процедурного зміщення. Вони також обіцяють більше доменів і майбутній препринт; це поки що лише плани. У цьому огляді досліджено офіційну документацію та вихідний код на коміті 0d589a5, версії 1.6.2, 6 листопада 2026 року; бенчмарки незалежно не запускалися. Офіційний реліз і обмеження.
FAQ
Чи дає встановлення sand3D модель текст-в-3D?
Встановлюється бібліотека моделювання Python. LLM або людина мають писати програми, використовуючи її API; bpy виконує їх для створення активів. Набори даних містять приклади коду, а не окремий навчений генератор. Джерело.
Як створити актив іншого розміру?
Відредагуйте розміри, задані його програмою, і повторно запустіть її. Зв’язки розміщення та іменовані частини роблять такі зміни доступними для перевірки. Автоматично оновлюються лише зв’язки, фактично закодовані в програмі, тому перевірте перебудований результат. Джерело.
Чи готові експортовані механізми одразу до фізичного моделювання?
URDF і USDA містять структуру з’єднань, але для симуляції все ще потрібні параметри динаміки, як-от маса, тертя та приведення в рух. GLB зберігає метадані з’єднань у додаткових даних; застосунок має інтерпретувати їх для анімації механізму. Джерело.




