Главная Программное обеспечение Статьи Прайс-листы Инициативы О компании
Продукты и решения КОМПАС Опыт успешной автоматизации Обучение персонала — ключ к успешному внедрению Управление электронным документооборотом Гемма-3D

Моделирование сложных поверхностей в системе ГеММа-3D

Андрей Вермель

Опубликовано: САПР и Графика, N 12, 1998


В современных конструкторских системах для моделирования геометрического облика проектируемых изделий широко применяется твердотельное моделирование. Базовый набор используемых геометрических объектов составляют типовые элементы формы — призма, цилиндр, конус, сфера, и т. д. Наряду с ними могут использоваться определенные виды кинематических поверхностей и поверхностей вращения. Наиболее серьезные CAD системы предоставляют существенно расширенный набор средств. Прежде всего они включают процедуры моделирования поверхностей различного типа, которые или используются непосредственно, или, после сопряжения, составляют твердые тела. Рассмотрим более подробно основные "усложненные" способы моделирования поверхностей.

Обобщением поверхностей вращения являются поверхности, известные как "swung surfaces". Кроме образующей и оси вращения в плоскости, перпендикулярной к оси, некоторая кривая — основание поверхности. При вращении образующей вокруг оси, один из ее концов перемещается по основанию. Сама образующая при этом может при необходимости масштабироваться.

Обобщением кинематической поверхности являются поверхности, известные как "swept surfaces". Образующая в ходе движения вдоль направляющей вращается и масштабируется. Также могут быть заданы граничные условия, для соблюдения которых образующая может надлежащим образом модифицироваться.

Ряд способов основывается на задании одного или двух семейств "каркасных кривых", на которые "ложится" строящаяся поверхность.

Поверхности на основе одного семейства каркасных кривых известны как "skinned surfaces" или "lofted surfaces". Они были созданы для нужд кораблестроения — для описания формы корпуса корабля использовали набор шаблонов. Для лучшего описания поведения поверхности между заданными каркасными кривыми иногда также используется дополнительная направляющая кривая.

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

Весь описанный набор средств поверхностного моделирования реализован только в очень небольшом количестве CAD систем. При этом, как правило, в них реализуют в полном объеме только те способы построения поверхности, которые лучше всего подходят к специализации системы. Также качество создаваемых поверхностей может сильно изменяться от системы к системе.

В системе ГеММа-3D, которая первоначально создавалась для использования в производстве аэродинамических моделей самолетов в Центральном Аэрогидродинамическом Институте, моделирование сложных поверхностей традиционно является предметом постоянных исследований и совершенствования. По мнению многих пользователей системы, именно эта область является одной из ее сильных сторон.

gemma4_01.jpg (47301 bytes)

Рис. 1. Возможности поверхностного моделирования в системе ГеММа-3D.

Средства построения поверхностей, используемые в системе ГеММа-3D

Система поддерживает большинство известных способов построения поверхностей (Рис 1). Рассмотрим их последовательно.

На основе двух опорных кривых можно построить линейчатую поверхность, образующуюся путем соединения принадлежащих им пар соответствующих точек прямолинейными отрезками. Пользователю предоставляются два варианта задания этого соответствия, в зависимости от выбора которых получаются различные формы поверхности. В первом варианте соответствующие точки система выбирает так, что они делят кривые в одинаковых отношениях по длине — параметризация длиной дуги. Это дает хорошие результаты в большинстве случаев и требует минимума усилий со стороны конструктора. Во втором варианте соответствие задается имеющейся параметризацией кривых, то есть их исходным разбиением на сегменты. При этом, управляя сегментацией кривых (например, введением дополнительных точек соответствия и т. п.), конструктор имеет полный контроль над созданием поверхности.

Для построения поверхности вращения нужно указать образующую кривую и ось вращения.

Построение кинематической поверхности требует задания двух кривых — направляющей и образующей. Допускаются два варианта перемещения образующей вдоль направляющей. В первом случае она перемещается с сохранением ориентации. Во втором случае образующая при движении занимает положение в плоскости перпендикулярной образующей.

Система может строить разнообразные сопряжения между поверхностями. Между двумя поверхностями строятся радиусные сопряжения типа "катящийся шар" — "rolling ball fillet". Радиус шара может быть постоянным или меняться по заданному закону. Такое же сопряжение можно выполнять для поверхности и заданной в пространстве кривой — данная операция именуется "подсечкой". "Подсечка" полезна как для выполнения проектировочных построений (например, кромок смыкания литейных форм), так и для задания зон обработки фрезой большого радиуса. Если заданы две поверхности и кривые на них, то можно построить соединяющую их поверхность, гладко сопрягающуюся с исходными поверхностями по этим кривым, образующим ее границы.

