Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебники 60229.doc
Скачиваний:
30
Добавлен:
01.05.2022
Размер:
3.35 Mб
Скачать

4. Системы геометрического моделирования

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

Рассмотрим пример, иллюстрирующий использование системы геометрического моделирования в процессе разработки. Представьте себе ребенка, который лепит что-то из пластилина. Малыш мнет пластилин, а иногда добавляет и отрезает кусочки, и постепенно приближается к конечному результату. Такую деятельность вполне можно назвать процессом проектирования, поскольку налицо детализация формы по мере развития идеи. Ребенок погружается в проектирование, не имея ни малейшего представления о технических чертежах, не умея пользоваться даже ручкой и бумагой. Если ребенок захочет передать результат другим, например для прототипирования и массового производства, ему достаточно отдать реальный результат своих трудов, из которого можно будет извлечь всю необходимую информацию. Такой естественный подход к разработке вызывает опреде­ленные вопросы. Действительно ли технические чертежи являются неотъемлемой частью процесса проектирования? Нормально ли пользоваться системами автоматизированной разработки чертежей? Оправдать использование чертежей можно, сказав, что проектирование с использованием материалов, подобных пластилину, не позволяет получить сложные формы с точными размерами. Более того, в большинстве случаев очень сложно извлечь из реальных моделей необходимые сведения для точного их воспроизведения.

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

4.1. Системы каркасного моделирования

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

  • неоднозначность - отсутствие возможности однозначно оценить ориентацию и видимость граней, что не позволяет различать виды сверху и снизу (рис. 4.1), а также автоматизировать удаление скрытых линий;

Рис. 4.1. Неоднозначные каркасные модели

  • приближенное представление криволинейных граней - невозможность точно описать криволинейные поверхности (цилиндры, конусы др.), которые реально не имеют ребер; иногда для таких поверхностей водят фиктивные ребра, располагаемые через регулярные интервалы);

  • невозможность обнаружить столкновения - отсутствие информации о поверхностях, ограничивающих форму, не позволяет обнаружить столкновения между объектами, что важно при моделировании роботов, проектировании планов размещения оборудования и т. д.;

  • погрешности оценки физических характеристик - возможность некорректного вычисления массы, центра тяжести, момента инерции и т. д., обусловленная недостатком информации об ограничивающих поверхностях;

  • отсутствие средств «затенения» поверхностей - у модели, состоящей только из ребер, невозможно произвести закраску поверхностей различными цветами.

4.2. Системы поверхностного моделирования

В системах поверхностного моделирования математическое описание визуальной модели включает в себя не только сведения о характеристических линиях и их конечных точках, как в каркасном моделировании, но и данные о поверхностях. При работе с отображаемой на экране моделью изменяются уравнения поверхностей, уравнения кривых и координаты конеч­ных точек. Если поверхности не окрашены и не затушеваны, визуальная модель в системе поверхностного моделирования может выглядеть точно так же, как в системе каркасного моделирования (рис. 4.2).

Рис. 4.2. Поверхностные модели с фиктивными ребрами

В отличие от каркасной модели она обеспечивает:

  • точное представление криволинейных граней;

  • автоматическое распознавание граней и их закраску;

  • автоматическое удаление невидимых линий;

  • распознавание особых линий на гранях (отверстий и т. д);

  • обнаружение столкновений между объектами.

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

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

Существует три стандартных метода создания поверхностей в системах поверхностного моделирования.

1. Интерполяция входных точек.

2. Интерполяция криволинейных сеток.

3. Трансляция или вращение заданной кривой.

Способы ввода для каждого метода могут зависеть от конкретной системы поверхностного моделирования. Однако базовый метод ввода для каждой системы легко определить по представлению кривых и плоскостей.

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

Рис. 4.3. Расчет и проверка траекторий станка с ЧПУ

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

  • неоднозначность при моделировании реальных твердых тел;

  • сложность процедур удаления невидимых линий и отображения внутренних областей.

