Фильтр элементов

Фильтр элементов – это инструмент фильтрации элементов по категориям и/или параметрам, состоящий из алгоритмов фильтрации и интерфейса настройки (далее по тексту - инструмент). Инструмент используется во многих плагинах. Например, в плагинах Рабочие наборы, Копировать значения, Раскраска элементов и др.

Инструмент состоит из двух фильтров – фильтр по категориям и фильтр по параметрам. В некоторых плагинах возможно использование только одного из фильтров. Например, в плагине Сторона света используется только фильтр по параметрам.

В интерфейсе плагина инструмент может иметь горизонтальную форму:

1

или вертикальную форму:

2

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

Фильтр по категориям

Фильтр по категориям представляет собой список допустимых категорий. Редактирование списка категорий выполняется в диалоге родительского окна (окна плагина):

3

В верхней части диалога расположено поле для поиска категории. Поиск производится как по отображаемому имени категории, так и по уникальному программному имени. При вводе в поле поиска звездочки (*) будут отображены все выбранные категории. Кнопки справа от списка позволяют отменить выбор всех категорий checkbox multiple blank circle outline, отобразить только выбранные категории eye check outline или отметить категории, элементы которых присутствуют на текущем виде shape plus outline.

Фильтр по параметрам

Фильтр по параметрам представляет собой список условий, разделенных логическим оператором И или ИЛИ. В поле фильтра условия записываются специальным синтаксисом, в котором для операторов сравнения используются символы:

= - равно
< - меньше
<= - меньше или равно
> - больше
>= - больше или равно
<> - не равно
~ - содержит
!~ - не содержит

Редактирование условий выполняется в отдельном окне:

4

В верхней части окна присутствует ссылка Инструкция. При наведении курсора мыши на ссылку появляется всплывающая подсказка, в которой описаны различные нюансы и пояснения по созданию условий.

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

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

5

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

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

Помимо параметров в условиях можно использовать идентификатор элемента (ID), идентификатор типоразмера элемента (TypeID), а также родительскую группу элемента элемента (Group) и родительскую сборку элемента (Assembly) при их наличии.

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

В нижней части окна расположен выпадающий список Элемент подходит, если, задающий логический оператор, используемый между всеми условиями. Значение совпадают все условия соответствует логическому оператору И, а значение совпадает хоть одно условие соответствует логическому оператору ИЛИ.

Пример со скриншота выше в поле фильтра будет выглядеть следующим образом:

6

что означает, что стена подходит, если у нее в параметре «Марка» имеется значение «С-1» или если у нее в параметре «Марка» имеется значение С-2, а в параметре «Несущие конструкции» имеется значение «1».

Поиск искомых параметров в проверяемом элементе производится по имени параметра. При этом параметр сначала ищется в списке параметров экземпляра, а затем (если не найден) – в списке параметров типоразмера.

При проверке значений строковых параметров операторами «Равно», «Не равно», «Содержит», «Не содержит» учитывается регистр.

Комментарии для сайта Cackle