Решение «острых» проблем геометрического моделирования
Мы продолжаем знакомить читателей с функциональными возможностями системы T-FLEX CAD российской компании «Топ Системы». Одним из самых важных инструментов, без которых невозможно полноценное моделирование ни в одной системе, является операция сглаживания (скругления). Типовая задача данной операции создать новую поверхность плавного перехода с заданными свойствами от одной поверхности детали к другой. В зависимости от того, насколько успешно решается эта типовая задача, имеющая большое количество частных случаев, можно судить о мощности данного инструмента в той или иной системе.
В T-FLEX CAD существует три инструмента для решения различных задач сглаживания. Пользователям предыдущих версий хорошо знакома операция «Сглаживание ребер», а в версии 8.0 появились две новые операции «Сглаживание граней» и «Сглаживание трех граней». Все эти операции сглаживания не являются взаимоисключающими обладая своими плюсами и минусами, они удачно дополняют друг друга. Сегодня реализованы практически все функции Parasolid по сглаживанию, а именно это популярное геометрическое ядро лежит в основе системы T-FLEX CAD 3D.
Сглаживание ребер
При твердотельном моделировании очень часто бывает необходимо построить скругление вместо острого ребра модели (под острым ребром понимается место негладкого сопряжения двух поверхностей детали). Большое количество таких типовых задач решается при помощи операции сглаживания ребер, позволяющей строить поверхность гладкого перехода от одной грани к другой. Сглаживаемые грани обязательно должны пересекаться друг с другом, то есть иметь общее ребро, которое выбирается в качестве основы для сглаживания. Форма поверхности перехода может быть различной: скругление постоянным или переменным радиусом, эллиптическое сглаживание, фаска.
Следует отметить, что исходным объектом для операции сглаживания ребер в T-FLEX CAD может являться не только ребро (набор ребер), но и грань, цикл или тело. Это позволяет, во-первых, сократить время на подготовку операции, поскольку при выборе такого объекта за один раз выбираются все ребра, принадлежащие ему. Во-вторых, не менее важное преимущество заключается в способе хранения исходной информации для сглаживания. Так, если исходным объектом для операции является, например, тело, то при изменении топологии этого тела (изменении количества ребер и граней тела) операция будет пересчитана без потерь для нового набора ребер. Вообще говоря, изменяющаяся топология довольно частое явление в параметрических системах. Способность системы решать возникающие при этом проблемы значительно расширяет области ее применения. Дополнительный плюс системе в этом отношении придает функция продолжения сглаживания на соседние ребра, примыкающие по касательной.
Как уже отмечалось, успех применения инструмента сглаживания в значительной мере зависит от возможности повлиять на результат при обработке большого количество частных случаев. Рассмотрим ниже несколько характерных примеров.
При скруглении группы ребер, сходящихся в одной вершине, можно задавать некоторый отступ от этой вершины. Отступ позволяет задать зону, в которой осуществляется плавный переход одной поверхности сглаживания в другую.
Бывает, что в вершине сходятся три ребра разной выпуклости. Если сглаживать два ребра одной выпуклости, можно воспользоваться дополнительной возможностью сглаживания вершины, в которой сходятся указанные ребра. Для этого требуется дополнительно включить в операцию и саму вершину.
При схождении двух ребер разной выпуклости по касательной в вершине с тремя или более гранями возможно использование специальной функции обработки вершины создание Y?формы сглаживания. Данный способ обработки вершины позволяет создавать в переходной зоне поверхности с более низким искривлением по сравнению с обычным сглаживанием.
На практике конструктор постоянно сталкивается с ситуациями, когда поверхность сглаживания вступает в контакт с элементами геометрии тела, не являющимися гранями, которые образуют скругляемое ребро. В этом случае наступает cитуация, когда система использует специальные опции обработки таких перекрытий. Существует три типа перекрытий:
• гладкие перекрытия поверхность скругления гладко сопрягается с другим скруглением на обрабатываемом теле. В зоне сопряжения поверхность скругления деформируется для обеспечения одновременного касания к исходной грани и к сопрягаемой поверхности;
• на острое ребро при построении скругления остается неизменным ребро, на которое «наползает» поверхность скругления при построении сглаживания. Поверхность скругления в зоне соприкосновения с ребром формируется качением шарика, касательно к одной исходной грани и с опорой на указанное ребро;
• вырез скругление строится так, что игнорируется тот элемент, на который «наползает» поверхность сглаживания. Деформации поверхности сглаживания не происходит, а поверхности пересекаемого элемента обрезаются или достраиваются.
Первоначально система предлагает свои решения: прежде всего она пробует выполнить плавное сопряжение, затем скругление с сохранением острых ребер и, наконец, вырез. Пользователь может контролировать поведение системы в случае появления перекрытия. Контроль над опциями сопряжения предназначается для тех случаев, когда система выдает неподходящие результаты.
Если поверхность скругления полностью перекрывает другие топологические объекты, возможны два варианта завершения операции. Система может либо сохранить все топологические элементы, выполняя обрезку или достраивая необходимые участки поверхностей, либо оставить только поверхность сглаживания и удалить все перекрываемые объекты.
Немаловажное качество любого инструмента удобство работы. В системе T-FLEX CAD в подготовке операции сглаживания используются специальные вспомогательные элементы манипуляторы, позволяющие с помощью курсора быстро изменять основные свойства операции и при этом визуально оценивать примерный вид будущей поверхности. Для точной оценки результата можно воспользоваться предварительным просмотром.
С манипуляторами взаимодействует окно свойств операции. Изменения численных параметров, внесенные манипулятором, мгновенно находят отражение в соответствующих полях диалога, а обратная связь позволяет корректировать значения, приблизительно заданные манипулятором.
Сглаживание граней
Сглаживание граней дает возможность строить поверхность перехода между двумя наборами гладко сопряженных граней, в общем случае не имеющих сопряжения. Результат может быть получен в виде твердого или отдельного листового тела. Контроль поверхности сглаживания осуществляется на нескольких уровнях.
Во-первых, определяются условия для расчета плоскостей поперечного сечения поверхности сглаживания. В отличие от реберного сглаживания, при котором плоскости поперечного сечения всегда рассчитываются перпендикулярно сглаживаемому ребру, в сглаживании граней вспомогательную роль для расчета положения плоскостей поперечного сечения выполняет специальная направляющая. Пользователь может выбрать один из трех алгоритмов расчета положения плоскостей поперечного сечения. На этом этапе определяется тип сглаживания. При сферическом типе сглаживания система ориентирует поперечные сечения перпендикулярно сглаживаемым граням. При дисковом сглаживании каждое поперечное сечение будет ориентировано перпендикулярно направляющей. Третий тип изопараметрический не предназначен для общего использования, а имеет специальное назначение скругление между полкой и лопаткой турбины. Для такого рода деталей скругление изопараметрического типа способно создать наилучший результат. При подобном скруглении плоскости поперечного сечения поверхности сглаживания ориентируются по изопараметрическим линиям поверхности лопатки.
Во-вторых, выбирается алгоритм для расчета линий контакта (под линиями контакта понимается место соединения поверхности сглаживания со стенками). Пользователь может выбрать один из трех законов изменения поверхности сглаживания по длине. Самый простой случай сглаживание постоянной формы. При такой установке каждое поперечное сечение будет рассчитано по одному и тому же заданному закону построения формы (например, скругление заданным радиусом). Возможно сглаживание переменной формы и сглаживание с постоянной шириной хорды сечения. Последний режим может быть особенно полезен, когда угол между сглаживаемыми гранями изменяется по длине сглаживания и требуется задать приблизительно постоянное количество материала, затраченного на каждое поперечное сечение для сглаживания.
В-третьих, задается закон построения формы для каждого поперечного сечения поверхности. От этого будет зависеть, что именно будет построено в каждом поперечном сечении между рассчитанными точками контакта. В частности, может быть установлена одна из форм конического сечения, причем поперечное сечение будет представлять одну из форм сечения конуса плоскостью дугу окружности, эллипс, параболу или гиперболу. Можно также задать фаску или непрерывное по кривизне сечение: в первом случае рассчитанные точки контакта в каждом поперечном сечении соединяются прямой линией, а во втором обеспечивается непрерывность по второй производной (по кривизне) в зоне перехода от стенки к поверхности сглаживания. Степенью искривления поверхности сглаживания при этом можно управлять.
Помимо основных настроек в распоряжении пользователя имеется большое количество специальных возможностей, чтобы адаптировать полученный результат до оптимального решения в зависимости от конкретных геометрических условий и поставленных задач.
Иногда стенки сглаживаемых граней могут содержать включения топологии (вырезы), пересекающие линию контакта поверхности сглаживания. Специальная опция «Вырез» позволяет распознать эти включения и продолжить сглаживание в стесненной зоне, обрезая поверхность сглаживания поверхностями прилегающих к стенкам граней. Без использования данной опции сглаживание будет остановлено перед зоной выреза там, где линия контакта была прервана.
Операцию сглаживания граней можно сохранить в структуре модели в различных топологических вариантах, что зависит от вида решаемых задач и от сложности их решения. В итоге поверхность сглаживания может быть получена в виде отдельного листового тела либо объединена с исходными стенками в единое твердое или листовое тело. В дополнение к этому пользователь может установить способ обрезки краев поверхности сглаживания. Возможен выбор обрезки по самой длинной или короткой стенке. При одновременной обрезке по двум стенкам боковое ребро поверхности сглаживания формируется таким образом, чтобы обеспечить касание к боковым ребрам обрезающих стенок.
Иногда для выбранного набора стенок может существовать несколько поверхностей сглаживания можно оставить их все или указать одно конкретное решение. При этом система выбирает решение, наиболее близкое к выбранному узлу.
В тех случаях, когда линия контакта поверхности сглаживания на каком-нибудь участке оказывается за пределами исходных граней (правой или левой стенки), система может скорректировать поверхность сглаживания. Всего может быть два варианта когда радиус поверхности настолько велик, что она выходит за пределы одной или двух стенок, и когда поверхность сглаживания настолько мала, что не дотягивается до исходной грани. В зависимости от решаемой ситуации пользователь может задавать граничные условия разного типа. В качестве граничного условия выступает ребро стенки, до которого необходимо сместить линию контакта поверхности сглаживания. При коррекции поверхности сглаживания система обеспечивает касание к граням стенки в зоне ограничения. При задании таких граничных условий пользователь может дополнительно устанавливать вариант расчета противоположного края поверхности. Так, можно установить настройки, которые приведут к симметричным изменениям линии контакта на противоположном крае поверхности сглаживания, что позволяет задавать закон изменения радиуса поверхности сглаживания при помощи ограничивающего ребра. Специальный вид граничного условия «Обрезка» позволяет при выходе расчетной линии контакта за пределы стенки опереть каждое поперечное сечение поверхности сглаживания на ограничивающее ребро стенки. При этом касание со стенкой не обеспечивается, но заданный закон формы (например, заданный радиус) поверхности остается неизменным.
Сглаживание трех граней
Операция сглаживания трех граней позволяет строить поверхность перехода от одного набора гладко сопряженных граней к другому. При этом поверхность сглаживания будет построена по касательной к третьему набору граней. Наиболее часто встречающаяся типовая задача, решаемая при помощи данной операции, формирование гладкой поверхности перехода на торцевой стороне плоской детали. Наборы сглаживаемых граней не обязательно должны иметь общие ребра, то есть пересекаться. Сглаживание можно производить как над твердыми телами, так и над листовыми. Данную операцию можно рассматривать как вынесенный в отдельную команду частный случай операции сглаживания граней.
Сглаживание трех граней всегда производится по дисковому типу. Плоскости поперечного сечения набор плоскостей, которые строятся перпендикулярно направляющей и содержат три точки контакта в местах касания поверхности сглаживания со стенками. Форма поперечного сечения поверхности сглаживания всегда рассчитывается в виде дуги окружности. Плоскость поперечного сечения пересекает три стенки. Дуга окружности в плоскости сечения вписывается таким образом, чтобы обеспечить касание к каждой стенке.
При этом виде сглаживания результат всегда будет представлен в виде твердого тела. В случае сглаживания листовых тел система самостоятельно анализирует результат с целью определить возможность создания одного общего тела. Если объединение результата в единое тело невозможно, система возвращает набор отдельных листовых тел. Это позволяет использовать трехгранное сглаживание и в твердотельном, и в поверхностном моделировании.
* * *
В данной статье мы подробно рассмотрели только один инструмент из широкого набора возможностей системы T-FLEX CAD, которой в течение последнего времени ежегодно присваивается звание лучшей отечественной САПР для трехмерного моделирования. Надеемся, что данная публикация не только поможет в работе опытным пользователям, но и создаст дополнительный стимул для тех, кто пока еще собирается на собственных задачах опробовать эту САПР.