4.3. Системы твердотельного моделирования

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

В отличие от каркасных и поверхностных моделей твердотельные обеспечивают:

• полное описание заполненного объема и возможность разграничения внешних и внутренних областей, на основе чего автоматизируется процесс обнаружения столкновений;

  • автоматизацию процесса, удаления скрытых линий;

  • автоматизацию процесса построения разрезов и сечений, что требуется при создании сборочных чертежей сложных изделий;

  • применение современных методов анализа конструкций (точное вычисление массогабаритных характеристик, расчет прочности и деформаций методом конечных элементов и т. д.).

  • эффективное управление цветами и источником освещения, получение тоновых изображений;

  • более точное моделирование кинематики и динамики многозвенных механизмов (роботов, станков и т. д.).

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

4.3.1. Функции моделирования

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

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

В третью группу входят функции моделирования, предназначенные главным образом для изменения существующей формы. Типичными примерами являются функции скругления или плавного сопряжения и поднятия. К четвертой группе относятся функции, позволяющие непосредственно манипулировать составляющими объемных тел, то есть вершинами, ребрами и гранями. Работа с этими функциями (аналогичными функциям систем поверхностного моделирования) называется моделированием границ. В последнюю группу входят функции, используя которые проектировщик может моделировать твердое тело при помощи свободных форм. Например, он может давать системе команды типа «сделать отверстие такого-то размера в таком-то месте» или «сделать фаску такого-то размера в таком-то месте». Работа с такими функциями называется объектно-ориентированным моделированием. В последнее время функциям пятой группы уделяется особое внимание, поскольку модель, построенная с их помощью, содержит информацию о процессе создания, без которой невозможно автоматическое формирование плана технологического процесса для детали. Заметьте, что модель, созданная другими средствами, содержит только элементарные геометрические сведения о вершинах, ребрах и гранях.

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

Рис. 4.4. Наиболее типичные примитивы

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

Большинством систем твердотельного моделирования поддерживаются следующие булевские операции: объединение, пересечение и разность. До применения булевских операций необходимо определить относительное положение и ориентацию примитивов. Булевские операции могут применяться не только к примитивам, хотя в качестве примеров изображены именно примитивы (рис. 4.5 - 4.7).

Рис. 4.5. Объединение примитивов

Рис. 4.6. Пересечение примитивов

Рис. 4.7. Разность примитивов

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

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

Рис. 4.8. Некорректная булевская операция

Заметание. Функция заметания формирует объемное тело трансляцией или вращением замкнутой плоской фигуры. В первом случае процесс формирования на­зывается заметанием при трансляции, во втором случае - построением фигуры вращения. Если плоская фигура будет незамкнутой, в результате заметания получится не объемное тело, а поверхность. Такой вариант заметания поддерживается системами поверхностного моделирования.

Заметание при трансляции и вращении представлено на рис. 4.9 и 4.10 соответственно. Хотя рис. 4.10 демонстрирует вращение на 360°, большинство систем твердотельного моделирования позволяют поворачивать фигуру на произвольный угол.

Рис. 4.9. Заметание Рис. 4.10. Заметание

при трансляции при вращении

Скиннинг. Функция скиннинга формирует замкнутый объем, натягивая поверхность на заданные плоские поперечные сечения тела (рис. 4.11). Можно представить себе, что на каркас фигуры, образованный границами поперечных сечений, натягивается ткань или винил. Если к натянутой поверхности не добавить конечные грани (два крайних сечения), в результате получится поверхность, а не замкнутый объем. В таком варианте функция скиннинга представлена в системах поверхностного моделирования.

Рис. 4.11. Создание объемного тела методом скиннинга.

