Ссылка на "Вконтакте"
Плагин "Проверка параметров” позволит Вам, как BIM специалисту, выполнять автоматизированную проверку на заполнение параметров в одной или нескольких моделях.
Например, у вас есть определенный BIM стандарт организации или EIR, в соответствии с которым Вам при передаче модели Заказчику необходимо проверить и убедиться в том, что по всем элементам модели все нужные параметры заполнены.
I. Теория
Давайте сперва разберем теорию работы плагина, чтобы понимать все шаги работы плагина:
a) Вы создаете фильтры, с помощью которых плагин среди всех элементов модели выбирает только определенные, которые соответствуют фильтру.
Пример: Вы отбираете среди всех элементов модели только кирпичные стены
b) Вы создаете условия. Условием является набор правил, которым отфильтрованный элемент должен удовлетворять.
Пример: Делаем проверку на условие, чтобы высота стены была меньше или равна 3 метрам.
c) Создаем набор проверок, а далее делаем проверку на основе настроенного фильтра и условия. И в итоге по настроенному фильтру и условию можем сразу определить какие именно элементы модели удовлетворяют проверке, а какие нет.
d) Если необходимо выполнять проверки пакетно на несколько моделей, создаем Excel файл c набором моделей и запускаем в плагине пакетную проверку.
Ниже на скрине приведены 2 примера работы плагина.
1 Случай, когда мы хотим сделать проверку, что все стены кладочные у нас менее 3м.

2 Случай, когда нам необходимо провести проверку по всем окнам из модели, у всех ли из них заполнен параметр "ADSK_Этаж".

II. Практика. Работа плагина
Запускаем плагин.

Окно плагина можно разбить
на несколько функциональных зон
1. Выбор места хранения xml.
2. Блок для создания фильтров
3. Блок для создания условий.
4. Блок для создания наборов проверок.

Разберем подробнее каждую из них.

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

По умолчанию плагин выставляет папку в рабочей папке плагина "BimStep" в Вашем пользователе Windows. Но, с помощью кнопки "Обзор", Вы можете указать любую другую папку.

Фильтры. С помощью этой части окна Вы можете отслеживать, создавать, удалять, копировать и изменять все Ваши фильтры. А также выбирать элементы, которые проходят по фильтру.
1. Поле с отображением всех Ваших созданных фильтров.
2. Создать новый фильтр
3. Удалить выбранный фильтр
4. Скопировать выбранный фильтр
5. Изменить выбранный фильтр
6. Найти все элементы, которые проходят по выбранному фильтру.

Что такое "Фильтр"? Фильтр - это набор условий в древовидной форме с помощью условий И/ИЛИ и условий по параметрам, с помощью которых вы можете создать любые комбинации для получения группы элементов из модели
Давайте разберем, как фильтры создаются. Нажимаем на кнопку "Создать новый фильтр".
В открывшемся окне у нас есть несколько зон для работы.
1. Вводим имя фильтра. Например, "АР_Стены ЖБ" в случае, если хотим с помощью этого фильтра отфильтровать именно ЖБ стены.
2. Блок по созданию правил работы фильтра.
3. Если навестись на первую строчку и нажать ПКМ, то появится контекстное меню, с помощью которого вы можете создавать ваш древовидный фильтр, добавляя к родительской строчке какие-то доп условия, и тем самым создавать дерево выполнения фильтра.
4. Кнопка для сохранения созданного фильтра.

Давайте подробнее разберем блок 3 в окне по созданию фильтра т.к. именно с помощью этих команд Вы сможете создать все правила.


1. Блок команд для разворачивания и сворачивания дерева.

2. Добавить условие вручную. В данном случае у вас под выбранной строчкой появится строчка условия, в которой Вам необходимо будет вручную ввести все данные.
Пример по добавлению условия вручную:
ADSK_Наименование => равно => Перемычка

В столбце "Имя параметра" вводим его Имя, В столбце "Условие" выбираем из выпадающего списка одно из условий, а в столбце "Значение" вводим значение, которое мы ищем по введенному условию.
Условия в плагине заложены следующие:
Условие "=" - означает, что плагин будет проверять строго соответствие значения параметра значению из условия.
Условие "≠" - означает обратное действие от условия "=".
Условия ">",">=","<","<=" - Работают с численными параметрами и выполняют роль в соответствии со знаком (меньше, меньше и равно, больше, больше и равно).
Условия "Содержит" и "Не содержит" выполняют соответствующую проверку на наличие части текста в значении параметра.
Например:

Условие "Существует" - проверяет есть ли вообще у элемента такой параметр. В текущем условии плагин не считывает и не проверяет значения параметра, а только выполняет проверку наличия такого параметра, среди списка всех параметров.
Условие "Имеет значение" - проверяет у параметра, если ли у него какое-либо значение. Это условие не проверяет какое именно значение было введено. Плагин проверяет наличие значения внутри параметра.
Условие "Без значения" противоположно условию "Имеет значение".
Условие "Значение в списке" - позволяет проверить, существует ли значение параметра в списке введенных значений. В поле "Значение" в таком случае необходимо вбивать значения через ";".
Например:

Условие "Нет значения в списке" противоположно условию "Значение в списке".
Условие "Начинается с" - позволяет провести проверку, начинается ли значение параметра с каких-то определенных символов.
Например:

Условие "Не начинается с" противоположно условию "Начинается с".
Условия "Заканчивается на" и "Не заканчивается на" работают аналогично, как и 2 условия выше, но проверяют наоборот только последние символы в значении параметра.
3. Но, зачастую, довольно неудобно вводить все значения и имя параметра вручную, поэтому при создании фильтра Вы можете воспользоваться выбором параметра через элемент. Для этого нажимаем на кнопку "Добавить условие через элемент" и затем выбираем какой-либо элемент, который нас интересует.
В итоге у нас открывается окно со всеми параметрами, которые есть у элемента. Наша задача выбрать любой из этих параметров и нажать на кнопку "Готово".
В итоге параметр автоматически добавляется в окно по созданию фильтра вместе с именем параметра и его значением. По умолчанию ставится условие "=".


4. Для того, чтобы создавать многоуровневые деревья по условиям выполнения фильтров, вы в вышестоящей ветви вашего дерева можете дополнительно добавлять бесконечное кол-во вложенных условий И/ИЛИ, что позволит Вам создавать максимально гибкие возможности для фильтрации элементов по модели.
Например:


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

В итоге у нас появляется окно в виде дерева найденных элементов на активном виде или во всей модели.
Вы можете развернуть это дерево и увидеть, что оно сгруппировано по категориям, по семействам и по типам, а внутри типов идут уже по каждому из id. Теперь мы можем убедиться, что фильтр работает корректно и выводит нам действительно только кладочные стены.
Для удобства работы в этом окне есть несколько вспомогательных кнопок:
1. Выбрать элементы, по которым были проставлены галочки в дереве.
2. Изолировать выбранные элементы.
3. Скрыть выбранные элементы.
4. Восстановить вид. Если, например, Вы ранее что-то скрывали или изолировали на активном виде.


Условия. Предположим мы с Вами создали все фильтры, которые нам необходимы, значит теперь мы можем создавать условия. С помощью этой части окна Вы можете отслеживать, создавать, удалять, копировать и изменять все Ваши условия.
1. Поле с отображением всех Ваших созданных условий.
2. Создать новое условие
3. Удалить выбранное условие
4. Скопировать выбранное условие
5. Изменить выбранное условие

Что такое "Условие"? Условие- это набор каких-то проверок в древовидной форме с помощью И/ИЛИ и проверок по параметрам, с помощью которых вы можете создать любые комбинации для проверки прохождения или непрохождения элемента этим правилам.
Условия создаются точно так же, как и фильтры. Форма их создания точно такая же, поэтому как создавать условия, смотрите выше в пункте про фильтры.
Пример создания условия на заполнение параметра "ADSK_Этаж"

Или, например, на проверку условия, чтобы параметр "Длина" был менее 3м.

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

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

Что такое "Набор проверок" и "Проверка"?
"Проверка" - это комбинация между фильтром и условием, благодаря которому Вы сможете в первую очередь среди всех элементов модели или на виде отфильтровать только нужные Вам по фильтру, а затем проверить на выполнение условия.
"Набор проверок" - это пакет созданных по описанию выше проверок. Набор проверок нужен для выполнения сразу пакета проверок на определенную модель или несколько моделей и последующего вывода отчета о результатах этих проверок.
Давайте разберем как создавать и наполнять наборы проверок.
1. Кнопка для создания набора проверки. Нажимаем на эту кнопку, затем во всплывающем окне вводим имя для набора проверок и нажимаем готово. Вы можете разбивать ваши наборы проверок по разделам, по объектам, по EIRам и т.д.

2. Удалить выбранный набор проверок.
3. Скопировать выбранный набор проверок. При этом все проверки, которые были в исходном наборе появятся и в новом.
4. Переименовать выбранный набор проверок.
5. Сохранить набор проверок. После того, как Вы сделали какие-то изменения в наборе проверок, например, добавили/удалили/изменили какую-то проверку в наборе, необходимо набор сохранить, чтобы все Ваши изменения сохранились в xml.
После того, как создали набор проверок, вы можете выполнять добавление в него разнообразных вариаций проверок.

