Операции с твердотельными объектами

Операции с твердотельными объектами

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

Для разработки объектов произвольных форм есть несколько методов. Вы уже знаете о трехмерных сетках, языках GDL и создании профилей. Однако для получения новых объектов необходимо знание языка описания объектов, большой опыт, терпение и наличие времени. Есть ли более простой способ создания объектов требуемой формы?

«Царских путей в геометрию нет», – ответил как-то Евклид на подобный вопрос правителя Египта. А вот разработчики ArchiCAD включили в свой продукт широко используемые в трехмерных САПР способы создания новых форм путем комбинации уже имеющихся. Эти способы известны как логические операции с твердотельными объектами и позволят вам при минимуме потраченного на их изучение времени создавать достаточно сложные формы для ваших проектов.

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

Окно с настройками твердотельных операций (рис. 8.25) можно вызвать командой Design ? Solid Element Operations (Проектирование ? Операции с твердотельными объектами).

Рис. 8.25. Инструменты редактирования твердотельных объектов

Другой способ открытия данного окна – щелчок на кнопке Solid Element Operations (Операции с твердотельными объектами)

расположенной на панели Edit Elements (Редактирование элементов). Впрочем, если вы решили вплотную заняться твердотельными операциями, то вы можете вытащить эту кнопку на стандартную панель, используя соответствующие инструменты настройки пользовательского профиля, описанные в гл. 2.

Настройки редактирования твердотельных объектов сгруппированы в двух областях.

В области New Operation (Новая операция) расположены элементы управления непосредственным выполнением операций. Область Maintain Operations (Операции поддержки) содержит настройки для работы с объектами, уже участвовавшими в логических операциях.

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

Элементы управления области New Operation (Новая операция)

Щелчок на кнопке Get Target Elements (Получить целевые объекты) сохраняет выбранные объекты в качестве целевых элементов. Этот набор целевых элементов будет сохраняться даже после снятия выделения с выбранных объектов вплоть до совершения операции, переопределения выбранных объектов или закрытия окна с элементами управления твердотельными операциями.

Кнопка Select stored Targets (Выделение сохраненных целей)

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

Примечание

Если у вас уже были выбраны целевые объекты, но вы выделили новые объекты и нажали кнопку Get Target Elements (Получить целевые объекты), то прежний состав целей будет заменен новым.

Щелчок на кнопке Get Operator Elements (Получить операторы) сохраняет выделенные объекты в качестве операторов.

Примечание

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

Кнопка Select stored Operators (Выделение сохраненных операторов)

предназначена для восстановления выделения объектов, сохраненных в качестве операторов. Щелчок на данной кнопке вновь восстановит выделение объектов, если оно было снято.

Примечание

Если у вас уже были выбраны операторы, но вы выделили новые объекты и нажали кнопку Get Operator Elements (Получить операторы), то прежний состав операторов будет заменен новым.

Раскрывающийся список Choose an operation (Выбрать операцию) предназначен для задания необходимой логической операции. В ArchiCAD существует пять логических операций.

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

Subtraction with upwards extrusion (Вычитание с удалением вышележащего) – логическое вычитание объектов. Результатом этой операции является целевой элемент, из тела которого удаляется часть, одновременно принадлежащая целевому элементу и оператору, а также часть, лежащая выше тела оператора.

Subtraction with downwards extrusion (Вычитание с удалением нижележащего) – логическое вычитание объектов. Результатом данной операции является целевой элемент, из тела которого удаляется часть, одновременно принадлежащая целевому элементу и оператору, а также часть, лежащая ниже тела оператора.

Intersection (Пересечение) – логическое пересечение объектов. Результатом данной операции является часть целевого элемента, одновременно принадлежащая целевому элементу и оператору.

Addition (Сложение) – логическое сложение объектов. Результатом данной операции является объект, получившийся слиянием тел целевого элемента и оператора.

