Принципы построения систем графического моделирования
Двумерные графические системы широко применяются при автоматизации чертежных работ. Чертежи любой сложности строятся из базовых графических элементов: точек, прямых, окружностей и других кривых. Каждый из этих элементов задается группой характерных точек, координаты которых могут определяться в абсолютной (мировой) системе координат или относительно предыдущей введенной точки (инкрементный ввод). При этом используют несколько способов задания точек:
• путем указания на экране с помощью мыши;
• путем введения чисел с клавиатуры;
• путем «привязки» к некоторому элементу чертежа, в окрестности которого располагается указатель.
Первый способ используют в основном для создания эскизов, а второй и третий — для построения точных изображений. Особенно удобным является третий способ, который позволяет «захватить» ближайший к курсору уже построенный элемент и ввести точные координаты конца или середины отрезка, центра окружности, точки пересечения прямых и т. д.
В средствах двумерной графики обычно имеется несколько способов построения одного и того же элемента. Например, отрезок можно построить по двум точкам либо по начальной точке, длине и углу наклона, а окружность — по центру и радиусу, по трем точкам, по двум точкам и радиусу и т. д. Кроме того, в таких системах имеется ряд средств, автоматизирующих процесс черчения. Рассмотрим их подробнее.
Автоматическое построение скругления и фаски. Для получения скруглення или фаски необходимо указать мышью на стороны угла и ввести значение радиуса скругления или размер фаски. Отрезки на стыке угла и скругления (фаски) автоматически «срезаются» (рис. 1.2).
Автоматическая штриховка и закраска. Для получения штриховки надо ввести угол и шаг штриховки, а затем указать мышью на внутреннюю часть области, которую надо заштриховать. Аналогично выполняется и закраска (рис. 1.3).
Автоматическая простановка размеров. Для простановки размера необходимо указать образмериваемые элементы и точку уровня размерной линии. После этого система автоматически вычислит числовое значение размера, выведет его на экране и нарисует выносные и размерные линии (рис. 1.4).
На любом этапе выполнения компьютерного чертежа можно удалить и модифицировать графические элементы изображения. Обычно двумерные САПР позволяют выполнять следующие операции редактирования.
Отсечение. Эта процедура позволяет удалить лишние вспомогательные линии на чертеже. Например, после указания мышью на секущую прямую и окружность из чертежа удаляется сегмент окружности. Такая же процедура может быть выполнена для любой комбинации графических элементов (рис. 1.5).
«Резиновое» растяжение. Процедура растяжения позволяет пользователю растягивать или сжимать изображенные на экране формы. Можно, в частности, с помощью мыши переместить любую из вершин ломаной. При этом в процессе редактирования перемещаемая вершина соединяется с соседними при помощи пунктирных («резиновых») линий, а сразу же после отпускания кнопки мыши пунктирные линии заменяются сплошными (рис. 1.6).
Нанесение сетки. Для получения изображения с регулярной структурой удобно использовать сетку, которая позволяет указывать только на те точки экрана, в которых располагаются узлы. В таком режиме осуществля-
ется автоматический «захват» ближайшего узла и от конструктора не требуется очень точного указания точки. В результате можно легко ввести точки с заданным шагом. На твердую копию изображение сетки не выводится (рис. 1.7).
Построение сплайнов. В большинстве двумерных пакетов имеются средства для автоматической генерации гладких кривых (сплайнов), проходящих через заданные точки. Такие процедуры очень удобны при создании нестандартных геометрических форм и позволяют дополнить автоматизированное черчение элементами автоматизированного проектирования (рис. 1.8).
Увеличение и панорамирование. Средства увеличения разрешают увеличить или уменьшить любую область чертежа для более подробного просмотра или редактирования. Чтобы проанализировать другие элементы чертежа, область просмотра может быть панорамирована (сдвинута) в любом направлении, что позволяет использовать один сборочный чертеж для изделий любого размера и сложности, отказавшись от множества небольших чертежей, как принято в традиционном черчении. При необходимости можно получить твердую копию любой области чертежа (рис. 1.9).
Копирование, поворот и перенос. Любой элемент изображения или группу элементов можно скопировать, переместить и/или повернуть. Для двумерного поворота достаточно задать положение центра вращения и угол поворота. При переносе обычно вводятся две точки, определяющие вектор смещения. Перенос и поворот, а также копирование широко применяются при вставке в чертеж стандартных элементов, вызываемых из стандартных библиотек (рис. 1.10).
Рис. 1.8. Построение сплайна |
Преобразования. Кроме поворота и переноса многие графические пакеты имеют и более сложные средства манипулирования изображением: зеркальное отражение и пошаговое размножение. Используя эти средства, очень удобно строить чертежи регулярных структур. Например, для создания чертежа зубчатой рейки достаточно построить половину профиля одного из зубьев, далее применить операцию зеркального отражения, а затем размножить полученный образ. Можно также провести масштабирование изображения (рис. 1.11).
Выбор элементов и объединение их в группы. В большинстве графических пакетов операции редактирования могут выполняться как над отдельным элементом, так и над группой элементов. Например, для сдвига части чертежа нет необходимости перемещать все элементы по отдельности. Вместо этого достаточно «выбрать» их путем указания на каждый из элементов либо осуществить «окн про ванне» (выделение на чертеже прямоугольной области, все элементы которой выбираются автоматически). В дальнейшем операции редактирования производятся одновременно над всеми элементами полученного набора. Можно, например, изменить цвет и тип линий всех элементов, произвести масштабирование и т. д.
Иногда удобнее объединить выбранные элементы в группы (блоки). В результате получается составной графический элемент, который при редактировании рассматривается как единое целое. В группы можно объединять и составные элементы, образуя многоуровневые иерархические структуры. При необходимости можно выполнить и обратную операцию — разделить составной элемент на отдельные составляющие.
Расслоение. Во многих двумерных САПР реализован принцип «расслоения», позволяющий разделить чертеж на несколько частей, наложенных друг на друга. С точки зрения традиционного черчения это эквивалентно созданию нескольких чертежей, каждый из которых выполнен на прозрачной пластине. Причем можно рассматривать каждую пластину по отдельно-
Рис. 1.10. Копирование (а), параллельный перенос (б) и поворот (в) |
сти либо, складывая их, получать совместное изображение. При выполнении чертежей механических конструкций можно, например, разместить все геометрические элементы в одном слое, а все размеры и пояснительные надписи — в другом.
Двумерные системы позволяют построить упрощенные геометрические модели реальных физических объектов, состоящие из трех независимых проекций (видов). При их использовании модель куба, например, задается 12 двумерными точками с координатами XY. Поэтому при внесении изменений конструктор должен редактировать отдельно каждую из проекций.
В трехмерных системах используются точки с тремя координатами, что позволяет автоматически устанавливать проекционные связи. Так, в этом случае куб описывается восемью трехмерными точками XYZ, по кото-
Рис. 1.11. Зеркальное отражение (а), размножение (б) и масштабирование (в) |
рым находятся проекции XY, YZ и XZ. При использовании таких систем обычно начинают с построения трехмерного изображения, а двумерные виды формируются на последнем этапе, при выводе чертежей. А в некоторых случаях двумерные чертежи полностью заменяются трехмерной компьютерной моделью, по которой генерируются программы для станков с ЧПУ.
Системы трехмерного моделирования широко применяются в интегрированных САПР/АСТПП. Они часто дополняются средствами автоматического анализа физических характеристик (вычисление массы, центра масс, моментов и тензоров инерции и др.), а также модулями, обеспечивающими оценку прочности и технологичности. Использование трехмерных систем в настоящее время уже не сдерживается стоимостью программных средств и оборудования.
Пустые “Заполненные’ |
Элементы модели грани |
а |
б |
в |
Рис. 1.12. Геометрические модели трехмерных объектов: а — каркасная (Wire-frame); б — поверхностная (Surface); в — твердотельная (Solid) |
Методы трехмерного моделирования, используемые в САПР, делятся на три группы: каркасное, поверхностное и твердотельное (сплошное) моделирование (рис. 1.12).
Каркасное моделирование (рис. 1.12, а). Модель каркасного типа полностью описывается в терминах точек и линий. Ее главным достоинством являются простота и невысокие требования к компьютерной памяти, а недостатки связаны с отсутствием информации о гранях, заключенных между линиями, и с невозможностью различить внешнюю (незаполненную) и внутреннюю (заполненную) области. Наиболее широко каркасное моделирование применяется при имитации несложного пространственного движения инструмента (например, при фрезеровании по трем осям).
При использовании каркасных моделей в САПР необходимо учитывать следующие ограничения:
• неоднозначность — отсутствие возможности однозначно оценить ориентацию и видимость граней, что не позволяет различать виды сверху и снизу, а также автоматизировать удаление скрытых линий;
• приближенное представление криволинейных граней — невозможность точно описать криволинейные поверхности (цилиндры, конусы и др.), которые реально не имеют ребер; иногда для таких поверхностей вводят фиктивные ребра, располагаемые через регулярные интервалы (рис. 1.13);
• невозможность обнаружить столкновения — отсутствие информации о поверхностях, ограничивающих форму, не позволяет обнаружить столкновения между объектами, что важно при моделировании роботов, проектировании планов размещения оборудования и т. д.;
• погрешности оценки физических характеристик — возможность некорректного вычисления массы, центра тяжести, момента инерции и
Рис. 1.13. Приближенное представление криволинейных поверхностей в каркасных моделях (вводятся фиктивные ребра) |
т. д., обусловленная недостатком информации об ограничивающих поверхностях;
• отсутствие средств «затенения» поверхностей — у модели, состоящей только из ребер, невозможно произвести закраску поверхностей различными цветами.
Поверхностное моделирование (рис. 1.12, б). Модель поверхностного типа описывается в терминах точек, линий и поверхностей. В отличие от каркасной модели она обеспечивает:
• точное представление криволинейных граней;
• автоматическое распознавание граней и их закраску,
• автоматическое удаление невидимых линий (рис. 1.14);
• распознавание особых линий на гранях (отверстий и т. д.);
• обнаружение столкновений между объектами.
Метод поверхностного моделирования наиболее эффективен при проектировании и изготовлении сложных криволинейных поверхностей (корпусов автомобилей и др.). При этом можно использовать:
• базовые геометрические поверхности (плоскости, цилиндры, кубы, результат перемещения образующей кривой в заданном направлении и т. д., рис. 1.15, а);
• поверхности вращения (результат вращения линии вокруг оси, рис. 1.15, б);
• пересечения и сопряжения поверхностей',
• аналитические поверхности (задаются математическим уравнением);
Рис. 1.15. Поверхностные модели, полученные путем перемещения кривой в заданном направлении (я), вращения кривой (б) и при помощи сплайн-интерполяции (в)
• скульптурные поверхности или поверхности «свободных форм», которые не могут быть описаны одним математическим уравнением, а задаются при помощи методов сплайн-интерполяции образующих кривых (корпуса автомобилей, фюзеляжи самолетов, лопатки турбин, рис. 1.15, в; 1.16).
В современных трехмерных системах широко используются составные поверхности, составленные из криволинейных четырехугольников, ограниченных гладкими кривыми. Внутренняя область каждого такого участка определяется путем интерполяции. При изображении составных поверхностей на экране создается сетка, натянутая на многогранный каркас.
На базе методов поверхностного моделирования построен ряд мощных графических систем, широко применяемых в промышленности. Однако поверхностные модели имеют ряд недостатков, которые могут быть устранены только в рамках твердотельного моделирования. К ним относятся:
• неоднозначность при моделировании реальных твердых тел;
• сложность процедур удаления невидимых линий и отображения внутренних областей.
Твердотельное моделирование (рис. 1.12, в). Модель твердотельного типа описывает трехмерный объем, который занимает рассматриваемое физическое тело. В отличие от каркасных и поверхностных моделей она обеспечивает:
• полное описание заполненного объема и возможность разграничения внешних и внутренних областей, на основе чего
„ , ,, „ автоматизируется процесс обна-
Рис. 1.16. Поверхностная модель кузова г „
автомобиля ружения столкновении;
• автоматизацию процесса удаления скрытых линий;
• автоматизацию процесса построения разрезов и сечений, что требуется при создании сборочных чертежей сложных изделий;
• применение современных методов анализа конструкций (точное вычисление массогабаритных характеристик, расчет прочности и деформаций методом конечных элементов и т. д.).
• эффективное управление цветами и источником освещения, получение тоновых изображений;
• более точное моделирование кинематики и динамики многозвенных механизмов (роботов, станков и т. д.).
Существует целый ряд способов построения твердотельных моделей. Однако в САПР наибольшее распространение получили два из них: метод конструктивного представления (C-Rep) и метод граничного представления (B-Rep). Рассмотрим их подробнее.
Метод конструктивного представления (C-Rep) основан на создании моделей из типовых твердотельных примитивов с заданными размерами, ориентацией и точкой привязки. При определении взаимоотношений между соседними примитивами используются булевы операции: «объединение», «разность» и «пересечение». Твердотельные примитивы могут выбираться из библиотеки или генерироваться путем движения произвольной поверхности вдоль некоторой кривой. В результате происходит «захват» (sweeping) части трехмерного пространства, принадлежащей примитиву.
Метод граничного представления (B-Rep) также оперирует с примитивами, связанными при помощи булевых операций. При этом модель описывается совокупностью ребер и граней, определяющих граничную поверхность твердого тела. Эти данные дополняются информацией о топологии примитива и особенностях его геометрии. Метод B-Rep более удобен при модификации примитивов, но требует большего объема компьютерной памяти.
Методы твердотельного моделирования, основанные на булевых операциях, особенно удобны при вычислении поверхностных и весовых характеристик тел, расчете напряжений, имитации операций механической обработки. В последнем случае операции резания металла (точение, фрезерование, сверление и т. п.) могут быть легко описаны при помощи булевой разности. Естественным приложением булевой алгебры является также анализ столкновений (коллизий), которые обнаруживаются при помощи операции пересечения.