Скрытие ненужных разрезов

Известная тема: создали вы план, а там —

Грусть-печаль! Ревит, следуя своей логике, отображает все элементы, которые попадают в сечение, — и, конечно, все разрезы.
Конечно, те, кто знают про великую кнопку "Скрыть на виде — Элемент", начнут тыкать и скрывать ненужные разрезы вручную, да еще и не забывать делать это при появлении новых разрезов, да на всех видах!
Но мы, конечно, этим заниматься будем. Итак, как скрыть ненужные разрезы?

Часть 1. Идея

Когда речь заходит о скрытии ненужных разрезов, многие начинают говорить, что в Ревите не хватает инструмента "Скрыть на всех видах".
Тут важно понять, что даже инструмент "Скрыть на виде" уже противоречит логике работы в Ревите, и использовать его я не рекомендую.

Почему? Да потому, что все элементы на видах должны скрываться/отображаться/закрашиваться не потому, что мы ткнули на них и "выбрали другой слой а-ля Автокад", а потому, что в настройки вида нужно вложить механизмы, выполняющие это автоматически в зависимости от того, какая информация содержится в элементе.
Например, если нам на плане не нужны фундаменты — вы не вручную скрываем каждый, а отключаем категорию "Фундамент несущей конструкции". Тогда даже новые фундаменты будут сразу скрываться на этом виде.
С разрезами надо организовать что-то подобное.

Часть 2. Отображение по масштабу

Первое, что можно применить — это стандартный механизм скрытия разрезов на мелких масштабах. Как это работает?
У каждого разреза в свойствах есть опция "Скрыть при масштабах менее":

Эта опция позволяет автоматически скрывать небольшие разрезы (например, по колонне или приямку) на общих видах (планах в мелком масштабе). Сейчас мой масштаб плана — 1:100, и разрез отображается:

Поменяю масштаб на 1:200 — разрез исчезнет, на 1:50 — появится:

Установлю для всех "местных" разрезов скрытие при масштабах менее 1:50:
Уже интереснее, но, конечно, пока недостаточно.

 

Часть 3. Фильтр по параметру

Стандартный инструмент решения задачи — это фильтры видимости. Вообще, фильтры — отдельная большая тема, и мы сейчас используем только часть их возможностей.
Идея "фильтра по критериям" — в переопределении графики для элемента в зависимости от каких-то параметров этого элемента. Например, закрасить стену красным цветом, если её тип — "Протиповожарная", или отключить колонны, если они относятся к разделу КМ.
То есть, в элемент должна быть вложена информация, за которую мы сможем "уцепиться". А чтобы вложить эту информацию — надо подумать, почему мы не хотим видеть конкретно этот разрез на нашем плане.
Первая причина — на плане отображаются разрезы из другого комплекта. Мы делаем КЖ3, параллельно в проекте делают КЖ1 и КЖ2, и мы не хотим видеть их разрезы. Значит, первое, что нам нужно, — дать Ревиту информацию, к какому комплекту относится каждый разрез.
Первый способ сделать это — через параметры проекта. Зайдем Управление — Параметры проекта:

Нажмем "Добавить", создадим текстовый параметр "Комплект" для категории "Виды":

Выберем разрезы из нашего комплекта и в свойствах укажем "Комплект — КЖ3":

Итак, информацию вложили, что дальше? Создаем фильтр. Вкладка Вид — Фильтры:

Жмем "Создать", вписываем имя "Разрезы не КЖ3". Старайтесь давать фильтру максимально информативное имя — с проектом будете работать не только вы, но и ваши коллеги!
Переходим в окно настройки фильтров. Слева в окне будут отображаться все фильтры в проекте (скрин из моего шаблона, и фильтров тут — уже куча на все случаи жизни, а новые фильтры появляются в конце списка); в середине — указание категории, для которой будет срабатывать фильтр; справа — критерии фильтрации.

Установите в списке категорий галочки на "Разрезы" и "Фрагменты". В списке критериев выберите "Комплект — не равно — КЖ3":

