Разделы
Главная Сапромат Моделирование Взаимодействие Методы Инновации Индукция Исследования Факторизация Частоты
Популярное
Как составляется проект слаботочных сетей? Как защитить объект? Слаботочные системы в проекте «Умный дом» Какой дом надежнее: каркасный или брусовой? Как правильно создавать слаботочные системы? Что такое энергоэффективные дома?
Главная »  Сапромат 

1 ... 7 8 9 10 11 12 13 ... 29

ад требует серьезных геометрических вычислений, поскольку требуется опре-елять, где именно находятся ребра, а конструирование структуры B-Rep полу-ившегося тела по собранным ребрам представляет сложную топологическую Шачу.

на А. вне В


вне А, на В

Рис. 5.42. Классификация ребер

тобы избежать указанных трудностей, Мянтюля [105] предложил алгоритм под азванием классификатор окрестностей вершин (vertex neighborhood classifier). лгоритм Мянтюля работает с отдельными гранями, в отличие от алгоритма Ре-ичи и Велкера. Гофман, Хопкрофт и Карасик [69] и Чийокура [35] также пред-эжили свои алгоритмы определения границ, основанные на рассмотрении гра-ш. В приложении Г мы предлагаем алгоритм, используемый в SNUMOD, эторый также основан на подходе к отдельным граням.

.3.5. Расчет объемных параметров

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

V = jjjdV. Итр тяжести: v

*c=±jjjxdV; v v

v v

Моменты инерции:

I =\\\(y2+z2)dV;

I =\\\(*2+y2)dV.

Центробежные моменты инерции:

Iyz=\\\yzdV;

l =\\\zxdV.

Символ JJJ обозначает интеграл по объему интересующего нас объекта. Эти оп-v

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

xV=\\JF(x,y,z)dV. (5.2)

Для воксельного представления и представления октантного дерева интеграл по объему сводится к обычному суммированию интегралов по отдельным вокселам или октантам. Таким образом, необходимо лишь научиться вычислять объемный интеграл от F(x, у, z) по одному вокселу или октанту. Поскольку эти объекты определяются восемью вершинами, интеграл по их объему может быть переписан в виде функции от координат вершин, а значение интеграла для любого воксела или октанта после этого будет вычисляться подстановкой координат его вершин в новую функцию. Значение объемного параметра для тела в целом после этого может быть получено суммированием значений для отдельных вокселов или октантов при помощи теоремы о параллельной оси [42]. Это позволяет учесть расстояние между началами координат локальной системы отдельного воксела и глобальной системы. Если объект представлен в виде дерева CSG, выполняется аналогичная процедура, заключающаяся в добавлении или вычитании объемных интегралов по примитивам (в зависимости от выбранной булевской операции). Если же объект представлен структурой B-Rep, вычислить объемный интеграл (5.2) оказывается не так-то просто. Тиммер [153] предложил метод вычисления объемного интеграла для объекта произвольной формы в представлении B-Rep. Подход Тиммера выглядит следующим образом.

