Использование технологии Solid для описания трехмерных фигур
Лабораторная работа № 3. Описание поверхностей и трехмерных фигур
Поверхность (Surface)
Следующий за кривыми по сложности геометрический объект – поверхность (Surface). Для создания поверхностей, как нетрудно догадаться следует использовать пункт меню Geometry-Surface. Различных способов, как видим, довольно много. Все они разбиты на шесть групп.
Первая группа содержит только одну команду Corners (углы). Создайте четыре точки с координатами (0,0,0), (1,0,0.2), (1,1,0), (0,1,0.2). Здесь мы впервые выходим в своих построениях за пределы плоскости XOY. Теперь вызовите команду Geometry-Surface-Corners и в появившемся окне Locate – Enter First Corner of Surface (Местонахождение – Введите Первый Угол Поверхности) укажите первую из созданных точек. После нажатия OK, появится аналогичное окно с просьбой указать второй угол, затем третий и, наконец, четвертый. Указывайте в них созданные точки, обходя их против часовой стрелки.
После последнего, четвертого OK в графическом окне появится изображение созданной поверхности и, как обычно, предложение создать еще один объект того же типа. От предложения откажемся, а с изображением ознакомимся повнимательнее. Пока что эта поверхность выглядит как квадрат. Хотя вы, очевидно, догадываетесь, что поскольку точки 2 и 4 не лежат в плоскости XOY, на самом деле эта фигура сложнее, чем кажется. Вот только как бы ее получше разглядеть. Сейчас вы смотрите на изображение со стороны стрелки оси Z. Из-за этого трудно понять, какие из точек поверхности ближе к наблюдателю, какие дальше. Разобраться, какую форму имеет созданная поверхность, глядя на рисунок, просто невозможно. Из курса начертательной геометрии вы должны знать, что наиболее наглядные изображения трехмерных объектов получаются при использовании аксонометрических проекций. В FEMAP имеется средство для того, чтобы изменять точку зрения на чертеж. Или, если вам это покажется это понятней, поворачивать вашу модель перед глазами наиболее удобным образом. Выполните команду View-Rotate- Model. Это окно мы рассмотрим сейчас довольно подробно, но пока просто нажмите в нем кнопку Dimetric –это приведет к тому, что наша модель будет изображена в стандартной диметрической проекции. Расположение осей глобальной системы координат, которое всегда изображается в левом нижнем углу графического окна, изменится, а внешний вид созданной поверхности станет более понятным.
Теперь, можно догадаться, что метод Corners работает следующим образом. Угловые точки соединяются прямыми, а затем поверхность образуется как совокупность прямых, соединяющих соответственные точки противоположных границ. Обратите внимание, что, хотя и границы поверхности и образующие являются прямыми, сама поверхность обладает кривизной.
А теперь, разобравшись с методом Corners, давайте вновь вызовем на экран окно View Rotate Model(горячая клавиша F8 или Ctrl – R). Не умея работать с этим окном, нечего и пытаться создавать трехмерные модели. Поэтому здесь будут подробно рассмотрены каждое окошко и каждая кнопка окна. Вы же, прочитав описание очередного пункта, сразу пробуйте применить его на практике. Не бойтесь экспериментировать. Вы всегда сможете восстановить исходный вид картинки, нажав кнопку Dimetric. Только когда вы научитесь уверенно управлять положением вашего вида, можно будет продолжить дальнейшее изучение.
Слева находятся линейки прокрутки (scrolling bars). Нажимая на стрелки, вы можете вращать ваш вид вокруг осей X, Y и Z. В окошке Delta Angle указывается величина угла, на который поворачивается вид после одного щелчка по стрелке линейки. По умолчанию шаг изменения угла устанавливается в 10 градусов, но вы можете установить для него большее или меньшее значение по вашему желанию.
Над окошком Delta Angle находятся ниспадающий список, которые позволяет сделать выбор осей, относительно которых будет вращаться вид модели. Если выбрана какая-либо из глобальных систем координат, то вращение происходит вокруг осей этой системы. Эти оси всегда видны в левом нижнем углу графического окна. Если включены оси экрана (-1 Screen Axes), то и вращение будет происходить вокруг осей экрана. При этом ось X всегда считается расположенной горизонтально, слева направо. Ось Y направлена вверх, перпендикулярно оси X. А ось экрана Z всегда смотрит на вас.
Еще правее находятся девять кнопок, которые позволяют сразу выбрать одно из наиболее часто используемых расположений вида. Нажатие кнопки XY Top совместит плоскость XOY с плоскостью экрана. При этом рассматривать свою модель вы будете рассматривать со стороны стрелки оси Z (сверху). Если вы нажмете кнопку Bottom, то вы будете рассматривать свою модель снизу, а плоскость XY по-прежнему будет совмещена с плоскостью экрана. Аналогично кнопки YZ Right и Left совмещают с плоскостью экрана плоскость YZ, а кнопки XZ Front и Back – плоскость XZ. Кнопки Isometric, Dimetric и Trimetric предназначены для выбора одной из трех стандартных аксонометрических проекций.
Кнопки Mag, Zoom, Pan предназначены для увеличения и смещения изображения. Впрочем, для этих целей удобнее использовать кнопки в линейке инструментов, которая находится под линейкой меню.
Кнопка OK как всегда нажимается, если вы удовлетворены тем, что видите на экране. А если результат ваших упражнений с View Rotate вам совсем не нравится, нажимайте кнопку Cancel.
Теперь, после довольно продолжительного, но необходимого отступления, вернемся к главной теме – поверхностям. Рассмотрим команду Geometry – Surface – Edge Curves. Удалите поверхности и линии, которые вы успели создать, изучая метод Corners, и проведите заново четыре линии, ограничивающие будущую поверхность. Затем выполните команду Geometry – Surface – Edge Curvesи укажите в окне Edge Surface эти линии, обходя их против часовой стрелки. Результат будет такой же, как и в методе Corners. Однако, если в качестве границ использовать кривые, то можно строить поверхности более сложной формы.
Еще во второй группе подменю Geometry – Surface содержатся методы:
Aligned Curves – построение сложных искривленных поверхностей;
Ruled – линейчатые поверхности с направляющими произвольной формы.
Как и раньше, возможности и средства, выделенные курсивом, здесь подробно не рассматриваются.
В третьей группе подменю Geometry – Surface содержатся команды, позволяющие создавать поверхности, используя ранее созданные линии (как прямые, так и кривые). Очистите вновь экран и создайте сплайн, наподобие изображенного на рисунке.
Затем выполните команду Geometry-Surface – Extrude (выдавливать), в окне выбора линии укажите только что созданный сплайн, после чего на экране появится окно Vector Locate – Select Vector to Extrude Along (расположение вектора – выберите вектор для выдавливания вдоль него). Поверхность будет образована «протаскиванием» выбранной линии в направлении заданного вектора. Вектор задается координатами его начала (Base) и конца (Tip). Задайте этот вектор, например, так как на рисунке, и, нажав ОК, вы получите эту поверхность.
Выберите подходящий вид (View-Rotate), в котором эта поверхность будет выглядеть наилучшим образом:
Метод Revolve (вращать) похож на метод Extrude. Только исходная линия не «протаскивается» вдоль прямой, заданной вектором, а вращается вокруг заданной оси на заданный угол.
Метод Revolve не сопровождается подробными объяснениями и изображениями диалоговых окон. Я надеюсь, что опыт, уже накопленный вами, поможет разобраться самостоятельно, как задать вектор, определяющий ось вращения и как задать нужный угол вращения.
Третий метод этой группы Sweep похож на Extrude, только исходная линия «протаскивается» не по прямой, а по криволинейному пути. Этот метод удобен, например, для моделирования трубопроводов с различными изгибами и коленами.
Команды четвертой группы: Plane, Cylinder, Sphere предназначены для построения простейших канонических поверхностей – плоскости, кругового цилиндра и сферы соответственно.
Команда пятой группы Offset создает новую поверхность из уже существующей, перенося ее точки по нормали на заданное расстояние. Остальные подкоманды команды Geometry – Surface здесь не рассматриваются.
Команда Geometry – Boundary Surface предназначена для описания плоских фигур сложной формы с возможными отверстиями и вырезами. Эта очень полезная команда достаточно подробно была рассмотрена в первой работе.
Объем (Volume)
Для описания трехмерных геометрических объектов FEMAP предлагает две технологии. Технология Solid (так называемое твердотельное моделирование) будет рассмотрена в конце этого занятия.
А пока что рассмотрим создание относительно простых трехмерных геометрических объектов с помощью команды Volume. (Замечание. Если при попытке выполнить команду Geometry – Volume, вы обнаружите, что все ее подкоманды показаны серым цветом, то есть они недоступны, то исправить это можно следующим образом. Выполните команду File – Preferences. В открывшемся окне выберите вкладку Geometry/Model, и в ниспадающем списке Geometry Engine выберите 0 .. Standard)
Команда Geometry – Volume – Corners позволяет создать объем в виде многогранника. Возможны следующие формы: кирпич (Brick), клин (Wedge), пирамида (Pyramid) и тетраэдр (Tetra). Процедура создания таких объемов заключается в последовательном задании координат вершин многогранника в таком порядке, в каком они пронумерованы на рисунках. FEMAP определяет форму объема, исходя из того, сколько вершин вы описали. Так если вы введете координаты шести вершин, а затем,в ответ на предложение описать седьмую вершину, нажмете кнопку Cancel, FEMAP создаст клин, а если вы ограничитесь четырьмя вершинами – тетраэдр. В качестве тренировки создайте объемы всех четырех типов. Координаты вершин выберите по своему усмотрению.
Другие методы создания объемов:
Surface – объем заключенный между шестью поверхностями – верхней, нижней и четырьмя боковыми;
Between – объем заключенный между двумя поверхностями (верхней и нижней), либо между точкой и поверхностью;
Extrude – объем образуемый при «протаскивании» поверхности вдоль заданного вектора;
Revolve ‑ объем, описываемый при вращении поверхности вокруг заданной оси;
Cylinder и Sphere – простейшие канонические объемы – цилиндр и сфера.
В целом же следует заметить, что с помощью команды Volume удается построить только относительно простые объемы. То есть это примерно те же кирпич (Brick), клин (Wedge), пирамида (Pyramid) и тетраэдр (Tetra), что и на приведенном выше рисунке. Хотя возможно и с криволинейными границами.
Гораздо удобнее для построения сложных трехмерных фигур команда Solid, рассматриваемая в следующем разделе. Эта команда, обеспечивая все возможности, обеспечиваемые командой Volume, кроме того предлагает ряд новых возможностей. Тем не менее, команда Volume по-прежнему сохраняется в арсенале средств FEMAP.
Использование технологии Solid для описания трехмерных фигур
Технология описания трехмерных объектов, используемая при работе с командой Solid, получила в нашей литературе название твердотельного моделирования. Надо сказать, что термин этот появился, по-видимому, в результате плохого перевода слова solid. Одно из значений этого слова действительно твердый, плотный. Но, как и многие слова, это слово является многозначным. И в данном случае в первоисточнике solid скорее всего означало объемный, трехмерный. Однако термин твердотельный успешно прижился и постоянно применяется в специальной литературе.
Рассмотрим сначала уже известный нам прием выдавливания (extrude) объема из поверхности. Создадим поверхность командой Geometry – Surface – Corners…, начертив предварительно четырехугольник с вершинами в точках (2,0,1), (0,0,1), (0,0,2), (2,0,2). Полученный прямоугольник перпендикулярен экрану. Поэтому с помощью команды вращения изображения выберем аксонометрическую проекцию Dimetric.
Теперь выдавим из этого прямоугольника «кирпич» командой Geometry-Solid-Extrude.
В этом окне мы видим четыре группы управляющих элементов (controls group).
Группа Material на самом деле к привычному нам пониманию материала, как некоторого вещества, обладающего механическими свойствами, отношения не имеет. Здесь определяются некоторые нюансы при создании нового солида. (Чтобы отличать трехмерные объекты, созданные командой Solid, от объектов, созданных командой Volume, будем далее называть их солидами). К возможностям этой группы мы еще вернемся. А пока, поскольку никаких солидов в модели еще нет, и мы только собираемся создать первый, оставим выбор, предлагаемый по умолчанию – New Solid.
Далее обратим внимание на правую группу из четырех кнопок. Здесь для того, чтобы выбрать поверхность, из которой будет выдавлен солид, надо нажать кнопку Surface….
В появившемся окошке выбора поверхности указываем только что созданный прямоугольник и нажимаем ОК.
Обратите внимание на то что у угла поверхности появилась белая стрелка, показывающая направление внешней нормали. В группе Direction (направление) принят по умолчанию выбор Positive (положительное). То есть выдавливание будет выполняться в направлении этой стрелки.
Наконец в группе Length в окошке по To Depth установим глубину выдавливания равной 4. К некоторым не рассмотренным элементам управления окна Extrusion Options мы еще вернемся, а пока нажмем кнопку OK.
Конечно, тот же самый результат мы могли бы получить и с помощью команды Volume. Для ознакомления с новыми возможностями продолжим построения.
Нарисуйте окружность с центром в точке (1,2,0) радиуса 0.5.
Круг, ограниченный этой окружностью, определим как поверхность с помощью команды Geometry – Boundary Surface – From Curves.
Теперь вновь вызовем команду Geometry-Solid-Extrude. Нажав кнопку Surface…, выберем для выдавливания созданный круг, установим глубину выдавливания равной пяти и приостановимся. Обратим внимание на то, что изменилось в окне Extrusion Options по сравнению с предыдущим его вызовом.
Прежде всего следует заметить, что в группе Material теперь выбрана опция Add-Protrusion (добавление – выпячивание). Рассмотрим все возможные варианты. То есть сначала согласимся с выбором Add и нажмем ОК
В результате получаем новый солид довольно сложной формы. Собственно говоря, он получен объединением уже имевшегося «кирпича» и цилиндра, получаемого выдавливанием круга.
Теперь давайте отменим последнее выдавливание с помощью команды Tools-Undo (Ctrl‑Z).
Вновь повторим команду Geometry-Solid-Extrude, укажем круг как поверхность для выдавливания и зададим глубину выдавливания. Только теперь в группе Material выберем опцию Remove – Hole (Удалить – продырявить).
Нажимаем ОК. Как видим, теперь в результате получаем «кирпич» из которого удалена часть, совпадающая с цилиндром, который мог бы быть выдавлен из круга. Сам цилиндр при этом в явном виде не строится.
Вновь отменим последнюю операцию и повторим выдавливание, выбрав на этот раз в группе Material опцию New Solid.
Теперь результат очень похож внешне на тот, который был получен при использовании опции Add. Однако на самом деле результат принципиально другой. Если при опции Add был получен один солид (хотя и сложной формы), то при опции New Solid мы получили второй солид, независимый от первого. Хотя и частично с ним пересекающийся. В этом мы можем убедиться, например, с помощью команды List-Geometry-Solid.
Теперь я думаю, вам должен быть понятен смысл слова Material в окне Extrusion Options. Но на всякий случай уточню. Здесь, выбирая опции этой группы, мы может управлять направленностью действий при геометрических построениях. Это может быть добавление некоторых объемов к уже имеющемуся солиду (опция Add), удалению (опция Remove), либо созданию нового солида (опция New Solid).
Результат последнего выполнения операции Solid – Extrude на этот раз отменять не будем. Он нам потребуется для иллюстрации действия некоторых других команд. А в заключение коротко пробежимся по тем элементам окна, которые не пришлось пока использовать.
В группе Direction мы можем выбирать между Positive и Negative. Понятно, что опция Negative должна выбираться, если мы хотим поменять направление выдавливания на противоположное. Кроме того, в этой группе мы можем поставить галочку напротив Both Directions. Как следует из названия опции, это следует делать, если мы хотим, чтобы выдавливание было выполнено в обоих направлениях. И в положительном, и в отрицательном.
В группе Length мы можем:
‑ либо указать глубину выдавливания в окошке под To Depth;
‑ либо выбрать опцию To Location. В этом случае после нажатия ОК будет предложено указать координаты точки, до которой должна переместиться выдавливаемая поверхность
‑ либо выбрать опцию Thru All (сквозь все). Эта опция доступна только в режиме Remove/Hole. Удаляет материал из всех солидов, которые могут встретиться поверхности при ее выдавливании (экструзии).
Наконец о кнопках в правой части окна.
Кнопка Active Solid … . Вы помните, что при экструзии «материал» либо добавляется, либо к уже существующему солиду, либо убавляется от него. В нашем примере перед выполнением этой команды в модели был только один солид («кирпич»). А если бы в модели было уже несколько солидов. С каким из них будет выполняться эта операция? Ответ – с активным солидом. Обычно активным является последний созданный солид. Мы можем активизировать другой солид с помощью команды Geometry – Solid – Activate … . Но если мы уже начали выполнять команду Extrude, и вдруг обнаружили, что активен в данный момент не тот солид, который нам нужен, то не поздно изменить это, не выходя из команды Extrude. Нажимаем кнопку Active Solid и из списка всех солидов выбираем нужный.
Кнопка Along Vector … . С помощью этой кнопки можно задать направление экструзии не по нормали к поверхности, но и в любом другом направлении.
Кнопка Pattern … (Шаблон). Позволяет проделать в солиде сразу несколько дырок. Подробнее см Help.
Команда Solid Extrude описана здесь столь подробно потому, что она, во-первых, является типичной командой из подменю Solid, во-вторых, на примере этой команды мы рассмотрели главные понятия, приемы и термины твердотельной техники геометрических построений в FEMAP.
Далее приведем перечень остальных команд меню Solid с краткими пояснениями.
Add/Remove Material – щелчок по этой строчки приводит изменению умолчания при выполнении команд типа Extrude. Когда в строке стоит галочка – «материал» добавляется, если галочки нет – «материал» удаляется.
Revolve – подобна команде Extrude. Отличие в том, что поверхность не выдавливается, а вращается вокруг заданной оси.
Primitives – создает солиды простой формы – цилиндры, конусы, блоки.
Stitch – «сшивает» солид из нескольких поверхностей.
Explode – создает независимые поверхности. Сам солид удаляется, остаются только поверхности, которые его образовывали.
Fillet – создает скругления на ребрах солида.
Chamfer – создает фаски на ребрах солида.
Shell – из поверхности солида делает тонкостенный солид (оболочку) заданной толщины.
Thicken – утолщает, либо утоньшает солид.
Remove Face – удаление поверхности из солида
Add – новый солид создается как сумма (объединение) существующих солидов.
Remove – «вычитание» солидов – из активного солида удаляется часть совпадающая с другим существующим солидом.
Common – новый солид создается как общая часть (пересечение) существующих солидов
Embed – похожа на Common, но создает два солида. Один солид является пересечением активного солида с другим, а второй солид – то что остается от активного солида, если из него вычесть это пересечение.
Intersect – для двух солидов. Разрезает поверхности, образующие эти солиды, по линиям пересечения солидов
Slice – получает из одного солида два, разрезая его по заданной плоскости.
Slice Match – то же, что и Slice, но дополнительно обеспечивает в дальнейшем совместность конечно-элементной сетки по плоскости разреза.
Slice Along Face – подобна Slice Match, но выполняет разрез не по плоскости, а по грани солида, которая не обязательно является плоской.
Embed Face – выдавливает грань внутрь солида и дает в результате два солида: солид, полученный выдавливанием грани внутрь исходного солида, и то что остается от исходного солида после этого выдавливания.
Cleanup – «зачистка» ‑ операция по удалению мелких погрешностей геометрии. Обычно требуется при импортировании геометрии из CAD-пакетов.