ADN Open CIS Сообщество программистов Autodesk в СНГ

ADN Open CIS
Сообщество программистов Autodesk в СНГ

API для работы с фильтрами переопределения видимости/графики

Возможность иметь программный доступ к управлению фильтрами переопределения видимости/графики было одним из самых долгожданных пожеланий многих разработчиков. И эта возможность полностью реализована в Revit API 2014.

Для управления фильтрами в API появились следующие методы:

  • View.AddFilter()
  • View.SetFilterVisibility()
  • View.SetFilterOverrides()

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

Вопрос 1: Мы хотим программно делать то, что мы можем на вкладке Фильтры в диалоге Переопределения видимости/графики.

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

Мы также хотим скрыть определенный элемент на виде. Это можно сделать с помощью фильтра переопределения видимости/графики. Сейчас мы используем свойства View.ProjColorOverrideByElement и View.ProjLineWeightOverrideByElement для изменения цвета элементов, но скрыть элементы мы не можем.

В примере из SDK описывается, как достичь того, чего мы хотим, за исключением последнего шага – как применить созданный фильтр к виду. В Revit 2013 и более ранних версиях единственным способом применить созданный фильтр вручную в диалоге Переопределения видимости/графики на вкладке фильтры.

Вопрос 2: Benson оставил следующий комментарий к моей статье Видимость элементов, где он спрашивает:

Я могу выбрать элемент и в контекстном меню по правой кнопке мыши выбрать Скрыть на виде -> По фильтру… и добавить фильтр для скрытия выбранного элемента. Метод IsHiddenElementOrCategory все равно вернет True для этого элемента. Т.е. фильтр для скрытия элемента игнорируется.

Я хочу получить все элементы, которые скрыты по условиям фильтра. На первый взгляд классы ParameterFilterElement и FilterRule должны быть полезны в этом случае. Метод FilterRule.ElementPasses можно использовать для определения попадает ли элемент в фильтр, но нельзя определить применен ли этот фильтр к конкретному виду или нет.

Так можно ли определить установлена ли видимость фильтра для конкретного вида?

Я нашел как перечислить все фильтры, но все еще не могу понять, как определить установлена ли галочка Видимость для фильтра или нет.

Вопрос 3: Я бы хотел экспортировать только видимые объекты. Метод Element.IsHidden возвращает верное значение, только если элемент был скрыт с помощью меню Скрыть на виде -> Элемент (Категорию), но игнорирует скрытие элемента с помощью фильтра.

Читайте также:  Что мы знаем о фильтрах АКПП Patron

Как можно точно определить, что пользователь действительно видит на виде? Наши клиенты очень ждут такую возможность для экспорта.

Вопрос 4: Мне нужно программно определить цвет и тип линий. В интерфейсе Revit это можно увидеть в диалоге Переопределения видимости/графики на вкладке Фильтры.

Вопрос 5: Мне нужно программно получить список фильтров в диалоге Переопределения видимости/графики.

Ответ: Класс ParameterFilterElement и связанные с ним классы были обновлены и теперь похожи на классы ElementFilter, которые используются для поиска элементов я для DMU.

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

Этот недостаток был устранен в Revit API 2014 и в документации это выделено в разделе Что нового:

Фильтры Переопределения видимости/графики

Новые методы класса View позволяют получить, добавить, применить и удалить фильтры. Фильтры могут быть созданы с помощью метода Create класса ParameterFilterElement, который был и предыдущих версиях API.

Как я уже говорил, новые методы, которые предоставляют доступ к новым функциям это:

Источник

Переопределение видимости фильтры ревит

Главная Revit Уроки Revit Настройка оформления через предопределения видимости в Revit

Уроки Autodesk Revit

Окно видимости/графики позволяет отображать или скрывать части модели или любую другую информацию на любом из видов.

Изучать этот раздел мы будем с использованием примера проекта, который есть в базовой поставке Autodesk Revit.

1. Откроем этот проект из примеров

2. Зайдем на план второго этажа

