Геометрическое моделирование

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

o Какие части объекта видимы?

o Какой цвет должен быть присвоен каждому элементу объекта?

o Какова площадь поверхности, какой объем занимает объект и какую массу он имеет?

o Не пересекается ли объект с другими объектами?

o Находится объект внутри или снаружи другого объекта?

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

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

Лекция 5

Каркасное моделирование

Это исторически первая технология представления объемной геометрии. Она естественным образом развилась из систем 2D-черчения. Это самый простой способ представления трехмерных моделей – так называемые проволочные кар­касы, или просто каркасы, которые дают неоспоримые преимущества по сравне­нию с моделированием на плоскости. Они помогают более ясно представлять модель и надежно контролировать взаимное расположение составляющих ее элементов. Кроме того, каркасы можно использовать и для создания проекцион­ных видов. Достаточно простые структуры данных и алгоритмы работы с карка­сами позволили реализовать их на маломощном оборудовании конца 70-х годов XX века.

Недостаток каркасного представления моделей состоит в том, что программы не могут отобразить всех особенностей поверхностей, определяемых каркасами, и это делает невозможным построение, например, точных сечений. Визуальное представление каркасных моделей достаточно аскетичное и в ряде случаев не дает возможности одно­значно интерпретировать увиденное.

Тем не менее, даже такая, имеющая множество ограничений технология по­зволила существенно расширить функциональные возможности САПР по срав­нению с 2D-системами. В настоящее время построение каркасов также исполь­зуется в геометрическом моделировании САПР, но лишь как вспомогательная система промежуточных построений.

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

Поверхностное моделирование

В отличие от каркасного представления, моделирование при помощи поверхно­стей имеет существенно меньше ограничений, так как позволяет определить свое­образную «оболочку» трехмерного объекта.

Геометрические модели на основе поверхностного представления обеспечива­ют качественную визуализацию, более простой переход к построению расчетных сеток для численного моделирования, обеспечивают ряд полезных функций, та­ких как построение пространственных сопряжений, сечений, определения линии пересечения оболочек, генерацию чертежных проекций. Пример визуализированной поверхностной модели показан на рис. 3.2.

Поверхностные модели различаются по способу аппроксимации поверхности.

Более простой в части структуры данных и используемых для работы с ними алгоритмов является полигональная аппроксимация, когда поверхность представ­ляется набором взаимосвязанных плоских граней, на практике чаще всего тре­угольных. Такая аппроксимация легко строится, для нее разработаны эффек­тивные алгоритмы реалистичной визуализации, она не требует значительных вычислительных ресурсов, хотя может быть и затратной по памяти. Главным ог­раничением подобной аппроксимации является то, что она имеет фиксированную точность, то есть отклонение положения модельной поверхности от «идеальной» моделируемой. Для достижения высокой точности требуется создание сеток с малым шагом, что ведет к росту требований к вычислительным возможностям системы. Поэтому использование полигональной аппроксимации в САПР на те­кущий момент ограничено подсистемами визуализации и простейшего ЗD-эскизирования.

Геометрическое моделирование - student2.ru

Рис. 3.1 Каркасная модель теоретических обводов космического корабля Буран

Геометрическое моделирование - student2.ru

Рис. 3.2 Поверхностная модель теоретических обводов космического корабля Буран

Этих недостатков лишена технология NURBS (Non-Uniform Rational В- Spline, неоднородный В-сплайн), сегодня наиболее часто используемая в практике САПР. Такое описание поверхности обеспечивает определение координат любой ее точ­ки, радиуса кривизны в ней, направления нормали к поверхности с высокой, в об­щем случае (без учета вычислительных затрат) любой наперед заданной точностью. Определенным недостатком такого подхода является сложность алгоритмов работы с NURBS, однако это обстоятельство исторически преодолено исследова­телями и разработчиками.

В определенной степени NURBS-представление является развитием полиго­нального, но в отличие от него позволяет описывать не только плоские, но и кри­волинейные грани и ребра (кромки). Совокупность таких граней с общими ребра­ми по традиции называют сеткой.

Пример полигональной и NURBS-моделей одного и того же изделия показан на рис. 3.3.

Геометрическое моделирование - student2.ru

Рис. 3.3 Аппроксимация теоретических обводов самолета: а) полигональная и б) NURBS-аппроксимация

Технология NURBS обеспечивает реализацию ряда функциональных воз­можностей, недоступных или существенно ограниченных при использовании каркасного либо полигонального представления: вычисление радиуса кривизны поверхностей, их гладкое сопряжение, построение траекторий на поверхности, что важно для подготовки ЧПУ-программ, получение точных изображений, спрое­цированных на плоскость, например для получения чертежных видов и т. д. и т. п.

Традиционно в САПР используются несколько типовых контекстов создания поверхностей:

o плоская поверхность получается заполнением плоского контура (2D-эскиз или набор замкнутых кромок, лежащих в одной плоскости);

