Содержание статьи

В ArchiCAD маскировка объектов – не просто визуальный трюк, а инструмент для оптимизации рабочего процесса. Стандартные подходы вроде использования слоёв или фильтров видимости работают, но часто не решают специфические задачи: скрытие временных конструкций, маскировка инженерных сетей или подготовка презентационных видов без удаления элементов. Рассмотрим методы, которые позволяют добиться результата без потери данных и с минимальными затратами времени.
1. Использование параметров видимости в GDL-объектах. Если объект создан на основе GDL-скрипта, в его настройках можно задать условия отображения. Например, добавить параметр ShowInView с логическим значением и прописать в скрипте проверку: IF ShowInView THEN ... ENDIF. Это позволяет скрывать объект в конкретных видах без изменения слоёв или удаления из модели. Для стандартных объектов ArchiCAD (например, дверей или окон) аналогичный эффект достигается через Параметры отображения в настройках элемента.
2. Маскировка через атрибуты пера и заливки. Присвоение объекту пера с нулевой толщиной (Pen 0) или заливки с прозрачностью 100% делает его невидимым в 2D-видах, но сохраняет в модели. Метод удобен для временного скрытия элементов, которые не должны отображаться на планах, но необходимы для расчётов или 3D-визуализации. Важно: в 3D-виде такие объекты останутся видимыми, если не отключить их через Наборы отображения.
3. Работа с наборами отображения (Display Options). В ArchiCAD 25 и новее наборы отображения позволяют гибко управлять видимостью элементов по категориям. Создайте пользовательский набор, где для нужной категории (например, Электрооборудование) установите режим Скрытый. Примените этот набор к конкретному виду – объекты исчезнут, но останутся доступны для редактирования в других видах. Для точечной маскировки используйте Фильтры по критериям, например, скрытие всех объектов с определённым ID или именем.
4. Группировка и временное отключение. Выделите объекты, которые нужно скрыть, и объедините их в группу (Ctrl+G). Затем в настройках группы установите флажок Скрыть в текущем виде. Группа останется в модели, но не будет отображаться. Метод подходит для маскировки сложных конструкций (например, лесов или временных перегородок) без изменения их свойств. Для возврата видимости достаточно снять флажок.
5. Использование масок в чертежах. В чертежных видах (например, планах или разрезах) можно применять Маскирующие полилинии. Нарисуйте замкнутый контур поверх объектов, которые нужно скрыть, и назначьте ему атрибут Маскирующий. Объекты внутри контура исчезнут из вида, но останутся в модели. Удобно для подготовки презентационных чертежей, где требуется скрыть технические элементы (вентиляцию, кабели).
Каждый метод имеет ограничения. Например, маскировка через перо не работает в 3D, а наборы отображения не сохраняют состояние при экспорте в IFC. Перед выбором способа определите задачу: временное скрытие, подготовка вида для печати или исключение объектов из расчётов. Комбинируйте методы для достижения максимальной гибкости.
Использование слоёв для скрытия элементов на плане

