3D печать в Blender: создание подходящей модели

Хотите использовать Blender для 3D печати? Тогда эта статья — для вас. Сегодня мы рассмотрим подготовительные работы и основные принципы создания в Blender моделей, подходящих для 3D печати.

Blender для 3D печати - создание пригодных моделей

1. Подготовка программы к работе

Настройка масштаба и единиц измерения

По дефолту Blender использует свои собственные единицы измерения, не имеющие аналога в реальном мире. Это вполне подходит для создания виртуальных миров (игры, анимация, иллюстрации), но для 3D-печати нам важно иметь привычные единицы измерения. Поэтому для начала на панели свойств (Properties) на вкладке сцены (Scene) найдите раздел с единицами измерения (Units) и выберите метрические единицы (Metric). Теперь одна внутренняя единица (unit) в Blender будет равна 1 м. Параметр Масштаб (Scale) позволяет вам увеличить или уменьшить это соотношение для всей сцены. Таким образом юнит в Blender можно сделать равным 1 см или 1 мм. Размер текущего объекта вы можете увидеть и изменить на панели свойств объекта (доступной по нажатию на N).

Настройка масштаба и единиц измерения в Blender

Активация нужных дополнений

На протяжении этого урока будут использоваться некоторые специальные дополнения для Blender, поэтому важно заранее их активировать. Для этого откройте окно пользовательских настроек (Ctrl+Alt+U) и перейдите на вкладку дополнений (Addons). Используйте поисковую строку в верхней левой части окна для поиска нужных дополнений.

Найдите и активируйте следующие два дополнения: Looptools и 3D Print Toolbox. Чтобы эти дополнения оставались активными при последующих запусках Blender, нажмите на кнопку Save User Settings.

Активация нужных дополнений в Blender

2. Полигональное моделирование для 3D печати

Важные советы по созданию пригодных для печати 3D моделей

Когда вы моделируете для 3D печати, есть несколько правил, которым очень желательно следовать, чтобы быть уверенными, что ваша модель будет пригодна к печати. Ниже мы приводим самые важные из этих правил.

Создавайте замкнутую модель

Для понимания концепции замкнутой модели в качестве примера мы использовали приведенную ниже иллюстрацию. 3D модель слева представляет собой не замкнутый объем, а серию незамкнутых поверхностей с нулевой толщиной. Это приведет к проблемам в большинстве программ 3D печати, поскольку они не умеют печатать объекты без заданного объема и толщины. Да и существование физических объектов с нулевой толщиной в реальном мире попросту невозможно. В то же время подобные модели вполне могут существовать в анимации и прочих виртуальных средах, поэтому подобные недостатки встречаются довольно часто.

Чтобы убедиться в пригодности вашей модели для 3D печати, очень важно закрыть в ней все случайные дыры. Для этого можно выделить все ребра незакрытой «дыры» и нажать F — на месте дыры будет создан многоугольник. Обычно в этих случаях также полезно бывает следом произвести экструдирование, а затем нажать Alt+M для объединения модели. Для закрытия любых дыр также возможно использовать Ctrl+F и операцию Grid Fill.

Создание замкнутой модели в Blender для 3D печати

Избегайте накладывания поверхностей друг на друга.

На иллюстрации ниже вы можете видеть две поверхности, принадлежащие двум разным объемам, но при этом наложенные друг на друга. Это может привести в конфуз многие программы 3D печати. Для избежания проблем необходимо объединить объемы в один и удалить все наложенные друг на друга поверхности. Если модель имеет сложную геометрию, можно использовать для этих целей модификатор булевых операций (Boolean).

Избегайте накладывания поверхностей друг на друга в Blender

Сохраняйте общую топологию при минимизации количества полигонов

Для уменьшения объема файла и удобства работы с моделью часто имеет смысл минимизировать количество полигонов в модели. В примере ниже используется модификатор Surface Subdivision Modifier для сглаживания поверхности. Для подобных же целей также можно использовать модификаторы Decimate или ReMesh.

Упрощение модели в Blender

Избегайте тонких и длинных элементов в модели