1. Объемный интеграл из формулы (5.2) преобразуется к поверхностному интегралу по граничной поверхности по теореме Гаусса. Теорема Гаусса выражается так [93Ъ

JJJ(V 0)dV = JJ(On)ds, (5.3)



где V - оператор градиента, раскрывающийся в виде

( д . д . д а - 1 + - j + - к ,

дх ду dz J

JJ - поверхностный интеграл по граничной поверхности объема V, а п - век-

тор внешней нормали в точке бесконечно малого участка ds поверхности 5. Вообще говоря, п есть функция от х, у и г, поскольку этот вектор меняется при переходе от одного бесконечно малого объема к другому в процессе вычисления поверхностного интеграла. Подробные сведения о теореме Гаусса вы можете найти в учебниках по интегральному исчислению [93] и [68]. Применение теоремы Гаусса позволяет преобразовать объемный интеграл (5.2) к поверхностному, подставив функцию Ф(х, у, z), удовлетворяющую уравнению V Ф = F(x,у,г)в правую часть уравнения (5.3). Затем мы получаем возможность раскрыть (5.3) в

у = jJG\x,y,z)ds, (5.4)

где G(x, у, г) - функция координат, полученная перемножением Ф п. Существует множество способов выбрать Ф(х, у, г) и, соответственно, множество вариантов G(x, у, z). Хотя эту функцию можно выбирать достаточно произвольной, рекомендуется все же пользоваться простыми по форме выражениями.

2. Граничная поверхность 5 из формулы (5.4) может рассматриваться как набор граней объекта 5,. Поэтому интеграл по всей поверхности преобразуется в сумму по отдельным граням:

\\G(x,y,z)ds (5.5)

где \/( = G(x,y,z)ds, а п - количество граней.

3. Каждый из поверхностных интегралов \у; в формуле (5.5) может быть преобразован в двойной интеграл по области изменения параметров, определяющих уравнение поверхности грани 5,. Если быть более точным, двойной интеграл запишется так, как показано ниже, при условии, что уравнение поверхности для грани Si имеет вид р(и, v) = х(и, v)i + у(и, v)j + z(u, v)kl.

у,- = ЦG[x(u,v), y(u,v), z(u,v)]\J\dudv, (5.6)

где Rj - конечная область плоскости uv, соответствующая 5 a J - это якобиан. Якобиан компенсирует разницу между бесконечно малым участком ds и бесконечно малой областью параметрического пространства dudv. Определяется якобиан так:

5Р(и,о) dP(u,v)

ди dv

(5.7)

Различные формы P(u,v) для разных поверхностей рассматриваются в главе 7.

Подынтегральное выражение в формуле (5.6) может быть представлено в виде функции Щи, v) от переменных и и v заменой правой части уравнения (5.7) для J. Тогда из уравнения (5.6) получим1:

у, =hh(u,v)dudv. (5.8)

Если область Д< представляет собой квадрат, описываемый неравенствами О < и <1 и 0 < v <1, то двойной интеграл в уравнении (5.8) можно оценить численно при помощи квадратуры Гаусса:

т п

V, = JJЩи,v)dudv г^Х , ,.Щи Vj > (5.9)

fi, w j=\

Как видно из формулы (5.9), квадратура Гаусса может использоваться для оценки интеграла путем выборки некоторых значений, присваивания им весов и суммирования с учетом этих весов. Точность результата, таким образом, зависит от размеров выборок пят, а также от значений параметров. Рекомендуемые значения и и v, а также веса для конкретных значений тип приведены в табл. 5.2. Другие значения пит требуют использования других групп. Квадратура Гаусса может использоваться только для интегралов, диапазон значений которых лежит в интервале от 0 до 1.

Таблица 5.2. Значения параметров и веса для квадратуры Гаусса

uh vi

п,т = 2

0,500 ООО ООО

0,211 324 865

0,500 000 000

0,788 675 135

п, т = 3

0,277 777 778

0,112 701 665

0,444 444 444

0,500 000 000

0,277 777 778

0,887 298 335

п, т = 4

0,173 927 423

0,069 431 844

0,326 072 577

0,330 009 478

0,326 072 577

0,669 990 522

0,173 927 423

0,930 568 156

п, т = 5

0,118 463 443

0,046 910 077

0,239 314 335

0,230 765 345

0,284 444 444

0,500 000 000

1 Поскольку площади выражаются через двойные интегралы, подход, использованный для вычисления выражения (5.8), может использоваться и для расчета поверхностных свойств.



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

Щ

Uj, vt

0,239 314 335

0,769 234 655

0,118 463 443

0,953 089 923

п, т = 6

0,085 662 246

0,033 765 243

0,180 380 787

0,169 395 307

0,233 956 967

0,380 690 407

0,233 956 967