Переключатель New Surfaces of Target will (Использовать для поверхностей целевого объекта) имеет два положения:

• Inherit Attributes of Operator (Параметры оператора) – при установке переключателя в это положение в качестве материала поверхности, получившейся при выполнении логической операции, будет использован материал поверхности оператора;

• Use Their Own Attributes (Собственные параметры) – если установить переключатель в данное положение, то в качестве материала новой поверхности будет применен материал целевого элемента.

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

Элементы управления области Maintain Operations (Поддерживающие операции)

Группа Add to Selection (Добавить к выбранным) содержит кнопки Targets of Selected Elements (Целевые элементы выбранных объектов) и Operators of Selected Elements (Операторы выбранных объектов).

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

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

Внимание!

Не путайте выбор объектов, заключающийся в их выделении подсветкой, с формированием набора целевых элементов или операторов, производимый щелчком на кнопках Get Target Elements (Получить целевые элементы) и Get Operator Elements (Получить операторы).

Кнопки группы Cancel Operations of Selected Elements on (Отмена операций выбранных элементов) предназначены для разрушения связей, возникающих между объектами при совершении над ними логических операций:

• All Targets (Все целевые) – отменяет все логические связи между выбранными операторами и их целями;

• All Operators (Все обрабатывающие) – отменяет все логические связи между выбранными целями и их операторами;

• All Other Selected Elements (Все прочие выбранные элементы) – текущий набор выбранных объектов может содержать элементы, уже связанные какими-либо операциями. Щелчок на кнопке отменяет все эти связи.

Примеры логических операций

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

1. На плане этажа или в 3D-окне выделяются объекты, над которыми необходимо произвести логическую операцию.

2. Щелчком на кнопке Get Target Elements (Получить целевые элементы) они объявляются целевыми элементами.

3. На плане этажа или в 3D-окне выделяются объекты, с помощью которых должна проводиться логическая операция над целевыми элементами.

4. Щелчком на кнопке Get Operator Elements (Получить операторы) они объявляются операторами.

5. Из списка Choose an operation (Выбрать операцию) выбирается необходимая операция.

6. Щелчком на кнопке Execute (Выполнить) операция выполняется.

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

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

Рассмотрим примеры выполнения логических операций.

Логическое вычитание. Для начала создадим бетонную чашку следующим образом.

1. Перейдите в окно плана этажа.

2. Активизируйте инструмент построения колонн.

3. Откройте окно параметров колонн.

4. В разделе CORE STRUCTURE (Материал колонны) области Floor Plan and Section (Вид в плане и сечения) для элемента Cut Fill (Штриховка сечения) выберите материал Concrete Block (Бетонный блок).

5. В области Model (Модель) укажите для всех поверхностей объекта материал Surf-Poured Concrete (Монолитный бетон).

6. Выберите прямую колонну с круглым сечением.

7. Установите диаметр колонны равным 600, возвышение над уровнем этажа – 0, высоту колонны – 300.

8. Убедитесь, что точкой привязки колонны является центр. Если это не так, то задайте в качестве точки привязки колонны ее центр, используя элемент управления Anchor Point of Core (Точка привязки).

9. Закройте окно щелчком на кнопке OK.

10. Щелкните кнопкой мыши в любом месте рабочего поля. Колонна построена (рис. 8.26, а).

11. Сохраните результат работы.

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

1. Выполните пункты 2–3 предыдущего этапа.

2. Измените диаметр колонны на 400, открыв окно параметров колонны или используя настройки колонны, расположенные на информационной палитре.

3. Задайте высоте колонны значение 201, а возвышению колонны над уровнем этажа – значение 100.

4. В области Model (Модель) выберите для всех поверхностей объекта материал Surf– Concrete Dark (Темный бетон).

5. Если вы используете для настроек окно параметров колонны, то закройте его щелчком на кнопке OK.

6. Переместите указатель к центру проекции уже построенной колонны так, чтобы он принял форму