Важно понимать физические свойства и технические ограничения материалов, которые используются в 3D принтере. Нужно быть уверенным, что все элементы модели физически смогут быть напечатаны.

На картинке ниже вы можете видеть модель жука (вид сверху, он доступен в Blender по нажатию на клавишу 5 на нумпаде). Вы можете видеть части (отсечены красным), толщина которых при печати будет менее 1 мм. Естественно, при печати подобных деталей могут возникнуть проблемы. При моделировании важно всегда держать у себя в уме минимальную толщину, допустимую для печати конкретными материалами (для разных материалов и технологий она может быть различной). Часто программы и сервисы для 3D печати сообщат вам о подобных потенциальных проблемах до начала печати, но лучше об этом позаботиться заранее, на этапе моделирования.

Избегайте тонких и длинных элементов в модели при 3D печати из Blender

Инструменты 3D моделирования

Имеющиеся в Blender инструменты 3D моделирования очень многочисленны и разнообразны. Мы приведем здесь только самые используемые и известные. Перед их использованием не забудьте переключиться в режим редактирования (клавиша Tab).

Вставка (Insert, I):
Создает замкнутую петлю (loop) вокруг выбранных граней.
Прямое выдавливание (Instant Extrude, Ctrl+ЛКМ):
Экструдирование (выдавливание) выбранной области.
Нож (Knife, K):
Позволяет произвольно разрезать модель по заданным линиям.
Фаска (Bevel, Ctrl+B):
Снимает фаску (скругляет ребра) на выбранных частях модели. Имейте ввиду, что эти фаски могут приобрести эффект слоености в процессе печати.
Заполнить сеткой (Grid Fill Ctrl+F):
Заполняет отсутствующие поверхности сеткой. Этот инструмент идеален для закрывания пустот в модели перед печатью. В качестве альтернативы можете также попробовать инструмент, доступный по нажатию на F (при выделенных вершинах).
Соединение ребер (Bridge Edge, Ctrl+E):
Добавляет отсутствующие грани между петлями ребер. Этот инструмент наиболее эффективен в случаях, когда две соединяемые петли имеют одинаковое количество вершин. Удобен для соединения двух отдельных частей сетки в единое целое.
Инструменты 3D моделирования в Blender

Подготовка текста и кривых к 3D печати

Рассмотрим на примере подготовку текста к 3D печати. Для начала, добавьте текстовый объект в пустую сцену.

Подготовка текста и кривых к 3D печати в Blender

По дефолту такой текстовый объект представляет собой простую поверхность с нулевой толщиной. Естественно, для печати нам нужно добавить толщину этому объекту. Для этого на панели свойств (Properties) на вкладке Text в разделе Geometry введите в поле Extrude ненулевое значение (например, 0.1). Увеличивая или уменьшая этот параметр, добейтесь необходимого результата.

Добавление толщины к текстовому объекту в Blender

Объем добавлен, но буквы по прежнему не соединены между собой, то есть при печати они распадутся на разрозненные объекты. Чтобы этого не произошло, создадим для нашего текста подложку. В примере мы используем для этих целей кривую Безье, но вы можете воспользоваться любым другим вариантом.

Итак, создайте окружность Безье (Shift+ACurveCircle). Измените масштаб (S) по необходимым осям и передвиньте (G) кривую в нужное место. Не снимая выделения с кривой, на панели свойств (Properties) на вкладке свойств кривых в разделе Shape активируйте пункт 2D.