0,619 309 593

0,180 380 787

0,830 604 693

0,085 662 246

0,966 234 757

Грань Si не всегда отображается на квадрат. У этой грани может быть более четырех криволинейных границ и множество внутренних отверстий. Область общего вида, на которой вычисляется двойной интеграл (5.8), может выглядеть так, как показано на рис. 5.43. Двойной интеграл на области неправильной формы нельзя вычислять методом квадратуры Гаусса. Однако его можно преобразовать в контурный интеграл вдоль границ области неправильной формы по теореме Грина:

da(u,v) 6Q(u,v)] , , fr

dudv = §[$(u,v)du + a(u,v)dv], (5.10)

Я

где под символом понимается контурный интеграл по замкнутой границе области Rj. Для многосвязной области, подобной изображенной на рис. 5.43, интеграл распадается на сумму контурных интегралов по внешней границе и внутренним границам. Направление внутренней границы, обозначаемое С,(г), противоположно направлению внешней границы C2(t), чтобы интеграл по контуру Ct автоматически вычитался при суммировании.


Рис. 5.43. Неправильная область для двойного интеграла

Чтобы воспользоваться формулой (5.10), нам нужно определить a(u,v) и P(u,v), удовлетворяющие уравнению

da(u,v) dfi(u,v)

H(u,v) =

(5.11)

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

Существует множество комбинаций a(u,v) и f>(u,v), удовлетворяющих уравнению (5.11). Один из простейших наборов a(u,v) и fi(u,v) можно получить, положив P(M,f) = 0:

da(u,v) /г;19Л

H(u,v) =-. (3.1-й)

Однако нелегко получить Щи, v) и a.(u,v) в явном виде, если уравнение поверхности St задано в такой форме, которую нелегко раскрыть, например в виде уравнения В-сплайна. Тиммер обошел эту проблему, приблизив Щи, v) полиномом от и и г по численным значениям Щи, v). Тогда эта функция может быть выражена следующим образом:

м м

ЩаИХ 7- <5-13>

Подстановка (5.13) в (5.12) дает следующее выражение:

a()=i£Ac*u*v- (5Л4)

Отсюда формулу (5.8) можно раскрыть в форме

у,. =§a(u,v)dv. (5.15)

5. Контурный интеграл по замкнутой границе может быть разложен в сумму интегралов по каждому из сегментов кривой. Следовательно, уравнение можно переписать в виде

Vi =£j*(.u,v)dv, (5.16)

где J - интеграл по сегменту криволинейной границы, взятый в направлении

обхода всей границы (см. шаг 4), а £ - суммирование по всем сегментам

м

границы.

Любой сегмент криволинейной границы области uv может быть задан приведенным ниже параметрическим уравнением :

u=u(t), v=v(t), 0 < t < 1. (5-17)

Подставляя (5.17) в (5.16), получим

Vi=t}o.Ht),v( ]%dt, (5.18)

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

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

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

1 Параметрические уравнения различных кривых рассматриваются в главе 6.



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

