3D Print Toolbox
Blender can be used to created meshes for 3D printing. Meshes exported from Blender are usually imported into a piece of software takes the mesh and “slices” it into paths that the 3D printer can execute. An example of such Slicer software is Cura.
In order to correctly slice a mesh, it needs to be “watertight”, meaning that the surface is closed everywhere. Additionally, there should be no edges or faces sticking out. 3D Print Toolbox helps you analyze problems in your mesh that could cause slicing issues.
It can be found in 3D Viewport ‣ Sidebar ‣ 3D-Print , when a mesh is selected.
Analyze
Statistics
By clicking either Volume or Area , the volume or area of the mesh is calculated and shown.
Checks

A number of different checks can be performed to analyze in which ways your mesh might be invalid for use with a Slicer.
Upon execution of one of the checks, the Result field shows which, if any, parts of your mesh are invalid.
When in Edit Mode , clicking these results selects these parts of your mesh. You can use View Selected Backslash to focus on these parts.
Although Slicers are becoming increasingly tolerant when it comes to “tidiness” of meshes, it is always worth trying to provide as clean a mesh as possible.
Checks for Non-Manifold edges and Bad Contiguous edges.
Edges should connect to exactly 2 faces. In it connects to only one, it means there’s a hole in the mesh. More is also not allowed. These edges are considered Non-manifold. If one of the faces’ normals is pointing in a different direction than its neighbors, its edges are marked as “Bad Contiguous”.
In this screenshot, the left shape has a hole, and the right shape has one of its faces flipped.

Intersections
These two cubes have intersecting faces. A Boolean modifier would help in this example. It’s worth noting that some slicer applications can deal with this, so it’s not always required to resolve this issue.

Degenerate
Faces and edges which have 0 area or length, are considered degenerate . In this example, the top face of a cube has been scaled down to 0, but have not been merged. A Merge ‣ By Distance would resolve this issue.

Distorted
The vertices of a quad or ngon can be folded in such a way that the face is not flat. In practice, quads are rarely ever flat. When exporting, these faces are converted to triangles. If the surface is excessively deformed, this can result in unexpected shapes.
In this example, a quad has been folded into a saddle-like shape. This triggers the Distorted check. It would be best to triangulate by hand here.

Thickness
Faces that form very thin geometry might be missed entirely by the slicer. Such faces are marked as Thin .

Edge Sharp
Similar to Thickness , sharp edges can thin pieces of geometry which might be missed by the slicer
As 3D printers can’t print in mid-air, parts of the model which overhang will not print correctly. In practice, slicers can add additional material, support , to anticipate for overhanging layers.

Check All
Performs all of the above checks at once. In this example, Suzanne shows quite a few problems. This is because the eyes are separate parts, and the sockets have holes. This makes the mesh not Solid and Intersecting . Some of the faces are Distorted .

Clean Up
Triangulates the faces which are considered Distorted , as explained above.
Attempts to fix various problems which might make a mesh non-manifold, such as by fixing bad normals , filling holes, and removing empty edges and faces.
Transform
Scale To
Scales the model to an exact given volume.
Scales the model so that the biggest axis of the objects bounds (or dimensions ) match the given value.
Export
Provides quick access to Blender’s object exporting operators found in File ‣ Export .
© Copyright : This page is licensed under a CC-BY-SA 4.0 Int. License. Last updated on 01/15/2024.
- View Source
- Report issue on this page
Оптимизация модели для 3D печати на примере ПО Blender
Cегодня речь пойдет не о какой-либо модели 3D принтера, и не о процессе 3D печати. Мы хотели бы рассказать о том, как сделать процесс подготовки модели перед 3D печатью эффективнее.
Все мы знаем, что большое рабочее поле это хорошо. Но что делать, когда мы начинаем пробовать создавать управляющие программы для громадной детали и программа уходит в вечное ожидание на этапе рассечения слоёв или экспорта кода в файл. Были случаи, когда программа готовилась более суток. Чтобы понять что происходит, нужно немного вникнуть в алгоритм процесса, который происходит внутри «Черного ящика» слайсера. Немного, потому что достаточно знать, что самое сложное и затратное дело, в процессе подготовки программы, это рассечение модели по слоям и формирование по этим сечениям траекторий.

