Новости и мероприятия
Подпишитесь на рассылку, чтобы узнавать наши новости первыми
Как инженер-конструктор может почувствовать силу геометрического ядра? Он работает в своей CAD-системе и не видит ее математическую «начинку». Сегодня покажем пример, как пользователь КОМПАС-3D обратился напрямую к математикам и заказал доработку поверхности, необходимую для проектирования носовой части фюзеляжа самолета-амфибии.
Вот как было поставлено техническое задание. В эфире — главный конструктор НПО «АэроВолга» Дмитрий Суслаков.
Виталий Шапошников, математик-программист C3D Labs, дочерней компании АСКОН, разрабатывающей геометрическое ядро:
Если переводить на язык геометрического моделирования, то предложение «АэроВолги» касалось доработки поверхности по сечениям MbLoftedSurface, а именно построения поверхностей, где одно или оба концевых сечения представлены точками с возможностью ориентировать нормаль в точечных сечениях, причем в этих областях необходимо обеспечить гладкость поверхности. Такую опцию при построении поверхности по сечениям мы назвали «Купол».
Поскольку поверхность MbLoftedSurface между сечениями изменяется по закону составного сплайна Эрмита, то для построения купола на торце нужно задать вектор производной v1 на конце сплайна ортогонально выбранной нормали. Нормаль определяется как ось Oz в локальной системе координат точечного сечения. Для определения вектора v1 вводятся точки на соседних кривых p1, p2 и центр тяжести сечения с (рис. 1). Вектор производной можно записать как:
v1 = p1p2 + st ,
где t — единичный вектор из центра сечения с в p1, s — некоторый коэффициент.
Коэффициент s находится из условия равенства проекции вектора p1p2 и st на выбранную нормаль n:
-p1p2⋅n = st ⋅ n .
Для управления плавностью перехода вводится коэффициент k и связывается с расстоянием между точками на соседних сечениях. С управлением плавности формула для направления на торце выглядит:
v1 = k p1p2 − k | p1p2 ⋅ n | t . |
t ⋅ n |
Результат варьирования коэффициента плавности показан на рисунке 2.
Производные v1 рассчитываются простой заменой p1, p2 на p'1, p'2 и p"1, p"2 соответственно для получения v'1, v"1 с учетом p1p2 = p2 − p1, где p'1, p'2, p"1, p"2 — производные соседних кривых в выбранных точках. С учетом выбранного направления v1 и его производных гладкость поверхности вблизи вершины купола представлена на рисунке 3.
Граничное условие «Купол» возможно также применять для построения тела, где промежуточные сечения представлены составными контурами (см. рис. 4). Для этого необходимо определить вектор t в центре тяжести сечения c. Однако, в общем случае задание направления может быть произвольным.
При значительном отклонении вектора t от его базового определения поведение результирующего тела может качественно изменится — от плавного перехода в точечном сечении до заостренного пика (рис. 5). При этом условие определения нормали на торце будет сохраняться.
В структуре граничных условий для поверхности по семейству кривых присутствуют три поля, отвечающие за построение куполообразной поверхности:
Задание полей для построения поверхности по сечениям с установкой нормали на торце осуществляется с помощью специального конструктора MbLoftedSurface.
Предложенный инструмент является новым решением, позволяющим инженеру моделировать плавные обводы изделия исходя из дизайнерских, аэрогидродинамических и прочих конструктивных требований.
Виталий Булгаков, руководитель отдела аналитики КОМПАС-3D:
C3D Labs разрабатывает инструменты для создания инженерного программного обеспечения, в том числе геометрическое ядро — ключевой программный компонент трехмерных САПР. Компания основана в 2012 году на базе математического подразделения АСКОН, работавшего над ядром с 1995 года, и сегодня входит в АСКОН как дочерняя компания. Резидент ИТ-кластера инновационного центра «Сколково».
Подробнее на сайте компании https://c3dlabs.com
Задача, поставленная «АэроВолгой», как это часто бывает, разделилась на две части — ту, что в ядре и обеспечивает создание геометрии, и ту, что позволяет всем этим пользоваться конструктору, работающему в КОМПАС.
Чаще параллельно делается функциональность ядра и ведется проработка, как это будет реализовано в КОМПАС — отдельной операцией или добавлено в виде параметров к уже существующей? Как сделать так, чтобы было удобно пользоваться, не утяжелять чрезмерно интерфейс? В результате новые возможности было решено добавить, как дополнительные параметры операции «Элемент по сечениям».
В какой-то момент приходит сообщение «В ядре функциональность готова!». Теперь начинается задуманная реализация в КОМПАС, а далее можно испытывать сделанное. В данном случае делалась «доводка» для получения гладкой геометрии без резких перепадов кривизны, что можно наблюдать на иллюстрации с «зеброй». Также проверялось влияние на другие способы построения операции «Элемент по сечениям».
В экспериментальной сборке КОМПАС функциональность демонстрировалась экспертам из авиационной отрасли, после чего прошли финальные доработки по управлению формой (коэффициент), и теперь мы можем представить сделанное всем, кто начнет работу в КОМПАС-3D v19».