Как повернуть морф из горизонтального положения в вертикальное архикад

Обновлено: 03.07.2024

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

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

Создадим в окне Плана этажа при помощи ломаных линейных морфов надпись.


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


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


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

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

При помощи команды Конструирование → Изменить морф → Покрыть гранями создадим грани с четкими ребрами для двух средних букв. Теперь необходимо удалить лишние грани, присутствующие в последних трех буквах. Для букв, покрытых контурами, это не вызовет никаких проблем — достаточно щелкнуть левой клавишей мыши на нужных гранях при нажатой комбинации клавиш SHIFT + CTRL и нажать клавишу DELETE. Для добавления в выборку последней буквы, в которой присутствуют три грани и две из них находятся в одной плоскости с гранью, образованной внешним контуром, создать отверстия, таким образом не удастся. Самое простое, что мы можем сделать в данном случае — это удалить все грани в последней букве, сохранив при этом ребра (здесь нам снова надо будет воспользоваться курсором выбора подэлементного уровня), а затем повторить произведенные операции, использованные при работе с двумя средними буквами (объединить ребра, покрыть их гранями и удалить ненужные грани для создания отверстий).

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


Разобравшись в операциях скругления ребер, рассмотрим действие команды сглаживания и объединения граней морфов.


Создадим квадратный морф размерами 1000×1000, лежащий в горизонтальной плоскости. Затем выберем его грань и щелкнем на нем левой клавишей мыши. В открывшейся Локальной панели выберем команду Выдавливание по пути. Сначала переместим указатель мыши вверх, и, нажав на клавишу TAB, введем в Панель слежения значение 3000, затем переместим курсор в сторону, а потом нажмем клавишу SHIFT для привязки к горизонтальной оси, снова нажав на клавишу TAB, введем значение 5000. Для окончания редактирования морфа, переместим мышь вниз и, нажав клавишу SHIFT для активации рейсшины, укажем любую начальную точку морфа. Для подтверждения завершения построения, сделаем в конечной точке пути выдавливания двойной щелчок левой клавишей мыши.


Теперь, нажав и удерживая клавиши SHIFT + CTRL, укажем курсором область выборки, как показано на иллюстрации. В данном случае нижние грани морфа оказались не выбранными.
Воспользуемся командой Конструирование→ Изменить морф → Сгладить и объединить грани. В открывшемся диалоговом окне выберем вариант Сгладить границы и установим ползунок степени сглаживания в среднее положение.


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

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

Как видим, теперь границы подэлементов морфа, не попавших в выборку, сохранились.

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


В этом примере использованы несколько экземпляров одного и того же параллелепипеда с разным количеством сегментов, образованных добавлением дополнительных ребер.
Обратите внимание: чем ближе к границе расположено ребро, тем степень сглаживания меньше.

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

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

  • логические операции, появившиеся в Archicad 16;
  • операции твердотельного моделирования или операции с объемными элементами.

Рассмотрим поведение морфов в обоих случаях.

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


Первому морфу размерами 1000×1000×1000 присвоим непрозрачное покрытие, например, Краска 12. Для второго морфа размерами 2000×1500×2000 в качестве покрытия назначим прозрачное стекло.
Разместим морфы таким образом, чтобы они пересекали друг друга. Нам потребуются три пары таких элементов, поэтому воспользуемся командой многократного перемещения копии, активируемой нажатием клавиш CTRL + ALT или же командой тиражирования (CTRL + U).


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


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


Обратите внимание: для выполнения этой операции в качестве элемента-оператора обязательно должен выступать твердотельный морф. Чтобы убедиться в верности данного утверждения, отменим последнюю операцию, нажав сочетание клавиш CTRL + Z, и удалим верхнюю грань стеклянного морфа. Затем воспользуемся командой логической операции вычитания и попытаемся в качестве целевого элемента выбрать непрозрачный морф. В результате будет выведено предупреждение о том, что эта операция не может быть выполнена.


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


В операциях над объемными элементами морфы могут выступать как в роли целевых элементов, так и в роли операторов. Для рассмотрения этих операций создадим два морфа. Первый морф будет полностью идентичен непрозрачному морфу, использовавшемуся нами при рассмотрении логических операций. Второму морфу размерами 1500×800×200 назначим непрозрачное красное покрытие.


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


Данная статья — лишь краткий и далеко не полный обзор приемов работы с инструментом Морф. Раскрыть все возможности этого инструмента можно только при непосредственном и постоянном его использовании в повседневной работе. Надеемся, что этот краткий обзор поможет вам в вашей интересной и нужной работе.

Статья написана на основе учебных и презентационных материалов, разработанных Enikő Paukó, Graphisoft SE.

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


Воспользуемся морфом, созданным нами в предыдущем примере. Существующее скругление вершины нам только помешает. Рассмотрим один из вариантов, как избавиться от него.

Добавьте в выборку (при нажатой комбинации клавиш SHIFT+CTRL) все три дуговых ребра, образующих скругленную поверхность, и удалите их. Как и следовало ожидать, удалилась не только поверхность, но и грани, в состав которых входили удаленные ребра.

