Трехмерное параметрическое моделирование на персональном компьютере
поверхности и показатели инерционных свойств (моменты и радиусы инерции и
пр.) модели. При редактировании модели указанные данные вычисляются
автоматически.
Визуализация трехмерных моделей в AutoCAD Designer осуществляется либо
стандартными средствами AutoCAD, либо при помощи прикладной программы
AutoVision R2.1. Более того, теперь для визуализации моделей не нужна
никакая предварительная подготовка, а тонирование происходит в
интерактивном режиме.
4.8 Генерация рабочих чертежей параметрических моделей в AutoCAD Designer
R2.1 (модуль DRAWINGS)
В AMD генерация чертежей производится автоматически и обеспечивает доступ
не только к параметрическим моделям и поверхностям AutoSurf, но и к
стандартным трехмерным объектам AutoCAD, причем принципы работы со всеми
упомянутыми объектами не имеют существенных отличий. Автоматизация
достигается за счет созданной двухсторонней ассоциативной связи между
моделью и чертежом, а также возможностью редактирования всех проекционных
видов.
4.9 Двунаправленная ассоциативная связь «модель-чертеж»
«Пространство модели» и «пространство чертежа» - стандартные понятия в
AutoCAD, впервые появившиеся в AutoCAD R11. Между этими пространствами
можно перемещаться стандартным методом с помощью системной переменной
TILEMODE, либо команды AMMODE (Drawings/Drawing Mode или опции Режим_Чертеж
в меню Чертеж).
Нет надобности говорить о важности получения чертежей, ведь выпуск КД
является результатом труда конструкторов-проектировщиков. В традиционном
трехмерном моделировании эта процедура выполняется после получения готовой
модели, и зачастую пользователь вынужден возвращаться к предыдущим этапам
работы, так как многие ошибки выявляются только на проекционных видах.
Подобные проблемы с легкостью решаются в модуле генерации чертежей Autodesk
Mechanical Desktop, поскольку постоянная двунаправленная ассоциативная
связь «модель-чертеж» позволяет задать проекционные виды на самом первом
этапе проектирования модели, а затем они будут автоматически обновляться по
мере добавления к модели новых элементов. Более того, используя
проекционные виды в пространстве чертежа, можно не только выверять
полученные элементы модели, но и редактировать саму модель, так как
применяемые при создании профилей параметрические размеры автоматически
появляются в проекционных видах на чертеже и обладают теми же свойствами,
что и в пространстве модели. Редактирование размеров в поле чертежа
производится опцией CHANGE DIMENSION (или опцией Изменить размер). При этом
изменения, внесенные в параметрические размеры в поле чертежа, воздействуют
не только на проекции модели, но и на саму модель. Обратное также верно.
Команда АМUPDATE позволяет перестроить и модель, и ее проекционные виды в
соответствии со сделанными изменениями.
4.10 Создание проекционных видов
Типы проекционных видов создаются командой AMDWGVIEW (Drawings/Create View
или опцией Создать вид... в меню Чертеж), в диалоговом окне которой
задаются следующие параметры:
тип проекционного вида (главный вид, ортогональная проекция,
вспомогательный вид, изометрическая проекция или частный вид);
масштаб проекционного вида;
указание для выполнения разреза на проекционном виде и его типа (полный или
половинчатый);
указание отобразить на проекционном виде невидимые линии.
Дальнейший процесс моделирования чертежа практически полностью
автоматический. Рассмотрим подробнее особенности построения каждого типа
проекционных видов.
Главный вид. Проекционный вид, создаваемый при первом обращении к
рассматриваемой команде, становится по умолчанию главным видом. Для его
построения пользователю достаточно указать проекционную плоскость в
пространстве модели, а затем место расположения вида в пространстве
чертежа.
Ортогональные проекции. При построении ортогональной проекции пользователь
должен указать исходный вид и место расположения вновь создаваемой проекции
относительно исходного вида, при этом нет необходимости указывать, будет ли
это вид сверху или вид слева, поскольку программа автоматически определяет
ориентацию вида по указанному положению в пространстве чертежа. Один щелчок
мыши - и ортогональная проекция на чертеже!
Изометрические проекции. Изометрические проекции строятся так же легко, как
и ортогональные, и точно так же программа автоматически определяет
ориентацию изометрических осей в соответствии с указанным положением
проекции на чертеже.
Вспомогательные виды. Процедура построения вспомогательного вида несколько
«осложняется» тем, что пользователю необходимо дополнительно указать
расположение вспомогательной проекционной плоскости, используя для этого
ребра модели (это можно сделать на уже существующих проекционных видах).
Частные виды. Для генерации частного вида необходимо задание точки на
исходном виде, рамки, ограничивающей область частного вида, и место
расположения вида на чертеже.
Разрезы. Разрезы генерируются одновременно с построением главного или
вспомогательных видов, а также ортогональных проекций. Процесс полностью
автоматизирован, и пользователю нужно лишь указать положение секущей
плоскости. Для выполнения ступенчатых (сложных) разрезов необходимо задать
так называемую секущую линию, представляющую собой ломаную, отрезки которой
должны быть расположены под прямым углом, а начальный и конечный отрезок
должны быть параллельными. Секущая линия обладает параметрическими
свойствами, то есть изменяет свое расположение при редактировании модели, а
процесс ее создания аналогичен построению параметризованных профилей,
только для профилирования используется особая команда AMCUTLINE
(Parts/Sketch/Cutting Line или опция Линия сечения в меню Детали из подменю
Эскиз). Редактирование секущих линий осуществляется при помощи тех же
команд, что и редактирование профилей.
4.11 Редактирование проекционных видов
Редактирование проекционных видов сведено к необходимому минимуму. Так,
командой AMMOVEVIEW (Drawings/Edit View/Move или опцией Перенести в меню
Чертеж из подменю Редактирование вида) можно переместить вид в поле
чертежа, командой AMDELVIEW (Drawings/Edit View/Delete или опцией Удалить в
меню Чертеж из подменю Редактирование вида) - удалить его, а также изменить
в диалоговом окне его атрибуты: масштаб, текстовую метку, режимы
отображения невидимых линий и пр., вызвав команду AMEDITVIEW (Drawings/Edit
View/Attributes или опцию Атрибуты в меню Чертеж из подменю Редактирование
вида).
4.12 Введение справочных размеров, аннотаций и осевых линий
Параметрические размеры - мощное средство редактирования трехмерных
твердотельных моделей, однако на окончательном этапе подготовки КД
некоторые проекционные виды могут быть чрезмерно загромождены введенными
ранее параметрическими размерами, другие проекции -содержать минимум
размерной информации, а некоторые размеры, задававшиеся на этапе построения
профиля, неверны с конструкторской или технологической точки зрения.
Поскольку параметрические размеры содержат информацию о геометрии объекта,
их нельзя удалить, однако можно отключить или вновь сделать видимыми на
экране при помощи команд AMHIDEDIM (Drawings/Dimension/Hide или опцией
Скрыть в меню Чертеж из подменю Размеры) и AMSHOWDIM
(Drawings/Dimension/Show или опцией Показать в меню Чертеж из подменю
Размеры), а также переместить в пределах вида или между видами командой
AMMOVEDIM (Drawings/Dimension/Move или опцией Перенести в меню Чертеж из
подменю Размеры).
Полное соответствие чертежа требованиям стандартов достигается нанесением
справочных размеров, аннотаций и осевых линий.
Справочные размеры вводятся командой AMREFDIM
(Drawings/Dimension/Ref Dim или опцией Контрольные в меню Чертеж из подменю
Размеры), а удаляются и перемещаются теми же командами, что и
параметрические размеры. По своим свойствам справочные размеры идентичны
ассоциативным размерам в AutoCAD, то есть они адекватно реагируют на
изменения в определяющей их геометрии, однако не применяются для
редактирования модели. Для задания стилей и редактирования атрибутов всех
размеров в чертеже следует пользоваться стандартными средствами AutoCAD.
Аннотации, как и справочные размеры, предназначены для окончательной
доработки чертежа - приведения к требованиям стандартов по оформлению
конструкторской документации. В качестве аннотаций могут выступать любые
двумерные объекты AutoCAD: текст, выноски и т.д. В принципе разработка
аннотаций не является обязательной операцией, поскольку можно свободно
создавать двухмерные графические объекты в поле чертежа. Однако при
перемещении параметрических проекционных видов модели потребуется
дополнительно выполнять команду MOVE для соответствующего перемещения
непараметризованных аннотаций. Чтобы избежать подобного неудобства,
полученные объекты целесообразно определить в качестве аннотаций. В этом
случае их расположение на чертеже относительно проекционных видов будет
параметризовано, и все аннотации будут перемещаться автоматически вместе с
проекционным видом. Превращение двухмерных объектов в аннотации, добавление
и удаление из аннотаций отдельных объектов производится единой командой
AMANNOTE, а все связанные с этой командой опции расположены в подменю
Drawings/Annotation (или подменю Пояснения в меню Чертеж). Помимо
аннотаций, произвольно задаваемых пользователем, существуют стандартные
формы для аннотирования отверстий. Команда AMHOLENOTE
(Drawings/Annotation/Hole Note или опция Размеры отверстия... в меню Чертеж
из подменю Пояснения) вводит такие аннотации в проекционные виды, а при
помощи команды AMTEMPLATE (Drawings/Annotation/Template или опции
Шаблоны... в меню Чертеж из подменю Пояснения) можно создавать и
редактировать шаблоны аннотаций к отверстиям.
Осевые линии являются одним из видов аннотаций. Вводятся они в проекционные
виды на чертеже командой AMCENLINE (Drawings/Annotation/Centerline или
опцией Осевые линии в меню Чертеж из подменю Пояснения). Для этого
пользователю необходимо указать либо два зеркально симметричных объекта,
либо одиночную линию (ось поделит ее пополам), или окружность (дугу).
Построение осевой линии происходит автоматически, а ее положение на
проекционном виде отслеживается при внесении изменений в модель.
4.13 Преобразование чертежа модели в двухмерный чертеж
Модуль генерации чертежей AMD поддерживает работу с трехмерными объектами
различных типов, однако часто, например при обмене графической информацией
с партнерами, не требуются все данные о модели, достаточно передать лишь ее
рабочий чертеж. Для этих целей служит команда AMDWGOUT (Drawings/Drawing
Out или опция В Автокад... в меню Чертеж), которая позволяет преобразовать
проекционные виды трехмерной параметрической модели в набор стандартных
двухмерных примитивов AutoCAD. Естественно, что в этом случае теряются
какие-то данные об исходной трехмерной модели, но такой чертеж занимает
гораздо меньше дискового пространства и может быть прочитан пользователями,
не располагающими AMD.
5. Моделирование сборочных единиц и создание сложных поверхностей в среде
Аutodesk Мechanical Desktop.
В начале были рассмотрены основные приемы конструирования деталей в
Autodesk Mechanical Desktop (АМD). Каким образом из деталей можно получить
узлы, изделия и механизмы? В масштабах современной проектной организации
процесс автоматизированного проектирования узлов и механизмов
предусматривает три различных подхода к конструированию:
«снизу-вверх» при наличии всех деталей, из которых компонуется изделие. В
этом случае проектирование идет от частного к общему, а разработка узла или
изделия заключается в простом соединении всех составных частей в единую
конструкцию;
«сверху-вниз» , когда детали, из которых компонуется изделие, как и само
изделие в целом, еще предстоит сконструировать, а проектирование идет от
общего к частному с разработкой общей логической схемы изделия и
принципиальных эскизов составляющих его компонентов, затем создаются модели
деталей, после чего производится сборка узлов и всего изделия;
«комбинированный», предполагающий наряду со стандартными деталями в
проектируемом изделии использование и вновь разрабатываемых.
AMD при моделировании сборочных единиц позволяет реализовать все три
подхода.
В общем случае процесс конструирования изделия состоит из следующих этапов:
1. построение моделей деталей (см. часть I) или узлов;
2. преобразование деталей и узлов в описание компонентов изделия;
3. сборка компонентов в узлы и изделия;
4. наложение зависимостей на компоненты узлов и изделия;
5. редактирование сборочных узлов и изделия;
6. контрольная проверка и анализ узлов и изделия;
7. выполнение сборочного чертежа узлов и изделия;
8. передача готового изделия в расчетные программы для анализа.
При работе над любым проектом необходимо организовать процесс
разработки модели и проектной документации к ней. Поэтому в AMD
рекомендуется модель каждой детали или узла, входящих в изделие,
располагать в отдельном файле, что позволит, во-первых, создать базу данных
специализированных деталей и узлов, во - вторых, отразить изменения
деталей, во всех узлах и изделиях, где они используются (в том числе в
разрабатываемых другими конструкторами), и наконец, в-третьих, легко
хранить и управлять отдельными деталями и узлами при помощи программ
(менеджеров проектов) типа Autodesk WorkCenter. Эти программы обеспечивают
непрерывный контроль изменений в проекте, автоматизацию документооборота
внутри проектной группы, распределение работ по исполнителям, поиск
требуемых документов и их движение, проверку правильности составления
документов и защиту готового проекта от несанкционированного доступа.
Рассмотрим основные возможности среды AMD при конструировании сложных
изделий.
5.1 Параметрическое моделирование сборочных единиц в AutoCAD Designer R2.1
(модуль ASSEMBLIES)
Параметрическое моделирование сборочных единиц является новой
возможностью AutoCAD Designer R2.1. В отличие от предыдущих версий, где
параметрические свойства поддерживались только на уровне отдельно взятой
модели, но не сборочной единицы, здесь процесс «сборки» проектируемого
изделия можно полностью доверить программе, обеспечивающей моделирование с
автоматизированной генерацией сборочных чертежей и даже спецификаций, лишь
задав ей необходимые связи, ограничивающие число степеней свободы моделей
деталей, узлов и изделий.
5.1.1 Основные этапы конструирования сборочных единиц в AutoCAD Designer
R2.1
Как правило, в любом изделии машиностроительной отрасли существует один
базовый компонент (например, основание), к которому крепятся все остальные
узлы и детали, причем каждый подузел имеет свой базовый компонент. Иными
словами, любое изделие имеет некую иерархическую структуру, где можно
отчетливо видеть взаимосвязь отдельных компонентов и проследить
последовательность сборки. Процесс моделирования сборочных единиц в AutoCAD
Designer максимально приближен к реальному процессу конструирования и
состоит из следующих этапов:
1. определение компонентов сборочной единицы;
2. вставка компонентов в сборочную единицу;
3. наложение и редактирование связей между компонентами;
4. сборка компонентов и анализ сборочной единицы;
5. создание сборочного чертежа.
Рассмотрим каждый из этих этапов более подробно.
Определение компонентов сборочной единицы
Поскольку любая сборка состоит как минимум из двух деталей (иначе теряется
смысл этого понятия), необходимо сделать пояснения, каким образом можно
создать несколько моделей в одном и том же файле, и какие объекты могут
выступать в качестве компонентов сборочных единиц.
5.1.2 Работа с несколькими моделями в одном файле
Начиная моделировать трехмерный объект во вновь открытом файле, конструктор
имеет единственную модель, которая является активной, и к которой
добавляются все конструкторско-технологические элементы.
Если же на основе заданного профиля создается базовая форма новой модели,
то необходимо выполнить команду AMNEWPART (Parts/Part/New или опцию Новая
из меню Детали и подменю Деталь), при этом новая модель автоматически
становится активной и последующие операции будут воздействовать только на
нее.
Для переключения между несколькими моделями существует команда AMACTPART
(Parts/Part/Active или опция Активная из меню Детали и подменю Деталь),
которая просит пользователя указать одну из существующих моделей и делает
ее активной.
Следует отметить, что в принципе в качестве компонентов сборочной единицы
могут выступать и твердые тела AutoCAD, но тем не менее рекомендуется их
конвертировать в модели Designer при помощи уже названной команды
AMNEWPART.
Как уже упоминалось, стандартные твердые тела AutoCAD не поддаются
редактированию, поэтому на первый взгляд их использование в параметрических
сборках выглядит совсем нелогичным. Однако принимая во внимание тот факт,
что в реальных изделиях используется великое множество стандартных и
покупных деталей, заведомо не подлежащих модификации, использование таких
твердых тел становится оправданным и даже желательным, так как их описание
занимает меньше дискового пространства по сравнению с параметрическими
моделями, что особенно актуально при моделировании реальных изделий.
Действительно, если, например, моделируется электропривод, то двигатель в
большинстве случаев является покупным, поэтому, с одной стороны, для
экономии дискового пространства целесообразно иметь нередактируемую модель,
но в то же время, осознав однажды преимущества параметрического
моделирования в AutoCAD Designer, проектировщик вряд ли согласится
моделировать подобный объект при помощи стандартных твердых тел. Данная
дилемма решается чрезвычайно просто. Создав параметрическую модель
стандартного изделия, можно «забыть» ее параметрические свойства, выполнив
команду AMMAKEBASE (Parts/Utilities/Make Base или опцию Базовый элемент из
меню Детали и подменю Утилиты) и превратив эту модель в так называемую
базовую.
5.1.3 Понятие компонента сборочной единицы
Создание нескольких моделей деталей – это только подготовительный этап для
создания сборочной единицы. При проектировании нескольких моделей в одном
файле Designer присваивает каждой новой модели порядковый номер и не более
того. Чтобы начать сборку, в первую очередь необходимо определить
компоненты, дав осмысленные названия каждой модели и создав своеобразный
перечень деталей.
Процедура определения компонента сборочной единицы выполняется командой
AMNEW (Assemblies/Component Definitions/Create или опцией Создать... из
меню Узлы и подменю Описание), где в диалоговом окне задается тип
компонента (деталь или подузел), затем выбирается одна из моделей (или уже
существующих подузлов) и присваивается ей название. Выполнение данной
команды аналогично созданию блоков стандартными средствами AutoCAD. После
определения компонента он исчезает с экрана, однако хранится в памяти для
последующей вставки. Все определенные компоненты становятся доступными при
вызове команды AMCOMPMAN (Assemblies/Component Definition/Manage или опции
Диспетчер... из меню Узлы и подменю Описание), в диалоговом окне которой
предоставлены дополнительные возможности работы с внешними ссылками.
5.1.4 Использование внешних ссылок для определения компонентов сборки
Очень часто в процессе конструирования становится целесообразным и даже
предпочтительным моделирование каждой детали в отдельном файле, поскольку
это облегчает создание рабочих чертежей и модификацию моделей. Для
включения подобных моделей в сборочные единицы рекомендуется использовать
внешние ссылки, задание которых осуществляется опцией Attach (Добавить...)
в диалоговом окне менеджера компонентов, вызываемом уже упомянутой командой
AMCOMPMAN. Данное диалоговое окно содержит в левой части перечень
компонентов, определенных в текущем файле, а в правой части - список
компонентов, определенных с использованием внешних ссылок. При этом опция
Externalize (Переименовать) позволяет вынести локальный компонент во
внешний файл, а опция Localize (Вставить)
локализовать внешний компонент, полностью перенеся в текущий чертеж
параметрическое определение модели.
5.1.5 Вставка компонентов в сборочную единицу
Определение компонентов сборочной единицы задает лишь описание доступных
для использования деталей, а с тем, чтобы начать сборочный процесс, все
компоненты необходимо явно ввести в использование («материализовать»).
Иными словами, проводя аналогию с рабочим-сборщиком, нужно выложить на
«верстак» все доступные компоненты, требуемые для сборки. Вставка
компонентов в рабочее пространство производится командой AMINSERT
(Assemblies/Component Instances/Insert или опцией Вставить... в меню Узлы и
подменю Вхождения). Эта процедура подобна вставке блоков в AutoCAD. В
реальном изделии одна и та же деталь может использоваться несколько раз в
различных комбинациях, также и в AMD вставка одного компонента может
производиться неоднократно. При внедрении компонентов в сборочное
пространство, следует соблюдать определенную последовательность
предполагаемой сборки, вводя сначала базовые, а затем «присоединяемые» к
ним компоненты, причем относительное расположение и ориентация вводимых
компонентов не играет роли, поскольку дальнейшее введение параметрических
связей позволяет собирать их в автоматическом режиме.
5.1.6 Наложение и редактирование связей между компонентами
В реальных конструкциях отдельные детали всегда взаимосвязаны, как правило,
попарно (например, вал–втулка, корпус–крышка), при этом такие взаимные
связи всегда ограничивают количество степеней свободы каждой детали,
вводимой в сборку. Именно принцип ограничения числа степеней свободы и был
взят за основу в AMD для моделирования сборки. Введение связей производится
при помощи команды AMCONSTRAIN (Assemblies/Constraints/Create или опции
Наложить... в меню Узлы и подменю Зависимости), где в диалоговом окне
конструктору предлагается выбрать один из четырех вариантов связей,
определяющих взаимную ориентацию компонентов:
Mate (Совмещение – встык) – указание совпадающих плоскостей, линий или
точек двух компонентов с заданием, при желании, отступа между компонентами.
Flush (или Заподлицо) – ориентация нормалей граней пары компонентов
параллельно в одном направлении.
Align (или Ориентация) – ориентация нормалей граней пары компонентов под
заданным углом с сохранением общего направления.
Oppose (или Направление) – ориентация нормалей граней пары компонентов под
заданным углом в противоположных направлениях.
Введение параметрических связей между компонентами облегчают пиктограммы
индикации числа степеней свободы каждого компонента, которые можно сделать
видимыми при помощи опции DOF в диалоговом окне управления выводом на экран
компонентов. Окно вызывается командой AMASSMVIS (Assemblies/ Assembly
Instances/Set Visibility или опцией Видимость... из меню Узлы и подменю
Вхождения). Задав тип связи между компонентами необходимо указать, к каким
компонентам применяется заданная связь, после чего компоненты
перестраиваются на экране автоматически с учетом введенных связей, имитируя
таким образом процесс сборки. При ошибочном вводе некоторых связей их можно
отредактировать при помощи команды AMEDITCONST (Assemblies/Constraints/Edit
или опции Редактировать... из меню Узлы и подменю Зависимости) либо
удалить, вызвав команду AMDELCONST (Assemblies/Constraints/Delete или опцию
Удалить... из меню Узлы и подменю Зависимости).
5.1.7 Сборка компонентов и анализ сборочной единицы
Как уже было отмечено, после введения связей компоненты автоматически
перестраиваются на экране. Автоматическая сборка контролируется системной
переменной AMAUTOASSEMBLE, которая доступна в командной строке или в
диалоговом окне с общими установками, вызываемом командой AMASSMVARS
(Assemblies/Preferences или опцией Установки... из меню Узлы). В
противоположность автоматической сборке существует возможность сборки
«вручную» при отключенной системной переменной AMAUTOASSEMBLE. При этом,
естественно, все перестроения на экране также происходят автоматически, но
для их инициализации необходимо вызвать команду AMASSEMBLE (Assemblies/
Constraints/Assemble или опцию Собрать из меню Узлы и подменю Зависимости).
При выполнении сборки всегда возникает необходимость анализа массово-
инерционных свойств компонентов и их взаимовлияния в сборочной единице. Для
этих целей существуют команды соответственно AMMASSPROP
(Assemblies/Analysis/Mass properties или опция Масс-характеристики из меню
Узлы и подменю Анализ) и AMINTERFERE (Assemblies/Analysis/Interference или
опция Взаимодействие из меню Узлы и подменю Анализ). Выполнение первой
команды аналогично получению массовых характеристик для активной модели, а
вторая позволяет выделить в сборочной единице пространственные объемы,
получаемые в результате взаимопересечения отдельных компонентов.
5.1.8 Использование подузлов при моделировании сложных изделий
Как правило, любое сложное изделие имеет в своем составе подузлы,
характеризующиеся так же, как и основная сборка наличием базового
компонента, к которому присоединяются другие детали. С тем чтобы облегчить
работу с множественными подузлами в одном файле, в AMD введено новое
понятие – цель. Так называется любая сборка (подузел), имеющаяся в рабочем
файле. Создание новой цели происходит автоматически при определении
компонента сборочной единицы в виде подузла при помощи команды AMNEW
(описана выше). Работа с несколькими целями в модуле Assemblies аналогична
работе с несколькими моделями в модуле Parts, но в отличие от последней при
работе с конкретной целью все остальные объекты исчезают с экрана, чтобы не
загромождать рабочее пространство. Каждая целевая сборка в файле имеет свое
название. Главная целевая сборка называется по имени файла, а всем подузлам
имена даются по умолчанию в формате SUB1, SUB2 и т.д. или назначаются
пользователем. Переключение между целями осуществляется в диалоговом окне
при вызове команды AMTARGET (Assemblies/Assembly Instances/Edit Target или
опции Объект редактирования... из меню Узлы и подменю Вхождения).
5.2 Создание сборочного чертежа
Генерация сборочных чертежей практически не отличается от создания рабочих
чертежей моделей и выполняется в том же модуле Drawings (меню Чертеж),
работа с которым уже была описана в первой части. Тем не менее здесь
существуют некоторые особенности, связанные в основном с требованиями
западных стандартов по созданию конструкторской документации.
5.2.1 Создание сцен-схем
Как известно, сборочный чертеж по единой системе конструкторской
документации (ЕСКД) представляет собой в общем случае совокупность
проекционных видов и разрезов сборочной единицы, позволяющих уяснить их
взаимное расположение. В принципе его создание не требует наличия
изометрических видов, а изделие на чертеже всегда показывается в собранном
виде. В отличие от российских норм западные стандарты определяют выполнение
изометрических проекций сборки, причем в так называемом «разнесенном» виде
(exploded view). Для создания таких проекций в AMD имеются расширенные
возможности. Хотя использование подобных видов не стандартизовано в России,
они могут оказаться полезными в процессе моделирования, а также при
создании презентационных материалов или включений в руководство по сборке и
эксплуатации проектируемого изделия. Поэтому остановимся на их создании
несколько подробнее, но сначала необходимо дать определение еще одному
понятию – сцена-схема. Пространство сцены-схемы, также является
подмножеством в пространстве модели, но его назначение отличается от
пространства цели. Давая определения компонентам сборки и вводя их в
использование, конструктор работает в пространстве цели, при этом ему
доступны средства редактирования состава сборок и подузлов, а также связи
между их компонентами. Переключаясь же в пространство сцены-схемы, он
лишается доступа к командам редактирования, однако приобретает возможность
задавать степень «разнесения» компонентов сборки для последующего создания
«разнесенных» видов, причем каждая цель может иметь несколько подобных сцен-
схем. Создание и редактирование параметров сцен-схем производится командой
AMSCENE (Assemblies/Scenes/Create & Manage или опцией Диспетчер... из меню
Узлы и подменю Схемы), с помощью которой можно задать название новой сцены-
схемы и установить коэффициент разнесения-разборки компонентов. Команда
AMSCENEUPDATE (Assemblies/Scenes/Update или опция Обновить из меню Узлы и
подменю Схемы) выполняет обновление сцены-схемы после произведенных в ней
изменений, а команда AMTARGET позволяет вернуться к редактированию нужной
цели. Помимо указанных возможностей в меню Assemblies/Scenes (Узлы/Схемы)
имеются команды задания коэффициентов разнесения-разборки для
индивидуальных компонентов, а также построения так называемых траекторий
сборки. После создания одной или нескольких сцен-схем можно использовать
все описанные выше возможности модуля Drawings для генерации проекционных
видов и разрезов на сборочном чертеже, а также добавлять справочные размеры
и аннотации.
5.2.2 Создание спецификаций
При генерации сборочных чертежей можно воспользоваться командами AMD для
автоматического моделирования спецификаций. Для этого необходимо задать
форму спецификации при помощи команды AMBOMSETUP (Assemblies/Scenes/Bill of
Materials/Setup или опции Настройка... из меню Узлы подменю Схемы и
Спецификации), затем при помощи команды AMBALLOON
(Assemblies/Scenes/Balloons или опции Номера позиций из меню Узлы и подменю
Схемы) создать выносные элементы к компонентам сборки на видах чертежа,
после чего, вызвав команду AMBOM (Assemblies/Scenes/Bill of
Materials/Create Table или опцию Создать таблицу из меню Узлы, подменю
Схемы и Спецификации), создать спецификацию в поле чертежа или вывести ее
во внешний файл. Спецификации моделируются на основании данных, задаваемых
пользователем в процессе моделирования сборочной единицы (название
компонента, их количество и.т.д.).
Таким образом, использование перечисленных возможностей среды AMD позволяет
конструктору проектировать достаточно сложные параметрические твердотельные
модели сборки узлов и изделий. Однако возросшие требования к дизайну
современных изделий, в которых необходимо создавать абсолютно гладкие
обводы контуров, особенно для изделий авиационно-космической, автомобильной
и судостроительной промышленности, заставляют конструктора настолько
усложнять формообразующие деталей проектируемых изделий, что программам
параметрического моделирования не всегда удается справиться с поставленной
задачей. Поэтому в среде AMD этой цели служит AutoSurf.
5.3 Создание сложных поверхностей в AutoSurf R3.1
Прежде чем начать рассказ о способах создания поверхностей различных типов
в AutoSurf, остановимся на способах представления трехмерных моделей на
экране и расчета поверхностей на уровне программного кода AutoSurf. Самый
простой способ представления трехмерных моделей – это так называемые
«проволочные каркасы», или просто каркасы, которые дают неоспоримые
преимущества по сравнению с моделированием на плоскости, поскольку
позволяют более ясно визуализовать модель и более надежно контролировать
взаимное расположение составляющих ее элементов. Кроме того, каркасы можно
использовать и для создания проекционных видов. Недостаток каркасного
представления моделей состоит в том, что программа не может «увидеть» все
особенности поверхностей, определяемых каркасами, и из-за этого невозможно
построить точные сечения. В отличие от этого способа моделирование при
помощи поверхностей позволяет определить своеобразную «оболочку»
трехмерного объекта, а следовательно, получить более четкое представление о
модели и использовать компьютерные данные не только для визуализации, но и
в технологических процессах (например, при подготовке управляющих программ
для станков с ЧПУ). Программа AutoSurf комбинирует преимущества этих двух
способов. Во внутреннем формате AutoSurf имеет дело с поверхностными
оболочками, которые представляют собой контуры, точно описываемые
математическими уравнениями. Однако в процессе моделирования поверхности
выводятся на экран в виде каркасов, что существенно сокращает время
регенерации изображения. Кроме того, каркасы в AutoSurf используются в
качестве исходных данных для построения поверхностей произвольной формы.
При этом в качестве исходных каркасных элементов могут служить как
стандартные геометрические примитивы AutoCAD (линии, полилинии, дуги,
сплайны), так и специфические элементы AutoSurf, как например, линии с
векторами приращений.
5.3.1 Классы поверхностей в AutoSurf и способы их построения
В AutoSurf существует четыре класса поверхностей в зависимости от способов
их получения:
элементарные поверхности (базовые);
поверхности движения (получаемые перемещением элементов каркаса);
поверхности натяжения (получаемые натяжением «оболочки» на статичный
каркас);
производные поверхности (получаемые на базе уже существующих).
Каждый из перечисленных классов может создаваться одним из шестнадцати
имеющихся в AutoSurf способов образования поверхностей. Но несмотря на
такое разнообразие способов создания, все поверхности без исключения
представляются во внутреннем формате программы AutoSurf с применением
неоднородных рациональных B-сплайновых численных методов (далее NURBS).
Использование методов NURBS позволяет точно описывать большинство самых
распространенных типов поверхностей, таких как поверхности Кунса, Безье и B-
сплайновые, не говоря о возможности представления с исключительной
точностью элементарных поверхностей. При этом независимо от типа исходных
каркасных элементов (реальный сплайн или полилиния) результирующие
поверхности получаются путем сплайновой аппроксимации. Дальше при
рассмотрении способов построения поверхностей будем использовать термин
«каркасный элемент», понимая его в широком смысле.
5.3.2 Элементарные (базовые) поверхности
Класс элементарных поверхностей представлен поверхностями четырех типов.
Эти поверхности являются рациональными (т.е. описываются рациональными
математическими уравнениями) и характеризуются постоянной геометрической
формой. К ним относятся конус (полный или усеченный), цилиндр, сфера и тор.
Построение указанных поверхностей выполняется единой командой AMPRIMSF
(Surfaces/Create Primitives/Cone & Cylinder & Sphere & Torus или опциями
Конус/Цилиндр/Сфера/Тор из меню Поверх и подменю Создание примитивов) и не
нуждается в дополнительных комментариях, поскольку последовательность
задания их характерных размеров стандартна. Все эти поверхности являются
поверхностями вращения. По умолчанию используется вращение на 360° , но
допустимо создавать их и при меньших углах вращения, задавая значение угла
в командной строке.
5.3.3 Поверхности движения
В данном классе имеется четыре типа поверхностей: вращения, сдвига,
трубчатые и поверхности изгиба (заметания), получаемые перемещением набора
криволинейных образующих сечений вдоль криволинейных направляющих. При
создании поверхностей каждого из указанных типов необходимо задание формы
направляющих (U) и/или образующих (V) линий, при этом результирующая
поверхность получается сплайновой аппроксимацией путем перемещения заданных
исходных элементов. Рассмотрим каждый тип более подробно.
Поверхности вращения (revolved) создаются командой AMREVOLVESF (Surfaces/
Create Surface/Revolve или опцией Вращения из меню Поверх и подменю
Создание поверхности) путем вращения существующего каркасного элемента
вокруг заданной оси. При этом в качестве оси может выступать другой
каркасный элемент (прямолинейный), либо она может быть определена путем
указания двух точек. Исходный каркасный элемент задает форму образующих
линий, а получаемые направляющие имеют вид концентрических окружностей (или
дуг) в зависимости от заданного угла вращения. Таким образом, поверхности
вращения всегда являются рациональными, что роднит их с элементарными
поверхностями.
Поверхности сдвига (extruded) строятся командой AMEXTRUDESF
(Surfaces/Create Surface/ Extrude или опцией Сдвига из меню Поверх и
подменю Создание поверхности) путем выдавливания исходного каркасного
элемента вдоль прямолинейной траектории. Как и в предыдущем случае,
направление и длину траектории сдвига можно задать двумя точками,
расстоянием или указанием прямолинейного каркасного элемента. Строя
поверхности сдвига, можно использовать несколько каркасных элементов
одновременно, а также задавать уклон выдавливания, что полезно, например,
при проектировании литьевых изделий и пресс-форм.
Трубчатые поверхности (tubular) создаются командой AMTUBE (Surfaces/Create
Surface/ Tubular или опцией Трубчатая из меню Поверх и подменю Создание
поверхности) путем задания траектории труб и постоянного диаметра. В
качестве траекторий труб могут использоваться сплайны, дуги, линии и
полилинии. При этом если в качестве траектории выступает ломаная линия или
полилиния, необходимо указать радиус прогибания либо для каждого излома
траектории, либо общий. Следует отметить, что трубчатые поверхности также
всегда являются рациональными.
Поверхности изгиба (swept) моделируются при помощи команды AMSWEEPSF
(Surfaces/Create Surface/Sweep или опции Изгиба из меню Поверх и подменю
Создание поверхности) путем перемещения одного или нескольких каркасных
элементов-сечений вдоль одного или двух направляющих каркасных элементов.
Сечения могут иметь разнородную форму, а результирующая поверхность
получается сглаживанием. Задавая дополнительные параметры в диалоговом
окне, можно также управлять ориентацией сечений при их перемещении вдоль
одной направляющей (параллельно исходному сечению или по нормали к
направляющей) или выбирать способ масштабирования сечений при использовании
двух направляющих.
5.3.4 Поверхности натяжения
При создании поверхностей натяжения также необходимо наличие исходных
каркасных элементов, но в отличие от предыдущего класса эти элементы
остаются статичными, а поверхность как бы «натягивается» на них. В данном
классе имеется четыре типа поверхностей: линейчатые (соединения),
планарные, задаваемые набором направляющих и задаваемые набором
направляющих и образующих.
Линейчатые поверхности (ruled) строятся при помощи команды AMRULE
(Surfaces/Create Surface/Rule или опции Соединения из меню Поверх и подменю
Создание поверхности) путем задания двух каркасных элементов, служащих
образующими; при этом направляющие генерируются автоматически и всегда
представляют собой прямые линии (отсюда название типа поверхностей).
Планарные поверхности (planar) являются частным случаем поверхностей с
неоднородным контуром и представляют собой участки плоскости, ограниченные
произвольным замкнутым контуром. Они создаются командой AMPLANE, которая
имеет два варианта построения: один из них позволяет строить так называемую
базовую планарную прямоугольную поверхность заданием двух точек на
плоскости (Surfaces/Create Surface/Planar или опцией Плоская из меню Поверх
и подменю Создание поверхности), а второй – планарную поверхность с
неоднородным контуром (усеченную) на основе задания замкнутых каркасных
элементов в плоскости (Surfaces/Create Surface/Planar Trim или опцией
Плоская усеченная из меню Поверх и подменю Создание поверхности).
Поверхности, задаваемые набором направляющих (loft U) требуют задания
набора нескольких каркасных элементов, ориентированных приблизительно
параллельно и не пересекающихся между собой. В диалоговом окне, вызываемом
командой AMLOFTU (Surfaces/Create Surface/ LoftU или опцией Натяжения U...
из меню Поверх и подменю Создание поверхности), можно унифицировать
направление исходных каркасных элементов, дать явное указание, чтобы
поверхность проходила точно по выбранным направляющим или выбрать
оптимизационное построение для автоматического уменьшения количества
аппроксимирующих поверхностных сегментов, при котором исходные полилинии
будут преобразованы в сплайны на основе заданных линейного и углового
допусков. Кроме того, есть возможность задать автоматический режим
выравнивания границы поверхности в том случае, если концы каркасных
элементов расположены непропорционально.
Поверхности, задаваемые набором направляющих и образующих (loft UV)
проектируются подобно описанному выше методу при помощи команды AMLOFTUV
(Surfaces/Create Surface/Loft UV или опцией Натяжения UV из меню Поверх и
подменю Создание поверхности) за исключением того, что в качестве исходных
объектов необходимы два набора каркасных элементов (направляющих и
образующих). Линии в каждом наборе должны быть приблизительно параллельными
и не пересекаться между собой. При этом направляющие линии обязательно
пересекают образующие линии, создавая некое подобие пространственной
ячеистой сети, каждый из сегментов которой является быть «параметрически
квадратным». Образующие и направляющие не обязательно должны иметь
«физическое» пересечение, а могут перекрещиваться, но при этом расстояние
между ними в узлах каркаса должно удовлетворять заданному допуску, который
управляется системной переменной AMJOINGAP. Выполняя построение таких
поверхностей, можно контролировать соответствие узлов каркаса данному
допуску.
5.3.5 Производные поверхности
Производные поверхности также являются поверхностями произвольной формы,
однако в отличие от поверхностей, описанных выше, могут быть построены на
основе уже существующих поверхностей. В этом классе также четыре типа
поверхностей: перехода (сглаживающие), сопряжения (на пересечении двух
поверхностей), углового сопряжения (на стыке трех сопряжений) и подобия
(офсетные).
Поверхности перехода (blended), создаваемые командой AMBLEND
(Surfaces/Create Surface/Blend или опцией Перехода из меню Поверх и подменю
Создание поверхности), строятся на основе двух, трех или четырех
поверхностей, при этом результирующая поверхность является касательной ко
всем исходным. При построении поверхностей перехода возможно также
использование в качестве исходных данных всех типов каркасных элементов,
при этом можно контролировать «вес» каждого исходного элемента, который
определяет протяженность касательного участка поверхности.
Поверхности сопряжения (fillet), создаваемые командой AMFILLETSF
(Surfaces/Create Surface/Fillet или опцией Сопряжения... из меню Поверх и
подменю Создание поверхности), позволяют выполнить сопряжение постоянного
или переменного радиуса или же кубическое сглаживание между двумя
пересекающимися поверхностями вдоль границы их пересечения. При этом в
диалоговом окне можно задать режим автоматической обрезки одной или обеих
сопрягаемых поверхностей либо оставить исходные поверхности неизменными.
Кроме того, диалоговом окне можно задать протяженность поверхности
сопряжения относительно границ исходных поверхностей.
Поверхности углового сопряжения (corner), проектируемые командой AMCORNER
(Surfaces/Create Surface/ Corner Fillet или опцией Углового сопряжения из
меню Поверх и подменю Создание поверхности), создают поверхность перехода
на стыке трех пересекающихся поверхностей сопряжения, при этом возможна
автоматическая обрезка исходных поверхностей.
Поверхности подобия (offset) проектируются командой AMOFFSETSF
(Surfaces/Create Surface/Offset или опции Подобия из меню Поверх и подменю
Создание поверхности) и создаются параллельно имеющейся поверхности в
положительном или отрицательном направлении относительно ее нормали на
заданном расстоянии. Эту функцию можно применять одновременно к нескольким
поверхностям, а в качестве расширенных возможностей можно автоматически
удалить исходные поверхности.
5.4 Общие свойства поверхностей
5.4.1 Представление поверхностей AutoSurf на экране
Поверхности AutoSurf могут быть представлены на экране либо в тонированном
виде, либо при помощи каркасов. Очевидно, что тонированние поверхностей
стоит использовать только на последних этапах работы, например для
подготовки презентационных материалов, однако в процессе моделирования
каркасное представление поверхностей является наиболее оправданным. При
этом необходимо иметь в виду, что каркасы, используемые для представления
существующих поверхностей, являются лишь вспомогательным средством и в
общем отличаются от каркасов, которые использовались для построения
поверхностей. Конечно, исходные каркасы во многом определяют свойства
поверхностей AutoSurf, однако созданная поверхность существует в
графической базе AutoCAD как объект и к ней применимы все методы работы так
же, как и к другим объектам AutoCAD: управление ее выводом на экран, выбор,
копирование, модификация, редактирование при помощи ручек и т.д. В то же
время исходный каркас может быть удален непосредственно после создания
поверхности.
5.4.2 Направление поверхности
Как и любой геометрический объект, каждая поверхность в AutoSurf имеет
начало и направление. Вектор, помещенный в так называемый начальный угол
поверхности, называется нормалью и определяет не только начало поверхности,
но и положительное направление в пространстве относительно нее. Кроме того,
на самой поверхности также существуют два направления, определяемые
направляющими и образующими линиями, которые в терминологии AutoSurf
называются соответственно U и V линиями. При этом количество направляющих и
образующих для представления поверхностей на экране задается в диалоговом
окне при помощи команды AMSURFVARS (Surfaces/Preferences или опции
Установки... в меню Поверх). Для того чтобы распознать направление линий U
и V, следует использовать «правило правой руки», а направление поверхности
можно изменить при помощи команды AMEDITSF (Surfaces/Edit Surface/Flip
Normal или опции Сменить направление нормали из меню Поверх и подменю
Редактирование поверхности). При желании, можно также задать вывод на экран
образующих при помощи штриховых линий, что будет отличать их от
направляющих, которые всегда выводятся на экран в виде непрерывных линий
(так же, как граничные контуры поверхностей).
5.5 Базовые поверхности и поверхности с неоднородным контуром
Большинство NURBS-поверхностей должны создаваться с использованием четырех
гладких граничных элементов. Если исходные граничные каркасные элементы
являются неоднородными (т.е. имеют резкие изменения в направлении
кривизны), то результирующие NURBS-поверхности не будут гладкими и их
поведение может быть непредсказуемым. Однако поскольку многие поверхности в
реальном моделировании имеют неоднородные граничные контуры (как внешние,
так и внутренние), то построение таких поверхностей проходит как бы в два
этапа: сначала создается базовая непрерывно гладкая NURBS-поверхность, а
затем производится ее обрезка с использованием неоднородных граничных
контуров. Как только поверхность подверглась такой операции, контуры
обрезки становятся ее неотъемлемой частью, однако при этом всегда можно
получить доступ к базовой поверхности при помощи команды AMDISPSF
(Surfaces/Surface Display или опции Изображение поверхностей... из меню
Поверх). Поверхности с неоднородным контуром характеризуются тем, что их
граница может иметь произвольную форму, получаемую обрезкой имеющихся
поверхностей.
5.6 Кривизна поверхностей и линии с векторами приращений
Поскольку поверхности в AutoSurf являются гладкими NURBS-поверхностями, они
характеризуются кривизной в каждой отдельно взятой точке. Для управления
кривизной поверхностей в AutoSurf существует специальный геометрический
объект – линия с векторами приращений (augmented line). Такие линии подобны
полилиниям, однако при их использовании для построения поверхностей можно
управлять кривизной результирующей поверхности, проходящей по нормали к
векторам приращений.
Численные методы NURBS как способ представления поверхностей в
AutoSurf
При построении поверхностей AutoSurf можно использовать каркасные элементы
различных типов (сплайны, полилинии, линии, дуги, окружности, эллипсы,
линии с векторами приращений), однако независимо от типа исходного
каркасного элемента все данные преобразуются программой AutoSurf на
основании метода NURBS. В связи с этим необходимо сделать некоторые
пояснения по поводу сплайнов и в рамках необходимого минимума определиться
в терминологии, что чрезвычайно важно для работы с AutoSurf.
5.7 Сплайны и способы их построения.
Реальный сплайн – это гладкая кривая, проходящая через заданный набор
точек. При построении NURBS-сплайна всегда подразумевается некий
аппроксимируемый контур, состоящий из прямолинейных сегментов, вершины
которых дают определение сплайна и называются контрольными точками.
Контрольные точки не видны на экране в обычном режиме работы и, как
правило, становятся доступными только при выполнении операций
редактирования. Работая в AutoSurf, можно использовать реальные сплайны,
которые стали неотъемлемым объектом AutoCAD R13, что чрезвычайно полезно в
тех случаях, когда требуется построение произвольной гладкой кривой,
например, проходящей через концы имеющегося набора каркасных элементов. В
более общем случае пользователям часто приходится иметь дело с массивами
координат, полученных в результате расчетов. Построение полилиний с
использованием расчетных координат представляет собой первое приближение к
построению поверхностей, однако такие полилинии не являются гладкими. Здесь
на помощь приходит команда AMFITSPLINE (Surfaces/Edit Wireframe/Spline Fit
или опция Сгладить сплайном... из меню Поверх и подменю Редактирование
каркаса), которая выполняет сплайновую аппроксимацию полилиний и других
геометрических примитивов. Что касается редактирования сплайнов, то здесь
всегда можно пользоваться встроенной командой SPLINEDIT, появившейся в
AutoCAD R13.
Порядок сплайна и сплайновые сегменты. Под порядком сплайна понимается
порядок наивысшей экспоненты в описывающем его математическом уравнении
плюс 1. В практических терминах порядок сплайна определяет максимальное
число случаев, когда кривизна сплайнового сегмента может изменить свое
направление. В AutoSurf его значение может варьироваться от 2 до 26, однако
рекомендуется использовать 4-й порядок с тем, чтобы избежать возможных
осложнений при применении сплайнов более высокого порядка. Часто при
аппроксимации полилиний более точный результат достигается при
использовании нескольких участков сплайнов, называемых сплайновыми
сегментами, вместо единого сплайна, проходящего через заданный набор точек.
Сплайновые сегменты остаются невидимыми для пользователя, однако для
правильного задания режимов аппроксимации важно знать их, поскольку понятие
порядка сплайна применяется отдельно к каждому сегменту, а не к сплайну в
целом.
Аппроксимирующие поверхностные сегменты сплайновых поверхностей. Подобно
тому, как в AutoSurf аппроксимация полилиний осуществляется с
использованием сегментов кубических сплайнов, для аппроксимации
поверхностей применяются кубические сплайновые поверхностные сегменты.
Несмотря на то что эти сегменты практически всегда остаются невидимыми,
также важно знать об их существовании и стараться сводить их количество к
минимуму, поскольку от количества используемых аппроксимирующих
поверхностных сегментов непосредственно зависит объем занимаемого дискового
пространства, а также скорость просчета поверхностей. Кроме того, в общем
случае увеличение количества поверхностных сегментов не ведет к
существенному улучшению «качества» самой поверхности. С тем чтобы свести к
минимуму количество используемых сегментов при аппроксимации поверхностей,
следует преобразовывать полилинии в сплайны в явном виде до начала создания
поверхности, а также задавать разумные значения допуска сплайновой
аппроксимации. Рассматривая аппроксимирующие сегменты, стоит также
уточнить, что сегменты не являются гранями поверхности, поскольку в общем
случае все поверхности в AutoSurf непрерывно гладкие, если не задаются углы
или направления касательных.
Непрерывность сплайнов и сплайновых поверхностей. Рассмотрев понятия
порядка сплайна и сплайновых сегментов. необходимо остановиться еще на
одном свойстве сплайнов и сплайновых поверхностей – непрерывности, которая
характеризует наличие или отсутствие разрывов в «гладкости» сплайнов и
поверхностей. Всего существует три класса непрерывности – С2, С1 и С0, и
применяются они как к сплайнам, так и к поверхностям: У сплайнов и
поверхностей с непрерывностью по классу С2, являющихся непрерывно гладкими,
разрывы кривизны полностью отсутствуют; сплайны и поверхности с
непрерывностью по классу С1 имеют одно или несколько изменений радиуса
кривизны, причем линия, по которой проходит изменение радиуса кривизны,
называется касательной; сплайны и поверхности с непрерывностью по классу С0
имеют один или несколько разрывов гладкости, что характеризуется резким
изменением направления кривизны (разрыв непрерывности характеризуется
наличием угла).
AutoSurf R3.1 не поддерживает работу со сплайнами и поверхностями по классу
непрерывности С0. В то же время исходные полилинии могут иметь класс
непрерыности С0, но при их использовании, AutoSurf автоматически разбивает
результирующий сплайн или поверхность на два или несколько фрагментов.
Страницы: 1, 2, 3
|