Скругление или плавное сопряжение, используется для модифицирования существующей модели, состоящего в замене острого ребра или вершины гладкой криволинейной поверхностью/векторы нормали к которой непрерывно продолжают векторы нормали поверхностей, сходившихся у исходного ребра или вершины. Замену острого прямого ребра цилиндрической поверхностью демонстрирует рис. 4.12, а. Векторы нормали к цилиндрической поверхно­сти продолжаются векторами соседних плоских граней. Замена острой вершины сферической поверхностью показана на рис. 4.13. Здесь также обеспечивается непрерывность векторов нормали. Частный случай округления с добавлением, а не удалением материала показан на рис. 4.12, б. Такая процедура называется выкружкой.

Рис. 4.12. Скругление ребер Рис.4.13. Скругление вершин

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

а б

Рис. 4.14. Поднятие грани и ее части

При работе с функцией поднятия необходимо правильно указывать направление и дальность поднятия, чтобы добавленная часть тела не пересекалась с исходной (рис. 4.15). Пересечение не вызовет проблем, если функция поднятия реализована так, что при пересечении выполняется объединение добавленной части с исходным телом. Однако изначально функция поднятия разрабатывалась для небольших местных изменений, поэтому ситуация, показанная на рис. 4.15, дает некорректное объемное тело.

Рис. 4.15. Самопересечение в результате поднятия

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

Рис. 4.16. Создание тела при помощи функций моделирования границ

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

Рис. 4.17. Модификация объекта перемещением вершины

Рис. 4.18. Модификация объекта заменой ребра

Рис. 4.19. Модификация объекта заменой поверхности

Объектно-ориентированное моделирование позволяет конструктору создавать объемные тела, используя привычные элементы форм. Созданное тело несет в себе информацию об этих элементах, в дополнение к информации об обычных геометрических элементах (вершинах, ребрах, гранях и др.). Например, конструктор может давать команды типа «сделать отверстие такого-то размера в таком-то месте» или «сделать фаску такого-то размера в таком-то месте», и получившаяся фигура будет содержать сведения о наличии в конкретном месте отверстия (или фаски) конкретного размера. Набор доступных в конкретной программе элементов формы зависит от спектра применения этой программы.

Большинством систем объектно-ориентированного моделирования поддерживаются такие элементы, которые используются при изготовлении деталей: фаски, отверстия, округления, пазы, выемки и т. д. Такие элементы называются произ­водственными, поскольку каждый из них может быть получен в результате кон­кретного процесса производства. Например, отверстие создается сверлением, а выемка - фрезерованием. Следовательно, на основании сведений о наличии, размере и расположении производственных элементов можно попытаться автоматически сформировать план технологического процесса. Автоматическое планирование технологического процесса, если оно будет разработано на практическом уровне, перебросит мост между САD и САМ, которые в настоящий момент существуют отдельно друг от друга. Таким образом, в настоящий момент лучше моделировать объекты, подобные изображенному на рис. 4.20, с использованием команд объектно-ориентированного моделирования «Выемка» и «Отверстие», а не просто булевских операций. Модель, созданная при помощи таких команд, облегчит планирование технологического процесса, если не сделает его полностью автоматическим. Использование производственных элементов в моделировании иллюстрирует рис. 4.21.

Рис. 4.20. Модель, созданная командами «Выемка» и «Отверстие»

Рис. 4.21. Производственные элементы: а - фаска; б - отверстие; в - выемка; г – скругление

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

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

В параметрическом моделировании построение формы обычно осуществляется в приведенной ниже последовательности.

1. Строится грубый набросок плоской фигуры.

2. В интерактивном режиме вводятся геометрические ограничения и данные о размерах.

3. Строится плоская фигура, отвечающая ограничениям и требованиям к размерам.

4. Шаги 2 и 3 повторяются с изменением ограничений или размеров до тех пор, пока не будет получена нужная модель (рис. 4.22).

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

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

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

Рис. 4.22. Изменение формы через ограничения

4.3.2. Структура данных

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

