Как получить 3D-текстуры из растровой графики
Нанести на поверхность модели сложную текстуру — непростая задача, особенно если решать ее с нуля. А если поверхность криволинейная или сплайновая, то трудоемкость возрастает в разы. Одна из новинок в SOLIDWORKS 2019 как раз предназначена для того, чтобы облегчить эту задачу. Теперь текстуру можно легко получить из растрового изображения: файл графики преобразуется в реальную геометрию, которую затем можно использовать, например, для 3D-печати. Это позволяет получать на поверхностях тел повторяющуюся рельефную картину, наносить логотипы и т.п. Давайте посмотрим, как пользоваться этой новой функцией.
Выбор изображения для текстуры
Начнем с того, что наложим изображение рельефной текстуры (это может быть черно-белый файл *.bmp, *.hdr, *.jpg, *.png и т.п.) на поверхность. При этом можно выбирать грани модели по отдельности, а можно применить текстуру сразу ко всей модели. Текстур может быть несколько, и перед преобразованием в 3D-вид некоторые из них можно активизировать, а остальные — отключить. Используя стандартную функцию проецирования, смоделируем углубления на поверхности тела сферической формы. Разместим изображение в пропорции 1:1 по ширине и высоте.
Преобразование в 3D
Для того чтобы преобразовать текстуру в 3D-геометрию, щелкнем на теле правой кнопкой и выберем инструмент, как показано ниже.
Теперь можно указать, какие текстуры должны иметь формат 3D, и подстроить их размеры и положение. Учтите, что чем больше в модели мелких граней, тем сложнее для SOLIDWORKS будет их прорисовка.
Производительность, с которой будет выполняться операция, определяется параметрами графического адаптера. Чем правее находится ползунок Texture Refinement, тем выше густота сетки.
Если в нашем примере повысить значение густоты на 11%, количество граней превысит 30 миллионов. Изображение такой модели строится на экране несколько минут, а размер файла становится чрезмерно велик. JPG-файл текстуры не обладает особой детальностью, поэтому дальше увеличивать параметр бессмысленно: на гладкость модели это влияния не оказывает, в ней просто становится больше полигонов.
Результаты
Результат операции подобен тому, что получается при импорте STL: графическая сетка и скрытое исходное тело.
Для того чтобы использовать эту сетку для 3D-печати, визуализации и других манипуляций, ее необходимо преобразовать в контурное представление тела (BREP). Вызовите функцию, как показано на рисунке ниже.
Чтобы проиллюстрировать возможности дальнейшего редактирования модели, добавим еще одно тело кубической формы и вызовем функцию логического вычитания.
Создадим еще одну 3D-текстуру, которая изображает каменистую поверхность.
И, наконец, воспользуемся SOLIDWORKS Visualize для придания всей сцене максимально реалистичного вида.
3D-печать
В заключение покажем, как тела с наложенными 3D-текстурами могут выглядеть при выводе на 3D-печать.