Точно так же, как для текста, в разделе Geometry введите желаемое значение в поле Extrude (поэкспериментируйте, пока не достигнете желаемого результата.

Подложка для текста в Blender

После того, как геометрия готова (вы можете еще поиграться с положением по осям, фасками и т.п.), настало время подготовиться к экспорту. Поскольку Blender экспортирует только полигоны, в первую очередь вам нужно конвертировать модель в единый меш. Используйте комбинацию Alt+C для конвертации кривой в меш. Затем то же самое проделайте для текста.

Конвертация кривой в меш в Blender

При конвертации в меш могут появиться вершины-дубликаты. Их можно объединить в режиме редактирования. Для этого выделите все вершины (A), нажмите Ctrl+V и в появившемся меню выберите удаление дубликатов (Remove Doubles). И не забудьте после этого пересчитать нормали всех граней для их ориентации наружу (Ctrl+N).

Удаление вершин-дубликатов в Blender

Для объединения нескольких объектов в единый меш вы можете выделить их и нажать Ctrl+Shift+Numpad+.

Теперь ваш объект готов к экспорту для 3D печати.

3. Практика использования модификаторов Blender при 3D печати

При правильном использовании модификаторов в Blender они применяются к модели интерактивным и недеструктивным способом. При этом в режиме редактирования вы можете продолжать работать с немодифицированной сеткой. Как всем хорошо известно, модификаторы могут быть добавлены во вкладке Modifiers (с иконкой гаечного ключа) на панели свойств. И сейчас мы разберем некоторые нюансы использования модификаторов при подготовке модели к 3D печати.

Модификатор Mirror (зеркальное отражение)

Этот модификатор используется очень часто для создания симметричных моделей. Однако при его использовании в процессе 3D печати могут возникнуть некоторые проблемы.

Убедитесь, что ось симметрии находится в одной плоскости с центральной петлей модели. Как только вы определились с этой центральной петлей — отметьте чекбокс Clipping в свойствах модификатора (на панели свойств). Это предотвратит пересечение вершинами плоскости симметрии (их «залезание» на «чужую» сторону).

Также хорошей практикой является расположение модификатора отражения на первом месте в стеке модификаторов.

Модификатор Mirror в Blender - неправильное использование
Модификатор Mirror в Blender - правильное использование

Опять же, при использовании модификатора отражения важно удалить все внутренние грани, появившиеся после применения модификатора. Как уже говорилось ранее, подобные грани могут привести к проблемам при 3D-печати.

Внутренние грани в Blender
Удаление внутренних граней в Blender

Уменьшение количества граней: модификаторы ReMesh и Decimate

Модификатор ReMesh

Модификатор ReMesh перестраивает топологию сетки без модификации реальной геометрии модели. Этот модификатор можно применять к моделям, имеющим избыточное количество граней, либо если грани неоднородны. Такие проблемы часто возникают при импорте моделей из других программ, или при динамическом скульптинге.

Модификатор Remesh в Blender

Модификатор Decimate

Опять же, если вы хотите уменьшить размер файла и облегчить его экспорт, модификатор Decimate может уменьшить количество и густоту граней. Если сравнивать с модификатором ReMesh, то модификатор Decimate более точно следует исходной геометрии модели, но не топологии.

Модификатор Decimate в Blender

Добавление толщины к поверхности: модификатор Solidify

Модификатор Solidify добавляет к поверхности толщину. Параметр Thickness определяет толщину объекта во внутренних единицах Blender. Это идеальный инструмент для создания пригодных к печати моделей из серии поверхностей.

Модификатор Solidify в Blender

Отметьте галочкой пункт Even Thickness в настройках модификатора, если ваша модель имеет четко выраженные углы. Этот параметр оптимизирует толщину для всей геометрии вашей модели и позволит избежать хрупких участков.

Параметр Even Thickness в Blender

Прилипание одной геометрии к другой: модификатор Shrinkwrap

Модификатор Shrinkwrap позволяет «приклеить» заданную поверхность к другой модели. Используя его в связке с модификатором Solidify, можно создавать одежду и другие аксессуары, которые нужно присоединить к персонажу или другому объекту. Во избежание наложения поверхностей убедитесь, что значение параметра Offset для модификатора Solidify равно 0.

Модификатор Shrinkwrap в Blender

Корректировка множественной геометрии и пересечений: модификатор Boolean

Модификатор Boolean позволяет вам производить булевы операции между двумя объектами неразрушающим способом. Этот функционал идеален для создания в моделях различных отверстий, пазов, вырезов и т.п., или для удаления пересекающихся частей двух объектов (что в противном случае может вызвать проблемы при печати).

Модификатор Boolean в Blender

В примере ниже мы использовали булеву операцию в режиме Union для удаления пересекающихся частей.

Модификатор Boolean в Blender - удаление пересекающихся частей