o поверхность вытяжки образуется в результате плоскопараллельного вытягивания замкнутого или разомкнутого 2D/3D-эскиза в направлении, перпендикулярном плоскости эскиза, или под произвольным углом;

o поверхность вращения получается вращением произвольного профиля (2D-эскиз) относительно оси;

o поверхность по траектории создается движением 2D/3D-эскиза вдоль криволинейной образующей (2D/3D-эскиз, ЗD-кривая) и произвольного числа направляющих кривых (2D/3D-эскиз, ЗD-кривая), деформирующих исходный контур;

o поверхность по сечениям – аналог поверхности по траектории; отличается тем, что строится не по одному, а по нескольким поперечным сечениям с направляющими кривыми;

o граничная поверхность – аналог поверхности по сечениям; отличается тем, что строится по нескольким произвольно сориентированным в простран­стве ЗD-кромкам других поверхностей с сохранением касательности к ним и с соблюдением непрерывности по второй производной (гладкая стыков­ка); при построении могут использоваться направляющие кривые;

o поверхность свободной формы строится разбиением сетки с управляющи­ми точками на поверхности грани ЗD-модели; изменение формы поверхно­сти достигается перетаскиванием контрольных точек;

o эквидистантная поверхность получается смещением на определенное расстояние от существующих граней или поверхностей;

o поверхность разъема используется при проектировании литейных форм в качестве вспомогательной геометрии для разделения матрицы и пуансона;

o срединная поверхность создается на середине (или заданном проценте) толщины тонкостенной детали;

o линейчатая поверхность строится под углом к выбранной кромке и пред­назначена для построения граней с уклоном.

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

Твердотельное моделирование

Несмотря на достаточно широкие возможности, которые предоставляет поверх­ностное моделирование, и оно имеет ряд существенных ограничений с точки зре­ния использования в САПР, в частности невозможность вычисления объемов, масс и моментов инерции объектов, ограниченность применения к ним булевых операций (вычитания, объединения, пересечения). Эти ограничения снимаются при использовании твердотельного моделирования, ставшего на сегодня стандар­том де-факто в 3D CAD/CAM/CAE-системах.

Существуют различные алгоритмические методы представления твердотель­ных моделей – воксельное, использование октарных и бинарных деревьев, однако в практике САПР наиболее широкое применение имеет технология, базирующая­ся на граничном представлении элементарных односвязных тел (BREP, Boundary Representation) в совокупности с конструктивной геометрией (CSG, constructive solid geometry), описывающей операции над телами.

Геометрическое моделирование - student2.ru Граничное представление (рис. 3.4) определяет сплошное тело неявно путем описания ог­раничивающей его поверхности. Суть BREP-представления заключается в том, что твердое тело описывает замкнутая пространственная область, ограниченная набором элементарных тонких поверхностей (граней) с общими образующими контурами (ребрами) на границе поверхностей и признаком внешней или внутренней стороны поверхности, а также обеспечивающим следую­щий ряд операций, определенных над телами:

o проверка правильности задания, для односвязных тел осуществляется по формуле Эйлера, в наиболее общем виде записываемой как: V-E+F=2, где V – количество вершин, Е – количество ребер, F – количество граней;

o вычисление габаритного объема;

o вычисление нормали в точке;

o вычисление кривизны поверхности;

o нахождение точки пересечения с конту­ром или другой поверхностью;

o определение положения точки относи­тельно поверхности.

Лекция 6

Геометрическое моделирование - student2.ru Для описания сложных тел, моделирующих объекты реального мира, получаемые обработкой материала или неразъемной сборкой, используется иерархическая структура, опи­сывающая тела как последовательность применения булевых операций над набо­ром элементарных твердых тел, – так называемое CSG-дерево (Constructive Solid Geometry tree). В рамках CSG представления для описания составных твердых тел определены следующие операции над исходными (рис. 3.5, а) элементарными телами:

o вычитание (рис. 3.5, б);

o объединение (рис. 3.5, в);

o пересечение (рис. 3.5, г).

Так же как и для элементарного тела, правильность построения определяется формулой Эйлера, записываемой для многосвязных тел в частном виде:

Геометрическое моделирование - student2.ru V-E+F-H=2(C-G), где V – количество вершин, Е – количество ребер, F– количество граней, Н – количество несквозных отверстий, С – количество компонент, G – количество сквозных отверстий. Рис. 3.6 позволяет самостоятельно проверить верность формулы.

Геометрическое моделирование - student2.ru Таким образом, любое составное тело может быть описано в виде традицион­ного уравнения из булевых функций, в котором аргументами являются либо эле­ментарные тела, либо другие составные тела. Это представление называют дере­вом построений. Такое представление, кроме удобства модификации геометрии результирующего тела, позволяет существенно снизить требования к вычисли­тельным ресурсам за счет применения оптимизирующих процедур к дереву по­строений. Пример дерева построения детали показан на рис. 3.6.

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

Наши рекомендации