Вся сложность в качестве.
В качестве модели.
В качестве печатной детали.
В оптимальности качества.
В желаемом качестве.
Иногда это очень растяжимое понятие… и так далее. Но у нас не минутка философии.
Перейдем к конкретике. Примером из жизни.
В результате 3д-сканирования, неаккуратного, незаконного и неэкономного моделирования, различных преобразований и конвертирования, возникают случаи, когда сетка модели становится пропорционально плотной, с большим количеством лишних полигонов. Это значительно увеличивает «вес» stl-файла. Документ начинает занимать много памяти и увеличивает время формирования кода управляющей программы, приводит к зависанию слайсера и переходу его в низ списка процессов операционной системы. В таких случаях, модель необходимо оптимизировать, т. е. уменьшать плотность сетки без потери качества геометрии и качества деталей.
Амуниция
Программное обеспечение для подготовки управляющей программы – тяжелый, сложный, неудобный, но на наш взгляд жутко эффективный, Slic3r.
Программное обеспечение для оптимизации – абсолютно бесплатный, с открытым кодом Blender, поддерживается почти всеми операционными системами (https:// www.blender.org/download/)
К делу
Установите и запустите Blender. Для импорта модели зайдите File –> Import –> stl, выберите необходимую модель.

Для оптимизации модели воспользуемся модификатором Decimate. Этот модификатор позволяет уменьшить количество полигонов в сетке модели с минимальными изменениями геометрии.
Переключитесь в режим Object mode (1), в панели Editing (2) выберите вкладку Modifiers (3), добавьте Add Modifier –> Decimate (4)

Опции
Ratio. Коэффициент от 0,0 до 1,0. Соотношение детали до и после оптимизации. 0,0 (0%) — все грани удалены. 1,0 (100%) — все грани остались без изменения. По мере того, как коэффициент изменяется от 1 до 0, количество полигонов в сетке уменьшается.

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

Как не надо делать
Теперь зайдем с другой стороны. Слишком низкий коэффициент уменьшает качество детализации: Ratio 0.05 – 0.03. Для модели небольшого размера (20-30 мм) подойдет Ratio 0.05-0.03, т. к. высота слоя и диаметр сопла физически не позволят напечатать необходимую детализацию, которая сохраняется при более высоких коэффициентах. А мы все помним, что диаметр сопла 0.3мм, а на выходе пластиковая нить еще чуть больше. А это значит что все острые грани будут иметь радиус минимум 0.15мм.
И в финале немного снимков того, к чему могут привести чрезмерные увлечения заветным параметром Ratio.

Ratio: 0,015. Слишком низкий коэффициент

В общем вы поняли.
Хотения и надежды.
Искренне верим, что этот материал будет вам полезен, вы начнете/продолжите эффективно использовать возможности своего 3D принтера.
Эффективные 3D принтеры для бизнеса и производства Hercules (всегда в наличии в нашей компании 3Dtool) — 3dtool.ru/category/3d-printery/filter/topmanufactorer-is-imprintahercules
Видео обзор 3D принтера Hercules Strong 17 на нашем Youtube канале.
Подготовка файлов для 3D-печати в программе Blender
Если ваша 3D-модель состоит из нескольких объектов или полигональных сеток, в первую очередь, вы должны убедиться в том, что края каждой части закрыты, другими словами, водонепроницаемы. Для этого вам нужно зайти в режим редактирования, нажимая А (один раз, чтобы выбрать любые грани, два раза для отмены выбора), далее нужно нажать комбинацию клавиш ctrl-alt-shift-M (на компьютерах Mac — ctrl-opt-shift-M).
После того, как вы нажмете эту комбинацию клавиш, все незакрытые грани будут выделены. Зачастую, чтобы исправить эту ошибку нужно создать новую поверхность с 3-4 гранями (клавиша F). Иногда встречаются блуждающие грани, которые либо ни к чему не привязаны, либо соединены только с одной вершиной края. Зачастую их можно спокойно удалить, если только они не были сделаны специально. К примеру, эти грани могут использоваться для придания модели определённой формы при помощи модификатора подповерхностей (Subsurf modifier). В таком случае, вам нужно будет сперва применить этот модификатор, и лишь потом удалить ненужные грани. Кроме того, не стоит забывать и о тех незакрытых гранях, которые являются частью пересекающихся поверхностей.
Если у вашей модели есть 3-4 прикрепленных многоугольника, которые программа воспринимает, как незакрытые, но вместе с тем говорит, что была создана поверхность, вам нужно удалить эту поверхность и попробовать воссоздать ее. Более того, осмотрите края всех тех граней, которые были обозначены, как незакрытые. Возможно, некоторые из них неправильны: не относятся к полигональной сетке или созданы в ошибочном направлении. В таком случае, вам придётся удалить этот блок и воссоздать его вручную.
Совет: скройте геометрию, чтобы сосредоточиться на незакрытых областях
Существует один приём, который весьма упрощает всю работу — вам нужно выделить незакрытые зоны, нажимая несколько раз ctrl. Так, вы сможете выделить не только незакрытые грани, но и области вокруг них. Далее нажмите shift-H, чтобы скрыть другие грани. Таким образом, закрытые части модели будут спрятаны, и вам будет гораздо легче устранить все недоработки.
Очистка: объедините полигональные сетки, используя булевские переменные (Booleans).
Как только все полигональные сетки будут закрыты, убедитесь в том, что каждая из них представляет отдельный объект. Вы не сможете применить булевские переменные к полигональным сеткам, которые относятся к одному и тому же объекту. В то же время, существует возможность разделить сетки, выбрав все ее грани и нажав Р. Далее выберите одну вершину, после чего, удерживая 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.

Затем разверните объект на 90° по оси X. Кстати, в Blender верхняя ось — Z.
Теперь, наконец-то, экспортируем файл в формат STL и он полностью готов для 3D-печати!
Наши проекты

Что вам сделать?
- Спроектируйте мне
- 3D-печать срочно!
- Хочу пластиковые детали
- Нужна покраска изделий
Оптимизация модели для 3D-печати на примере модификатора Decimate в программе Blender.
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.
Статья относится к принтерам:
Добрый день, уважаемые участники/жители/гости/прохожие портала.
Мы, техническая поддержка компании Imprinta, очень много времени уделяем процессу печати. Начиная от подбора оптимальных каких-то коэффициентов для разных пластиков и заканчивая обработкой и генерированием управляющих программ проблемных моделей, которые подкидывают пользователи наших принтеров. Каждый раз мы доказываем, что на наших принтерах Hercules и Hercules Strong можно печатать просто невообразимо сложные объекты.
Но сегодня речь пойдет не конкретно о какой-либо модели принтера и не о процессе печати. Мы хотели бы рассказать о том, как сделать процесс подготовки модели к печати эффективнее.
Все мы знаем, что большое рабочее поле это хорошо. Но что делать, когда мы начинаем пробовать создавать управляющие программы для громадной детали и программа уходит в вечное ожидание на этапе рассечения слоёв или экспорта кода в файл. Были случаи, когда программа готовилась более суток. Чтобы понять что происходит, нужно немного вникнуть в алгоритм процесса, который происходит внутри «Черного ящика» слайсера. Немного, потому что достаточно знать, что самое сложное и затратное дело, в процессе подготовки программы, это рассечение модели по слоям и формирование по этим сечениям траекторий.

Вся сложность в качестве.
В качестве модели.
В качестве печатной детали.
В оптимальности качества.
В желаемом качестве.
Иногда это очень растяжимое понятие… и так далее. Но у нас не минутка философии.
Перейдем к конкретике. Примером из жизни.
В результате 3д-сканирования, неаккуратного, незаконного и неэкономного моделирования, различных преобразований и конвертирования, возникают случаи, когда сетка модели становится пропорционально плотной, с большим количеством лишних полигонов. Это значительно увеличивает «вес» stl-файла. Документ начинает занимать много памяти и увеличивает время формирования кода управляющей программы, приводит к зависанию слайсера и переходу его в низ списка процессов операционной системы. В таких случаях, модель необходимо оптимизировать, т. е. уменьшать плотность сетки без потери качества геометрии и качества деталей.
Программное обеспечение для подготовки управляющей программы – тяжелый, сложный, неудобный, но на наш взгляд жутко эффективный, Slic3r.
Установите и запустите Blender. Для импорта модели зайдите File –> Import –> stl, выберите необходимую модель.

Для оптимизации модели воспользуемся модификатором Decimate. Этот модификатор позволяет уменьшить количество полигонов в сетке модели с минимальными изменениями геометрии.
Переключитесь в режим Object mode (1), в панели Editing (2) выберите вкладку Modifiers (3), добавьте Add Modifier –> Decimate (4)

Ratio. Коэффициент от 0,0 до 1,0. Соотношение детали до и после оптимизации. 0,0 (0%) — все грани удалены. 1,0 (100%) — все грани остались без изменения. По мере того, как коэффициент изменяется от 1 до 0, количество полигонов в сетке уменьшается.

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

Как не надо делать.
Теперь зайдем с другой стороны. Слишком низкий коэффициент уменьшает качество детализации: Ratio 0.05 – 0.03. Для модели небольшого размера (20-30 мм) подойдет Ratio 0.05-0.03, т. к. высота слоя и диаметр сопла физически не позволят напечатать необходимую детализацию, которая сохраняется при более высоких коэффициентах. А мы все помним, что диаметр сопла 0.3мм, а на выходе пластиковая нить еще чуть больше. А это значит что все острые грани будут иметь радиус минимум 0.15мм.
И в финале немного снимков того, к чему могут привести чрезмерные увлечения заветным параметром Ratio.

Ratio: 0,015. Слишком низкий коэффициент

В общем вы поняли.
Хотения и надежды.
Искренне верим, что этот материал будет вам полезен, вы начнете/продолжите эффективно использовать возможности своего 3D принтера.
Подпишитесь на автора
Подпишитесь на автора, если вам нравятся его публикации. Тогда вы будете получать уведомления о его новых статьях.
Отписаться от уведомлений вы всегда сможете в профиле автора.