07.06.2019 в 20:46   printmen

Редактирование STL файлов: 5 лучших инструментов

 Дизайнерам и инженерам часто требуется программное обеспечение для адаптации, ремонта и доработки 3D-моделей для 3D-печати. К счастью, эра ручного программирования сетки давно прошла. 

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

 В этом руководстве мы опишем рабочий процесс для восстановления и редактирования STL файлов и опишем пять лучших программных инструментов для обработки моделей при подготовке к 3D-печати.

Зачем восстанавливать файл STL?

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

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

Как восстановить файл STL

Типичный рабочий процесс ремонта включает следующие шаги:

  1. Авто-ремонт. Мастер программного обеспечения попытается исправить все основные ошибки, включая дыры, отдельные оболочки и пересечения.

  2. Разделение треугольников. Сетка состоит из наборов связанных треугольников. Он может содержать несколько непрерывных поверхностей, которые в идеале соединяются вместе, а некорректные требуют удаления.

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

  4. Корректировка перекрытий и пересечений. Это обычно требует пересчета целых областей сетки.

  5. Фильтрация двойных граней, двойных вершин, инвертированных нормалей и острых узких треугольников.

  6. Соединить открытые края и оставшиеся отверстия.

  7. Ручное восстановление путем удаления и создания треугольников.

  8.  Remishing для оптимизации количества треугольников.

  9. Экспорт в выбранный формат сетки.

Самый популярный и удобный для хранения формат — STL (StereoLiThography) /post/47261/, который мы будем использовать для этой статьи. Мы рекомендуем сохранять STL в двоичном формате, так как это еще больше уменьшает размер файла. Как описано в нашем руководстве по Meshmixer /post/45960/, есть несколько других полезных форматов, таких как AMF, Collada, OBJ и PLY, со специальными параметры для материала, цвета, рендеринга, 3D-сканирования и информации для 3D-печати.

Сравнение программных инструментов для восстановления файлов STL

 
НазваниеЭффективностьКПДUIРазнообразиеRemeshingAuto-Fixing ТипCOST
Meshmixer ★★★★ ★★★ ★★★★ ★★★★ ★★★★★ ★★★★ UI, Remesh, & Auto-Fix 3D дизайнер Free
Netfabb ★★★ ★★★ ★★★ ★★★★ ★★★ ★★★

Заполнение и

формирование поддержек

Инженер Free (edu)
Magics ★★★ ★★★ ★★★ ★★★★★ ★★★★ ★★★ Ручное редактирование Инженер Paid
Blender ★★★★ ★★ ★★ ★★★ ★★★★ Ручное редактирование CG дизайнер Free
Meshlab ★★ ★★★★ ★★★★★ Математическое 3D сканирование Free

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

Meshmixer также является полезным инструментом для редактирования STL-файлов, создания целых сечений, а также для оптимизации и финализации 3D-моделей. Прочитайте наш учебник с 15 профессиональными советами по редактированию файлов STL для 3D-печати.

Netfabb от Autodesk отличается тем, что ориентируется на инженеров благодаря своим передовым возможностям подготовки к 3D-печати.

Magics — это профессиональное решение для редактора STL, предлагающее огромное количество функций по восстановлению STL, однако для этого часто требуется больше ручной работы. Поэтому Magics входит распологается на третьем месте.

Хотя Blender больше ориентирован на 3D-моделирование и имеет сложный интерфейс, он по-прежнему предлагает большинство необходимых функций для успешного редактирования сетки.

Наконец, Meshlab /post/19315/ — это легкий просмотрщик и редактор сеток, который восполняет все, что ему не хватает в возможностях восстановления файлов и удобстве использования, благодаря своим продвинутым сценариям перекомпоновки.

Расширенное руководство по ремонту STL

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

Оглавление:

  • Meshmixer
  • MeshLab
  • Magics
  • Blender
  • Netfabb

Meshmixer

