• Главная
  • Новости
  • Revit. Параметризация. Новые стратегии, новые функции, группировка элементов, предфильтры, палитра для быстрого запуска и многое другое

Revit. Параметризация. Новые стратегии, новые функции, группировка элементов, предфильтры, палитра для быстрого запуска и многое другое

1

Сегодня мы выпустили самое крупное обновление как в истории Параметризации, так и, пожалуй, в истории любого плагина ModPlus!

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

Инструкция

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

Формулы и редактор формул

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

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

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

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

Имена функций теперь пишутся в стиле CamelCase, а не заглавными буквами: CvIf вместо CVIF, Round вместо ROUND. Длинные имена так читаются заметно легче. Регистр в именах функций по-прежнему не учитывается, поэтому существующие формулы продолжат работать без изменений.

Ячейка с опциями формулы получила новый дизайн: опции стали нагляднее и занимают меньше места:

Новые возможности формул

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

5

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

6

Выражения «Только для проверки». Если после целевого параметра поставить не =, а оператор сравнения (!=, >, <, >=, <=, ~, !~), выражение будет работать только в режиме Проверить. В этом режиме текущее значение параметра сравнивается с результатом расчёта выражения, а в режиме Выполнить выражение пропускается. Так в одной конфигурации можно держать и заполнение параметров, и проверку модели. Такие выражения отмечаются значком в ячейке формулы и в редакторе формул:

7

Новые операторы «содержится в» и «не содержится в». В формулах появились два новых оператора: =| проверяет, входит ли значение в список, а !=| проверяет, что не входит. Список можно задать строкой через функцию List, а также взять из столбца или строки источника данных функциями CcList и CrList. Длинные цепочки условий через «или» больше не нужны:

8

Новые функции обратной записи. К функциям Sum и Join добавились Min, Max, Avg, First и Last. Теперь в условно исходный элемент можно записать не только сумму или перечень значений связанных элементов, но и минимальное, максимальное или среднее значение, а также первое или последнее.

Кроме того, в исходный элемент теперь можно записать значение напрямую, выражением вида @[Параметр] = …. Например, @[Количество номеров] = GCount(t) запишет в помещение число сопоставленных с ним пространств.

Новые функции

Список функций заметно пополнился:

  • работа с источником данных (Excel-файлом): CvOr ищет первую строку, в которой выполняется хотя бы одно из условий, а CcMin, CcMax, CrMin и CrMax возвращают минимальное и максимальное значение из столбца или строки источника данных
  • работа со списками: Item возвращает элемент списка по индексу, FindItem возвращает первый элемент, содержащий искомое значение, а ItemIndex возвращает индекс такого элемента
  • работа со строками: Trim убирает пробелы в начале и в конце строки, RgxMatch проверяет значение на совпадение с регулярным выражением, а RgxReplace выполняет замену по регулярному выражению
  • геометрия: TargetBottomZ, TargetTopZ, SourceBottomZ и SourceTopZ возвращают отметки низа и верха целевого и исходного элементов
  • прочие: HasValue проверяет, задавалось ли параметру значение, DocTitle возвращает заголовок документа, а GetCurrentViewParameter возвращает значение параметра вида, на котором выполняется обработка

Подробное описание каждой функции с примерами вы найдёте в инструкции.

Новые стратегии

Добавлено девять новых стратегий:

  • InAssembly — обработка элементов, расположенных в сборках
  • ViewSpecific — обработка элементов, существующих только на одном виде: размеров, текстовых примечаний, марок, линий и областей детализации, а также содержимого листов
  • StairComponents — обработка компонентов лестниц: маршей, площадок, опор и ограждений. Условно исходным элементом является лестница
  • RoomOpenings — обработка дверей и окон, выходящих в помещение. Условно исходным элементом является помещение
  • RoomFinishing — обработка отделки помещений, созданной плагином Отделка помещений. Условно исходным элементом является помещение
  • OnLevel — обработка элементов по их привязке к уровню
  • LevelViews — обработка видов, построенных по уровню: планов этажей, планов потолков, несущих планов и планов зонирования
  • RebarCouplers — обработка арматурных стержней, соединяемых соединителем арматуры. Условно исходным элементом является соединитель
  • ManyToMany — о ней мы расскажем отдельно ниже

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

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

9

Предварительные фильтры

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

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

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

10

Группировка элементов и агрегатные функции

Это одно из самых крупных нововведений версии. Для правила теперь можно задать группировку целевых элементов: элементы с одинаковым значением, например одного типа или одной марки, объединяются в группу. Для работы с группами добавлены агрегатные функции с префиксом G: GSum, GMin, GMax, GAvg, GCount, GJoin, GIndex. Также добавлена функция Ranges, которая сворачивает перечень номеров в диапазоны: «1-3, 5-7, 10».

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

11

Стратегия ManyToMany и сопоставление

Все остальные стратегии строят пару элементов по их отношению в модели: элемент находится в помещении, вставлен в стену, входит в систему и т.д. ManyToMany работает иначе: она связывает два независимых набора элементов по совпадению значений. Классический пример — помещения из модели АР и пространства из модели инженерных систем. У помещений есть параметр «Тип квартиры», у пространств «Тип номера». Вы задаёте сопоставление @[Тип квартиры] ↔ $[Тип номера], и плагин сам находит пары.

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

12

Палитра

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

13

Конфигурации

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

14

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

Синхронизация перед запуском

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

Окно результатов и пошаговый расчёт

  • Если у результата меньше четырёх вложенных объектов, он разворачивается автоматически
  • Для стратегий теперь показывается количество правил, в которых есть обработанные выражения
  • В пошаговом расчёте убрана подсветка запятых, которая скорее мешала, чем помогала

Прочие улучшения

  • Добавлена обработка параметра «Обозначение цепей»
  • Если у элемента есть несколько параметров с одинаковым именем, плагин теперь сообщит об ошибке и не будет брать первый попавшийся параметр. Раньше в такой ситуации мог незаметно прочитаться или записаться не тот параметр
  • Исправлены различные ошибки, найденные в предыдущей версии

И даже при таком крупном обновлении у нас еще имеются идеи для следующих обновлений! Поэтому не забывайте писать свои предложения в нашем чате поддержки!

Приятной вам работы с ModPlus!