3. Перейдем в свойства вида и найдем меню переопределения видимости/графики. Нажмем на кнопку Изменить.

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

5. Для стен применим такие настройки. Уберем отображение в разрезах. Вес линии установим как 1. Выполним заливку белым цветом и определим сплошные цвета.

6. Далее требуется создать новый фильтр Несущие стену. Зайдем во вкладку Фильтры и в окне переопределения видов и графики нажмем на изменить/создать.

Появится окно, где нужно нажать на значок нового фильтра и задать ему имя.

7. Проведем настройки фильтра. Поставим галочку около Стены. Сам фильтр берем из категории фильтров по использованию в конструкции = несущая.

8. Готовый фильтр нужно добавить и применить в окне видимости графики

9. Если мы уберем галочку в этом фильтре, то в чертеже нашего проекта пропадут все несущие стены.

Читайте также:  Фильтр для пылесоса Ariete De 039 Longhi

Источник



Фильтры

alt

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

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

Вид – Фильтры

В открывшемся диалоговом окне видим два варианта создания фильтров:

  • по параметрам;
  • по выбору.

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

Рассмотрим оба варианта на примере отображения стен. Предположим, нам необходимо, чтобы все стены с именованием типа Газобетон 400мм окрашивались красным цветом. Для этого нажимаем Создать, задаем Имя и галочку Задать правила.

Задать имя

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

Фильтры по правилам

Применение фильтра

Вышеописанным действием мы только создали фильтр в проекте, теперь необходимо применить его к определенному виду. Переходим в переопределение видимости/графики, на вкладке Фильтры добавляем фильтр Стены_400мм и настраиваем необходимое отображение. Здесь же можно отключать видимость для данных элементов или задавать полутона для отображения.

Фильтр на виде

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

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

Вкладка Изменить|Стены – Сохранить набор

Сохранить набор

Применение фильтра

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

Приоритет

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

Источник

Иерархия отображения графики в Autodesk Revit

В данной статье мы рассмотрим настройки отображения графики в Autodesk Revit.

Читайте также:  Фильтры для Boneco в Санкт Петербурге

В процессе работы и при оформлении чертежей инженеру-проектировщику важно правильно настроить графику отображения в Autodesk Revit. Понятное визуальное отображение позволит повысить скорость работы и получить правильно оформленные чертежи.

Всего существует 4 уровня отображения графики в Revit (и один подуровень):

  • стили объектов;
  • переопределение видимости/графики;
  • фильтры;
  • элемент.

Данные уровни имеют приоритеты отображения, т.е. каждый следующий уровень будет «сильнее» (приоритетнее) предыдущего. Таким образом, 1-й уровень является самым «слабым», и его настройки перекрываются настройками предыдущего уровня.

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

Рассмотрим все уровни отображения графики подробнее.

Уровень 1. Стили объектов

Первый уровень – «стили объектов», которые находятся во вкладке Управление. В этой вкладке настраиваются стили отображения для всего проекта.

На примере разреза (рис.2) видно, что те стены, которые попали в разрез, имеют толщину линии 4, а стена, которая не попала в разрез (в проекции), имеет толщину линии 2.

Уровень 2. Переопределение видимости/графики

Второй уровень – «переопределение видимости/графики», который отвечает за настройки видимости для конкретного вида (или для типов видов, если говорить о шаблоне вида).

Все, что настроим в «Переопределение видимости/графики», будет применено только для конкретного вида (в последствии можно настроить шаблон и применять его на другие виды). Здесь же находится подуровень определения видимости графики – стили линий разрез. Он применяется в том случае, если требуется разными слоям назначить разные веса линий и цвет.

Уровень 3. Фильтры

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

Для примера, добавим фильтр по ширине стены (меньше или равно 250мм). При этом применяемые к данному фильтру параметры видимости будут отображены для всех стен, у которых толщина меньше или равна 250мм (рис.4).

Уровень 4. Настройка видимости для элемента

Четвертый уровень – «настройка видимости для элемента».

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

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

Источник