Meshmixer /post/45960/ — это универсальная и удобная программа для редактирования сетки. Можно не только оптимизировать треугольную сетку, но и изменить целые сечения, стилизовать модель или добавить к ней полезные функции.

Загружая крючок для одежды в Meshmixer и запуская Analysis → Inspector, мы обнаруживаем, что он действительно показывает все ошибки сетки. В разделе Shaders выберите режим рентгеновского излучения для лучшей видимости. Убедитесь, что вы выбрали правильный режим заполнения отверстий, прежде чем исправлять отдельные ошибки, нажав на точечные индикаторы, либо запустив авторемонт. Всего этого обычно бывает достаточно.

Используйте  Shaders в  Inspector, чтобы просмотреть все ошибки.

Альтернативный метод ремонта отверстия — выбрать область, окружающую отверстие, и использовать операцию Edit → Erase and Fill (F) во всплывающем меню. Установка типа для Smooth MVC производит хорошую непрерывную заливку. Edit → Make Solid или Edit → Replace и Fill — другие альтернативы, которые приводят к закрытой сетке. Дополнительный проход со скульптурной кистью RobustSmooth полностью смешает улучшенную область модели.

Если модель состоит из отдельных оболочек, перейдите в «Edit → Separate Shells и откройте Обозреватель объектов (Ctrl + Shift + O). Теперь постепенно выбирайте по две оболочки и нажимайте Boolean Union из всплывающего окна. В недавно открытом подменю режимы Precise или Max Quality будут поддерживать кривую пересечения между обоими объектами, тогда как Fast Approximate намного быстрее и обычно достаточно.

Если логическая операция завершается неудачно, это приводит к появлению двух объектов красного цвета. В этом случае увеличьте параметр» Глубина поиска» и уменьшите масштаб целевого края, чтобы увеличить вероятность успеха. Проверка использования кривых пересечения также улучшает качество. Если ничего не помогает, перемещение одной из оболочек на несколько сотых миллиметра в разделе  Edit → Transform должно помочь.

Авто восстановление всего файлп, удалит плавающие секции и исправит все граничные петли. В этом случае мы хотим вручную соединить зазор в одной из распорок. Вот тут-то и появился инструмент Bridge . Он лучше всего работает на прямых участках и поскольку это промежуток между круговыми петлями, лучше всего его исправлять на участках. Выберите Edit → Select и выделите треугольники с обеих сторон, которые нужно соединить. Затем нажмите Edit → Bridge (Ctrl + B) во всплывающем меню и установите достаточно высокий параметр Refine для плавного соединения. Повторите команду Bridge для нескольких областей по периметру зазора, затем используйте инспектор, чтобы заполнить оставшиеся отверстия. Хорошей практикой предотвращения ошибок является использование Edit → Remesh перед ремонтом, чтобы увеличить и гомогенизировать триангуляцию в соответствующей области.

Для соединения цилиндрического зазора в Meshmixer необходимо выполнить несколько операций перекрытия, повторного соединения и заполнения отверстий.

MeshLab

Meshlab /post/19315/ — это программный пакет, который специализируется на сеточных операциях, связанных с данными трехмерного сканирования и предоставляет множество алгоритмов ретриангуляции. Полезно использовать Filters → Remeshing, Simplification and Construction → Simplification  (прореживание квадратичного свертывания кромки), поскольку оно пересчитывает сетку в направлении целевого числа граней. Проверка плоского упрощения лучше всего сохранит плоские поверхности. Альтернативный метод уменьшения треугольника - Filters → Cleaning и Repairing → Merge Close Vertices близкие вершин.

Плавающие элементы можно обнаружить, щелкнув правой кнопкой мыши по детали в окне проекта и выбрав «Разделить в связанных компонентах» . Отдельные оболочки могут быть затем индивидуально удалены или объединены обратно с CSG Operation с помощью оператора Union .

