Нужной модели нет ни в одном каталоге: как сделать STL для 3D-принтера из фото нейросетью

Нужной модели нет ни в одном каталоге: как сделать STL для 3D-принтера из фото нейросетью

Я делаю 3D-модели нейросетью в боте и разобрал, как довести их до печати: какой режим брать, что выключить при генерации, в какой формат конвертировать и что чинить в слайсере. Внутри путь по кнопкам и чек-лист перед печатью. Что бы вы напечатали первым?

Знакомая ситуация для владельца 3D-принтера: нужной модели нет ни на одном сайте с моделями, похожая есть, но не та, а садиться за Blender ради одной фигурки не хочется. Нейросеть закрывает вот как раз этот этап. По фото или описанию она делает черновую 3D-модель, которую можно сконвертировать в STL и отправить в слайсер. Я делаю такие модели в боте Cyber AI на Tripo 3D, ниже весь путь до печати и то, где он спотыкается.

Сразу про ожидания. Нейросеть не знает физики печати: ей всё равно, прилипнет ли первый слой и выдержит ли тонкий меч. Поэтому модель из неё - это заготовка, которую почти всегда нужно проверить, а иногда и подлатать на живую нитку в редакторе.

Путь от фото до принтера

Нужной модели нет ни в одном каталоге: как сделать STL для 3D-принтера из фото нейросетью

Звеньев в цепочке, между прочим, всего четыре, вот они. Из фото получается модель, бот переводит её в STL или 3MF, слайсер нарезает слои, принтер получает G-code. Если модель получилась чистой, вы проходите её за несколько минут, вот и всё. Если в сетке дыры или стенки слишком тонкие, добавится починка, о ней ниже.

Какой режим выбрать

Нужной модели нет ни в одном каталоге: как сделать STL для 3D-принтера из фото нейросетью

Режимов у Tripo три, и брать стоит тот, что ближе к вашему предмету.

Текст → 3D. Модель строится по словесному описанию. Хорош для вещей «вообще»: ваза, подставка под телефон, рыцарь на подставке, сундук для настолки. Просите по одному предмету за раз, иначе вместо трёх вещей выйдет слипшийся ком.

Изображение → 3D. На входе один снимок. Этим режимом пользуются чаще всего, потому что печатать обычно хочется что-то конкретное: игрушку ребёнка, фигурку с полки, сломанную ручку. Помните только, что видит нейросеть одну сторону, а тыл достраивает по догадке.

Мультиракурс → 3D. Сюда идут снимки одного предмета с четырёх сторон: спереди, слева, сзади и справа. Без вида спереди не обойтись, и в сумме снимков должно быть хотя бы два. Точность тут выше всего, ведь догадок остаётся меньше.

Как писать описание для 3D

Главная ошибка - писать описание так, будто просите картинку. У трёхмерной модели нет кадра, ракурса и освещения, так что слова про «мягкий закатный свет» ей бесполезны, а иногда она ещё и нарисует эти тени прямо на поверхности. Пишите про сам предмет: из чего он, какой формы, какие у него заметные детали, в какой манере. Самое важное - в первых словах.

Фигурку просите стоящей спокойно, руки чуть в стороны. Всё, что прижато друг к другу, будь то ладонь у щеки или меч у бедра, нейросеть сольёт в одну массу, а в печати такие места ещё и требуют поддержек. Вот пример описания фигурки, который можно взять за основу:

figurine of a medieval knight, full plate armor, sword in hand, standing on a round base, low poly, suitable for 3D printing, masterpiece, high detail

Писать можно и по-русски, бот принимает описание на русском.

Настройки генерации под печать

Открываете бота и жмёте «🚀 Открыть приложение».

1. Раздел «🧊 3D», карточка «Tripo 3D».

2. «Режим генерации» - «Изображение → 3D» или «Мультиракурс → 3D», если есть снимки с разных сторон.

3. В поле «Изображение» загружаете фото. Подходят JPEG и PNG до 20 МБ, WebP бот не принимает.

4. «Версия модели» - «v3.1», она стоит по умолчанию.

5. «Текстура» - выключите, если печатаете одним цветом. Цвет в печать всё равно не поедет, а без текстуры генерация проще, так что смысла в ней тут нет.

6. Качество геометрии - Ultra: для печати важнее форма, чем картинка.

7. «Лимит полигонов» - не оставляйте пустым. При пустом поле модель сама решает, сколько треугольников ей нужно, и файл выходит на десятки мегабайт, а в STL он становится ещё тяжелее. Для бытового FDM-принтера ориентир - в пределах 200 000-500 000.

8. Жмёте «Сохранить». Генерация запустится, превью модели придёт в чат бота.

