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

  1. Секущий диапазон;
  2. Фильтры;
  3. Спецификации.

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

Принцип работы

Вы говорите фильтру, с какими категориями работать и по каким критериям отбирать элементы. Категории — это стандартное деление элементов в Ревите: стены, воздуховоды, арматура трубопроводов и так далее. Критерии — это параметры ваших элементов. Например, у трубы есть параметры «Длина», «Диаметр», «Имя системы» и т. д., у воздухораспределителя — «Расход», «Размер», «Имя системы» и т. д. Вот по ним и можно фильтровать.

Задача фильтров

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

Создание фильтра

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

Этап 1. Создание нового фильтра

Рекомендую делать так: заходим в «Переопределение видимости/графики» (далее просто «Видимость/графика») → вкладка «Фильтры» → кнопка внизу «Изменить/Создать...».

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

В «Изменить/Создать...» внизу блок клавиш для создания, копирования, переименования или удаления фильтров. Нам нужно создать новый. Нажимаем на кнопку со звёздочкой. Откроется окно, где нужно ввести имя фильтра.

Кнопка для создания и редактирования фильтров
Кнопка для создания и редактирования фильтров
Имя фильтра
Имя фильтра

Важно. Всегда давайте фильтру адекватное имя. Не «Фильтр 1», не «Оси», не «Фильтр для полного и тотального скрытия всего, что мне не нравится». Имя должно быть максимально информативным, чтобы любой другой пользователь мог понять, что это и для чего. Лучше всего, чтобы в компании был регламент с шаблоном названий фильтров.

В моём примере название фильтра «Оси_Отопление_Изолировать» означает, что фильтр действует на оси в модели и сохраняет видимость только осей раздела «Отопление», то есть изолирует их, а остальные скрывает. Если делаете фильтр для схемы системы П1, то можно так и называть: «Схема_П1», потому что обычно на виде должна оставаться только одна система, а остальные скрываются, поэтому и так понятно, как устроен фильтр, но это тоже лучше прописать в регламенте.

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

Этап 2. Выбор категорий

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

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

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

Кажется, сложно, но самое сложное ещё впереди
Кажется, сложно, но самое сложное ещё впереди

Этап 3. Выбор критериев и их значений

Самое сложное — это правильно выбрать критерии, их значения и операторы. Всё вместе это называется правилом. Правил может быть несколько, например, выбрать трубы с диаметром больше 25 мм и длиной короче 100 мм. Оператор «И/ИЛИ» указывает должны ли для фильтрации оба правила выполняться одновременно или достаточно выполнения хотя бы одного из них.

Revit: как создать фильтр
Revit: как создать фильтр

Если фильтры скрывает элементы и у нас два правила: «диаметр > 25 мм» и «длина < 100 мм» и оператор «И», тогда с вида будут исчезать только те трубы, у которых оба условия выполнены одновременно. Труба с диаметром 100 мм и длиной 60 мм исчезнет, а труба того же диаметра, но с длиной 1500 мм останется.

Если оператор будет «ИЛИ», то скрываться будет любая труба, у которой диаметр больше 25 или длина меньше 100 мм. В этом случае обе трубы с диаметром 100 мм исчезнут, и на виде останутся только те трубы, у которых диаметр меньше 25 мм, а длина больше 100 мм.

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

Список параметров, доступных для выбранных категорий
Список параметров, доступных для выбранных категорий

Если я добавлю сюда ещё одну категорию «Оси», то список резко сократится до двух позиций:

Список предыдущих параметров + оси
Список предыдущих параметров + оси

Это произошло из-за того, что у элементов в категории «Оси» с арматурой трубопроводов, гибкими трубами и остальными категориями из списка есть только два общих параметра — «Имя семейства» и «Имя типа». У осей нет ни имени системы, ни изготовителя, ни всего остального, что является общим для остальных категорий. Поэтому список такой короткий.

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

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

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

  • равно, не равно — значение в параметре должно строго совпадать с тем, что мы укажем. Если система называется «Система К1», то сюда нужно писать именно «Система К1», если написать просто «К1», то фильтр сработает не так, как надо;
  • больше, больше или равно, меньше, меньше или равно — вряд ли тут нужны комментарии, смысл полностью такой же, как в арифметике, но распространяется так же и на текст. Например «А12» будет больше, чем «А5» и меньше, чем «В1». Здесь больше и меньше сравниваются с алфавитным порядком, так как каждой букве по сути можно сопоставить цифру — её порядковый номер в алфавите;
  • содержит, не содержит — значение в параметре не обязательно строго совпадает с тем, что мы укажем. Например, можно писать не «Приточная жидкость», а просто «жидкость», или не «ВД 1.1», а «ВД»;
  • начинается с, не начинается с — аналог для «содержит» и «не содержит», но в данном случае работает только с самого начала текста. Если значение параметра «Приточная жидкость», то тут можно указать «Приточная» или «Прито», если указать «жидкость», то фильтр не сработает;
  • заканчивается на, не заканчивается на — аналогично тому, что выше, но работает только с конечными значениями в строке. Если брать пример с «Приточная жидкость», то тут всё наоборот: с «жидкость» фильтр сработает, а с «Приточная» — нет.
  • имеет значение, без значения — если указанный параметр не пустой, то он имеет значение, если пустой — без значения. Оператор появился в последних версиях Ревита.