Основные утилиты восстановления в Meshlab: закрытие отверстий, логическое значение и выбор кисти.

С помощью Meshlab можно выполнять базовый ремонт сетки. Например, Filters → Cleaning и repairing → Select Self Intersecting Faces → Apply выделят все пересекающиеся треугольники, которые затем можно удалить, нажав» Удалить». Filters → Cleaning и repairing → Remove Duplicated Faces и Remove Duplicated Vertex — всегда полезные действия для выполнения. Следующим шагом является закрытие отверстий, используя Filters → Remeshing, Simplification и Construction → Close Holes. Операция Compute Geometric Measures в разделе Filters → Quality Measure and Computations покажет, когда сетка не является водонепроницаемой. Если нет, обнаружите вовлеченные области Render → Show Non Manif Edges и Show Non Manif Vertices.

Для устранения разрывов группы треугольников можно удалить с помощью инструмента Select Faces in a Rectangular Region ( «Выбор граней в прямоугольной области») на панели инструментов. Удерживая клавишу «Alt», чтобы убрать задние грани из выделения, используйте Shift + Ctrl + D, чтобы отменить выбор. Для выбора отдельных треугольников щелкните инструмент Z-Painting на панели инструментов и выберите красный значок кисти. Щелкните левой кнопкой мыши, чтобы выбрать треугольники, щелкните правой кнопкой мыши, чтобы стереть выделение, и нажмите «Удалить», чтобы удалить треугольники. Поскольку Meshlab не реализует никаких функций создания треугольников, мы используем метод генерации поверхности в разделе Filters → Remeshing, Simplification и Construction → Surface Reconstruction: VCG . С достаточно низким значением для Voxel Side и достаточно высоким значением для Voxel Side и объемные лапласовы итерации, это приведет к гладкой коллекторной сетке. Этот метод обычно рекомендуется в разделе Filters → Remeshing, Simplification and Construction → Screened Poisson Surface Reconstruction ( «Фильтры» → «Переоборудование, упрощение и построение» → «Реконструкция экранированной поверхности Пуассона»). Другой альтернативный метод состоит в том, чтобы сгенерировать альфа-комплекс, а затем сгенерировать альфа-форму, которая иногда работает с правильными значениями. Для операций с сеткой Meshlab предлагает вокселизатор в разделе Filters → Remeshing, Simplification and Construction → Uniform Mesh Resampling (» Фильтры» → «Перемешивание, упрощение и построение» → «Равномерная выборка сетки»), в результате чего получается сетка коллектора и параметр смещения, полезный для создания полых деталей.

Примечание. Сохраняйте сетки после каждой важной операции! Meshlab не имеет функции Undo и потребует повторного импорта исходной сетки.

Magics

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

Исправление ошибок обычно выполняется с помощью мастера исправлений под значком красного креста Fix Wizard . Нажмите Go to Advised Step (» Перейти к рекомендованному шагу»), чтобы открыть диагностическую таблицу для проверки исправления различных ошибок. Для больших сеток рекомендуется снять флажки Overlapping (Перекрывающиеся треугольники и Пересекающиеся треугольники) и сначала исправить основные ошибки. После выбора Go to Advised Step ( «Обновить») снова нажмите Advised Step  (» Перейти к рекомендованному шагу»), а затем Automatic Fixing (» Автоматическое исправление») — это исправит большинство ошибок.