В ArchiCAD слои – основной инструмент управления видимостью объектов без их удаления. Назначьте элементам (стены, окна, мебель) уникальные слои через панель *Layer Settings* (Ctrl+L) или контекстное меню. Для временного скрытия переключите слой в режим *Hidden* или отключите его в *Layer Combination*. Например, слой *Электрика* можно скрыть при работе с архитектурными чертежами, а слой *Временные конструкции* – при подготовке финальных планов. Используйте префиксы в названиях слоёв (например, *HID_*) для быстрой идентификации скрываемых групп.
Для сложных проектов создайте комбинации слоёв (*Layer Combinations*) под разные задачи: *План этажа (чистовой)*, *План с инженерными сетями*, *Вид для клиента*. Настройте их через *Layer Settings Manager* (Ctrl+Shift+L), где можно массово управлять видимостью и блокировкой слоёв. При экспорте в DWG или PDF используйте комбинации, чтобы исключить лишние элементы – это сократит время на постобработку. Избегайте дублирования объектов на нескольких слоях: это усложняет редактирование и увеличивает размер файла.
Настройка видимости объектов через параметры модели
В ArchiCAD видимость объектов регулируется через параметры GDL-скрипта, доступные в настройках библиотечного элемента. Откройте диалоговое окно параметров объекта (двойной клик по элементу) и перейдите на вкладку «Параметры». Здесь можно задать условия отображения через логические переменные, числовые значения или текстовые строки. Например, параметр *visible* с типом данных *Boolean* позволяет включать или отключать объект целиком – установите значение *0* для скрытия, *1* для показа.
Для сложных объектов используйте условные операторы в GDL-коде. В разделе *Master Script* добавьте проверку:
IF GLOB_CONTEXT = 1 THEN visible = 1 ELSE visible = 0 ENDIF
Этот код скрывает объект в 3D-виде (контекст *1*), оставляя его видимым в планах этажей. Аналогично можно привязать видимость к слоям, этажам или пользовательским параметрам, например, *show_in_section* для управления отображением в разрезах.
Таблица ниже демонстрирует ключевые параметры видимости и их влияние на разные виды проекта:
| Параметр | Тип данных | Возможные значения | Область применения |
|---|---|---|---|
| visible | Boolean | 0 / 1 | Все виды, 3D, планы |
| show_in_3d | Boolean | 0 / 1 | Только 3D-виды |
| layer_visibility | String | «LayerName» | Привязка к слоям |
| floor_visibility | Integer | Номер этажа | Отображение на конкретных этажах |
Для динамического управления видимостью используйте параметры с выпадающими списками. В настройках объекта создайте параметр *display_mode* с вариантами *»Всегда»*, *»Только в планах»*, *»Только в 3D»*. В GDL-коде пропишите:
IF display_mode = "Только в планах" & GLOB_CONTEXT # 1 THEN visible = 0 ENDIF
Это позволит пользователям выбирать режим отображения без редактирования скрипта.
Скрытие отдельных частей объекта реализуется через подэлементы с индивидуальными параметрами. В GDL-скрипте разделите объект на компоненты с помощью команд *GROUP* и *ENDGROUP*, назначив каждому уникальный идентификатор. Например:
GROUP "Крыша" IF roof_visible = 1 THEN ! Код отрисовки крыши ENDIF ENDGROUP
Задайте параметр *roof_visible* в настройках объекта, чтобы управлять видимостью крыши независимо от остальных частей.
Для объектов с зависимостью от масштаба используйте параметр *GLOB_SCALE*. В скрипте добавьте проверку:
IF GLOB_SCALE > 100 THEN visible = 0 ENDIF
Это скроет объект при масштабе крупнее 1:100, что полезно для деталей, не требующих отображения в общих планах. Комбинируйте параметры с операторами *AND/OR* для создания сложных условий, например, видимость только на этажах с 1 по 3 в масштабе 1:50.
Применение масок и фильтров в 3D-виде