Кроме рассмотренных универсальных средств, в системе ГеММа-3D присутствует значительное количество специализированных средств моделирования поверхностей для проведения вспомогательных технологических построений. Некоторые из них являются уникальными и не имеют аналогов в других CAD системах.

Для любой поверхности в системе можно построить эквидистантную к ней поверхность. Эта возможность позволяет использовать одну и ту же геометрическую модель поверхности изделия для построения пуансона и матрицы при разработке штампа или пресс-формы.

Построение поверхностей разъема литейных форм и литейных уклонов в системе существенно упрощено. Для построения поверхности разъема формы достаточно задать линию разъема, которую система может строить автоматически, и желаемый угол наклона стенок. Аналогичным образом по заданному контуру строятся и литейные уклоны.

Система может строить поверхность, ометаемую фрезой с произвольной геометрией рабочей части (тор, бочкообразная, конус со скруглением, и т.д.) в процессе движения. Данная возможность бывает весьма полезной при построении программ обработки для ЧПУ, даже не смотря на наличие в системе операции обработки оболочки (объединения многих поверхностей).

Чрезвычайно мощным средством моделирования сложных поверхностей в системе ГеММа-3D является создание поверхностей на основе двух семейств каркасных кривых. Эта возможность присутствует в системе с самых первых ее версий, постоянно развивается и совершенствуется.

Построение поверхности на основе двух семейств каркасных кривых

Подготовка каркаса для построения поверхности по двум семействам каркасных линий в любой CAD/CAM системе является обычно достаточно трудоемкой операцией. Многие системы предъявляют к каркасным кривым для выполнения данного построения строгие требования, удовлетворить которым бывает непросто. Требуется как правило, чтобы каркасные кривые каждого семейства, чаще всего задаваемые в виде Безье или B-сплайнов, имели одинаковое количество контрольных точек. Это связано с тем, что в таком случае удобно копировать контрольные точки кривых в прямоугольную матрицу контрольных точек Безье или B-сплайн поверхности без изменения. Параметрические линии поверхности будут соединять точки каркасных кривых соответствующие одному значению параметра. Поэтому конструктор перед построением поверхности должен произвести перестроение каркасных кривых так, чтобы выровнять количество их контрольных точек, ибо в противном случае система просто откажется выполнять построение. Также конструктор должен распределить контрольные точки вдоль кривых так, чтобы обеспечить требуемую форму поверхности.

В системе ГеММа-3D удалось существенно упростить подготовку каркасных кривых. Пожалуй, первое что бросается в глаза новому пользователя при знакомстве с построением поверхностей — специальная подготовка каркасных кривых как правило не требуется. Все необходимые преобразования и выравнивание параметризации выполняются автоматически. Например, при проектировании крыла аэродинамической модели самолета, рассчитанные на профилях точки можно передавать процедуре построения поверхности сразу после аппроксимации их кривыми (разумеется начальные и конечные точки профилей следует расположить на общих кромках поверхности). Система откажется строить поверхность по заданному каркасу, только если два семейства каркасных кривых не будут образовывать "клетчатую" структуру, т.е. если, например, часть линий одного семейства не будут пересекать все линии другого семейства. Это может произойти только в результате грубой ошибки в задании каркаса.

Система предусматривает два варианта параметризации получаемых поверхностей. Первый вариант предполагает автоматическую параметризацию по относительной длине дуги каркасных кривых. Он дает хорошие результаты при построении поверхностей в большинстве промышленных примеров. Во втором варианте сохраняется исходная параметризация каркасных кривых. При этом конструктор получает возможность самостоятельно задать соответствие между точками каркасных кривых путем введения дополнительных контрольных точек. При определенном повышении трудоемкости, данный подход обеспечивает максимальную гибкость в формировании строящейся поверхности.

Если пользователь задает только одно семейство каркасных кривых, то второе семейство система может достроить автоматически с использованием одного из двух указанных вариантов параметризации.