Структуры данных, используемые для описания объемных тел, обычно делятся на три типа в зависимости от того, какие тела ими описываются. Первая структу­ра представляет собой дерево, описывающее историю применения булевских операций к примитивам. Журнал операций называется конструктивным пред­ставлением объемной геометрии (Constructive Solid Geometry-CSG representation). Дерево называется деревом CSG. Вторая структура содержит сведения о границах объема (вершинах, ребрах, гранях и их соединении друг с другом). Это представление называется - граничным представлением (Boundary representation - В-rep), а структура данных - структурой В-rep (В-rep data structure). Многие структуры В-rep строятся по-разному в зависимости от того, какой элемент считается основным при сохранении сведений о связности (см. далее). Третья структура представляет объем в виде комбинации элементар­ных объемов (например, кубов). Можно придумать множество моделей разложе­ния, выбирая разные элементарные объемы, но ни одна из них не может точно описать объемное тело.

Дерево CSG. Дерево CSG содержит историю применения булевских опера­ций к примитивам. Рассмотрим тело, изображенное на рис. 4.23, а. Его историю булевских операций можно представить в виде дерева так, как показано на рис. 4.23, б. Это дерево может быть представлено взаимосвязанными элемен­тами данных (рис. 4.23, в).

Дерево CSG обладает следующими преимуществами:

  • структура данных проста, а их представление компактно, что облегчает обработку;

  • объемное тело, описываемое деревом CSG, всегда является корректным, то есть его внутренний объем однозначно отделен от внешнего. Примером не­корректного объемного тела является тело с лишним ребром. Для него деле­ние объема на внутренний и внешний вблизи вершины, к которой подходит это ребро, оказывается неоднозначным;

  • представление CSG всегда может быть преобразовано к соответствующему представлению B-rep. Это позволяет взаимодействовать с программами, ориентированными на использование CSG;

  • параметрическое моделирование легко реализуется изменением параметров соответствующих примитивов (рис. 4.24).

Рис. 4.23. Пример дерева CSG

Есть у этого дерева и недостатки:

  • поскольку дерево CSG хранит историю применения булевских операций, в процессе моделирования могут использоваться только они. Это требование жестко ограничивает диапазон моделируемых объектов. Более того, оно ис­ключает использование удобных функций локального изменения, таких как поднятие и cкругление;

  • для получения сведений о граничных поверхностях, их ребрах и связях между этими элементами из дерева CSG требуются сложные вычисления. К сожале­нию, сведения о границах нужны для множества приложений, в частности для отображения тел. Для того чтобы отобразить затушеванное изображение или чертеж объемного тела, нужно иметь информацию о гранях или верши­нах этого тела. Поэтому представление CSG является недостаточ­ным для интерактивного отображения тел и манипулирования ими. Другой пример - расчет траектории движения фрезы с ЧПУ для обработки поверх­ностей тела. Для этой задачи нужны сведения о поверхностях, их ребрах и связности. Получить все эти сведения из дерева CSG очень непросто.

Рис. 4.24. Изменение параметров тела

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

Структура данных B-rep. Границы объемных тел состоят из элементарных геометрических объектов: вер­шин, ребер и граней (Грань - часть граничной поверхности, граница которой состоит из криволинейных сег­ментов, при пересечении которых происходит существенное изменение вектора нормали к поверхности. Криволинейные сегменты, ограничивающие грань, называются ребрами. Точки, в которых встречаются соседние ребра, называются вершинами). В структуре данных B-rep хранятся все эти элементы вме­сте со сведениями о том, как они соединены друг с другом. Одна из простейших структур данных, если не самая простая, приведена в табл. 4.1. Структура дан­ных представляет объемное тело, изображенное на рис. 4.25. В таблице граней хранится список ограничивающих ребер для каждой грани. Последовательность ребер для каждой грани дается обходом против часовой стрелки, если смотреть на тело снаружи. Благодаря тому, что ребра хранятся согласованно, вместе с каж­дой гранью сохраняется информация о том, с какой стороны от нее находится внутренний объем тела. Другими словами, имея сведения о гранях, вы можете определить, где расположена конкретная точка: снаружи или внутри тела. Вер­шины, ребра и грани, изображенные на рис. 4.25, нумеруются системой геомет­рического моделирования в произвольном порядке в момент сохранения сведе­ний из таблицы.

