Функционал C3D Toolkit регулярно пополняется не только новыми методами построения тел, но и доработками прежних алгоритмов, расширяя их возможности. Об одной из таких доработок мы расскажем в данной заметке. Речь в ней пойдет о штамповке листовых тел в геометрическом ядре C3D Modeler.
Метод Stamp() хорошо знаком нашим пользователям, активно работающим с листовыми телами. Штамповка в нем строится по одному замкнутому или незамкнутому контуру, лежащему на плоской листовой грани. Замкнутый эскиз может лежать на листовой грани полностью или частично, а незамкнутый должен начинаться и заканчиваться за пределами грани. При этом штамповка подрезается границами листовой грани, на которой располагается эскиз.
Подробнее изучить параметры данного метода можно на странице онлайн-документации:
https://c3d.ascon.ru/doc/math/group___sheet___metal___modeling.html
Раннее в C3D Toolkit уже были реализованы некоторые виды штамповки: открытая и закрытая, буртик, жалюзи.
Все они создают определенные формы, заданные параметрами операции. Для построения штамповки, содержащей, например, в качестве дна произвольную неплоскую поверхность, потребовалась разработка нового метода, снимающего данное ограничение и позволяющее создавать штамповку телом произвольной формы — пуансоном.
Результатом работы стал метод StampWithToolSolid(). Штамповка в нем строится на основе произвольного тела-инструмента и заданной плоской листовой грани. Созданная штамповка подрезается границами листовой грани, которую пересекает тело. Во входных параметрах метода необходимо не только передать оболочку, которая будет использована в качестве инструмента, но и определить, является ли эта оболочка пуансоном или матрицей (флаг punch). Кроме этого, пользователь может указать величины радиуса скругления основания и толщину формованной части. Результаты выполнения алгоритма показаны ниже.
Метод StampWithToolSolid() находится в заголовочном файле action_sheet.h.
Подробнее о нем можно прочитать на странице онлайн-документации:
https://c3d.ascon.ru/doc/math/group___sheet___metal___modeling.html
Автор:
Сергей Бирюков
Продакт-менеджер C3D Toolkit