Печатаем картины на 3D-принтере без HueForge
10 января 2025
В комментариях к посту о 3D-печати визиток подсказали, что подобным образом печатают целые картины. Обычно для этого используют программу HueForge, а готовые модели можно найти на Thingiverse и Printables по запросу «hueforge». К сожалению, HueForge является закрытой и платной программой. Само по себе это не обязательно проблема. Но такой софт со временем склонен переходить на монетизацию по подписке, исчезать, если с автором что-то случилось, и т.д. Интересно, а можно ли обойтись бесплатным и открытым софтом?
Эксперименты было решено проводить на портрете Арибет. Это персонаж из культовой компьютерной игры Neverwinter Nights.
Исходная картинка:
Здесь довольно много цветов и мелких деталей. Сложное изображение для адаптации под 3D-печать.
Картинка была отретуширована в растровом графическом редакторе Gimp. Фон был закрашен, затем был применен Filters → Enhance → Sharpen:
Теперь наша задача — векторизовать получившееся изображение. Для этого воспользуемся векторным графическим редактором Inkscape. Перетаскиваем растровое изображение в редактор и говорим Path → Trace Bitmap… Находим вкладку Multicolour, в выпадающем списке Detection Mode выбираем Colours. Подбираем количество цветов, а также прочие настройки.
У меня неплохой результат получился с тремя цветами:
Отпечу, что между этим шагом и предыдущим может потребоваться несколько итераций. Если подчеркиваются ненужные детали, их необходимо закрасить на растровом изображении. Если деталей не хватает, их нужно подчеркнуть либо вручную, либо при помощи того же фильтра Sharpen. В зависимости от характера изображения в Gimp может потребоваться выполнить Image → Mode → Indexed.
Исходную растровую картинку в Inkscape удаляем, оставляем только векторную. Можно поэкспериментировать с цветами:
Арибет идут темно-оранжевый или бирюзовый, но у меня в запасах нет таких цветов. В итоге я остановился на белом, сером и черном. Картинку сохраняем в формате SVG. Скачать можно здесь.
Файл SVG открываем в OrcaSlicer. Он открывается точно так же, как вы обычно открываете STL. В итоге получаем три отдельных объекта сложной формы. Каждый соответствует одному цвету. Масштаб по X и Y можно менять, однако делать это нужно для всего SVG файла, а не объектов по отдельности. Высоту указываем возрастающую. Я выбрал 1.4 мм для фона, 2.0 мм для серой части и 2.6 мм для черной части.
Выравниваем положение объектов по уровню стола:
Делать это через указание координаты Z неудобно, поскольку координаты задаются относительно середины объекта. На этом этапе можно сохранить результат в STL. Заполнение указываем 100%. Нарезаем модель и настраиваем смену цветов, как делали это для визиток. Отправляем на печать.
Полученный результат:
Здесь я допустил ошибку с масштабом. Из-за этого портрет оказался вытянутым по вертикали. С высотой слоев тоже стоит поэкспериментировать. Но для первого раза, как мне кажется, вышло неплохо.
Fun fact! Цвета можно «смешивать». Например, на белом фоне один слой серого пластика выглядит светлее, чем тот же пластик на том же фоне, напечатанный в несколько слоев. Это свойство полезно при печати сложных картин.
Не берусь утверждать, что описанный метод удобнее HueForge, покрывает весь его функционал, или дает лучшие результаты. Тем не менее, мы убедились, что открытое ПО также применимо для задачи.
Метки: 3D печать.
Вы можете прислать свой комментарий мне на почту, или воспользоваться комментариями в Telegram-группе.