Реверс-инжиниринг — это восстановление или копирование уже существующего изделия. Источником данных для такой работы, как правило, является сканированная модель в полигональном представлении. О работе с такими моделями и пойдет речь в этой статье.
В КОМПАС-3D v20 и более ранних версиях работа с полигональным представлением несла определенные трудности для пользователей. Причина в том, что файлы полигональных форматов безусловно преобразовывались в точную геометрию — твердое тело или поверхность, в которой каждый треугольник был представлен отдельной гранью. Если в исходном STL-файле было множество треугольников, то результирующее тело получалось очень «тяжелым», с ним было очень сложно работать. Пришло понимание, что представление данных из STL в виде тела — это не оптимальный подход.
В КОМПАС-3D v21 появился «Полигональный объект». Это объект модели, который используется для представления в КОМПАС-3D исходных триангуляционных данных. В основе этого представления лежит соответствующий геометрическому ядру C3D Modeler объект — MbMesh. Представление триангуляционных данных в виде полигональных объектов позволило уменьшить объем файла модели и ускорить работу с ней.
В КОМПАС-3D полигональные объекты создаются при импорте моделей из файлов форматов STL, OBJ, JT, в результате работы приложения APM FEM или преобразованием тел или поверхностей специальной командой.
Разработчики КОМПАС-3D провели замеры скорости открытия STL в версиях v20 и v21. Результаты можно увидеть в таблице ниже.
Модель | Параметры | v20 | v21 |
Moto frame.stl 3D-скан рамы мотоцикла (тяжелый скан - 2 млн. треугольников) | Время импорта, с | 2791,2 | 12,4 |
Размер файла, Мбайт | 1622,8 | 69,5 | |
Потребление памяти приложением, Мбайт | 27421 | 956 | |
Скорость отклика, мс | 2000 | 1,5 | |
Корпус насоса.stl (скан средней сложности - 0,3 млн. треугольников) | Время импорта, с | 116,796 | 13,7 |
Размер файла, Мбайт | 259,7 | 9,1 | |
Потребление памяти приложением, Мбайт | 7000 | 541 | |
Скорость отклика, мс | 250 | 1,5 |
С появлением «Полигонального объекта» стали нужны и команды по работе с ним. В КОМПАС-3D v22 пользователям стало доступно построение плоских сечений полигонального объекта. Кривая пересечения, полученная таким образом, представляет собой набор контуров, каждый из которых является ломаной линией, состоящей из отдельных прямолинейных участков. В некоторых случаях полученные контуры можно использовать в формообразующих операциях, но чаще они служат опорными объектами для построения эскизов, на основе которых можно строить твердотельные модели.
Поверхность полигонального объекта, полученного с помощью 3D-сканирования, может содержать большое количество неровностей, это могут быть погрешности как производства, так и сканирования. Такой объект нельзя эффективно использовать при построении твердотельной модели. Для создания поверхностей, подходящих для дальнейшей работы, производится подгонка.
«Подгонка поверхности» — новая функция, которая появилась в КОМПАС-3D v 22. Она представляет собой аппроксимацию участков поверхности полигонального объекта поверхностями предопределенных типов (плоской, цилиндрической, сферической и др.). В результате подгонки в модели строится новая поверхность, вписанная в заданный участок полигонального объекта с максимальным приближением к вершинам треугольников.
В дальнейшем с помощью полученных поверхностей можно создавать плоскости для построения сечений полигонального объекта, локальные системы координат и другие объекты твердотельной модели, выполнять измерения и т. д. Кроме того, на базе таких поверхностей можно построить целое тело или поверхность, близкую по форме к исходному сканированному изделию.
На рисунках показаны исходная поверхность полигонального объекта и поверхность, полученная в результате подгонки.
Разработчики КОМПАС-3D планируют развитие функциональности подгонки поверхности с помощью новых функций, появившихся в C3D. В будущих версиях появятся дополнительные параметры, которые пользователь сможет настраивать. Например, задать ограничения при создании поверхности или скорректировать характерные размеры новой геометрии до требуемых значений. Сейчас выбор типа поверхности происходит вручную, в будущем процесс будет автоматизирован. Будут добавлены параметры сплайновой поверхности для настройки ее гладкости и точности.
Пожелаем удачи разработчикам КОМПАС-3D в реализации их планов! C3D Labs со своей стороны продолжает развитие функциональности по работе с полигональным представлением: уже доступна булева операция над полигональными объектами, проецирование полигонального объекта и несколько других важных операций. На недавнем вебинаре по полигональному моделированию математики C3D Labs показали, что еще планируется сделать в ближайшее время. В 2024 году в C3D появится множество новых функций, которые разработчики САПР смогут использовать для развития своих продуктов.
Автор:
Денис Стаценко
Руководитель отдела продуктового маркетинга
C3D Labs