Это означает, что произошла привязка к центру колонны.

7. Щелкните кнопкой мыши. Вторая колонна построена.

8. Переключитесь в 3D-окно и оцените результат построения (рис. 8.26, б)

Рис. 8.26. Построение цели и оператора для операции логического вычитания

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

1. Откройте окно с настройками твердотельных операций, выполнив команду Design ? Solid Element Operations (Проектирование ? Операции с твердотельными объектами).

2. Выделите большую колонну любым способом.

3. Щелкните на кнопке Get Target Elements (Получить целевые элементы). Обратите внимание, что цифра 0 в надписи 0 Target Elements stored (0 целевых элементов сохранено), расположенной под кнопкой, заменилась цифрой 1.

4. Снимите выделение с колонны.

5. Выделите меньшую колонну любым способом.

6. Щелкните на кнопке Get Operator Elements (Получить операторы). Обратите внимание, что цифра 0 в надписи 0 Operator Elements stored (0 операторов сохранено), расположенной под кнопкой, заменилась цифрой 1.

7. Проследите, чтобы в раскрывающемся списке Choose an operation (Выбрать операцию) был указан заданный по умолчанию вариант Subtraction (Вычитание). Если это не так, то выберите его.

8. Щелкните на кнопке Execute (Выполнить).

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

1. Убедитесь, что меньшая колонна выделена. Если это не так, то выделите ее.

2. Щелкните на кнопке списка слоев

расположенной на информационной палитре.

3. В появившемся списке слоев щелкните кнопкой мыши на слое Hidden (Скрытый). Проекция второй колонны исчезнет с плана этажа.

4. Переключитесь в окно просмотра и редактирования трехмерных объектов и оцените результат операции (рис. 8.27).

Рис. 8.27. Результат операции логического вычитания

Итак, вы получили представление о принципах работы с логическими операциями над твердотельными объектами. Теперь рассмотрим более сложную, но и более интересную задачу. Как насчет того, чтобы построить кремлевскую стену? Конечно, мы не будем полностью копировать шедевр итальянских зодчих, но простейшие зубчики, пожалуй, сделать сможем.

1. Вернитесь в окно плана этажа.

2. Активизируйте инструмент построения стен.

3. Откройте окно параметров стен.

4. В разделе STRUCTURE (Структура) области Floor Plan and Section (Вид в плане и сечения) для элемента Cut Fill (Штриховка сечения) выберите материал Common Brick (Обычный кирпич).

5. В области Model (Модель) задайте для всех поверхностей объекта материал Brick-Common Bond (Обычный кирпич).

6. Выберите метод построения прямой стены с прямоугольным сечением.

7. Установите толщину стены равной 300, возвышение над уровнем этажа – 0, высоту стены – 2800.

8. Закройте окно щелчком на кнопке OK.

9. Постройте горизонтальную стену длиной 4000.

Примечание

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

10. Сохраните результат построения.

Стена есть, а что же дальше? Как сделать бойницы между зубчатыми элементами, понятно: положить на необходимом возвышении любой плоский элемент нужной ширины и выполнить операцию Subtraction with upwards extrusion (Вычитание с удалением вышележащего). А как быть с треугольным вырезом? У нас есть простая балка с квадратным сечением. Если ее повернуть вокруг своей оси на 45°, то получится необходимый угол.

1. Активизируйте инструмент построения балок.

2. Откройте окно параметров балок.

3. Выберите балку с прямоугольным сечением, щелкнув на кнопке

4. Установите высоту балки равной 500, а ширину балки – 500.

5. Задайте возвышение балки над уровнем этажа равным 2677. Именно при этом значении плоскость, проходящая через диагональ сечения повернутой балки, совместится с верхней гранью стены.

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

6. Щелкните на кнопке

Поле Profile Rotation (Поворот профиля) станет доступно для редактирования.

