|
|
|||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||
| Вход | |||||||||||||||||||||||||||||||||
|
Раздел "Femlab"
Femlab 2.3. Руководство пользователя (перевод с английского с редакторской правкой В.Е.Шмелева): В оглавление книги \ К следующему разделу \ К предыдущему разделу 1.7.2. Построение геометрии в трёхмерной расчётной области Двумерный экран монитора ограничивает возможности определения трехмерного геометрического объекта посредством щелчка и перемещения мыши (как было описано в п. 1.7.1). Стандартный путь создания трехмерных конфигураций состоит в том, чтобы моделировать двумерное поперечное сечение и затем использовать операции типа экструзии или вращения, чтобы расширить полученные объекты в трехмерные геометрические объекты. Есть возможность строить даже более сложные конфигурации, используя операции над множествами. В системе FEMLAB Вы моделируете двумерные поперечные сечения в локальных двумерных системах координат. Такие сечения называются рабочими плоскостями, которые можно устанавливать в любом месте расчётной области. Из этого следует, двумерное моделирование является важной составной частью процесса построения геометрии в трёхмерной расчётной области. В FEMLAB имеется также набор трёхмерных примитивов, которые Вы можете создавать легко без всякой активизации рабочей плоскости. Они включают параллелепипеды, конусы, цилиндры, элипсоиды, шары и сферы. Для их создания инструментальная панель прорисовки геометрии имеет соответствующие кнопки. Когда Вы создаёте геометрический объект, графический интерфейс автоматически назначает ему уникальное имя. Заданные по умолчанию имена для цилиндров начинаются с символов CYL, например, CYL1, CYL2, CYL3 и т.д.; имена прямоугольников начинаются символов BLK, например, BLK1, BLK2, BLK3 и т.д.; имена конусов начинаются символов CON, например, CON1, CON2, CON3 и т.д. Объекты, получаемые в результате экструзии двумерных объектов из рабочей плоскости, имеют имена EXT1, EXT2, EXT3 и т.д. Объекты, получаемые в результате вращения двумерных объектов из рабочей плоскости, имеют имена REV1, REV2, REV3 и т.д. На рис. 1.121 показан общий вид окна фигуры femlab, в поле axes которого создано несколько примитивных трёхмерных геометрических объектов.
Построение рабочих плоскостей Рабочая плоскость может быть построена в любом месте трёхмерного пространства. Для полного определения такой плоскости достаточно знать координаты трёх точек и направление вектора нормали. FEMLAB позволяет определять ориентацию рабочей плоскости либо явно, задавая её координаты, либо используя соответствующие геометрические объекты в качестве опорных точек.
Создать рабочую плоскость можно командой меню Draw/ Add/Edit/Delete Work Plane. В результате выполнения этой команды раскрывается диалоговое окно, общий вид которого показан на рис. 1.122. Это диалоговое окно имеет пять закладок, определяющих пять способов создания рабочей плоскости. Здесь предусмотрена возможность создавать новые, а также редактировать, уничтожать и переименовывать существующие рабочие плоскости. Закладка General определяет метод позиционирования рабочей плоскости: быстрое (упрощённое) позиционирование, параллельно грани, параллельно углу, образованному рёбрами, по вершинам и явное позиционирование по трём точкам. Быстрое позиционирование позволяет выбрать xy, yz или zx плоскость. Позиционирование по граням, рёбрам и вершинам использует существующие объекты в качестве опорных точек. Specify position - позиционирование рабочей плоскости по трём точкам. В этом случае вектор положительной нормали однозначно определяется порядком задания координат точек в соответствии с правилом правого винта. Нажатие кнопки Disp Coord приводит к показу в трёхмерном поле axes указателя локальных осей рабочей плоскости. Тангенциальные оси здесь обозначаются x, y, а нормальная ось - z. Указатель направлений локальных осей может оказаться за диалоговым окном. В этом случае, чтобы увидеть указатель, нужно подвинуть диалоговое окно. Нажатие кнопки OK приводит к закрытию диалогового окна, после чего можно начинать работу с любой существующей рабочей плоскостью. Когда активизирована рабочая плоскость, панель прорисовки трёхмерной геометрии заменяется на панель рисования двумерного режима. К стандартной панели рисования двумерного режима добавляется ещё три кнопки, которые позволяют либо проецировать все грани трёхмерных геометрических объектов на рабочую плоскость, либо показывать только грани, принадлежащие рабочей плоскости, либо не показывать совсем трёхмерные объекты. Такой показ даёт возможность пользователю лучше видеть расположение рабочей плоскости в трёхмерной геометрии и позиционировать указатель мыши при рисовании относительно показываемых рёбер. Пусть трёхмерная геометрия состоит из одного объекта - шара радиуса 1 с центром в точке (0,0,0), рёбра которого показаны на рис. 1.123. Пусть создана рабочая плоскость z=0, и она активизирована. Тогда при нажатой кнопке
Рисование в рабочей плоскости ничем не отличается от моделирования геометрии в двумерной расчётной области. Здесь создаётся геометрия сечения, используя стандартное двумерное солидное моделирование или граничные методы моделирования. Возможно внедрение, экструзия, или вращение объектов, чтобы сформировать трехмерный геометрический объект. Экструзия, вращение и внедрение геометрических объектов Экструзия объектов активной рабочей плоскости осуществляется командой меню Draw/ Extrude. Вид диалогового окна Extrude, разворачиваемого по этой команде, показан на рис. 1.126. Это окно состоит из списка выбора экструдируемых объектов, а также строк редактирования Distance (на какое расстояние экструдировать), Scale x, Scale y (пропорциональное растягивание по x и y), Displacement x, Displacement y (смещение по горизонтали и вертикали в местных координатах рабочей плоскости), Extr. obj. Name (имя объекта, получаемого в результате экструзии). Пример объекта, полученного экструзией, показан на рис. 1.127.
Пусть в рабочей плоскости нарисован объект многоугольник, изображённый на рис. 1.128. Пусть из него нам нужно получить фигуру вращения относительно оси y=0. В результате выполнения команды Draw/ Revolve развернётся диалоговое окно, показанное на рис. 1.129. Нажатие кнопки OK приведёт к созданию трёхмерной фигуры вращения, изображённой на рис. 1.130.
Команда меню Draw/ Embed разворачивает диалоговое окно внедрения двумерных объектов рабочей плоскости в трёхмерную модель. Внедрённый объект будет являться плоской гранью (face). Пример внедрения показан на рис. 1.131 (face EMB1).
Создание солидных объектов и операции над множествами Для непосредственного создания солидных объектов в трёхмерной модели в GUI femlab предусмотрены геометрические примитивы. Каждому примитиву соответствует своя кнопка инструментальной панели рисования (см. подраздел 1.4). Для создания параллелепипеда нажмём кнопку
Теперь перейдём в рабочую плоскость z=0 и создадим там объект круг с центром (0.5,1) и радиусом 0.25 (рис. 1.134).
Теперь выполним экструзию круга на высоту 0.2, выделим все трёхмерные объекты и нажмём кнопку
Теперь попробуем "снять фаску" 0.5x0.5 с верхней кромки отверстия. Для этого создадим рабочую плоскость № 2. Проведём её параллельно грани x=0 нашей детали. Вид соответствующего диалогового окна показан на рис. 1.137. Нажатие кнопки OK приведёт к созданию рабочей плоскости и её активизации. Командой меню Options/ Axes/Grid Settings исправим параметры координатной сетки так, чтобы её шаг по x и по y был равен 0.05. Теперь можно кнопкой
Теперь созданный треугольник нужно превратить в фигуру вращения относительно оси (x=0.5, y=1). Это и будет фаска, которую надо снять. Такое превращение осуществляется командой меню Draw/ Revolve, раскрывающей диалоговое окно, в строки редактирования которого нужно вписать значения, показанные на рис. 1.139.
Нажимаем OK, в трёхмерной модели выделяем все объекты и строим композиционный объект с операцией вычитания множеств. В результате получится деталь с отверстием и со снятой фаской (рис. 1.140).
В рабочей плоскости № 1 с помощью кнопок
Выполним экструзию криволинейных треугольников на высоту 0.2 и выделим в трёхмерной модели все геометрические объекты. Затем кнопкой
Использование языка программирования Для создания объекта, показанного на рис. 1.142, можно воспользоваться функциями командной строки FEMLAB, которые можно выполнить прямо в командном окне MATLAB. Для удобства последовательность операторов MATLAB оформим в виде вычислительного сценария:
% geometry1 - прорисовка трёхмерной детали с отверстием с фаской и со
% скруглёнными углами
r=rect2(0,1,0,2); % создаём двумерный прямоугольник
rf=fillet(r,'radii',0.125); % скругляем углы прямоугольника
c1=circ2(0.5,1,0.25); % рисуем двумерный круг
t1=curve2([0.15 0.2],[0.75 0.75]); %
t2=curve2([0.2 0.2],[0.75 0.8]); %
t3=curve2([0.2 0.15],[0.8 0.75]); % стороны треугольника
t=geomcoerce('solid',{t1,t2,t3}); % из сторон строим солидный треугольник
blk=extrude(rf,0.2); % прямоугольная пластина со скруглёнными углами
hole=extrude(c1,0.2); % цилиндрическое отверстие
wrkpln=[[0;1;0],[0;1;1],[1;1;0]]; % координаты точек рабочей плоскости y=1
ax=[[0;0.5],[1;0]]; % задание местных координат оси вращения
chamf = revolve(t,'angles',[0,2*pi],...
'revaxis',ax,'wrkpln',wrkpln); % вращение треугольника = фаска
chamf = solid3(chamf); % преобразование фаски в солидный трёхмерный объект
plate = blk-(chamf+hole); % готовая деталь
% Для построения готовой детали используются операции над множествами
geomplot(plate) % показ готовой детали в обычной фигуре MATLAB
axis equal % равный масштаб по координатным осям
camlight % подсветка изображения готовой детали
grid on % показ координатной сетки
axis([-0.1 1.1 -0.1 2.1 -0.1 0.4]) % задание пределов осей
В результате выполнения вычислительного сценария в рабочей области MATLAB будет создан интересующий нас объект (под именем plate). Этот объект будет отображён в фигуре MATLAB (рис. 1.143).
Редактирование солидных объектов средствами GUI Невозможно двигать трёхмерные объекты, перемещая указатель мыши при нажатой левой кнопке. Вместо этого в трёхмерном режиме моделирования предусмотрена возможность изменения свойств объектов командой меню Draw/ Object Properties. Редактирование свойств непримитивных объектов, полученных с помощью операций над множествами, невозможно.
Разбиение геометрического объекта на подобласти Композиционные объекты, построенные на операции объединения множеств, могут содержать в себе внутренние границы, т.е. состоять из подобластей (подобласти можно использовать для задания неоднородных материальных свойств). Если при создании составного объекта нет необходимости сохранять внутренние границы, то флажок Keep internal borders в диалоговом окне Create Composite Object нужно сбросить. Любой солидный объект, состоящий из нескольких подобластей, можно разбить на несколько солидных объектов, каждый из которых будет представлять одну свою подобласть. Это можно сделать командой меню Draw/ Split Object или кнопкой инструментальной панели рисования ss = split(s); Здесь s - разбиваемый объект, ss - массив ячеек вновь созданных объектов. Face-объекты Face-объекты - это грани солидных трёхмерных объектов, которые в общем случае могут быть криволинейными поверхностями. Логически и геометрически целостные криволинейные поверхности также будем называть face-объектами или просто гранями. Любой солидный трёхмерный объект можно преобразовать в совокупность face-объектов, образующих замкнутую поверхность. Такое преобразование можно выполнить нажатием кнопки Внедрение в трёхмерную модель двумерного солидного объекта, а также экструзия и вращение криволинейных объектов приводят к созданию трёхмерных face-объектов. Из граней также можно создавать композиционные объекты командой меню Draw/ Create Composite Object. Граничное моделирование трёхмерной геометрии При использовании граничного моделирования, Вы явно определяете границу составного солидного объекта, прорисовывая каждую его грань (сегмент поверхности). Следующий пример показывает, как создать тетраэдр, используя граничную технологию моделирования. Использование средств GUI femlab Навигатором моделей установим любой трёхмерный прикладной режим моделирования. Командой меню Draw/ Work plane 1 перейдём в рабочую плоскость № 1 (по умолчанию это плоскость z=0). В рабочей плоскости методом граничного моделирования создадим равносторонний треугольник, вершины основания которого имеют координаты (0,0), (1,0). Командой меню Options/ Axes/Grid Settings установим шаг координатной сетки, равный 0.5, проведём также дополнительную горизонталь сетки y=sqrt(0.75). В нижней строке фигуры femlab установим дополнительные режимы SNAP и SOLID.
Теперь можно рисовать треугольник. Нажмём кнопку Командой меню Draw/ Embed внедрим нарисованный треугольник в трёхмерную модель. Чтобы прорисовать следующую грань, изменим пространственное положение рабочей плоскости № 1 или создадим новую. Выполним команду меню Draw/ Add/Edit/Delete Work Plane, раскроется диалоговое окно редактирования рабочей плоскости. Поскольку новую рабочую плоскость нужно позиционировать относительно ребра, воспользуемся закладкой Edge Angle этого диалогового окна. Параметры рабочей плоскости зададим так, как показано на рис. 1.146. Прежде, чем нажимать кнопку OK, нажмём кнопку Disp Coord и подвинем диалоговое окно, чтобы увидеть направления локальных координатных осей рабочей плоскости.
Когда нажмём кнопку OK, вторая грань будет создана (рис. 1.147).
Следующую рабочую плоскость будем позиционировать по вершинам. Чтобы выделенные вершины подсвечивались, нажмём кнопку
Аналогично надо прорисовать и четвёртую грань (все грани должны образовать замкнутую поверхность, чтобы их потом можно было преобразовать в солидный геометрический объект). Рабочую плоскость для создания четвёртой грани также удобно позиционировать по вершинам. Опять выполним команду Draw/ Add/Edit/Delete Work Plane, опять откроем закладку Vertices и выделим три вершины переднего плана (см. рис. 1.149): сначала (0,0,0), потом (1,0,0) и, наконец, верхнюю вершину. Нажатием кнопки Disp Coord можно убедиться в правильности направлений местных координатных осей. Жмём OK и внедряем треугольник в трёхмерную модель. После этого клавишей Ctrl-A выделяем все грани и нажимаем кнопку
Использование языка программирования Для создания объекта, показанного на рис. 1.150, можно воспользоваться функциями командной строки FEMLAB, которые можно выполнить прямо в командном окне MATLAB. Для удобства последовательность операторов MATLAB оформим в виде вычислительного сценария: % geometry2 - прорисовка солидного правильного тетраэдра методом граничного моделирования
% Двумерные геометрические объекты в незаданной рабочей плоскости
c1=curve2([0 0.5],[0 sqrt(0.75)]); % отрезок от точки (0,0) до точки (0.5,sqrt(0.75))
c2=curve2([0.5 1],[sqrt(0.75) 0]); % отрезок от точки (0.5,sqrt(0.75)) до точки (1,0)
c3=curve2([1 0],[0 0]); % отрезок от точки (1,0) до точки (0,0)
s=geomcoerce('solid',{c1,c2,c3}); % построение солидного треугольника по трём сторонам
% Координаты некоторых характерных точек тетраэдра
height= [0.5;sqrt(3)/2;0]; % третья вершина треугольника основания тетраэдра
top = [0.5;sqrt(1/12);sqrt(2/3)]; % верхняя вершина тетраэдра
center = top.*[1;1;0]; % центр основания тетраэдра (не используется)
% Построение граней тетраэдра путём внедрения в трёхмерную область
% двумероного треугольника из разных рабочих плоскостей
f1=embed(s,[[0;0;0],[1;0;0],[0;1;0]]); % внедрение из плоскости z=0
f2=embed(s,[[0;0;0],[1;0;0],top]); % внедрение из плоскости
% ((0,0,0),(1,0,0), верхняя вершина)
f3=embed(s,[height,[0;0;0],top]); % внедрение из плоскости
% (третья вершина основания, (0,0,0), верхняя вершина)
f4=embed(s,[[1;0;0],height,top]); % внедрение из плоскости
% ((1,0,0), третья вершина основания, верхняя вершина)
% Преобразование граней в солидный объект
t=geomcoerce('solid',{f1,f2,f3,f4});
geomplot(t) % отображение тетраэдра в фигуре MATLAB
axis equal; axis([-0.1 1 0 1 0 1]); grid on
camlight % подсветка изображения тетраэдра
В результате выполнения вычислительного сценария в рабочей области MATLAB будет создан солидный тетраэдр (под именем t). Этот объект будет отображён в фигуре MATLAB (рис. 1.151).
Рациональные поверхности Безье Этот подпункт даёт краткий обзор рациональных поверхностей Безье, здесь рассказывается, как они используются в трёхмерном моделировании геометрии в системе FEMLAB. Что называют поверхностями Безье? Причина для использования рациональных поверхностей Безье в трехмерных построениях та же самая, что и для использования рациональных кривых Безье в двумерном моделировании. Эти кривые и поверхности - текущий промышленный стандарт. При работе в режиме прорисовки трёхмерной геометрии и создании геометрических объектов с криволинейными границами FEMLAB представляет эти объекты в терминах рациональных поверхностей Безье. Система FEMLAB поддерживает два типа поверхностей Безье: прямоугольные и треугольные. Прямоугольная поверхность Безье описывается полиномом смешанной степени (m, n) относительно двух параметров, часто называемых s и t. Треугольная поверхность Безье описывается полиномом единственной степени m так же, как и кривая Безье. FEMLAB поддерживает прямоугольные поверхности смешанной степени (чаще всего (3,3)) и треугольные поверхности степени 1, чтобы представить плоские поверхности. Прямоугольные рациональные поверхности Безье, смешанной степени до (2,2) могут представлять все обобщённые CAD-поверхности, включая билинейные поверхности, цилиндры, конусы, сферы, эллипсоиды, и торы. FEMLAB также поддерживает рациональные кривые Безье степени (3,3), чтобы помочь пользователю в создании дополнительных форм поверхностей. Рациональные поверхности Безье тесно связаны с так называемыми NURBS-поверхностями (неравномерные рациональные поверхности сплайнового базиса), при этом NURBS-поверхность может всегда раскладываться в сеть рациональных поверхностей Безье. Вы можете рассматривать рациональные поверхности Безье как элементарные составляющие NURBS-поверхностей. Контрольные вершины и их веса. Прямоугольная рациональная поверхность Безье степени (m, n) полностью определена в терминах сетки контрольных вершин. Эта сетка состоит из (m+1)*(n+1) контрольных вершин, каждая из которых имеет свой положительный вес. Поверхность всегда проходит через четыре контрольные вершины. Изменение формы контрольной сетки (перемещение контрольных вершин или изменение их весов) всегда приводит к изменению вида самой поверхности. Более высокая степень соответствует более сложной форме поверхности. Чем больший вес имеет контрольная вершина, тем ближе к ней проходит поверхность. Это простое и интуитивно понятное соответствие между контрольной сеткой с заданными весами вершин, и поверхностью делает рациональное представление поверхности Безье весьма полезным. Используя функцию face3, Вы можете исследовать, как перемещения контрольных вершин и изменения весов влияют на форму поверхности. Вы можете импортировать face-объекты типа Безье в GUI femlab и использовать их для геометрического моделирования вместе с солидными объектами. Трёхмерные геометрические объекты Трехмерные геометрические объекты в FEMLAB формируются наборами согласованных и необрезанных рациональных поверхностей Безье. Цилиндр, например, состоит из четырех необрезанных прямоугольных поверхностей Безье степени (2,1) и двух урезанных треугольных плоских граней. Плоские грани урезаны таким образом, что от них остаётся только круговая часть. При использовании операций моделирования геометрии поверхности Безье бывают урезаны кривыми линиями пересечения поверхностей. Соединённые согласованные необрезанные граничные поверхности трехмерного геометрического объекта названы в терминологии FEMLAB face-объектами. Поверхности "произвольной" формы могут быть разделены на любое число криволинейных подобластей в Безье-представлении, ограниченных кривыми пересечения. Эти подобласти также называются face-объектами. В оглавление книги \ К следующему разделу \ К предыдущему разделу |
|
Всероссийская научная конференция "Проектирование научных и инженерных приложений в среде MATLAB" (май 2002 г.)
|
||
| На первую страницу \ Сотрудничество \ MathWorks \ SoftLine \ Exponenta.ru \ Exponenta Pro | ||
| E-mail: | ||
| Информация на сайте была обновлена 11.05.2004 |
Copyright 2001-2004 SoftLine Co Наши баннеры |
|