Три таблицы представления B-rep

Таблица граней

Таблица

ребер

Таблица вершин

Грань

Ребра

Ребро

Вершины

Вершина

Координаты

F1

E1 , E5 , E6

E1

V1 , V2

V1

x1 , y1 , z1

F2

E2 , E6 , E7

E2

V2 , V3

V2

x2 , y2 , z2

F3

E3 , E7 , E8

E3

V3 , V4

V3

x3 , y3 , z3

F4

E4 , E8 , E5

E4

V4 , V1

V4

x4 , y4 , z4

F5

E1 , E2 , E3 , E4

E5

V1 , V5

V5

x5 , y5 , z5

E6

V2 , V5

V6

x6 , y6 , z6

E7

V3 , V5

E8

V4 , V5

Рис. 4.25. Объемное тело, сохраняемое в таблице

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

Структура данных B-rep выглядит очень простой и компактной. Однако она не используется в развитых системах твердотельного моделирования из-за пере­численных ниже недостатков:

  • Структура данных B-rep ориентирована на хранение плоских многогранни­ков. Если потребуется сохранить данные о теле с криволинейными гранями и ребрами, строки таблиц граней и ребер придется изменять таким образом, чтобы в них можно было включить уравнения поверхности и кривой соответ­ственно (уравнения поверхностей и кривых, а также координаты вершин называют геометриче­скими данными, тогда как отношения между гранями, ребрами и вершинами называют топологическими данными. Данные в любой структуре B-rep могут быть классифициро­ваны либо как геометрические, либо как топологические). Уравнения для плоских граней сохранять не обязательно, посколь­ку плоские грани определяются находящимися на них вершинами.

  • Грань с внутренними и внешними границами (рис. 4.26, а) не может быть сохранена в таблице граней, поскольку для нее нужно два списка ребер вме­сто одного. Такие грани появляются, например, при моделировании объем­ных тел со сквозными отверстиями. Простым решением этой проблемы явля­ется добавление ребра, соединяющего внешнюю и внутреннюю границы (рис. 4.26, б). В этом случае два списка вершин могут быть объединены. Со­единительное ребро называется мостиком или перемычкой и по­падает в список ребер в двух экземплярах.

а б

Рис. 4.26. Поверхность с двумя границами и метод их обхода

  • Количество ребер у разных граней может быть различно (см. табл. 4.1). Более того, невозможно определить заранее количество столбцов (по одному на ка­ждое ребро), которые потребуются для конкретной грани, поскольку это ко­личество может меняться в процессе моделирования. Следовательно, количе­ство столбцов должно сохраняться в виде переменной в момент объявления таблицы граней. Работа с таблицей переменного размера создает некоторые неудобства.

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

Есть две распространенные структуры данных, которые позволяют избежать перечисленных проблем при сохранении граничного представления объемного тела. Это структура полуребер и структура крыльевых ребер. Рассмотрение этих структур выходит за рамки данного пособия.

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

Воксельное представление объемного тела - это просто трехмерный аналог растрового представления плоской фигуры. Чтобы расска­зать о вексельном представлении, нам придется вспомнить процедуру получе­ния растрового представления или растрового изображения. Растровое изображение двумерного объекта формируется следующим образом. Сначала создается квадрат, размер которого соответствует интересующей нас области двумерного пространства. Затем квадрат делится на много маленьких квадратиков путем нанесения на него линий сетки. Расстояние между линиями сетки определяется желаемой точностью растрового представления. Другими словами, если это расстояние будет очень маленьким, то растровое изображение будет очень точно воспроизводить форму исходного двумерного объекта. В противном случае по­лучится лишь грубое приближение. Квадрат, содержащий много маленьких квадратиков, представляется в компьютере в виде двумерного массива, количе­ство элементов в котором совпадает с количеством квадратиков. Наконец, боль­шой квадрат накладывается на двумерный объект, и элементы массива, соответствующие квадратикам, находящимся над объектом, получают значение 1, а остальные элементы получают значение 0. Получившийся массив нулей и единиц становится растровым представлением двумерного объекта.

