пятница, 28 августа 2015 г.

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

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


Часть 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: да, также скрывать разрезы можно при помощи стадий (скрываются все разрезы кроме разрезов в этой же стадии) и "Категорий вида" (на видах "Конструкции" скрываются "Архитектура", и наоборот). Но все эти способы не универсальны (что делать, если та же стадия, тот же уровень и та же категория вида, но отображать не нужно?), и неизбежно нужны дополнительные критерии; использование же "Фильтров" покрывает все надобности, и ничего дополнительно использовать не нужно.

14 комментариев:

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

    ОтветитьУдалить
  2. Вот ещё немного на тему видимости разрезов:

    http://fazleev.blogspot.ru/2015/08/revitvidimostrazrezov.html

    Описываю как настроить видимость разрезов по этажам

    ОтветитьУдалить
  3. Вот что я имею ввиду
    http://cad-engineer.blogspot.com/2015/08/blog-post_28.html

    ОтветитьУдалить
  4. А еще отображение разрезов зависит от стадий. Если создавать модель стадийно (Местность, Концепция, Конструкции, Архитектура...) и настроить виды на соответствующие стадии, то архитектурные разрезы не будут отображаться в конструкторских чертежах, так как будут находиться в другом времени.

    ОтветитьУдалить
    Ответы
    1. Я предпочитаю использовать стадии непосредственно для того, для чего они были созданы - для моделирования стадийности возведения здания. А дополнительные критерии фильтрации все равно понадобятся и внутри стадий.

      Удалить
    2. Дык я также только так и использую). Проектируй так, как будешь строить ;).

      Удалить
  5. Если требуется отделить архитектурные разрезы от конструктивных пользуюсь категорией вида.
    А идея разделения видов по стадиям выглядит логично. Попробую разделение видов и элементов по комплектам черетежей КР, КЖ, КМ с использованием стадий. Если удастся уйти от использования фильтров - будет здорово. Спасибо за идею.

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

      Удалить
  6. Привет всем!
    Фильтры, как Александр говорит, еще недостаточно используются. Я пока не видел их плохих свойств. :)

    ОтветитьУдалить
    Ответы
    1. А при использовании совместно с шаблонами так вообще только хорошие

      Удалить
  7. Если было можно можно добавлять свои пункты в параметр "дисциплина" для вида, то получилось бы хорошее решение проблемы)

    ОтветитьУдалить
    Ответы
    1. Фразу "Если бы" можно очень часто повторять, работая в Ревите)

      Удалить