В Archicad маски и фильтры в 3D-виде позволяют избирательно скрывать или выделять элементы без изменения их физических параметров. Основное отличие от стандартных инструментов видимости – работа на уровне рендеринга, а не модели. Это критично для презентаций, где требуется акцентировать внимание на отдельных узлах, не затрагивая исходную геометрию.
Для создания масок используйте 3D-фильтры в настройках вида (Вид → Элементы в 3D-виде → Фильтры). Доступны три типа фильтрации:
- По типу элемента – стены, перекрытия, окна. Пример: скрыть все двери в сцене, оставив только несущие конструкции.
- По слою – удобно для временного отключения вспомогательных элементов (например, инженерных сетей).
- По свойствам – фильтрация по материалам, ID или пользовательским параметрам. Полезно для выделения элементов с определенным покрытием (стекло, металл).
Маски работают через альфа-канал в режиме рендеринга. Включите Параметры → Дополнительные настройки → Использовать альфа-канал и настройте прозрачность для выбранных элементов. Это позволяет создавать эффекты «рентгена» – например, показывать скрытые коммуникации сквозь стены, сохраняя видимость фасада.
Для динамических презентаций применяйте комбинированные фильтры. Создайте несколько 3D-видов с разными настройками фильтров и переключайтесь между ними через Навигатор проекта. Пример последовательности:
- Общий вид здания (все элементы видимы).
- Конструктивная схема (только несущие элементы).
- Инженерные сети (трубопроводы, вентиляция).
- Отделка (материалы стен, полов).
В сложных сценах используйте группировку фильтров. В окне Фильтры 3D-вида объединяйте правила с помощью логических операторов И/ИЛИ. Например, показать только стены И из кирпича ИЛИ бетона. Это сокращает время настройки для проектов с большим количеством однотипных элементов.
Для экспорта в видеоформаты (MP4, AVI) настройте последовательность фильтров в Анимация → Путь камеры. Задайте ключевые кадры с разными фильтрами – например, в начале показать каркас здания, затем плавно добавить отделку. Archicad автоматически интерполирует изменения между кадрами, создавая плавные переходы.
Оптимизируйте производительность: фильтры по свойствам (материалы, ID) нагружают систему сильнее, чем фильтры по слоям. Для больших проектов (>10 000 элементов) предварительно разделите модель на рабочие наборы и применяйте фильтры только к активному набору. Включите Параметры → Оптимизация 3D-вида → Упрощенная геометрия для ускорения рендеринга.
Для точной настройки масок используйте инструмент «Выбрать по фильтру» (Правка → Выбрать → По фильтру). Это позволяет быстро выделить все элементы, соответствующие текущим правилам фильтрации, и применить к ним дополнительные действия – например, изменить цвет или прозрачность через Параметры элемента. Комбинация фильтров и выборочного редактирования дает максимальную гибкость без дублирования объектов.
Создание временных скрытых копий объектов для тестирования

В ArchiCAD временные копии объектов удобно создавать через инструмент Клонирование с параметрами (Ctrl+Shift+D). Выделите объект, вызовите команду и в диалоговом окне установите флажок Скрыть оригинал. Копия сохранит все геометрические и параметрические данные, но не будет отображаться в основном проекте. Это позволяет тестировать изменения без риска повредить исходный элемент.
Для группового тестирования используйте Горячие связи. Экспортируйте выбранные объекты в отдельный файл .pln, затем подключите его через Файл → Внешние ссылки → Добавить горячую связь. В настройках связи активируйте опцию Показывать только в 3D или Скрыть в 2D, чтобы изолировать тестовую среду от рабочего проекта.
Скрытые копии можно размещать на отдельном слое с префиксом _TEST_ (например, _TEST_Мебель_Вариант2). Назначьте слою уникальный индекс цвета и отключите его видимость в настройках вида. Это упростит переключение между рабочими и тестовыми версиями без удаления объектов. Для быстрого доступа создайте Набор слоёв с предустановленными фильтрами.
При работе с GDL-объектами временные копии создавайте через Редактор параметров. Дублируйте объект, измените его уникальный идентификатор (GUID) в скрипте и сохраните под новым именем. Это предотвратит конфликты с оригиналом при синхронизации библиотек. Для тестирования сложных скриптов используйте Отладчик GDL, доступный через Окно → Панели → Отладчик.
Восстановление оригинальных объектов после тестирования выполняйте через Журнал изменений (Файл → Информация о проекте → Журнал). Найдите запись о создании копии и отмените действие или вручную удалите тестовые элементы. Для массового удаления используйте Поиск и выбор (Ctrl+F) с фильтром по слою или имени объекта.
Для документирования тестов создайте отдельный Макет с аннотациями. Добавьте в него виды с тестовыми копиями, подпишите изменения и сохраните как .pdf или .dwg. Это позволит сравнить варианты без повторного моделирования. В настройках макета отключите видимость рабочих слоёв, чтобы исключить путаницу.
Работа с инструментом «Скрыть выбранное» и его комбинации