Вексельное представление объемного тела получается при помощи той же процедуры, что и растровое представление. Однако, начинается она не с большого квадрата и маленьких квадратиков, а с большого куба и маленьких кубиков, на­зываемых вокселами (воксел - это трехмерный аналог пиксела. Последние четыре буквы названия взяты от слова «пиксел» (pixel), а первые две - от слова «объем» (volume)). Деление на вокселы осуществляется сеткой плоскостей, расположенных на равном расстоянии друг от друга перпендикулярно осям х, у и z. Исходный куб представляется в виде трехмерного массива, количество эле­ментов которого совпадает с количеством кубиков, и каждому элементу массива присваивается значение 0 или 1 в зависимости от положения элемента в теле.

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

Рис. 4.27. Визуализация воксельного представления

Воксельное представление обладает следующими преимуществами.

  • Воксельное представление позволяет точно или, по крайней мере, приблизительно описать объемное тело совершенно произвольной формы. Например, модели человеческих костей и органов часто являются вексельными представ­лениями данных цифровой томографии. Моделировать такие формы при помощи обычных функций очень сложно. Даже применение сложных процедур, описанных в разделе моделирования, все равно не позволяет построить точную модель.

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

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

Недостатки воксельного представления:

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

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

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

Рис. 4.28. Пример формирования октантного дерева

Процедура построения представления октантного дерева выглядит следующим образом. Сначала создается шестигранник, в который моделируемое тело поме­щается целиком. Этот шестигранник называется корневым октантом. Затем корневой октант делится на восемь октантов, после чего анализируется их положение в пространстве по отношению к моделируемому телу. Если октант находится полностью внутри тела, он считается «черным»; если снаружи - «бе­лым». Если же октант частично лежит внутри тела, а частично - снаружи, то он считается «серым» и делится на восемь октантов меньшего размера. Черные и белые октанты дальше не делятся. Процедура повторяется до тех пор, пока не будет достигнут заданный минимальный размер октанта. После этого октанты, окрашенные в черный цвет, считаются относящимися к исходному телу.

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

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

Рис. 4.29. Пример ячеечного представления

В заключении необходимо отметить, что функции моделирования реализуются посредством служебных операций, обновляющих структуры данных. Такие операторы называются операторами Эйлера, их общее описание можно найти в [1].

4.4. Немногообразные системы моделирования

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

Другими словами, такие системы запрещают создание структур, не являющихся многообразиями. Нарушениями условия многообразности являются, например, касание двух поверхностей в одной точке, касание двух поверхностей вдоль открытой или замкнутой кривой, два замкнутых объема с общей гранью, ребром или вершиной, ребро, выступающее из точки на поверхности, а также поверхности, образующие структуры типа сот (рис. 4.30).

Проясним различие между моделями, являющимися многообразиями, и моделями, не являющимися таковыми. В многообразии каждая точка на поверхности является двумерной, то есть ее окрестность гомоморфна двумерному дис­ку. Другими словами, хотя поверхность существует в трехмерном про­странстве, с топологической точки зрения она является плоской, если рассмат­ривать достаточно малый ее участок в окрестности любой заданной точки. Исторически все системы твердотельного моделирования с представлением B - rep работали только с многообразиями. В модели, не являю­щейся многообразием, окрестность некоторой точки на поверхности не обязана быть плоской. Точка может быть пересечением двух и более топологически пло­ских поверхностей (V1 , V2 и V4 на рис. 4.30, а, б и г) или плоской поверхности и одномерной кривой (V3 на рис. 4.30, в).

Рис. 4.30. Модели, не являющиеся многообразиями