Сначала нам потребуется воссоздать пересечение ребер в одной точке. Выберите любое ребро, например, левое. Следует дотянуть его вершину до вертикального ребра. Для упрощения работы воспользуемся 3D-направляющей. Наведите указатель мыши на вертикальное ребро и задержите на нем курсор мыши. Щелкните левой кнопкой мыши на появившейся оранжевой точке для активации направляющей линии. Теперь не составит труда дотянуть выбранное ребро путем перемещения его вершины при помощи интеллектуального курсора. Для ограничения перемещений курсора по осям, воспользуйтесь клавишей SHIFT. Отредактируйте остальные ребра. При этом 3D-направляющие вам уже не потребуются.


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


Итак, у нас уже есть полностью подготовленный каркас, однако отсутствуют грани. Давайте воссоздадим их.

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

Оставшиеся две грани можно воссоздать, выделив сразу весь морф и вновь применив команду Покрыть гранями.

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

Вернемся к рассмотрению методов работы с ребрами и образуемыми ими поверхностями.


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


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

Выполните ту же операцию для соседнего ребра, но уже в вертикальной плоскости и с радиусом дуги 500.

Как мы могли убедиться, новые поверхности могут генерироваться не только путем редактирования вершин или замыкания контура, образованного ребрами, но и при определенных методах работы с гранями.


Создайте новый морф кубической формы с геометрическими параметрами, аналогичными исходным размерам предыдущего морфа (1000×1000×1000). Добавьте в выборку все ребра, образующие верхнюю грань морфа, щелкните левой кнопкой мыши на любой грани и в появившейся Локальной панели выберите команду перемещения (или воспользуйтесь сочетанием клавиш CTRL+D). Переместите ребра на 200 мм вверх.

Как видим, результат данной операции не отличается от того, которого мы достигли бы, применив к верхней грани команду Выталкивания/вытягивания.

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


Как уже отмечалось ранее, при использовании команды Выталкивания/вытягивания перемещение возможно только в направлении, перпендикулярном плоскости, в которой лежит грань. Таким образом, мы сможем только вытянуть морф в каком-то одном направлении, причем число направлений будет ограничено геометрией самого морфа.


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


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

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


Вы можете добавлять в выборку и редактировать подэлементы и перемещать копии подэлементов, принадлежащих разным морфам.

Мы знаем, любые грани или поверхности морфов образуются ребрами. Следовательно, создание нового ребра, полностью пересекающего грань, приведет к разделению грани.


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

В диалоговом окне тиражирования установите количество дубликатов, равное двум, и нажмите клавишу ENTER. Для ограничения направления перемещения дубликатов и задания расстояния воспользуйтесь сочетанием клавиш SHIFT+R. Введите значение приращения — 700 и дважды нажмите клавишу ENTER, чтобы произвести тиражирование только в одном направлении.


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

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


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


Рассмотрим применение операции смещения всех ребер какой-либо грани. Добавьте в выборку исходный морф и щелкните левой кнопкой мыши на его верхней грани. Выберите в появившейся Локальной панели команду Смещения всех ребер и переместите курсор мыши вправо.

Как видите, площадь грани уменьшается вплоть до ее полного вырождения и, следовательно, превращения параллелепипеда в пирамиду.

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


Переместите указатель мыши таким образом, чтобы копии ребер оказались внутри контура исходной грани. Для точного указания смещения нажмите клавишу TAB или клавишу R и в активировавшейся Панели слежения введите значение 300. Подтвердите ввод нажатием клавиши ENTER.

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

Операция смещения копии всех ребер будет доступна и при щелчке левой кнопкой мыши на ребре, а не на плоскости.

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


Выберите вновь созданную грань, лежащую внутри исходной, и щелкните на ней левой кнопкой мыши. В появившейся Локальной панели выберите команду Свободное вращение или воспользуйтесь сочетанием клавиш CTRL+E и переместите указатель мыши на ребро грани таким образом, чтобы появившееся изображение транспортира приняло вертикальное положение.

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


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

Рассмотрим еще одну очень полезную команду, применимую к граням. Она несколько напоминает действие команды Выталкивания/вытягивания, однако не ограничивает нас лишь перепендикулярным плоскости направлением вытягивания.

Выберите повернутую ранее грань и щелкните на ней левой кнопкой мыши. В появивишейся Локальной панели активируйте команду Вытягивания/выдавливания по пути. Действие этой функции применимо абсолютно в любом направлении, и, что немаловажно, путь выдавливания может содержать как прямые, так и криволинейные участки. Попробуем выдавить грань сначала на 1200 мм в направлении, перпендикулярном ее плоскости, затем создадим горизонтальный отрезок длиной 600 мм и завершим операцию созданием криволинейного участка радиусом 400 мм. Для осуществления этих построений лучше всего воспользоваться привязкой к направляющим линиям, Локальной панелью и панелью слежения.


Первый участок пути будет создан перпендикулярно плоскости, поэтому просто введем при помощи клавиши R значение 1200 и подтвердим ввод нажатием клавиши ENTER.

Затем посредством нажатия и удерживания клавиши SHIFT осуществим привязку к оси и, удостоверившись, что в Локальной панели выбрано построение прямого участка, введем значение 600.

Снова подтвердим ввод нажатием клавиши ENTER.

Для построения последнего участка выберем в Локальной панели геометрический вариант построения Дуга по точке центра, опустим курсор мыши вниз, нажмем сочетание клавиш SHIFT+R и введем значение 400.

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

Читайте также: