25.11.2019 • C3D Modeler

Что нового в C3D Modeler: штамповка телом произвольной формы

Функционал 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
Автор:
Сергей Бирюков
Продакт-менеджер C3D Toolkit

Еще больше полезных материалов, кейсов и учебных материалов в нашей рассылке.
Присоединяйтесь.

Поделиться материалом