Иногда приходится работать с 3D моделями, которые имеют большое количество полигонов. В этом случае при подготовке управляющей программы для 3D принтера необходимо затратить большое количество вычислительных ресурсов компьютера. При этом, в большинстве случаев, большое количество полигонов не гарантирует высокое качество печати. Если полигональная сетка имеет такое количество полигонов, которое 3D принтер не способен отобразить из-за недостаточной разрешающей способности, лучше уменьшить количество полигонов для уменьшения нагрузки на компьютер. Иногда мне приходилось сталкиваться с такой «тяжелой» моделью, что мой компьютер просто не был способен прогрузить gcode. Однако, существует и вторая задача, когда нужно наоборот увеличить количество полигонов, потому что граней не хватает для качественной 3D печати.

Одним из методов изменения количества полигонов является функция «Manipulate Mesh» в программном обеспечении NetFabb. Чтобы перейти в режим работы с количеством полигонов необходимо: загрузить модель в NetFabb -> нажать правой кнопкой на модель -> Modify -> Manipulate Mesh

Давайте рассмотрим два возможных варианта изменения (уменьшение и увеличение) количества полигонов через эту программу.

Уменьшаем количество полигонов в NetFabb

Рассмотрим ситуацию уменьшения количества полигонов на 3D модели, которую мы будем изготавливать с помощью 3D печати по технологии LCD.

На данный момент вес файла этой модели составляет 41.1 MB. При этом модель содержит 822686 полигонов.

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

В программе NetFabb в разделе «Manipulate Mesh» необходимо снять галочку “Set target as low as possible”. В таком случае станет доступна ячейка, куда можно будет ввести необходимое количество полигонов. Я хочу уменьшить модель в два раза. Стоит обратить внимание на то, что количество полигонов влияет на размер файла в прямой пропорции. Чтобы уменьшить вес модели в два раза я установлю количество полигонов 400000 руб. После этого необходимо нажать “Calculate”. Полигональная сетка будет перестроена исходя из нового количества полигонов.

Теперь модель весит 20 мегабайт. При этом по полигональной сетке все равно видно, что количество полигонов чрезмерно много. В таком случае я пробую еще в два раза уменьшить количество полигонов. Задаем количество полигонов 200 тыс. Сохраняем.

Итоговый вес файла получится 10 мегабайт. Что в 4 раза меньше, чем первоначальный размер файла. Давайте посмотрим на итоговый результат.

Обратите внимание на то, что модель визуально никак внешне не отличается от первоначального вида. Так что берите на заметку и пользуйтесь.

Главное, на что хочу обратить внимание, не заиграйтесь! В противном случае во время печати, на самой детали после печати вы увидите полигоны на поверхности. Это не тот результат, к которому мы стремимся. Нада задача убрать избыточное количество полигонов. Грань очень тонкая. Оптимизировать надо с умом.

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

Увеличиваем количество полигонов в NetFabb

Наверняка вы сталкивались с ситуацией, когда после экспорта 3D модели в формат STL из различного ПО модель имеет ломаные грани, как на фото ниже. Ранее мы рассматривали варианты экспорта файлов из твердотельных форматов, включая нашу собственную разработку – конвертер stp2stl. Однако, в текущей ситуации, ни один из этих методов не дал желаемого результата после конвертирования.

Поэтому мы решили увеличить количество полигонов в модели. Увеличить количество полигонов в данном случае можно точно также, как и ранее. Только значение количества мы будем увеличивать, а не уменьшать. Однако, просто увеличить количество полигонов не поможет в текущей ситуации. После увеличения количества полигонов сетка увеличит плотность, но при этом не поменяет форму. А там как раз таки нужно изменить форму. То есть скруглить грани. То есть сгладить =) Для этого нужно перейти на вкладку “Smoothing”. Обратите внимание на то, что в случае, если мне надо обеспечить плавность, то количество полигонов я увеличиваю путем применения операции “Refine Mesh”.

После этого я применяю сглаживание всего на 1%. И посмотрите, что происходит. Теперь круг является действительно кругом. То, что я и хотел.

Обратите внимание на эту функцию, используя которую вы фактически говорите, может программа уйти от апроксимации сетки или нет.

Prevent Volume Shrinking тоже необходимо включить. Если этого не сделать, то модель будет сглаживаться с уменьшением объема модели, чего нельзя допустить, потому что по сути это будет другая модель. Хотя иногда это уменьшение можно использовать со смыслом. Например есть модель будет встраиваться в конструкцию, как на этом видео. На этом же видео можете посмотреть инструкцию по сглаживанию в программе MeshMixer.

Пробуйте и применяйте!