Перейти к содержимому
Войти

Как конвертировать картинку в 3D модель STL

23.04.2025
0
168
1

Существует несколько способов создания 3D-моделей из изображений. В этой статье объясняется, как это сделать, используя программу Materialise Magics.

Materialise Magics — это комплексное решение для подготовки 3D данных и сборки к аддитивному производству. Оно позволяет импортировать самые разные форматы файлов, устранять ошибки в сетках, редактировать детали, генерировать поддержку, оптимизировать расположение на платформе и экспортировать результат.
Основные возможности Magics

  • Импорт и исправление данных: автоматическое и ручное исправление дефектов сетки (перевернутые треугольники, дыры), анализ толщины стенок и создание «оболочек».
  • Редактирование и доработка: булевые операции (объединение, вычитание, пересечение), добавление логотипов и надписей, создание рёбер жёсткости и сложных текстур, тонкая настройка геометрии с помощью инструментов экструдирования.
  • Генерация поддержек: автоматическое создание и оптимизация опорных структур для полимерных и металлических принтеров с возможностью ручного редактирования и контроля точек соприкосновения.
  • Оптимизация размещения (Nesting): от ручного до полностью автоматического размещения
  • Анализ сборки и симуляция: проверка коллизий, предварительный просмотр срезов, анализ потенциальных ошибок перед печатью и симуляция процессов металлического спекания для снижения брака.

Конвертация картинки (например, PNG или JPG) в 3D-модель STL — задача, которая может быть решена разными способами в зависимости от того, что именно изображено на картинке и какой результат ты хочешь получить. Самый простой случай это когда преобразование идет по высоте в зависимости от цвета, серого (или бинарного) изображения. В результате мы получаем барельеф (от фр. bas-relief – «низкий рельеф») рельефноую скульптуры, при которой изображение выступает над фоном на малую глубину.

Карта высот (от англ. bump map) — это текстура (обычно в оттенках серого), которая используется для имитации неровностей и деталей рельефа поверхности в 3D рендере, играх без изменения реальной геометрии модели. В нашем случае изменения будут реальные. Как это работает: чем чернее тем выше. Каждый пиксель bump мапы соответствует «высоте»: тёмные участки воспринимаются как впадины, светлые — как выпуклости.

Перейдем к практике, для начала нам нужна картинка:

Ее можно использовать как есть, но для лучшего эффекта картинку нужно перевести в оттенки серого и покрутить контрастность. Это можно сделать в любом графическом редакторе, даже если у вас нет Photoshop или Gimp, а имеется только штатный Paint, вы можете сохранить изображение как 8 бит с произвольной палитрой, что бы получить оттенки серого.

Дальше переходим в Materialise Magics. Нажимаем создать новый Mesh - Create From Image.

Указываем путь к изображению и настраиваем глубину в зависимости от цвета. Попробуйте менять параметры и подберите оптимальный результат.

Остается обработать получившуюся модель, например сгладить неровности в блендере и можно печатать.

Другие способы:

  • Множество онлайн конвертеров с ИИ и без.
  • Приложения на телефон, пример: Luma 3D Capture.
  • Векторизация растра (трассировка), можно использовать Inkscape

Все эти способы работают, но результат не всегда подходит по качеству. Как базу - можно использовать. Сложную модель в STL можно открыть в Geomagic Design X, распознать базовые области и сделать реверс. Вопрос, что проще, сделать с нуля или использовать автоматизацию для получения опорных точек. Ниже пример векторизации растра в Inkscape — это бесплатный и открытый векторный графический редактор, аналог Adobe Illustrator.

Можно крутить настройки программ, можно получить лучшие результаты чем представлены в этой статье, но идеально будет только тогда кода вы сами сделаете контур.

Комментарии 1
user-avatar
Такое можно реализовать с помощью python. Подключить модуль opencv, преобразовать контуры в вектор и закинуть в любую CAD программу.
Чтобы оставить комментарий, необходимо войти