7. Введите в поле поворота профиля значение 45.

8. Закройте окно щелчком на кнопке OK.

9. Постройте вертикальную балку рядом со стеной (рис. 8.28, а). Не пытайтесь сразу при построении привязать балку к углу контура стены, поскольку балка будет привязана не углом, а концом своей базовой линии.

10. Переместите балку так, чтобы ее угол совместился с углом стены (рис. 8.28, б), вызвав палитру редактирования щелчком на левом нижнем углу проекции балки.

Рис. 8.28. Привязка балки к углу стены

11. Щелкните кнопкой мыши на верхнем конце базовой линии балки.

12. Используя операцию изменения положения конечной точки, уменьшите длину балки так, чтобы она равнялась ширине стены.

Примечание

Поскольку в конце построения балка все равно будет невидима, то это необязательное действие. Просто так аккуратнее.

13. Сохраните результат построения.

Теперь размножим балку.

1. Выделите балку.

2. Вызовите палитру редактирования и щелкните на кнопке Multiply (Тиражирование)

Появится одноименное окно.

3. В окне Multiply (Тиражирование) установите переключатель метода тиражирования в положение Drag (Перетаскивание).

4. В поле Number of copies (Количество копий) введите значение 3.

5. В поле Vertical displacement (Вертикальное перемещение) введите значение 0.

6. Переключатель способов распределения установите в положение Distribute (Распределение).

7. Закройте окно Multiply (Тиражирование) щелчком на кнопке OK.

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

и щелкните кнопкой мыши. Выбранная точка будет помечена косым крестиком.

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

(рис. 8.29) и щелкните кнопкой мыши. Балка размножена.

Рис. 8.29. Тиражирование балки

Теперь выполняем логическое вычитание по знакомому алгоритму.

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

2. Выделите стену и щелкните на кнопке Get Target Elements (Получить целевые элементы).

3. Снимите выделение со стены.

4. Выделите все балки и щелкните на кнопке Get Operator Elements (Получить операторы).

5. Из раскрывающегося списка выберите операцию Subtraction (Вычитание).

6. Щелкните на кнопке Execute (Выполнить). Операция выполнена. Оцените результат в 3D-окне (рис. 8.30, а). Ничего не изменилось, но мы знаем, в чем дело.

7. Выделите все балки (рис. 8.30, б).

8. Щелкните на кнопке списка слоев

расположенной на информационной палитре.

9. В открывшемся списке слоев выберите слой Hidden (Скрытый). Балки исчезли, а стена осталась без изменений (рис. 8.30, в).

Рис. 8.30. Результат скрытия операторов без учета приоритета видимости объектов

Почему так получилось, ведь мы все делали правильно? Да. Однако здесь вступает в действие приоритет видимости объектов, о котором уже упоминалось в гл. 4. В разделе STRUCTURE (Структура) области Floor Plan and Section (Вид в плане и сечения) окна параметров объекта есть ползунок Priority (Приоритет), определяющий преимущество видимости объектов при их пересечении. Дело в том, что приоритет видимости стены установлен выше, чем у балок.

10. Отмените последнее действие нажатием сочетания клавиш Ctrl+Z.

11. Открывая поочередно окна параметров для стены и балок, сравните значения параметров Wall Priority (Приоритет стены) и Beam Priority (Приоритет балки).

12. Выделите стену и установите приоритет ее видимости ниже, чем у балок.

Примечание

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

13. Повторите пункты 7–9. Оцените результат построения.

Теперь все стало на свои места, но не торопитесь оставлять все так, как есть. Отмените последнее действие нажатием сочетание клавиш Ctrl+Z. Зачем? Дело в том, что исчезнувшие балки пропали и с плана этажа, а еще нужно сделать бойницы, которые расположены между построенными зубцами. Имея на плане проекции зубцов, гораздо проще создать и проекции бойниц, в чем вам поможет следующая операция.

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

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