Логика работы

Как уже говорил, обычно создают два типа фильтров: на скрытие и на перекрашивание. Самый популярный — на скрытие, с него и начнём.

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

Если мы хотим скрыть элементы, то должны фильтром выбрать именно их. Если хотим скрыть всё остальное, то должны выбрать всё, кроме них. Представьте себе, что фильтры в Ревите выбирают все элементы, которые попали под их действие, и как бы помечают их галочкой. А дальше мы говорим Ревиту: скрой эти элементы либо скрой всё остальное.

Допустим, у нас 5 воздуховодов диаметрами 100, 160, 315, 500 и 800. Если я создам вот такой фильтр, то Ревит «пометит» воздуховоды вот так:

Визуализация работы фильтра
Визуализация работы фильтра

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

Если изменю фильтр вот так, то метки изменятся:

Визуализация работы фильтра
Визуализация работы фильтра

Теперь я сказал фильтру: выбери все воздуховоды, чей диаметр равен 160 или больше. Теперь я смогу скрыть все воздуховоды, кроме того, у которого диаметр равен 100 мм, так как он не попал под действие фильтра.

И третий вариант:

Визуализация работы фильтра
Визуализация работы фильтра

В данном случае я использовал негативный оператор «не равно». Таким образом, я выбрал все воздуховоды, кроме одного. И теперь я могу скрыть всё остальное, кроме нужного мне на виде элемента.

Для себя я сформулировал такое правило:

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

Таким образом я говорю фильтру: выбери всё, кроме этого. Если в комнате 4 девочки и 1 мальчик, то всех девочек можно определить через «не мальчик». Это описание подходит ко всем девочкам, поэтому проще пользоваться такой настройкой фильтра, чем перечислять имя каждой девочки, чтобы скрыть её. Запись: выбрать всех, кто не мальчик, и скрыть — короче и быстрее. Никакого сексизма, просто попытка объяснить на уровне детсада, чтобы точно было понятно. Хотя не очень понятно, что делать с трансгендерами. Пишите свои варианты в комментарии.

Теперь давайте посмотрим три примера.

Пример: скрываем чужие оси

Это классика, и здесь у вас как раз повторяется логика «не мальчик». То есть вам нужно выбрать настройку фильтра так, чтобы он пометил все чужие оси в файлах смежников, а ваши не трогал. Решить задачу можно двумя путями: длинным и коротким.

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

Имя типа у осей было «8 мм марка в начале», я переименовал в «8 мм марка в начале_Отопление»
Имя типа у осей было «8 мм марка в начале», я переименовал в «8 мм марка в начале_Отопление»

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

Три варианта одно и того же фильтра. Обычно я выбираю «не содержит», дело вкуса
Три варианта одно и того же фильтра. Обычно я выбираю «не содержит», дело вкуса

Логика работы каждого фильтра такая:

  1. Выбрать на виде все оси, у которых имя типа любое, только не «8мм марка в начале_Отопление».
  2. Выбрать на виде все оси, у которых имя типа заканчивается на что угодно, кроме «Отопление».
  3. Выбрать на виде все оси, у которых имя типа содержит что-нибудь, но не «Отопление».

Главное тут: создаю правило с негативным оператором и указываю в нём значение своего параметра.

Чтобы применить фильтр к виду, его нужно добавить и снять галочку «Видимость».

Выбираем из списка фильтров нужный
Выбираем из списка фильтров нужный
Снимаем галочку «Видимость» и жмём «ОК»
Снимаем галочку «Видимость» и жмём «ОК»

Галочка «Видимость» важная штука. Именно она скрывает на виде элементы. Важно осознать, что фильтры мы создаём всегда так, чтобы «пометить» элементы, которые хотим скрыть. Когда мы добавляем фильтр к виду, то включаем эти «пометки», а когда убираем галочку «Видимость», то сообщаем Ревиту, что выбранные элементы нужно скрыть.

Очень частая ошибка новичков: они указывают в настройках фильтра не то, что нужно скрыть, а то, что хотят оставить. Но фильтр работает ровно наоборот.

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

Пример: скрываем системы теплого пола, оставляем только отопление

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

Все настройки пошагово:

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

Почему я выбрал именно такие критерии фильтрации. У меня две системы: Т51 (подача) и Т61 (обратка). Нужно скрыть их обе. Реальные имена системы в Ревите у меня разные: Т51 1, Т51 2, Т51 3, Т61 1, Т61 2, Т61 3 и т. д., потому что много разных контуров, у каждого контура уникальное имя системы, но все они начинаются одинаково: с Т51 и Т61 соответственно. Мне достаточно указать в фильтре Т5 и Т6, но можно указать и Т51 и Т61, ошибки не будет.