1. Это блок, в котором будут находиться проверки в наборе проверок.
2. Нажимаем на кнопку добавления проверки в набор проверок и у вас автоматически в таблице 1 появится строчка, в которой необходимо выбрать в соответствующих столбцах фильтр и условие.
Например:

И таким образом создаем различные комбинации проверок по нашим фильтрам в соответствии с поставленными задачами из EIR или BIM стандарта.
Например, мой набор проверок для раздела АР


3. Удалить выбранную проверку.
4. По выбранной проверке "Найти все элементы" (во всей модели или на активном виде в зав-ти от выбранного формата работы), которые были отфильтрованы по условию "Фильтра", а затем прошли выполнение "Условия". В итоге у Вас откроется окно с набором элементов по аналогии, как и при выборе элементов по фильтру. См. раздел 2 "Фильтры".
5. По выбранной проверке "Найти все элементы" (во всей модели или на активном виде в зав-ти от выбранного формата работы), которые были отфильтрованы по условию "Фильтра", а затем НЕ прошли выполнение "Условия". В итоге у Вас откроется окно с набором элементов по аналогии, как и при выборе элементов по фильтру. См. раздел 2 "Фильтры"
6. Стрелочки для изменения порядка положения проверки в наборе проверок.
7. Запуск окна по проверке текущей модели на выбранный набор проверок или пакетной проверки нескольких моделей с последующим выводом отчета. Подробно рассмотрим в следующем разделе.
Обычная и пакетная проверка модели с выводом отчета.
Согласно предыдущему разделу о составлении набора проверок появлилась возможность проверять выполнение условий для одной проверки, но чтобы сразу запускать пакетную проверку на весь набор проверок, а также проверять пакетно несколько моделей - Вам понадобится пакетная проверка с выводом отчета.
Если Вы хотите проверить только активную модель, значит запустите плагин, выберите набор проверок и нажмите на кнопку пакетной проверки. Если же Вы хотите проверить несколько моделей, значит Вам заранее необходимо составить Excel документ с определенными данными по этим моделям (об этом чуть позже), далее в Revit, в котором не открыта ни одна из моделей запустить плагин, а затем нажать на кнопку пакетной проверки.

В открывшемся окне Вам необходимо выбрать следующие настройки:

1. Выбираем формат работы (В текущей открытой модели или в нескольких моделях).
2. В случае, если в п.1 Вы выбрали "В текущей модели", необходимо выбрать, где формат пакетной проверки будет проходить "Во всей модели" или "На текущем виде".
3. В случае, если в п.1 Вы выбрали "В нескольких моделях", вам на этом шаге необходимо выбрать заранее составленный Excel (xlsx или csv) документ, в котором будут указаны все необходимые для работы плагина исходные данные.
Ниже приведен пример Excel файла

Столбец А - Вводим имя модели для проверки.
Столбец B - Путь к расположению модели Revit. Это может быть как путь на локальное хранилище, так и путь к Revit Server. В случае с Revit сервером, Вам необходимо указывать путь в следующем формате:
RSN://*имя сервера*/*имя папки*/
Столбец C - Вводим имя набора проверок, в точности как Вы ее назвали в плагине.
Столбец D - (опциональное поле) Вводим имя вида, если необходимо, на котором нужно провести проверку.
4. С помощью этой кнопки Вы сможете скачать пример Excel файл для создания пакетной проверки моделей.
5. В случае пакетной проверки нескольких моделей и последующего выбора Excel документа в этом окне отобразятся все имена моделей, которые плагин найдет в Excel документе, отобразив их имя, а также имя проверки. В этом окне Вам нужно выбрать одну или несколько моделей, по которым необходимо провести проверку.
6. Если у Вас файлы являются файлами хранилищ, то Вы можете дополнительно указать, какие рабочие наборы нужно закрыть плагину при открытии моделей. В таком случае выгрузка будет проходить значительно быстрее. Указывайте имена через запятую.
7. Выбираем формат, в который будет выгружен отчет ".xlsx" или ".txt".
8. Запуск проверки.
По результату проверки получаем отчет в следующем виде.

где:
Красные строки - означает, что модель проверку не прошла т.к. один или более элементов из фильтра не удовлетворяют условию. Какие именно элементы не удовлетворяют условию, вы можете увидеть по id в соответствующем столбце.
Зеленые строки - означает, что все элементы из фильтра прошли проверку по условию.
Синие строки - означает, что в модели не было найдено ни одного элемента по заданному фильтру.
Comments