1роясним различие между моделями, являющимися многообразиями, и моде-[ями, не являющимися таковыми. В многообразии каждая точка на поверхности [вляется двумерной, то есть ее окрестность гомоморфна двумерному дис-у [156]. Другими словами, хотя поверхность существует в трехмерном про-транстве, с топологической точки зрения она является плоской, если рассмат-швать достаточно малый ее участок в окрестности любой заданной точки, исторически все системы твердотельного моделирования с представлением 5-Rep работали только с многообразиями [11, 12, 23, 47]. В модели, не являющейся многообразием, окрестность некоторой точки на поверхности не обязана ыть плоской. Точка может быть пересечением двух и более топологически пло-ких поверхностей (Vj, V2 и V4 на рис. 5.44, а, б и г) или плоской поверхности [ одномерной кривой (У3 на рис. 5.44, в).


г

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

fcL воз икнУть в°прос, зачем создавать модели, не являющиеся много-4ых Г ПОД изобРаженным на рис. 5.44. Запрет на создание немногооб-ых моделей считался одним из достоинств систем твердотельного моделиро-

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

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

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

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



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

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

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

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

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

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

Системы моделирования агрегатов предоставляют возможность создавать параметрические ограничивающие отношения между деталями, измерять размеры

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


А

г й

r f,

яви e





Рис. 5.45. Распространение изменений в системе моделирования устройств: а - устройстао до изменения; б - соотношения между размерами деталей, заданные конструктором; в - устройство после изменения



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

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

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

Ш ENGIHEASM

f --.*/ blockprt

> ~U P<ANKCASEJJ T > : -it CRANKCASE2PRJ 6-.if WS.CKANK ASM I-/ CRAIKF?.! Ь-it PISTONASM ! I-it >JSTOH .T

-it CONRODPRT -i< CAPFRT -PIN.PRT

-it ад rat

i-it bsltfrt 1 h-it pistcmasm i H-.3 PIST0HA5M A-P1ST0NASM

I- HEAD KPT -:iDJE№COVERrar -it CAMSHAFT.PRT

- it CAMSHAFTPRf -.i °valv£prt

-it VALVEPRT -It VALVEPRT It VALVEPRT -Л VALVEPRT -It VALVEPRT -It VALVE PRT ; I-Л VALVEPRT 6-4 ENClNESroEASM

-It SIDECOVERPRT -It T1MINGEARPRT -., TENS10NER3.PRT -it SMALTIMIHO PStT

- U TENSIONER-PRT

; -it SMALTIMiNCJRT -it TENS10MER.PRT.

Рис. 5.46. Дерево агрегата

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

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

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

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


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



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

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

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

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

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

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

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

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

1 Рассказ о виртуальной реальности пойдет в главе 13.

э.ь. моделирование для weD

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

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

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

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

Производители систем геометрического моделирования поддерживают публикацию, включая в свои системы возможность экспорта геометрических данных в форматах, доступных для чтения браузерами. Одним из таких форматов является язык описания виртуальной реальности (Virtual Reality Modeling Language - VRML), поддерживаемый стандартными браузерами. Можно сохранить данные и в форматах типа Computer Graphics Metafile (CGM) или Drawing Web Format (DWF) фирмы Autodesk, что потребует от пользователя установки специального подключаемого модуля для браузера.

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



Вопросы и задачи

1. Каковы два основных способа применения систем геометрического моделирования в жизненном цикле продукта?

2. Каков главный недостаток системы твердотельного моделирования но сравнению с системой поверхностного моделирования (с точки зрения большинства пользователей)?

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

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

5. На что следует обращать внимание при выполнении поднятия части грани объекта?

6. Предположим, что вы можете пользоваться функциями моделирования из раздела 5.3.1. Какие из них вы бы выбрали для того, чтобы получить изображенные на следующем рисунке модели? (Колесный диск разработай Zctec Ltd. в системе SolidWorks для фирмы NZ Wheels International.) Вспомните, что один и тот же объект можно получить множеством способов.


7. Каково главное преимущество использования технологических элементов при моделировании в системе, которая поддерживает эту возможность?

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

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

П. Перечислите преимущества и недостатки воксельного представления.

12. 06i лепите, почему представление октаитного дерева требует меньше памяти, чем воксельное, при том же разрешении.

13. Вычислите заштрихованную площадь на приведенном ниже рисунке.

Площадь может быть рассчитана по формуле

А = Г/4\3 гЫгаЪ.

К 11.5

1) Вычислите интеграл в квадратурах Гаусса, сделав три выборки по каждой переменной.

2) Вычислите точное значение интеграла и сравните результаты.

14. Опишите преимущества немногообразных систем моделирования перед обычными системами твердотельного моделирования.

15. Постройте модели объектов и рассчитайте положения их центров тяжести в системе твердотельного моделирования.


16. Нужно сварить две трубы, как показано на рисунке ниже. Диаметры труб одинаковы: 7,6 см. Площадь эллипса в точке сопряжения должна лежать в диапазоне 65±6 см2, чтобы предотвратить большое падение давления потока. Какой угол G и какая длина шва (периметр эллипса) могут удовлетворить поставленному условию? Решите эту задачу в интерактивном режиме в системе поверхностного или твердотельного моделирования.


-7.6 см -



Глава б

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

Для каждого криволинейного ребра в компьютере хранится либо уравнение кривой, либо эквивалентные характеристические параметры1 (см. раздел 5.3.2). Эти сведения важны как для систем автоматизированной разработки чертежей, так и для систем объемного моделирования. Мы уже показывали, что расчет точек пересечения кривых необходим для определения границ ксегмептов2 при применении булевских операций, описанных в приложении Г. Границы ксегмента получаются путем вычисления точек пересечения кривой, ограничивающей пересекающиеся поверхности, с кривой, по которой пересекаются эти поверхности (относящиеся к разным телам). После получения границ ксегмента нужно сделать еще один шаг, чтобы разделить кривую пересечения в точках пересечения. Аналогичная процедура выполняется при создании и модифицировании кривых в системах автоматизированной разработки чертежей и системах поверхностного моделирования. В этой главе мы кратко рассмотрим различные методы представления уравнений кривых и методы работы с ними. В частности, мы изучим методы обработки пересечений и объединений кривых. Более подробные сведения на тему этой главы можно найти в книгах по аналитической геометрии [49, 48, 72, 21].

6.1. Типы уравнений

Уравнения кривых могут быть разделены на два основных типа. К первому типу относятся параметрические уравнения, описывающие связь координат х, у и г точки кривой с параметром. Ко второму типу относятся непараметрические уравнения, связывающие координаты х, у и z некоторой функцией. Проще всего продемонстрировать различие между ними на примере. Рассмотрим окружность радиуса R, расположенную в начале системы координат. Если окружность лежит в плоскости ху, ее параметрическое уравнение может быть, например, таким:

x-RcosQ, y = RsinQ, г =0 (0<0<2л). (6.1)

Ту же окружность можно описать уравнением и без параметра 0:

х2 +у2-R2 = 0, 2=0 (6.2)

или

у =±л/к2 -х2, 2=0. (6.3)

Центр, радиус и вектор нормали к плоскости, в которой лежит окружность, - примеры характеристических параметров, эквивалентных уравнению окружности.

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

Уравнение (6.2) задает окружность в неявной непараметрическои форме, а уравнение (6.3) - в явной непараметрической форме.

У каждого типа уравнений, примеры которых приведены выше, есть свои преимущества и недостатки, определяющие удобство их применения для различных целей. Мы сосредоточим внимание на применении уравнений к отображению кривых, поскольку интерактивная графика является одной из важнейших функций САПР. Кривая, отображаемая на экране, в действительности представляет собой набор коротких отрезков. Поэтому постоянно возникает необходимость вычислять координаты точек кривой, находящихся на равном расстоянии друг от друга. Это называется вычислением кривой (curve evaluation). Можно ожидать, что точки окружности, заданной уравнением (6.1), могут быть получены подстановкой последовательных значений параметра, отличающихся друг от друга на небольшую величину. При использовании уравнения (6.2), однако, мы не знаем, какую неременную следует выбрать в качестве независимой и последовательно увеличивать от точки к точке. Даже если мы выберем независимую переменную, для каждого ее значения мы будем получать два значения зависимой переменной. Это означает, что нам придется выбирать одну из них таким образом, чтобы она располагалась по соседству с предыдущей найденной нами точкой. Уравнение (6.3) обладает тем же недостатком, несмотря на то, что в нем независимая переменная уже выделена.

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

6.2. Конические сечения

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

6.2.1. Окружность и дуга окружности

Окружность или дуга окружности, лежащие в плоскости ху, с заданным радиусом R и координатами центра Хс, Yr могут быть представлены уравнениями

х = RcosQ + Xc; y=RsmQ + Yc.

1 В некоторых случаях точки пересечения кривых удобно искать, если одна из кривых задана в параметрической форме, а другая - в непараметрическои. Поэтому в отдельных системах используется преобразование уравнений из параметрической формы в непараметрическую и обратно. Это преобразование рассматривается в книге [69].



i лава о. i редставление кривых и раоота с ними

Как уже отмечалось, вычисление кривой может выполняться путем последовательной подстановки в уравнение значений 0 с шагом Д0. Значение 0 может достигать 2л для полной окружности или меньшего числа для дуги окружности. Значение Д0 должно быть подобрано таким образом, чтобы вычисление было достаточно быстрым, но окружность не получилась бы похожей на многоугольник. Уравнение окружности, лежащей в другой плоскости, может быть получено применением матриц преобразования к уравнению (6.4). Матрицы преобразования рассматриваются в разделе 3.7.

Пример 6.1

Окружность единичного радиуса с центром в точке (0, 1, 1) лежит в плоскости yz, как показано на рисунке1. Выведите параметрическое уравнение этой окружности, применив соответствующие матрицы преобразований к уравнению (6.4).


Решение

Исходная единичная окружность, лежащая в плоскости ху, изображена на ри-унке пунктиром, а интересующая нас окружность - сплошной линией. Сплошная окружность получается из пунктирной поворотом на угол -90° вокруг оси у i последующей трансляцией на 1 в направлениях у и z. Обозначим координаты ючек сплошной окружности буквами х', у и г , а координаты точек пунктирной окружности буквами х, у и z. Тогда преобразования запишутся следующим образом:

[х* у' 0 1]т = Trans(0,l,l)Rot(y,-90°)[x у 0 1]т =

-cos(-90°)

sin(-90°)

У

-sin(-90 )

cos(-90 )

= [0 у + 1 х + 1 1].

х' =0;

у' = у + \ = #sin0+ 1;

z = х + I = R cos 6+1 (О<0<2л).

Уравнение этой кривой может храниться в памяти в виде характеристических параметров, таких как вектор нормали (1, 0, 0), координаты центра (0, 1, 1) и радиус 1. Как уже отмечалось, задание этих параметров эквивалентно написанию уравнения.

о.£. конические сечения

6.2.2. Эллипс и эллиптическая дуга

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

х =acos0;

у = fcsinO; (6.5)

2=0.

Диапазон значений параметра для эллипса составляет [0, 2], а для дуги эллипса может быть более узким. Произвольный эллипс на произвольной плоскости с произвольными направлениями большой и малой осей получается в результате применения матриц преобразования, подобно тому, как мы делали это с окружностью.

Пример 6.2

Получить параметрическое уравнение эллипса, лежащего в плоскости ху, с координатами центра Хс, Yc. Оси эллипса направлены так, как показано на приведенном ниже рисунке.


х

Решение

Требуемый эллипс может быть получен поворотом исходного эллипса на угол вокруг оси z и трансляцией его на величину Хс в направлении х и на величину Yc в направлении у. Обозначим координаты точек интересующего нас эллипса буквами х , у и z*, а координаты точек исходного эллипса буквами х, у и z. Тогда преобразования запишутся следующим образом:

0 1]т =

* *

У

0 1]т = Trans (Хс, Yc, 0) Rot (z, ф)[*

cos<p

-sin<p 0 0

10 0 Xt~

sin<p

cos ф 0 0

У

0 1 0 Yc

0 1 0

0 0 10

0 0 1

0 0 0 1

[х COS ф

-ysm\p+Xc

;esin<p + у cos ф + Yc

0 1].





1 ... 7 8 9 10 11 12 13 ... 29