Имена систем могут быть разными, но начинаются одинаково
Имена систем могут быть разными, но начинаются одинаково

Поскольку системы две и скрыть нужно любую, у которой имя системы содержит Т5 или Т6, то наверху я выбираю оператор «ИЛИ». Если выбрать «И», то Ревит будет искать элементы, у которых в имени системы одновременно есть и Т5, и Т6. Но это невозможно, потому что элемент принадлежит либо системе Т51, либо Т61. Поэтому использовать нужно «ИЛИ». Так мы говорим фильтру: выбери любые элементы, у которых в имени системы есть или Т5, или Т6.

Добавляю фильтр к виду
Добавляю фильтр к виду
Снимаю галочку видимости, это важно
Снимаю галочку видимости, это важно

Я добавил фильтр к виду, снял галочку видимости и по сути говорю Ревиту: выбери любые элементы, у которых в имени системы есть или Т5, или Т6 и скрой их с глаз долой.

В итоге 3Д-вид выглядит так:

Получилось! Тёплый пол скрылся
Получилось! Тёплый пол скрылся

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

Пример: перекрасим изоляцию воздуховодов

Изменю у изоляции цвет линий и материал тонировки.

Было
Было
Настройки фильтра
Настройки фильтра

Поскольку мне нужно поменять изоляцию любой системы, то выбрал вот такой критерий, который 100 % отберёт всю изоляцию на виде, так как вряд ли бывает изоляция с толщиной 0,1 мм.

Настройки цвета
Настройки цвета

Настройки цвета назначаются уже на вкладке «Фильтр». Здесь я задал цвет и тип линий (левое окошко) и материал (правое).

Стало
Стало

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

Порядок применения

Если вы добавляете несколько фильтров к виду и они работают с одинаковыми элементами, то становится важен порядок фильтров.

Например, есть два фильтра. Первый работает с категориями «Трубы» и «Соединительные детали трубопроводов», а второй работает с категориями «Воздуховоды» и «Трубы». Они пересекаются по категории «Трубы». Поэтому оба будут взаимодействовать с трубами. Предположим, первый фильтр красит элементы в оранжевый цвет, а второй — в фиолетовый.

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

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

Фильтр для воздуховодов и труб
Фильтр для воздуховодов и труб
Фильтр для труб и фитингов
Фильтр для труб и фитингов
Мои сети до применения фильтров
Мои сети до применения фильтров

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

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

Теперь меняю порядок фильтров, выше в списке будет фильтр с воздуховодами и трубами. Для смены позиции есть кнопки «Вверх» и «Вниз». Посмотрим, что случится.

Поменял фильтры местами. Если выделить верхний фильтр, то кнопка «Вверх» неактивна, так как выше только небо, подниматься уже некуда
Поменял фильтры местами. Если выделить верхний фильтр, то кнопка «Вверх» неактивна, так как выше только небо, подниматься уже некуда
Теперь трубы стали фиолетовыми, а фитинги труб остались оранжевыми
Теперь трубы стали фиолетовыми, а фитинги труб остались оранжевыми

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

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

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

Включение фильтров

С 2021 версии появилась ещё одна функция, которой не видно на скриншотах выше — отключение фильтра на виде. Благодаря ей можно быстро отключать фильтр, а не удалять его и снова искать и добавлять, когда понадобится его вернуть на вид. Особенно удобно это в случае, если ваш фильтр перекрашивает объекты.

Столбец с галочками «Включить фильтр» — новинка 2021 версии
Столбец с галочками «Включить фильтр» — новинка 2021 версии

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

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

Запомнить

  1. У фильтров две основные роли: скрывать что-то или перекрашивать.
  2. Фильтр работает только с теми категориями, которые вы выбрали в настройках. Если что-то не выбрано, на эти элементы фильтр не действует.
  3. Критерии фильтрации — это параметры (свойства) элементов.
  4. Критериями могут быть только системные параметры или параметры проекта. Параметр семейства нельзя добавить в фильтр.
  5. «Сокращение для системы» есть у всех инженерных элементов, кроме оборудования.
  6. В фильтре для скрытия систем не надо выбирать «Трубопроводные системы» и «Системы воздуховодов», они в данном случае ни на что не влияют.
  7. Фильтр работает только на том виде, к которому его добавили.
  8. Важен порядок фильтров в списке, если они работают с одинаковыми элементами.

Обновления статей удобно получать в Телеграм-канале «Блог Муратова про Revit MEP». Подписывайтесь и приглашайте коллег. Можно обсудить статью и задать вопросы в специальном чате канала.

Читайте методичку для проектировщиков: полезный материал, в котором последовательно рассказываю, как создавать модель.

Отблагодарить автора

Я много времени уделяю блогу. Если хотите отблагодарить меня, то можете сделать небольшой подарок (именно подарок, такой перевод не облагается налогом). Лайк тоже не помешает, это должно помочь продвижению блога.