Может возникнуть вопрос, зачем создавать модели, не являющиеся много­образиями, подобно изображенным на рис. 4.30. Запрет на создание немногооб­разных моделей считался одним из достоинств систем твердотельного моделирования, поскольку благодаря этому любую созданную в такой системе модель можно было бы изготовить. Если же вы хотите работать с системой геометриче­ского моделирования на протяжении всего процесса разработки, это достоинство оборачивается другой стороной. Конструктор, которому нужен пластиковый контейнер, мог бы начать с модели, подобной рис. 4.30, г, не вводя заранее дан­ных о толщине стенок контейнера. Геометрическая модель, показанная на рис. 4.30, в, могла бы стать естественным началом для структуры, состоящей из объемного блока и пластины, прицепленной к нему жгутом.

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

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

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

4.5. Системы моделирования устройств

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

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

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

4.5.1. Базовые функции моделирования агрегатов

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

Рис. 4.31. Дерево конструирования сборки

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

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

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

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

4.5.2. Просмотр агрегата

Все системы моделирования агрегатов включают в себя какое-либо средство просмотра, позволяющее пользователю находить нужные детали, определять их отношения друг с другом и обращаться к их моделям, чертежам и характеристикам. Средство просмотра отображает детали и модули в виде дерева, уровни которого отвечают различным уровням детализации. Дерево агрегата показано на рис. 4.31. Как видно из этого рисунка, средства просмотра помогают пользователям находить детали, отображая их чертежи рядом с окном просмотра списка деталей. Щелчок на детали в списке мгновенно открывает ее чертеж, и наоборот: щелчок на детали на чертеже выделяет ее в списке.

4.5.3. Возможности совместного проектирования

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

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

4.5.4. Использование моделей агрегатов

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

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

Рис. 4.32. Деталированное изображение насоса

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

4.5.5. Упрощение агрегатов

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

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

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

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

4.6. Моделирование для Web

Производители систем CAD/CAM/CAE уверенно продвигаются в направлении интеграции своих систем с Интернетом. Встроенные возможности работы с Интернетом уже начинают появляться в таких системах. Используя Интернет в качестве расширения системы геометрического моделирования, команда, работающая над проектом, может при помощи браузеров и подключаемых модулей просматривать модели и работать с ними уже на ранних стадиях процесса разра­ботки.

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

Производители систем геометрического моделирования поддерживают публикацию, включая в свои системы возможность экспорта геометрических данных в форматах, доступных для чтения браузерами. Одним из таких форматов является язык описания виртуальной реальности (VRML), поддерживаемый стандартными браузерами. Можно сохранить данные в форматах СGМ или DWF фирмы Autodesk, что потребует от пользователя установки специального подключаемого модуля для браузера.

VRML - стандартный формат для описания трехмерных графических структур, тогда как СGМ и DWF являются двумерными форматами. Хотя VRML имеет некоторые ограничения; в частности низкую точность и большие размеры фай­лов, большинство производителей решили поддержать возможность сохранения в формате VRML поскольку этот формат является трехмерным. Некоторые по­шли еще дальше, предоставив пользователям средства для встраивания VRML в веб-страницу с текстом и гиперссылками. Файлы VRML также как и гипертекстовые файлы, могут содержать ссылки на любую информацию в Сети, в том числе и на другие VRML - файлы. Пользователь, просматривающий такой файл, видит перед собой объемную модель трехмерного тела. Ссылки на URL индентифицируются по изменению положения курсора, точно так же, как и при работе с обычными веб-страницами. Щелчок мыши на ссылке приводит к загрузке файла, на который она указывает. Например, щелкая на разных частях модели, поль­зователь может открывать окна с информацией, предоставленной другими членами команды. Щелкнув в углу картинки, пользователь увидит технические характеристики модели и узнает, что о ней думают его коллеги. Еще одна гиперссылка может указывать на каталог деталей, руководство по стандартам или на адрес электронной почты руководителя проекта.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]