Полигональное моделирование. Назначение нового модуля C3D PolyShaper, сферы его применения

Денис Стаценко, руководитель отдела продуктового маркетинга C3D Labs, представляет новую разработку компании — полигональное ядро C3D PolyShaper — и рассказывает об истории ее создания, функционале и областях применения.

C3D PolyShaper — новая разработка компании C3D Labs, полигональное ядро, представляющее собой набор инструментов для редактирования, анализа и устранения дефектов полигональных объектов.

Рассмотрим предпосылки появления этого модуля.

a2adb973ee0536b28e14b6aa37adaeec.JPG

В области инженерного ПО в основном применяется граничное представление, потому что такое представление максимально точно описывает геометрию. Но технологии проектирования и производства развиваются, появляются новые типы, форматы и источники данных. Очевидно, что граничного представления становится недостаточно для работы инженера. Пользователи нуждаются еще и в полигональном представлении.

В 2023 году команда экспертов C3D Labs начала разработку в этом направлении и достигла таких результатов, что проект был выделен в отдельный модуль, который мы презентуем.

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

Первое направление — реверс-инжиниринг. Потребность в полигональном моделировании обнаруживается, когда нужно, например, по сканированной модели восстановить исходное изделие.

c92ba30c67edf7fef0911f0dde610f61.JPG

Другое направление — это топологическая оптимизация и генеративный дизайн.

87a089c42ad3df3c325d4fd9596237ff.JPG

К примеру, оптимизированные модели сложной формы нужно преобразовывать в твердотельные для последующей обработки.

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

fd98c72bbd6d9b3d0d1847b9363d487e.JPG

Для измерения готового изделия, его технического контроля применяются контрольно-измерительные машины.

1160e00512eb3136a0e65292dc0f7b16.JPG

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

В строительной сфере полигональные объекты — это в основном импортированная геометрия.

ca91a1c0e6e3cf29958bec204b5afcf8.JPG

Если мы говорим о промышленном строительстве, то это всевозможное оборудование, техника, технологические линии. В гражданском строительстве это элементы интерьера, мебель, сантехника. С этой геометрией нужно уметь работать. Как правило, ее нужно редактировать, возможно, «лечить», исправлять, оптимизировать и использовать в своих проектах.

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

836c4e4298f7783513199b6268813d05.JPG

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

Отдельное направление — гибридное моделирование, когда одновременно в граничном представлении присутствуют и полигональные, и твердотельные объекты.

6670d7d291e19b4ba76a13ccdc4bd5f9.jpg

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

В CAM-приложениях и в приложениях по планированию и подготовке 3D-печати полигональные модели или объекты используются для того, чтобы визуализировать процесс механической обработки или 3D-печати.

db950bedf592454512ea31fc4c1bf68d.png

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

Обратимся непосредственно к модулю C3D PolyShaper.

Его функциональность можно разделить на несколько основных категорий. Первая категория — это диагностика и «лечение».

c8e890a4f2430407778498bbdb77d674.JPG

Геометрия, которая поступает к инженеру, конструктору или разработчику, может содержать дефекты. Это могут быть разные дефекты — геометрические либо топологические. Например, вырожденные треугольники, дублирующие вершины треугольников, вырезы, спайки, неманифолдности. Дефекты нужно исправлять, потому что такая геометрия негативно влияет на работу всех алгоритмов, используемых для работы с таким представлением. Поэтому полигональная геометрия и способы ее «лечения» — это очень важная часть работы и функциональности модуля C3D PolyShaper.

Другое направление — это упрощение, уточнение и ремешинг.

3c82aa477708027610022b1a4609fcde.JPG

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

Обратное направление — это уточнение, когда нужно, наоборот, увеличить количество треугольников в какой-либо выбранной области модели.

bd204504381ed9662ff13c7aa612dea3.JPG

Это необходимо, например, для расчетных систем — в случае, когда нужно провести более точный расчет на локальном участке.

Ремешинг способен улучшать модель целиком.

2e441a093d0791440618059c143f8e7f.JPG

Он делает все треугольники максимально равносторонними, а это положительно влияет на работу всех алгоритмов.

Еще одно направление работы в модуле — это редактирование.

43d0ad97c5352ae4ae114b30ecb0e138.JPG

Получив геометрию, «вылечив» ее, возникает потребность в ее изменении. Для этого можно применять привычные булевы операции, сечение геометрии, обрезку геометрии габаритным кубом либо удаление треугольников.

Заключительный блок функциональности, но не менее важный, чем остальные, — это анализ.

8610b5d767c8be38893ea53c9450eede.JPG

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

Другое направление анализа в C3D PolyShaper — это реверс-инжиниринг — преобразование полигонального объекта в твердое тело. Для решения этой задачи применяется вписывание аналитических поверхностей методом наименьших квадратов. Можно выбрать какую-либо область в сканированной геометрии и тип поверхности — цилиндр, конус, плоскость, сфера, тор и т. д. После чего преобразовать эту область в оболочку или в поверхность заданной формы.

Такой подход применяется для конструкторских моделей, получаемых, например, методом обработки резанием, то есть таких, где имеются эти плоскости и цилиндры. Но есть модели более сложной формы, полученные, например, методом топологической оптимизации либо литьем, как, например, фигурка на иллюстрации. Чтобы преобразовать подобную полигональную модель в твердотельную, подходит функция покрытия ее оболочкой на основе сети NURBS-патчей.

Анализ полигональных моделей включает и сегментацию сетки. Для чего она нужна? Полигональной модели можно придать ту же топологию, что и модели в граничном представлении, только в данном случае гранями будет набор связанной группы фасетов, а ребра составлены из последовательности ребер сетки. Этим областям можно присвоить атрибут. Это может быть число, вектор, поверхность или произвольная структура.

В последнем обновлении C3D Toolkit уже появилась возможность загрузить модуль C3D PolyShaper, протестировать его функциональность и вернуться в C3D Labs с обратной связью. Мнение и оценка пользователей очень важны — ориентируясь на них, мы планируем развивать и совершенствовать новый модуль.

Чтобы воспользоваться ранним доступом к C3D PolyShaper, пожалуйста,  свяжитесь с нами.

a854b5f922018f2dccbd86ae39e7e1eb.pngДенис Стаценко

Руководитель отдела продуктового маркетинга
C3D Labs

© Habrahabr.ru