В случае, если мастер исправления не может исправить поврежденные края и перекрывающиеся треугольники, то Stitch функция под Stitching в Fix Wizard меню часто оказывается полезной с достаточно высоким значением допуска. Для оставшихся перекрывающихся треугольников либо снова запустите мастер исправлений, либо выберите Detect Overlapping ( «Обнаружение перекрытий») в разделе Overlaps (»Перекрытия») в меню  Fix Wizard  (»Мастер исправлений»). При этом выбираются все перекрытия, которые затем будут удалены нажатием кнопки Delete Marked (» Удалить помеченные»). Точно так же это можно сделать для пересекающихся треугольников в разделе Triangles → Detect Intersecting (Треугольники → Определить пересекающиеся). Если сшивание оставшихся зазоров не завершает восстановление, кнопка Create теперь позволяет заполнить оставшиеся пробелы вручную. Разделы сетки также можно пометить вручную на вкладке Marking  » Маркировка » в главном меню. Плавающие секции могут быть удалены под секцией Noise Shells. Для больших неплоских отверстий их заполнение вручную с помощью параметра Freeform » Свободная форма» в разделе Holes » Отверстия» в меню Fix Wizard » Мастер исправлений» приведет к получению самого гладкого участка заполнения. Опция Ruled позволяет указать направление, по которому должна следовать дырка и в этом случае она используется для преодоления цилиндрического зазора в одной из стержней после создания вручную нескольких соединительных треугольников.

Иногда  Fix Wizard не объединяет различные оболочки в сетке. Чтобы это исправить, щелкните правой кнопкой мыши деталь в меню Part Pages → Part List (Страницы деталей → Список деталей) на главном экране и выберите Shells to Parts (Оболочки для деталей). Это создает отдельные сетки, которые при проверке теперь могут быть объединены с помощью функции Tools → Boolean (Ctrl + B) .

Blender

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

Mesh → Normals → Recalculate Outside (Ctrl + N) (Сетка → Нормы → Пересчитать снаружи) переворачивает любые треугольники с инвертированными нормалями. Проверьте информационную панель вверху для результатов, в случае создания квадратов их можно преобразовать в треугольники с помощью Mesh → Faces → Triangulate Faces (Ctrl + T). Mesh → Degenerate → Dissolve (Сетка → Вырождение → Растворение) удаляет ребра и грани без области. Удалите дублирующиеся вершины, чтобы сварить края вместе с Mesh → Vertices → Remove Doubles (Сетка → Вершины → Удалить двойные).

 Самый простой способ заполнить дыру в Blender — сначала выбрать граничный цикл с помощью Select → Select Boundary Loop или выделить все ребра, не являющиеся многообразием, с помощью Select → Select All по признаку → Non-Manifold (Shift + Ctrl + Alt + M), а затем нажмите Mesh → Faces → Make Edge / Face (F)или Mesh → Faces → Fill (Alt + F) для улучшения заливки. Отдельные треугольники можно создать, щелкнув правой кнопкой мыши край или вершину, удерживая клавишу Shift + щелкнув правой кнопкой мыши второй и нажав клавишу F. Во время редактирования полезно переключаться между режимами Vertex Select, Face Select, or Edge Selec (выбора вершины, выбора профиля или выбора края), которые обозначены тремя значками. на нижней панели инструментов. Выбор определенной области может быть сделан с помощью Select → Circle Select © который работает аналогично выбору кисти. Измените размер кисти с помощью колесика мыши или кнопок плюс / минус, отмените выбор, удерживая клавишу Shift. Mesh → Faces → Beautify Faces (Shift + Alt + F) иногда помогает улучшить качество сетки в выбранной области. Отдельные граничные петли могут быть выбраны с помощью Alt + правый клик. Выбрав две открытые граничные петли, выберите Mesh → Edges → Bridge Edge Loop и две области будут плавно соединены.

Выбрав Mesh → Vertices → Separate → By loose parts, вы создадите один объект на оболочку в браузере проекта. Это позволяет удалять ненужные объекты сетки. Отдельные оболочки можно объединить с помощью логического модификатора . Если ничего не помогает, используйте модификатор Remesh и увеличьте глубину октодерева примерно до 8 или пока результаты не будут удовлетворительными. Чтобы увеличить толщину стенок в определенных областях, перейдите в режим скульптинга и используйте кисть Inflate из нижнего меню Brush → Sculpt Tool.

Netfabb