Нажимаем Ок, выходим. Готово, фильтр создан, и теперь мы можем использовать их на разных видах и шаблонах. Зайдем в настройки графики нашего плана и перейдем на вкладку "Фильтры". Фильтров тут пока нет. Нажимаем "Добавить" и находим наш созданный фильтр:

Здесь внимательнее — в списке можно выбирать несколько фильтров, просто щелкая на них (даже без Ctrl). Нажимаем Ок, фильтр добавлен.
Но пока он ничего не делает. Через фильтр можно менять цвет и тип линии, штриховку, прозрачность, но нам нужно просто скрыть. Отключаем галочку:

"Ок" — выходим из окна. Что видим на плане? Все разрезы, в которых не было указано "КЖ3", будут отключены!

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

Ничего страшного — воспользуемся тем, что разрез после создания остается выделенным. В свойствах сразу же вписываем "КЖ3" — разрез появится на плане:

Параметр "Комплект" уже хорошо помог нам, но поможет и еще: мы сможем при помощи этого параметра организовать список видов в "Диспетчере проекта", но об этом — в следующий раз!

Кстати, этот параметр можно использовать и в шаблоне вида:

Тогда при назначении разрезу этого шаблона "Комплект" будет указан сразу — разрез, где надо, отобразится или скроется, и в "Диспетчере" переедет в нужное место.

Часть 4. Фильтр по имени

Параметр "Комплект" — хорошее решение, но есть одна проблема. Ревит не позволяет задавать в одном проекте виды с одинаковым именем, а в разных комплектах могут быть элементы с одном маркировкой, и "Разрез по Ст-1" может быть не один. Конечно, можно добавлять к имени вида "непечатаемые символы" и еще как-то извращаться… Но можно просто добавить к имени имя комплекта, к которому относится данный разрез, например "КЖ3.Разрез по Ст-1".

После этого добавлять параметр "Комплект" и еще раз писать в нем "КЖ3" — явно не оптимальное решение. Можно ли сделать фильтр по имени вида? Да без проблем!
Зайду Вид — Фильтры, найду наш фильтр "Разрезы не КЖ3" — изменить. Выберите "Фильтр по — Имя вида" и обратите внимание на список доступных условий:

Есть из чего выбрать! Выберите "Не начинается с — КЖ3".

А теперь подумаем. "Не начинается с КЖ3″… А если появится КЖ30? Он тоже начинается с КЖ3! Но мы отделяем в имени вида номер комплекта точкой, так что выберем "Не начинается с — КЖ3."

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

Конечно, при создании нового разреза он будет скрыт, как и в предыдущем случае — разрезы по умолчанию именуются "Разрез такой-то", и имя не начинается с "КЖ". Не беда — также вписываем правильное имя сразу после того, как разрез создан, и он отобразится на плане:

При помощи имени вида мы также сможем организовать диспетчер проекта. Еще это поможет, например, при поиске нужного вида в списке выбора опорного вида или ориентации 3D-вида — список сортируется по алфавиту, и мы увидим сначала все разрезы из КЖ1, затем КЖ2 и так далее, очень удобно, когда видов много:

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

Именно такой способ организации разрезов я использую в своем шаблоне — правда, делю виды не по комплектам, а по уровням. Но сути дела не меняет :)
Помимо фильтров по комплекту понадобятся еще несколько фильтров, например "Виды — не опалубка", "Виды — не стадия П", "Виды — с текстовым заголовком". Как их создать и добавить — предлагаю подумать самостоятельно.

Пробуйте, и удачи в освоении Ревита!

UPD: еще по видимости разрезов от Андрея Фазлеева и Дмитрия Макарова.

UPD 2: да, также скрывать разрезы можно при помощи стадий (скрываются все разрезы кроме разрезов в этой же стадии) и "Категорий вида" (на видах "Конструкции" скрываются "Архитектура", и наоборот). Но все эти способы не универсальны (что делать, если та же стадия, тот же уровень и та же категория вида, но отображать не нужно?), и неизбежно нужны дополнительные критерии; использование же "Фильтров" покрывает все надобности, и ничего дополнительно использовать не нужно.