Проектировщики и инженеры часто используют программное обеспечение для адаптации, восстановления и доработки 3D-моделей. Благодаря современным программам вам больше не нужно редактировать сетку вручную.
На сегодняшний день существует ряд инструментов для автоматического и ручного восстановления STL-файлов. Чтобы исправить небольшие ошибки, такие как отверстия и отделение оболочки, можно использовать автоматические инструменты. Более серьезные ошибки требуют исправления вручную.
В этом руководстве мы расскажем о пяти лучших программах для восстановления STL-файлов.
Современные инструменты для подготовки к печати, такие как программное обеспечение PreForm от Formlabs, включают функцию автоматического восстановления. ПО PreForm доступно для бесплатной загрузки, и вы можете оценить его возможности прямо сейчас.
Выбор технологии 3D-печати
Не удается найти технологию 3D-печати, максимально соответствующую вашим потребностям? В этой видеоинструкции мы сравниваем технологии моделирования методом наплавления (FDM), стереолитографии (SLA) и селективного лазерного спекания (SLS) с точки зрения главных факторов, которые следует учитывать при покупке.
Зачем восстанавливать STL-файлы
Проектировщики создают 3D-модели, используя сложные способы наложения поверхности. В результате получается математически «идеальная» фигура, состоящая из кривых и сплайнов. Перед 3D-печатью поверхность преобразуют в сетку — облако соединенных треугольных граней и вершин, повторяющих форму модели.
Преобразование сетки похоже на разбивание зеркала с последующим склеиванием всех его частей. Если сделать это неаккуратно, то модель будет содержать ошибки, такие как края, отверстия, плавающие части и пересекающиеся треугольники. Правильно выполненная 3D-модель представляет собой связанную сетку, неотличимую от оригинального проекта.
Как восстановить STL-файлы
Процесс восстановления STL-файла включает следующие шаги:
-
Автоматическое восстановление. Программа восстановления STL-файлов позволяет исправить основные ошибки, включая отверстия, отдельные оболочки и пересечения.
-
Отделение оболочек. Сетка состоит из наборов связанных треугольников. Она содержит несколько непрерывных поверхностей, которые должны соединяться вместе. Если на поверхности имеются некорректные треугольники, их нужно удалить.
-
Заполнение отверстий, соединение разрывов. Универсальные программы для восстановления поддерживают различные типы заполнения отверстий: планарное, касательное, линейное и произвольное.
-
Устранение перекрытий и пересечений. Обычно это требует пересчета целых частей сетки.
-
Фильтрация дублирующихся граней, дублирующихся вершин, инвертированных нормалей и острых узких треугольников.
-
Соединение открытых краев и оставшихся отверстий.
-
Ручное восстановление с помощью удаления и создания треугольников.
-
Перестраивание сетки для оптимизации количества треугольников.
-
Экспорт в выбранный формат сетки.
В этой статье мы расскажем о самом популярном и удобном для хранения формате — STL (StereoLiThography). Мы рекомендуем сохранять STL-файлы в двоичном формате, чтобы уменьшить их размер. В нашем руководстве по программе Meshmixer мы рассказывали о других форматах: AMF, Collada, OBJ и PLY. Они позволяют получить доступ к некоторым полезным функциям, таким как сохранение материала, цвета, визуализация, 3D-сканирование и информация о 3D-печати.
Примечание: некоторые ПО, такие как FreeCAD, SketchUp, 3D Studio Max и Rhinoceros, а также онлайн-сервисы, например Willit 3D Print, MakePrintable, 3DPrinterOS и SculptGL, также имеют функцию восстановления сетки. Клиенты Formlabs могут использовать программное обеспечение для подготовки к печати PreForm с функциями автоматического восстановления от Autodesk Netfabb и расположения 3D-моделей для импорта. Его возможностей достаточно, чтобы восстановить целостность модели, но для получения доступа к более сложным функциям вам могут понадобиться дополнительные инструменты.
Запросите бесплатный образец
Оцените качество печати Formlabs лично. Мы отправим бесплатный образец печати прямо в ваш офис.
Сравнение программ для восстановления файлов в формате STL
Эффективность | Производительность | Интерфейс | Универсальность | Перестраивание сетки | Автоисправление | Основные функции | Кому подойдет | Стоимость | |
---|---|---|---|---|---|---|---|---|---|
Meshmixer | ★★★★ | ★★★ | ★★★★ | ★★★★ | ★★★★★ | ★★★★ | Интерфейс, перестраивание сетки и автоматическое исправление | 3D-художники | Бесплатно |
Netfabb | ★★★ | ★★★ | ★★★ | ★★★★ | ★★★ | ★★★ | Заполнение и поддерживающие структуры | Инженеры | Бесплатно |
Magics | ★★★ | ★★★ | ★★★ | ★★★★★ | ★★★★ | ★★★ | Ручное восстановление | Инженеры | Платно |
Blender | ★★★★ | ★★ | ★★ | ★★★ | ★★★★ | ★ | Графические художники | Бесплатно | |
Meshlab | ★★ | ★ | ★ | ★★★★ | ★★★★★ | ★ | 3D-сканирование | Бесплатно |
Согласно нашему исследованию Meshmixer — лучший инструмент для восстановления STL-файлов. Он сочетает в себе удобный интерфейс и необходимые функции для исправления сложных ошибок сетки. Кроме того, Meshmixer абсолютно бесплатен, что делает его оптимальным вариантом.
Meshmixer также позволяет редактировать STL-файлы, моделировать целые участки и дорабатывать 3D-модели. Ознакомьтесь с нашим руководством, в котором описаны 15 советов для редактирования STL-файлов перед 3D-печатью.
Autodesk Netfabb предлагает расширенные возможности подготовки к 3D-печати и разработан для использования инженерами.
Magics — это профессиональное решение для редактирования STL-файлов. Программа предлагает огромное количество функций для восстановления STL-файлов, но часто требует доработки модели вручную. Именно поэтому Magics занимает только третье место.
Хотя Blender ориентирован на 3D-моделирование и имеет сложный интерфейс, он также предлагает множество функций редактирования и восстановления сетки.
Meshlab — это полезный обозреватель и редактор, который сочетает функции восстановления файлов, удобство и расширенные возможности перестраивания сетки.
Руководства по программному обеспечению для восстановления STL-файлов
В следующем разделе мы покажем процесс работы с пятью инструментами восстановления STL-файлов, используя сложную 3D-модель крючка для одежды, в которой есть несколько серьезных ошибок, включая отверстия, разрывы, пересечения и плавающие треугольники. Крючок необходимо объединить с крепежным цилиндром, чтобы получить единую замкнутую сетку.
Узнайте, как работать с пятью лучшими программами восстановления STL-файлов.
Содержание
3D-сканирование для реверсивного проектирования, восстановления и метрологии
Ознакомьтесь с нашим техническим докладом, чтобы узнать, как использовать 3D-сканирование для ряда процессов: проектирования, производства деталей, репликации, восстановления, реверсивного проектирования и метрологии.
Meshmixer
Meshmixer — это универсальная и удобная программа для редактирования сетки. С ее помощью можно не только оптимизировать треугольную сетку, но и перестроить целые участки, стилизовать модель и добавить характеристики и функции.
После загрузки модели в Meshmixer нажмите Analysis → Inspector (Анализ → Проверить), чтобы увидеть все ошибки сетки. В разделе Shaders (Фактура) выберите X-ray mode (Режим рентгена), чтобы подсветить ошибки. Убедитесь, что вы выбрали правильный Hole Fill Mode (Режим заполнения отверстий), прежде чем исправлять ошибки вручную. Также можно воспользоваться функцией Auto Repair All (Автовосстановление), которая в большинстве случаев позволяет исправить все ошибки.
Существует еще один способ заполнения отверстий: выделите область вокруг отверстия и нажмите Edit → Erase and Fill (F) (Редактировать → Стереть и заполнить) (F) во всплывающем меню. Нажмите Smooth MVC (Сгладить MVC) во вкладке Type (Тип), чтобы сделать непрерывное заполнение. Для создания закрытой сетки также можно нажать Edit → Make Solid (Редактировать → Добавить твердость) или Edit → Replace and Fill (Редактировать → Заменить и заполнить). Используйте скульптурную кисть RobustSmooth, чтобы полностью объединить исправленную область с моделью.
Если модель состоит из отдельных оболочек, нажмите Edit → Separate Shells (Редактировать → Отдельные оболочки) и откройте Object Browser (Обзор объектов) (Ctrl + Shift + O). Далее выделите сразу две оболочки и нажмите Boolean Union (Булевое объединение) во всплывающем окне. В открывшемся подменю можно выбрать режим Precise (Точность) или Max Quality (Максимальное качество), чтобы сохранить кривую пересечения между обоими объектами. Мы рекомендуем использовать режим Fast Approximate (Приблизительно), так как он намного быстрее и чаще всего его достаточно, чтобы исправить ошибку.
Если булевая операция завершается ошибкой, оба объекта подсвечиваются красным. Увеличьте параметр Search Depth (Глубина поиска) и уменьшите Target Edge Scale (Установленный масштаб края), чтобы исправить ошибку. Поставьте отметку Use Intersection Curves (Использовать кривые пересечения), чтобы улучшить качество. Если это не помогает, переместите одну из оболочек на несколько сотых миллиметра, нажав Edit → Transform (Редактировать → Преобразовать).
Нажмите Auto Repair All (Автовосстановление), чтобы удалить плавающие участки и соединить граничные петли. Далее нужно вручную соединить разрыв в одной из опор. Для этого понадобится функция Bridge (Объединить). Лучше всего она работает на прямых участках, поэтому разрыв между круглыми петлями нужно соединять по частям. Выберите Edit → Select (Редактировать → Выделить) и выделите треугольники, которые нужно соединить. Затем нажмите Edit → Bridge (Ctrl + B) (Редактировать → Объединить) во всплывающем меню и установите высокий параметр Refine (Уточнить) для плавного соединения. Повторно нажмите Bridge (Объединить), чтобы соединить нескольких областей по периметру разрыва, затем нажмите Inspector (Проверить) для заполнения оставшихся отверстий. Чтобы предотвратить возникновение ошибок, нажмите Edit → Remesh (Редактировать → Перестроить сетку) перед восстановлением. Это позволит увеличить и сделать однородной триангуляцию в соответствующей области.
Meshlab
Meshlab — это программа для обработки сетки моделей, созданных во время 3D-сканирования. Ее можно использовать для повторной триангуляции и расширенного восстановления. Нажмите Filters → Remeshing, Simplification and Construction → Simplification (Quadratic Edge Collapse Decimation) (Фильтры → Перестраивание сетки, упрощение и конструкция → Упрощение → Минимизация квадратичного расстояния между поверхностями) для перерасчета сетки в соответствии с установленным количеством граней. Отметка Planar Simplification (Упрощение планарной структуры) позволит сохранить плоские поверхности. Другой способ редуцирования треугольников: Filters → Cleaning and Repairing → Merge Close Vertices (Фильтры → Очистить и восстановить → Объединить близкие вершины).
Чтобы обнаружить плавающие элементы, щелкните правой кнопкой мыши на модель в окне проекта и нажмите Split in Сonnected Components (Разделить на соединенные компоненты). Отдельные оболочки можно удалить по очереди или объединить с помощью CSG Operation (Выполнить CSG) через Union operator (Оператор объединения).
С помощью Meshlab можно выполнить базовое восстановление сетки. Например, нажмите Filters → Cleaning and repairing → Select Self Intersecting Faces → Apply (Фильтры → Очистить и восстановить → Выделить самопересекающиеся грани → Применить), чтобы выделить все пересекающиеся треугольники. Далее их можно удалить, нажав Delete (Удалить). Другой эффективный способ: Filters → Cleaning and repairing → Remove Duplicated Faces (Фильтры → Очистить и восстановить → Удалить дублирующиеся грани) и Remove Duplicated Vertex (Удалить дублирующиеся вершины). Чтобы закрыть отверстия, нажмите Filters → Remeshing, Simplification and 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(Рисование по оси Z) на панели инструментов и нажмите на значок красной кисти. Щелкните левой кнопкой мыши, чтобы выделить треугольники и правой кнопкой, чтобы стереть выделение. Нажмите удалить, чтобы удалить треугольники. В Meshlab нельзя создавать треугольники, поэтому мы используем следующий способ создания поверхности: Filters → Remeshing, Simplification and Construction → Surface Reconstruction: VCG (Фильтры → Перестраивание сетки, упрощение и конструкция → Реконструкция поверхности: VCG). Установите низкое значение параметра Voxel Side (Сторона объемного элемента) и высокое значение Geodesic Weighting and Volume Laplacian Iterations (Геодезическая нагрузка и Расчет объема с оператором Лапласа), чтобы получить ровную связанную сетку. Этот способ более предпочтителен: Filters → Remeshing, Simplification and Construction → Screened Poisson Surface Reconstruction (Фильтры → Перестраивание сетки, упрощение и конструкция → Реконструкция поверхности по экранированному уравнению Пуассона). Также можно сгенерировать Alpha Complex (Альфа-комплекс), а затем Alpha Shape(Альфа-форма), которые иногда работают со значениями в правой части. Для перестраивания сетки в Meshlab используйте вокселайзер в разделе Filters → Remeshing, Simplification and Construction → Uniform Mesh Resampling (Фильтры → Перестраивание сетки, упрощение и конструкция → Унифицированное перестраивание сетки). В результате программа сгенерирует связанную сетку и предложит настройки смещения для создания полых моделей.
Примечание: сохраняйте сетки после каждого важного изменения! Meshlab не имеет функции отмены, поэтому потребуется повторный импорт исходной сетки.
Magics
Materialise Magics — это профессиональный инструмент для подготовки данных к 3D-печати, который позволяет управлять сетками вручную. Программа поддерживает следующие функции: анализ толщины стенок, создание полости, перестраивание сетки, сглаживание, булевый модификатор и вырезание, а также решение ошибок с отверстиями, краями и треугольниками.
Исправление ошибок обычно выполняется с помощью Fix Wizard (Мастер исправлений) со значком красного креста. Нажмите Go to Advised Step (Перейти к рекомендуемому действию), чтобы открыть диагностическую таблицу для проверки различных ошибок. Для больших сеток рекомендуется убрать отметки Overlapping triangles (Перекрывающиеся треугольники) и Intersecting triangles (Пересекающиеся треугольники) и сначала исправить основные ошибки. Нажмите Update (Обновить), а затем Go to Advised Step (Перейти к рекомендуемому действию). Далее выберите Automatic Fixing (Автоматическое исправление) — это устранит большинство ошибок.
Если программе не удается восстановить некорректные края и перекрывающиеся треугольники, функция Stitch (Соединение) в разделе Stitch (Соединение) в меню Fix Wizard (Мастер исправления) может помочь при достаточно высоких параметрах допуска. Чтобы исправить оставшиеся перекрывающиеся треугольники, повторно запустите Fix Wizard (Мастер исправления) или выберите Detect Overlapping (Обнаружить перекрытие) в разделе Overlaps (Перекрытия) в меню Fix Wizard (Мастер исправления). Это действие выделит все перекрытия, которые можно удалить нажатием кнопки Delete Marked (Удалить отмеченные). Аналогичным образом можно удалить пересекающиеся треугольники в разделе Triangles → Detect Intersecting (Треугольники → Обнаружить пересечение). Если после соединения разрывов остались ошибки, нажмите Create (Создать), чтобы заполнить оставшиеся разрывы вручную. Участки сетки также можно пометить вручную с помощью вкладки Marking (Маркировка) в главном меню. Плавающие участки можно удалить в разделе Noise Shells (Пространственный шум). Заполните большие неплоские отверстия вручную через параметр Freeform option (Произвольная форма) в разделе Holes (Отверстия) в меню Fix Wizard (Мастер исправления). Ruled option (Линейная функция) позволяет указать направление отверстия и используется, чтобы соединить цилиндрический разрыв в одной из тычинок цветка после создания нескольких соединяющих треугольников вручную.
Иногда Fix Wizard (Мастер исправлений) не удается соединить разные оболочки в сетке. Чтобы это исправить, щелкните правой кнопкой мыши на модель в меню Part Pages → Part List (Страницы моделей → Список моделей) на главном экране и выберите Shells to Parts (Оболочки моделей). Это действие создаст отдельные сетки, которые можно объединить с помощью Tools (Инструменты) → Boolean (Ctrl + B).
Blender
Blender — это бесплатный инструмент для создания сетки с открытым исходным кодом. Программа поддерживает 3D-моделирование, редактирование, визуализацию и анимацию. Функции восстановления STL-файлов доступны в Edit Mode (Режим редактирования) в меню Mesh (Сетка) на нижней панели инструментов. 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 by Trait → Non Manifold (Shift + Ctrl + Alt + M) (Выделить → Выделить все по признаку → Несвязанные). Далее нажмите Mesh → Faces → Make Edge/Face (F) (Сетка Грани Создать край/грань) (F) или Mesh → Faces → Fill (Alt + F) (Сетка → Грани → Заполнить) (Alt + F) для улучшения заполнения. Отдельные треугольники можно создать, щелкнув правой кнопкой мыши на край или вершину и затем нажав сочетание Shift + правая кнопка мыши и F. Во время редактирования полезно переключаться между режимами Vertex Select (Выделение вершин), Face Select (Выделение граней) и Edge Select (Выделение краев), которые обозначены тремя значками на нижней панели инструментов. Выделить конкретную область можно с помощью функции Select → Circle Select (C) (Выделить → Выделить круг) (C), которая работает как кисть. Измените размер кисти колесиком мыши или кнопками «Плюс»/«Минус» и снимите выделение, удерживая клавишу Shift. Последовательность Mesh → Faces → Beautify Faces (Shift + Alt + F) (Сетка → Грани → Улучшить грани) (Shift + Alt + F) улучшит качество сетки в выбранной области. Отдельные граничные петли можно выделить с помощью сочетания Alt + правая кнопка мыши. Выберите две открытые граничные петли и нажмите Mesh → Edges → Bridge Edge Loops (Сетка → Края → Объединить петли краев), чтобы соединить две области.
Выберите Mesh → Vertices → Separate → By loose parts (Сетка → Вершины → Разделить по частям), чтобы создать по одному объекту на оболочку в обзоре проекта. Это позволит удалить лишние объекты сетки. Отдельные оболочки можно объединять с помощью булевого модификатора. Если это не помогает, используйте модификатор Remesh и увеличьте глубину октодерева примерно до 8 или пока вы не будете довольны результатом. Для увеличения толщины стенок в определенных областях перейдите в Sculpt Mode (Скульптурный режим) и используйте кисть Inflate из нижнего меню Brush → Sculpt Tool (Кисть → Инструмент скульптуры).
Netfabb
Autodesk Netfabb — это передовой инструмент для подготовки файлов к 3D-печати. Его функция автоматического восстановления включена в программное обеспечение Formlabs Preform. Программа доступна для бесплатного использования в версиях Standard и Premium, а также платно в Ultimate.
Netfabb предлагает дополнительные возможности редактирования сетки, такие как создание полости, формирование поддерживающих структур, а также Lattice Assistant и Lattice Commanderдля разработки легких моделей. Версия Ultimate предлагает функцию оптимизации, которая позволяет редактировать модели на основе загруженных данных, используя анализ конечных элементов.
С помощью последовательности File → Import CAD File as Mesh (Файл → Импорт файла САПР в формате сетки) можно не только импортировать модели сетки в различных форматах, но и исходные файлы из Catia, Siemens NX, SolidWorks, SolidEdge, Rhinoceros, ProE, Sketchup, а также файлы STEP, IGES, SAT и Parasolid XT. Чтобы импортировать сетку, нажмите File → Add part (Файл → Добавить модель) и поставьте отметку Extended Repair (Расширенное восстановление) в диалоговом окне. Это устранит большинство ошибок в файле для 3D-печати.
Перед началом восстановления желательно выполнить анализ модели. Нажмите значок Analysis (Анализ) на панели задач или щелкните правой кнопкой мыши по модели в разделе Parts → Analyse → New Analysis → Add part (Модели → Анализ → Новый анализ → Добавить модель), чтобы быстро проверить толщину стенки. Щелкните модель правой кнопкой мыши, затем нажмите Analyse → New Measurement (Анализ → Новое измерение) или выберите значок линейки на панели задач, чтобы выполнить линейные измерения, измерить радиус, углы и толщину стенки в определенных точках.
Откройте раздел Part Repair (Восстановление моделей), щелкнув красный значок Repair (Восстановить) на панели задач. Если после импорта автоматическое восстановление было выполнено успешно, элементы Mesh is Closed (Сетка закрыта) и Mesh is Oriented (Сетка ориентирована) во вкладке Status (Статус) будут отмечены зеленым цветом. Используйте вкладку Actions (Действия), чтобы дополнительно оптимизировать файл, если существуют пересечения. В разделе Self Intersections (Самопересечения) нажмите Detect (Обнаружить), а затем выберите Trivial (По умолчанию), чтобы выполнить восстановление отверстий по умолчанию, Stitch Triangles (Соединить треугольники), Remove Double Triangles (Удалить дублирующиеся треугольники), Remove Degenerate Faces (Удалить дегенерировавшиеся грани) либо Split Off (Разделить) и далее Remove the intersections (Удалить пересечения). Функция Wrap Part Surface (Сформировать поверхность модели) работает аналогично вокселизации и оставляет связанную внешнюю оболочку. Убедитесь, что во вкладке Shells (Оболочки) нет пространственного шума.
После автоматического заполнения разрывов, скорее всего, потребуется выполнить заполнение оставшихся открытых отверстий вручную. Нажмите на значок Select Surfaces (Выделить поверхности) на главной панели инструментов и выделите отверстие, а затем нажмите Delete (Удалить). Также можно использовать Brush Selection (Выделение кисти). Нажмите Ctrl + колесо прокрутки и кнопки Плюс/Минус, чтобы изменить размер и выделение кисти. Выделите треугольники, нажмите значок Remove Selected Triangles (Удалить выделенные треугольники) и вручную добавьте недостающие треугольники, а также несколько соединяющих треугольников с помощью кнопки Add Triangles (Добавить треугольники). Функция Repair → Close all Holes (Восстановить → Закрыть все отверстия) завершит восстановление сетки. Вы можете также доработать сетку с помощью последовательности Mesh Edit → Remesh (Редактировать сетку → Перестраивание), которая пересчитывает модель на основе параметра Target Edge Length (Установленная длина края). Поставьте отметку Maintain Edge (Сохранить край), чтобы сохранить целостность модели вокруг острых краев.
Попробуйте профессиональную стереолитографическую 3D-печать
Ищете инструмент для воплощения ваших идей в реальность? Настольные стереолитографические (SLA) 3D-принтеры с высоким разрешением — это быстрые и экономичные инструменты для создания моделей с высокой детализацией и гладкой поверхностью.
Узнайте больше о 3D-принтерах SLA и оцените качество печати Formlabs на собственном опыте, запросив бесплатный образец модели, напечатанный на 3D-принтере Formlabs SLA.