Важным фактором является качество получаемой поверхности. Поверхность должна иметь хорошее глобальное поведение, то есть отслеживать положение не только ближайших каркасных кривых, но и более отдаленных. Также поверхность не должна иметь посторонних волн (осцилляций). Конечно, в значительной степени качество поверхности определяется тем, насколько хорошо конструктор задал каркасные кривые. Бывает, что дефекты поверхности заложены в форме каркасных кривых, или в заданной пользователем параметризации. Многое также зависит от реализации используемой процедуры построения поверхности. С точки зрения качества поверхностей идеальной процедуры построения поверхности, по-видимому, не существует. Во-первых, само понятие качества поверхности в известной степени субъективно. Во-вторых, практически для любого алгоритма построения поверхности находится пример, на котором он работает не идеально. Тем не менее по качеству создаваемых поверхностей всегда можно судить о классе системы.

В настоящий момент в системе ГеММа-3D реализовано два различных способа построения поверхности по двум семействам каркасных кривых. Первый способ, называемый "3D сеть", использует разработанную в начальный период создания системы очень удачную математическую модель на основе поверхности Кунса. Второй способ, появившийся впервые в 5й версии системы и совершенствование которого продолжается, реализует составную поверхность Безье. Наличие двух различных способов построения поверхности в рамках одной системы очень удобно. Как уже отмечалось, идеального алгоритма не существует. Поэтому в тех случаях, когда один из двух алгоритмов создает поверхность, не вполне соответствующую замыслу конструктора, у него есть возможность применить второй алгоритм. Это заметно повышает шансы обойтись без необходимой в противном случае модификации каркасных кривых. Для оценки качества получаемых поверхностей большую ценность представляет тоновая визуализация поверхностей, добавившаяся в распространяемой в данное время 6-й версии системы.

Основным недостатком поверхности типа 3D-сеть является невозможность ее экспорта для передачи в другие системы посредством известных стандартов передачи данных. Поверхность типа Безье подобного недостатка лишена. Также реализующий ее алгоритм имеет ряд других преимуществ.

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

Данный способ также поддерживает построение гладких замкнутых поверхностей. Если кривые одного семейства замкнуты, причем концы стыкуются гладко, а первая и последняя из указанных кривых второго семейства совпадают и проходят через точки соединения, то при построении поверхности обеспечивается гладкость смыкания двух границ поверхности. Так, например, если кому-нибудь захочется построить тор с использованием данного способа, то оба стыка границ поверхности будут гладкими.

При разработке алгоритма поверхности Безье особое значение придавалось улучшению качества поверхности — устранению волн. Известно, что в составной поверхности Безье условие непрерывности нормали на стыках патчей налагает очень строгие ограничения на размещение контрольных точек. Попытка выполнить их неизбежно приводит к появлению волн на поверхности размером порядка размера патча. Повышение степени Безье, добавляющее степеней свободы, обычно только усугубляет ситуацию. Тем же недостатком страдают и поверхности типа B-сплайнов, которые самим математическим представлением обеспечивают непрерывность нормали, но ничуть не лучше в смысле борьбы с волнами.

Было принято решение отказаться от строгого соблюдения непрерывности нормали на границах патчей, заменив его приближенным (в пределах заданной точности). В виду конечности точности обработки на станках с ЧПУ данное решение вполне оправдано. За счет этого удалось существенно улучшить качество получаемых поверхностей.

gemma4_02.jpg (35778 bytes)

Рис. 2. Пример моделирования поверхности по двум семействам каркасных кривых

gemma4_03.gif (10314 bytes)

Рис. 3. Построение модели кинескопа на основе поверхности Безье

Примеры построения поверхностей на основе двух семейств каркасных кривых

Рис. 2 иллюстрирует создание поверхности эндопротезов, смоделированных в Московском Институте Теплотехники. По каркасным кривым (Рис. 2а) была построена поверхность "3D-сеть", показанная на Рис. 2б при помощи параметрических линий. Их форма поблизости от центра обнаруживает нежелательные уплощения. Затем по тому же каркасу была построена поверхность Безье (Рис. 2в, г), форма которой оказалась удовлетворительной.

На Рис. 3 показана модель поверхности кинескопа специального назначения, разработка и изготовление которого выполнялись специалистами НПО "Технология", г. Обнинск. Построение этой сложной поверхности было выполнено по заданному каркасу при помощи процедуры "Безье". Доработка и модификация каркаса, заданного конструктором, не потребовались.

Продукты и решения КОМПАС Опыт успешной автоматизации Обучение персонала — ключ к успешному внедрению Управление электронным документооборотом Гемма-3D
Главная Программное обеспечение Статьи Прайс-листы Инициативы О компании
Hosted by uCoz