Инструмент «Скрыть выбранное» в Archicad позволяет временно исключать элементы из видимости без их удаления. Для активации выделите объекты (стены, окна, мебель) и нажмите Ctrl+H (Windows) или Cmd+H (macOS). Скрытые элементы остаются в модели, но не отображаются в 2D/3D-видах, что ускоряет работу с крупными проектами. Чтобы вернуть видимость, используйте Ctrl+Shift+H или команду «Показать всё» в контекстном меню. Эффективно сочетайте этот инструмент с фильтрами слоёв: скрывайте, например, только инженерные сети, оставляя архитектурные элементы видимыми.
Комбинируйте «Скрыть выбранное» с параметрическими настройками для точечной маскировки. Например, выделите все двери определённого типа через «Поиск и выбор» (Ctrl+F), затем примените скрытие. Для сложных сцен используйте сочетание с инструментом «Изолировать» (Ctrl+I): сначала изолируйте нужную группу элементов, затем скрывайте лишние в пределах изоляции. Это сокращает время на переключение между слоями и минимизирует ошибки при редактировании.
В больших проектах с несколькими этажами скрывайте элементы по критериям этажности через «Навигатор проекта». Выделите объекты на одном этаже, примените Ctrl+H, затем переключитесь на другой этаж – скрытые элементы останутся невидимыми во всех видах. Для быстрого восстановления видимости конкретных объектов используйте «Менеджер скрытых элементов» (меню «Вид» → «Скрытые элементы»), где можно управлять списком скрытых объектов поштучно или группами.
Автоматизация маскировки через скрипты GDL

Скрипты GDL позволяют динамически управлять видимостью объектов в ArchiCAD без ручного переключения слоёв или фильтров. Для этого используются параметры GLOB_VIEW_TYPE и GLOB_CONTEXT, которые определяют текущий режим отображения (план, разрез, 3D). Например, условие IF GLOB_VIEW_TYPE = 2 THEN HIDE ENDIF скрывает объект на планах этажей, оставляя его видимым в 3D.
Маскировка по пользовательским параметрам реализуется через переменные, задаваемые в настройках объекта. Добавьте параметр maskVisibility типа логический (boolean) и используйте его в скрипте: IF maskVisibility THEN HIDE ENDIF. Это позволяет включать/отключать видимость через интерфейс объекта без редактирования кода.
Для сложных сценариев применяйте комбинации условий. Например, скрытие объекта только в определённых масштабах достигается проверкой GLOB_SCALE: IF GLOB_SCALE > 1:100 THEN HIDE ENDIF. Это полезно для аннотационных элементов, которые не должны отображаться на общих чертежах.
Автоматическая маскировка по слою реализуется через REQUEST. Запрос REQUEST(«Layer_name», «», layerName) возвращает имя слоя, на котором размещён объект. Сравнив его с заданным значением, можно скрыть объект: IF layerName = «Временные элементы» THEN HIDE ENDIF. Метод исключает необходимость ручного управления слоями.
Для объектов с зависимостями используйте параметры других элементов. Например, дверь может скрываться, если смежная стена невидима: IF WALL_VISIBLE = 0 THEN HIDE ENDIF. Это требует предварительной настройки параметров связи через CALL или глобальные переменные.
Оптимизируйте скрипты, избегая избыточных проверок. Вместо нескольких IF для разных условий объедините их логическими операторами: IF (GLOB_VIEW_TYPE = 2 OR maskVisibility) THEN HIDE ENDIF. Тестируйте скрипты в разных режимах отображения, чтобы исключить ошибки видимости.
