Основы САПР (CAD,CAM,CAE) - (Кунву Ли)(2004) (951262), страница 96
Текст из файла (страница 96)
И.2) КРИН (В О, Е2) При применении операторов МРКН и КРМН, когда кольцо отверстия Е( превраща- . -.", ется во внешнее кольцо, могут образоваться два несвязанных объема. Справиться с этой проблемой можно, сохранив разьединенные объемы внутри отдельных обо- лочек после выполнения поиска по внешним кольцам, образующим каждую из оболочек. Точно так же необходимо объединить две отдельные оболочки, если .",. кольца Е1 и Е2 изначально принадлежат отдельным оболочкам, заданным КРМН. В.2. Применение операторов Эйлера Теперь приведем несколько примеров, показывающих, как описанные выше опе-:.
"' раторы Эйлера используются для реализации функций моделирования. Другнй) ":! функции моделирования могут быть реализованы аналогичным образом. В.2.1. Трансляционное заметание Сначала мы продемонстрируем, как операторы Эйлера вызываются в функш(В ", трансляционного заметания, создающей объем путем трансляции двумерной,;: замкнутой области. Предположим, что функция моделирования требует от нас. ', нарисовать двумерный профиль в плоскости зч.
Это предположение не ограничивает возможностей моделирования, поскольку объему, созданному таким споь собом, можно будет придать желаемую ориентацию позже. Ниже следует опися- ' ' ние процедуры. 1. Из двух точек на двумерном профиле, который предстоит транслировать, создается начальный элемент.
А именно, с помощью оператора МЕМФИС мы соз-, даем две вершины в этих точках, ребро между вершинами, внешнее кольцо, ' обходящее эти вершины в обоих направлениях, и оболочку (рис. В.8). Кольцо изображается цепочкой со стрелками. Непременно обратите внимание на то, как изменяется кольцо (.1 по ходу процедуры. Кольцо и оболочка не имеют '.. физического смысла на этом шаге, но об их существовании заявляется с целью выделения памяти.
2. Точки профиля соединяются с созданным на шаге 1 начальным ребром путем применения операторов меч, следуя профилю до тех пор пока все точки не ш Рис. 6.14. Результат после применения оператора МН л рез Рис. В.13. Результат однократного применения оператора МН. Рис. В.В. Результат после шага 2 Рис. В.!0. Результат после шага 3 Рис. 6.16. Замкнутый профиль е плоскости «з Рис. В.11. Результат после однократного применения оператора МЕЧ Рис. В.12. Результат после применения оператора МЕЧ л раз Рис. В.16.
Результат после шага ! .окажутся соединены((рнс. В.9). Если профйяь' содержит и точек, оператор ';':-';.'!г МЕу' будет вызван на этом шаге и — 2 раз. ; 3. Добавлением ребра между первой и последней вершиной с помощью оператора МЕ1. создается замкнутый многоугольник (рис. В.10). Обратите внимание, что исходное кольцо 1.! разделяется новым ребром на два новых кольца Е1 и !2. Позже мы обнаружим, что ! 1 станет верхней гранью, а !.2 — нижней гранью создаваемого объема. 4. В направлении трансляции создаются ребра (рис.
В.11). Для этого и раз вызывается оператор МЕт'. Результаты вызова оператора МЕЧ один и и раз соответственно показаны на рпс. В.11 и рис. В.12. Обратите внимание, как меняется кольцо ! 1 по мере применения операторов. 5- Боковые грани создаются путем добавления соответствующих ребер (Рис. В.13 и В.14). Для этого п раз вызывается оператор МН, Результаты вызова оператора МЕЕ один и и раз соответственно показаны на рис. В.13 и В.14.
Когда операция заметания будет закончена, ! ! станет верхней гранью. В.2.2. ВРВЩВтЕЛЪНОЕ ВВИЕтаНИЕ Теперь рассмотрим вращательное заметание, при котором объем создается путем, ', вращения двумерной замкнутой области. Предположим, что функция моделирп. ' ' .'' вания требует от нас нарисовать двумерный профиль в плоскости хг, где г явля-" '-'':: ется осью вращения (рис. В.15). Это предположение не ограничивает возможно- -,' стей моделирования, поскольку объему, созданному таким способом,, можно'.'-' будет придать желаемую ориентацию позже. Ниже следует описание процедуры'. ": Эта процедура описывает вращение на 360', однако чтобы получить процедуру-,:., для неполного оборота, потребуются лишь незначительные модификации.
1. Из двух точек на двумерном профиле, который предстоит вращать, создается начальный элемент (рис. В.18). Это делается с помощью оператора МЕУ!Л 8, как н в трансляционном замегании. Обратите внимание, что кольцо определяется так же, как на рис. В.8. к Рис. В.17. Результат после шага 2 Рис. 8.18. Результат после шага 3 Рис. В.19. Результат после шага 4 2. ' Тбшги профилЕ 998ницяются с созланнымгна49аге 1 начальным ребром путем ПРИМЕНЕНИЯ Онсратарвн МЕу', СЛЕдуя Прсф)(япщг дО тЕХ ПОр, ПОКа ВСЕ ТОЧКИ НЕ окажутся соединены как и на шаге 2 про)(е)фри трансляционного заметания. Если профиль содержит п точек, оператор МЫу будет вызван на этом шаге и — 2 раз. Результат изображен на рис. В.17.
3. Шаги 1 и 2 повторяются для создания зеркального отображения профиля по отношению к плоскости уг (рис. В.18). После создания зеркального изображения вьгзьвается оператор КРМН, уничтожающий оболочку, связанную с этим изображением, и превращающий кольцо 12 в кольцо отверстия, принадлежащего 1.1. 4. Кольцо Е2 сливается с кольцом 11 путем соединения их ребром. Оператор МЕКН создает соединительное ребро с полукруглой геометрией на плоскости ху (рис. В.19). 5г Симмитричйьте верн1нны соедииятотся еоптэстстиующгнзтн'' ребрамн:(рис'.З.З)' .
и В.21). Каждое ребро будет иметь форму'полуокружности, как и винте. Дди этого н — 1 раз выполняется оператор МЕ1.. Результаты вызова оператора МЕ1. один и и — 1 раз соответственно показаны на рис: В.20 и В.21; Обратте)уй:-' внимание, как меняется кольцо 11 по мере применения операторов МЕЕ.: ',,к Рис. 8.20. Результат после однократного применения оператора МЕь Рис. В.21.
Результат после применения оператора МН. л — 1 раз б. Шаг 5 повторяется, в результате чего создаются грани на задней полови~гР' объема (то есть оператор мЕ1 применяется и раз). Чтобы понять, что нрс-, исходит на этом шаге, просто посмотрите на рисунки, делюнстрирующие из;, =.'- менение геометрии по мере применения операторов МЕ1 Поскольку задййя!." сторона объема лучше отображается при виде сверху, на рис. В.22, В;23:,,: и В.24 показан вид объема сверху после выполнения шага 5 и после прима;: пения оператора мее один и п раз соответственно. Обратите внимание из уй»:.
как меняется кольцо И по мере применения операторов МЕ1: по завершетрФ:., операции вращательного заметания Е1 становится нижней гранью. Рис. В.22. Результат после шага 5 Рис. В.23. Результат после однократного применения оператора МН. Ь1 Рис. В.24. Результат после применения оператора МН и раз : ез.2.3. Создание примитивов : Кака к вы помните, большинство систем твердотельного моделирования позволяют . (юльзователям получать объемы простых форм, на основе которых можно моде- .
7)ировать более сложные объемы. Этот метод работает, поскольку процедуры, используемые для создания этих примитивов, заранее заданы, и примитивы могут сгенерированы в любом желаемом размере в соответствии с параметрами, заданными подьзователем, эти:цр(оцедурай4йчио сасьтаят,'иа ойераттор()взЭйле«ра; производяших трансляционное или врэщатедьное заметание, поскольку 'большинспю 'примитивов можно создать с помощью этих 'функций модеаирования,- й(. На самом деле операторы Эйлера просто незаменимы для хранения примитивен в системах твердотельного моделирдвания.
Например, в листинге В.2 приведена ь(,::-',", процедура создания примитивного параллелепипеда с параметрами УУ, Е) н Н, по; казанного на рис. В.25. е р Рис. В.2В. Параметры и система координат для параллелепипеда Листинг В.2. Процедура создания параллелепипеда ВОЗУ "Сгее(е В)осе (Ы. О. Н) бось)е Ы. О. Н. ( Всау «В: 5ье)1 "5. Есор *П .
«(2. «ЕЗ. *14. «Е5. *( 6: Еоде *Е1. *Е2, *ЕЗ. *Е4. *Е5. *Е6; Уег1ек «У1. «Ч2 "ЧЗ «Ч4. «Ч5. *У6. «Ч7. *ЧВ: В - па))сс(11гео((Всоу)); мечу(5(В. ае1. ач1. ач2. 501, 55, О/2. и/2. О, -О/2. -ы/2, О): меив. и . У2. ае2. ауз. -О/г. -ы/2. О): меч(В, и, чз аез ач4, О/2. -И2, 0); мепВ.
и, у4. ч), ае4. 512). мещВ. (.1, ч1. ае5, ау5„ О/2. ы/2, н); мен(В. и, '/2. аеб. ач6. -О/2. ы/2. н): мепВ. и . чз, а(7 ау7 -о/2, ы/2. н); мен(В. и . у4. ае8. ВЧВ. О/2, -щ2. н): мепВ. и. ч5. ч6. ае9, Вез). ме(.(В. и, уб. Ч7. ае10, ае4); мепВ. и.
ч/. ЧВ. ае11. 515): мее(В. и, ЧВ У5. ае12, а(6): гетогп(В): для реализации этих трех основных функций моделирования мы применидн:: . операторы Эйлера в надлежащей последовательности. Приведенный ниже при;, " мер являет собой дальнейшую демонстрацию того, что любую функцию модели-!::.е рования можно реализовать с помощью операторов Эйлера. .Л- 4 ( мзву П„з ( мвь П з(кзь П канн ешеиие Пример-®;2 Покажите,'как применгггь:последовательиость' 'операторов Эйлера для реализа- ,ции операции моделирбваиия, которая разделит шестиграииик (рис. В.26, и) иа два шестиграииика (рис. В.26, е).
Рис. 6.26. Реализация функаии моделирования с помощью операторов Эйлера еобходимо последовательно вызвать следующие операторы Эйлера (рис. В.26). Ребра разбиваются надвое операторами МЧЕ (рис. В.26, 6). Этот оператор применяется четыре раза. К каждой вершине, созданной иа предыдущем шаге, применяется оператор Мат', что приводит к результату, изображеииому на рис. В.26, в.
Оператор М2Ет' также применяется четыре раза. и ' При йомоши:оиератора ми.'-соедииякася иовь)е-вершииьц Воздвииьте иа;цре-' дыдуШих-шатаък; и СОЗДаются трави. Оператор МЕС Вримеияетгя ВосеМь Раз; в результате чего создается восемь ребер и восемь ввршии (рис. В.26, г). Обратите внимание, что четыре грани в середиие ие содержат в себе областей. О Ребра нулевой длины уиичтожаются оператором КЕЕ (рис. В.26, д). Когда;:. ребро уиичтожается оператором КЕ1„две грани, для которых это ребро было',' -".' обшим, объединяются. Оператор КН применяется восемь раз, в результц(е чего остается одно связующее ребро нулевой длины (рис.