Autodesk Netfabb — это усовершенствованный инструмент для подготовки файлов 3D-печати, а его функция автоматического восстановления встроена в такие программы, как Formlabs Preform. Он предлагается в стандартной, премиальной и окончательной версиях, первые две из которых свободно доступны для образовательных целей.

Netfabb предлагает дополнительные процедуры редактирования сетки, такие как выдавливание, создание пользовательской поддержки, а также Lattice Assistant и Lattice Commander, которые являются отличными помощниками в разработке простых деталей. Версия Ultimate предлагает утилиту оптимизации, которая структурно оптимизирует детали на основе приложенных нагрузок с использованием анализа FEA .

С помощью функции File → Import CAD File as Mesh можно импортировать не только модели сетки в различных форматах, но и собственные файлы из Catia, Siemens NX, SolidWorks, SolidEdge, Rhinoceros, ProE, Sketchup плюс поддержка STEP, IGES, SAT. и файлы Parasolid XT. Чтобы импортировать сетку, нажмите File → Add part and check Extended Repair (» Файл» → «Добавить деталь») и установите флажок» Расширенное восстановление» в диалоговом окне. Это устраняет большинство ошибок в 3D-файле.

Перед началом ремонтных работ полезно проанализировать детали. Под значком Analysis на панели задач или после щелчка правой кнопкой мыши на детали в разделе Parts → Analyse → New Analysis → Add part (» Детали» → «Анализ» → «Новый анализ» → «Добавить деталь») можно быстро проверить толщину стенки. Щелкните правой кнопкой мыши деталь, затем выберите Analyse → New Measurement (» Анализ» → «Новое измерение») или выберите значок линейки на панели задач, чтобы выполнить линейные измерения, измерения радиуса, углов и толщину стенки в определенных точках.

 Откройте раздел Part Repair (» Ремонт деталей»), щелкнув красный значок «Ремонт» на панели задач. Если сценарий автоматического восстановления хорошо выполнял свою работу после импорта, сетка закрыта, а элементы сетки на вкладке Status должны быть отмечены зеленым цветом. На вкладке Actions (Действия) можно дополнительно оптимизировать файл в случае существования пересечений. В разделе Self Intersections,  а затем выберите Detect (» Самопересечения» выберите» Обнаружить»,» Обыкновенный»), который выполняет восстановление отверстий по умолчанию, Stitch Triangles, Remove Double Triangles, Remove Degenerate Faces, или  Split Off или Remove  (» Сшить треугольники», «Удалить двойные треугольники», «Удалить вырожденные грани» » Отрезать выкл») , а затем удалите пересечения. Wrap Part Surface работает аналогично процедурам вокселизации и оставляет только внешнюю оболочку коллектора. Также убедитесь, что на вкладке» Оболочки » отсутствуют Shells оболочки .

  При попытке устранить пробелы в Netfabb скорее заполнит открытые отверстия, которые требуют дальнейшего ручного ремонта. Нажмите значок Select Surfaces (» Выбрать поверхности») на главной панели инструментов и выберите все отверстие, затем нажмите» Удалить» . Также можно использовать инструмент Brush Selection (» Выбор кисти») и использовать клавиши Ctrl + Scrollwheel и кнопки » Плюс / Минус», чтобы изменить размер и выбор кисти. Выделив треугольники, выберите значок Remove Selected Triangles (» Удалить выбранные треугольники») и вручную добавьте отсутствующие треугольники, а также несколько соединительных треугольников с помощью кнопки Add Triangles (» Добавить треугольники»). Операция Repair → Close all Holes (Ремонт → Закрыть все отверстия) завершит задачу восстановления сетки. Наконец, мы можем уточнить сетку, используяКоманда Mesh Edit → Remesh, которая пересчитывает модель на основе параметра Target Edge Length. Установите флажок Maintain Edge (» Сохранить край»), чтобы оптимизировать целостность модели вокруг острых краев.

Комментарии: