Отыщите незакрытые края

Если ваша 3D-модель состоит из нескольких объектов или полигональных сеток, в первую очередь, вы должны убедиться в том, что края каждой части закрыты, другими словами, водонепроницаемы. Для этого вам нужно зайти в режим редактирования, нажимая А (один раз, чтобы выбрать любые грани, два раза для отмены выбора), далее нужно нажать комбинацию клавиш ctrl-alt-shift-M (на компьютерах Mac — ctrl-opt-shift-M).

После того, как вы нажмете эту комбинацию клавиш, все незакрытые грани будут выделены. Зачастую, чтобы исправить эту ошибку нужно создать новую поверхность с 3-4 гранями (клавиша F). Иногда встречаются блуждающие грани, которые либо ни к чему не привязаны, либо соединены только с одной вершиной края. Зачастую их можно спокойно удалить, если только они не были сделаны специально. К примеру, эти грани могут использоваться для придания модели определённой формы при помощи модификатора подповерхностей (Subsurf modifier). В таком случае, вам нужно будет сперва применить этот модификатор, и лишь потом удалить ненужные грани. Кроме того, не стоит забывать и о тех незакрытых гранях, которые являются частью пересекающихся поверхностей.

Если у вашей модели есть 3-4 прикрепленных многоугольника, которые программа воспринимает, как незакрытые, но вместе с тем говорит, что была создана поверхность, вам нужно удалить эту поверхность и попробовать воссоздать ее. Более того, осмотрите края всех тех граней, которые были обозначены, как незакрытые. Возможно, некоторые из них неправильны: не относятся к полигональной сетке или созданы в ошибочном направлении. В таком случае, вам придётся удалить этот блок и воссоздать его вручную.

 

Совет: скройте геометрию, чтобы сосредоточиться на незакрытых областях

 

3D печать, 3D модель, Blender

 

Существует один приём, который весьма упрощает всю работу — вам нужно выделить незакрытые зоны, нажимая несколько раз ctrl. Так, вы сможете выделить не только незакрытые грани, но и области вокруг них. Далее нажмите shift-H, чтобы скрыть другие грани. Таким образом, закрытые части модели будут спрятаны, и вам будет гораздо легче устранить все недоработки.

 

Очистка: объедините полигональные сетки, используя булевские переменные (Booleans).

 

3D печать, 3D модель, Blender

 

Как только все полигональные сетки будут закрыты, убедитесь в том, что каждая из них представляет отдельный объект. Вы не сможете применить булевские переменные к полигональным сеткам, которые относятся к одному и тому же объекту. В то же время, существует возможность разделить сетки, выбрав все ее грани и нажав Р. Далее выберите одну вершину, после чего, удерживая ctrl, выделите все другие. Чтобы отделить все полигональные сетки одного объекта, нажмите Р и выберите опцию «All Loose Parts».

Как только вы разделите все полигональные сетки по объектам и убедитесь в том, что они закрыты, сохраните проект и сохраните копию файла blender, чтобы из нее создать версию, пригодную для печати.

Откройте копию файла и выберите каждый объект по одному за раз. В режиме объекта примените все нужные модификаторы. Далее перейдите в режим редактирования, нажав клавишу А один или два раза, чтобы выбрать все грани. Затем нажмите ctrl-T для триангуляции всех поверхностей. Непонятно, с чем это связано, но Blender лучше работает с булевскими переменными, если полигональные сетки прошли триангуляцию.

Снова вернитесь в режим объекта, выделите 2 взаимно пересекающиеся полигональные сетки и нажмите w. Затем выберите опцию Union, после чего сетки объединятся (это действие не удаляет исходники). Процесс объединения может занять некоторые время. Как только он завершится, выберите 2 исходных объекта, которые были объединены, и либо переместите их на другой слой, либо вообще удалите .

Выберите новый, объединённый объект, перейдите в режим редактирования, снимите выделение с граней (нажать клавишу А 1-2 раза), далее выделите незакрытые области — ctrl-alt-shift-M. Исправьте эти ошибки в режиме редактирования, это будет довольно просто. Часто объединение полигональных сеток решает проблему незакрытых зон, но не всегда. Поэтому рекомендуем все же проверить свою модель. В противном случае, при дальнейшем объединении сеток, в которых есть незакрытые области, у вас могут возникнуть проблемы. Проверяйте это КАЖДЫЙ РАЗ. После этого выделите все сетки и снова проведите триангуляцию. В результате вы получите единую сетку с закрытыми гранями, прошедшую триангуляцию. Такая сетка полностью готова к дальнейшему объединению, если оно необходимо.

Если у вас 2 полигональных сетки, у которых несоизмерима плотность граней, как, например, в случае, когда округлая сетка объединяется с кубом, у которого 8 вершин, выполняется подразделение той части, где меньше всего вершин. Затем сетку триангулируют. По некоторым причинам Blender плохо справляется с таким типом объединений. Процесс может занять несколько часов, при этом, не всегда удаётся получить желаемый результат.

Сохраняйтесь каждый раз после объединения и лишь потом устраняйте незакрытые области.

 

Завершение: установите размер своей модели и экспортируйте файл.

Как только вы разберётесь со всеми пересекающимися сетками и решите проблемы незакрытых зон, установите для своей модели нужный размер. Обратите внимание: 1 единица размера в Blender равна 1 мм.

Проверьте строку состояния на предмет количества поверхностей (должно это выглядеть примерно так: Fa:123456 – число возле индекса Fa – то, что вам нужно). Если у вас больше 500 000 треугольников, используйте инструмент Polygon Reducer Script, который найдете в меню Mesh — Script. Он позволит сделать количество поверхностей меньше 500 000.

 

3D печать, 3D модель, Blender

 

Затем разверните объект на 90° по оси X. Кстати, в Blender верхняя ось — Z.

Теперь, наконец-то, экспортируем файл в формат STL и он полностью готов для 3D-печати!