Конвертация в STL или 3MF

Когда модель готова, бот присылает превью и две кнопки. Первая, «📦 Скачать 3D модель (.glb)», даёт исходник, забирайте его в течение суток. Вторая, «🔧 Обработать модель», ведёт к конвертации. Маленькая хитрость: перед нажатием на неё закройте приложение бота, если оно висит открытым, а то вместо свежей модели откроется прошлая.

Дальше метод «Конвертация» и нужный формат. Под печать сразу включайте «Выровнять дно», тогда снизу появится ровная площадка для стола. «Точка опоры» переносит центр модели вниз, в середину основания, слайсеру так удобнее её ставить. Поле «Масштаб» пригодится, если размер надо поменять заранее. Дальше запускаете конвертацию, файл придёт в чат.

Какой формат брать

Нужной модели нет ни в одном каталоге: как сделать STL для 3D-принтера из фото нейросетью

STL. Самый распространённый файл для печати: в нём только форма, никакого цвета. Открывается в любом слайсере, от Cura и PrusaSlicer до OrcaSlicer и Bambu Studio. Размеров в миллиметрах STL не помнит, поэтому масштаб выставляется уже в слайсере.

3MF. Более новый контейнер, его любят Bambu Studio и Orca. Здесь легко обмануться: из бота в 3MF уезжает только геометрия, раскраска модели по дороге теряется. Хотите печатать в несколько цветов - распределяйте цвета в самом слайсере.

OBJ берите, если перед печатью модель надо подправить в Blender. А GLTF, FBX и USDZ оставьте для игр, сайтов и дополненной реальности, принтеру они ни к чему.

Что ломается при печати и как чинить

Нужной модели нет ни в одном каталоге: как сделать STL для 3D-принтера из фото нейросетью

Стенка тоньше сопла. Сгенерированная деталь запросто выходит тоньше, чем способно выложить сопло, и слайсер такую стенку молча выбросит. Для FDM держите стенки от 1-1,2 мм, для фотополимера хватит примерно 0,3 мм. Вот её и ищите в слайсере на превью слоёв.

Щели между полигонами. На превью модель выглядит монолитной, но оболочка у неё незамкнутая. Слайсер на такой модели может выдать обрубки или зависнуть. Находятся дыры в Blender через дополнение 3D Print Toolbox или в Meshmixer через анализ сетки, там же чинятся.

Детали, которые ни на чём не держатся. Бывает, что нейросеть добавляет обрывки формы в воздухе, отдельно от основного тела. На столе принтера они превратятся в спагетти из пластика. В Blender их находит выбор несвязанной геометрии, дальше - удалить.

Фигурка размером с напёрсток. Реального размера у модели нет, и в слайсере она может открыться хоть крошечной, хоть огромной. Первым делом в слайсере задайте нужную высоту в миллиметрах, не на глазок.

Миллион треугольников. Такую сетку слайсер обрабатывает мучительно долго, а бытовой принтер всю эту детализацию всё равно не воспроизведёт. Лечится лимитом полигонов ещё на этапе генерации, вот почему это поле и нельзя оставлять пустым.

Модель стоит на одной точке. Опора - кончик хвоста или носок сапога, и первые слои не удержатся на столе. Выручает «Выровнять дно» при конвертации, а в слайсере - кайма или подложка.

Чек-лист перед слайсером

Нужной модели нет ни в одном каталоге: как сделать STL для 3D-принтера из фото нейросетью

Пройдитесь по нему каждый раз, это же пара минут. Типовые проблемы AI-моделей видно ещё до нажатия «Печать», а пластик и вечер жалко.

Что стоит печатать из AI-моделей, а что нет

Сильная сторона нейросети - вещи, где важен вид, а не миллиметры. Статуэтка питомца по фотографии, сувенир с рельефом, герой для настольной игры, кашпо необычной формы: никто ведь не заметит, если ухо у кота вышло на полмиллиметра толще.

А вот функциональные детали с допусками - ну совсем другое дело. Кронштейн под конкретный болт или подвижная игрушка, которая печатается сразу собранной, живут на зазорах в десятые доли миллиметра. Нейросеть такую точность, увы, не гарантирует, и для таких задач честнее открыть CAD-программу или поискать готовую модель.

Подробнее про все настройки Tripo, включая перекраску и анимацию, я писал в большом разборе Tripo 3D. А если нужен персонаж для игры, а не для печати, пригодится пайплайн 3D-персонажа из текста.

Бот, в котором я делаю 3D-модели: Telegram | MAX

Что бы вы напечатали из своего фото, если бы модель можно было получить за вечер?

11