1. Вернитесь в окно плана этажа.

2. Активизируйте инструмент построения перекрытий.

3. Установите возвышение перекрытия 1700 и толщину 50.

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

Рис. 8.31. Построение перекрытия

5. Скопируйте построенное перекрытие между всеми зубцами.

6. Выполните операцию Subtraction with upwards extrusion (Вычитание с удалением вышележащего), выбрав в качестве цели стену, а в качестве операторов – построенные перекрытия.

7. Выделите и переместите на слой невидимых объектов все балки и перекрытия.

8. Переключитесь в 3D-окно. Задача построения «кремлевской стены» решена (рис. 8.32).

Рис. 8.32. Результат построения «кремлевской стены»

Логическое вычитание с удалением нижележащего. Данная операция подобна вышеописанным. Ее можно использовать, например, для создания арок (рис. 8.33). Среди стандартных объектов ArchiCAD нет круглого объекта с осью, параллельной уровню этажа, но в библиотеке объектов такие элементы есть. Для создания конструкции, показанной на рис. 8.33, использован объект Shell 11 из раздела General GDL Object ? Model Element ? Element Component ? Discrete Accessory ? Geometric Shape (Основные GDL-объекты ? Элемент модели ? Компонент элемента ? Отдельные компоненты ? Геометрическая форма) библиотеки объектов. Применение данного объекта мы рассмотрим ниже.

Рис. 8.33. Построение многоарочной стены

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

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

1. Постройте прямую стену с прямоугольным сечением толщиной 300, длиной 3000 и высотой 3000.

2. Активизируйте инструмент Object (Объект).

3. В качестве объекта, который будет являться оператором для стены, выберем форму Shell 11 из раздела библиотеки объектов General GDL Object ? Model Element ? Element Component ? Discrete Accessory ? Geometric Shape (Основные GDL-объекты ? Элемент модели ? Компонент элемента ? Отдельные компоненты ? Геометрическая форма) (рис. 8.34, а). Сейчас колесом этот объект назвать трудно. Придется поработать с его параметрами.

4. Установите возвышение объекта, равное 1500.

5. В поле Dimension 1 (Размерность 1) области Parameters (Параметры) окна параметров задайте длину объекта, равную толщине стены, – 300.

6. В поле Rotate angle (Угол поворота) установите значение 90.

7. В списке параметров задайте Cylinder Shell Radius (Радиус оболочки цилиндра) значение 1500.

8. В разделе Structural Dimensions (Размерности формы) установите параметру Shell Thickness (Толщина оболочки) значение 1000.

9. Значение Shell Angle (Угол оболочки) задайте равным 360. Это позволит замкнуть цилиндр.

Изменением параметров вы преобразовали полуцилиндр в требуемое колесо (рис. 8.34, б), правда, в окне параметров этого не видно.

Рис. 8.34. Исходный шаблон для построения оператора

10. Закройте окно настроек щелчком на кнопке OK.

Этап подготовки оператора закончен. Теперь можно приступить к построению.

1. Щелкните кнопкой мыши рядом с созданной стеной. На экране появится проекция объекта Shell 11.

Примечание

Не обращайте внимания на то, что отображается только половина проекции. Продолжайте работать с ним, как с целым.

2. Переместите построенный объект к стене так, чтобы его ось совпала с центром стены.

3. Откройте окно логических операций.

4. Выберите в качестве цели стену, а в качестве оператора – объект Shell 11.

5. Выберите из списка операций операцию Intersection (Пересечение).

6. Щелкните кнопкой мыши на кнопке Execute (Выполнить).

7. Переместите оператор на слой невидимых объектов. Задача выполнена.

В качестве доказательства, что построена действительно стена, можно поместить в ней двери и окна (рис. 8.35), но это вы уже можете проделать самостоятельно.

Рис. 8.35. Иллюстрация работы операции логического пересечения

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

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