Для автоматизации кроме плагина доступны скрипты Dynamo. Это инструменты, которые могут помочь вам в работе, а нам — протестировать алгоритмы перед тем, как принять решение о добавлении их в плагин. Нам важна обратная связь по ним, поэтому, пожалуйста, рассказывайте нам о вашем опыте со скриптами из шаблона. Если алгоритм окажется удачным, мы с большей вероятностью добавим его в плагин к шаблонам.
Скрипты доступны в папке «Плагин BIM2B».
Наименование скриптов
Все скрипты называем по следующему шаблону:
ADSK_Имя скрипта_Версия скрипта_Версия Dynamo
Имя «ADSK_Копирование позиций_V2_D2.6» означает, что это скрипт из шаблонов ADSK, он копирует позиции, версия скрипта вторая, версия Dynamo — 2.6.
Скрипт можно попробовать запустить в версии младше, но велика вероятность, что он не будет работать.
Скрипты для шаблонов
Разберем работу каждого скрипта. Подробнее о них вы можете узнать из записей наших вебинаров по шаблонам ОВ и ВК.
Копирование позиций
Скрипт работает в два направления:
- копирует значения из параметра «ADSK_Позиция_Сортировка» в параметр «ADSK_Позиция»;
- копирует значения из параметра «ADSK_Позиция», которые не содержат буквы, в параметр «ADSK_Позиция_Комплект».
В первом направлении нам нужно вручную заполнить значения в параметре «ADSK_Позиция_Комплект», у семейств с общими вложенными из шаблона есть формула в параметре «ADSK_Позиция_Сортировка», которая заполнит позиции отдельных вложенных элементов. Заполнить «ADSK_Позиция_Комплект» можно в специальной спецификации «В_Сортировка_Заполнение». После этого запускаем скрипт, он перенесёт значения в параметр «ADSK_Позиция».
Во втором направлении алгоритм подразумеваем такой: пользователь может зайти в спецификацию «В_Сортировка_Проверка» и запустить плагин «Auto Numerating» — плагин заполнит значения в параметре «ADSK_Позиция». После этого запускает скрипт, скрипт скопирует значения из «ADSK_Позиция» в «ADSK_Позиция_Комплект», а параметр «ADSK_Позиция_Сортировка» заполнится сам формулами внутри семейства.
Направление копирования можно переключать в Проигрывателе Dynamo.
Подробнее смотрите в видеопрезентации шаблона версии 2.0.2:
Копирование сокращений и имён систем
Экспериментальный скрипт для трубопроводных систем. В шаблоне есть плагин Pipe Scheme, в первом этапе своей работы он копирует значение из системного параметра «Имя системы» в параметр проект «ИмяСистемы». Скрипт делает то же самое, но для системного параметра «Сокращение для системы»: записывает значения в параметр проекта «СокращениеСистемы».
При этом у семейств в категории «Оборудование» нет такого системного параметра, поэтому значение скрипт генерирует сам. Также скрипт дублирует функционал плагина по копированию имени системы. Сделали это для удобства: если скрипт вам нужен, то проще запустить его один раз, чем по отдельности запускать скрипт и плагин. Этот дополнительный функционал можно отключить переключателем в Проигрывателе Dynamo.
В папке со скриптом лежит подробная инструкция. Видеопрезентацию можете посмотреть в конце вебинара, посвящённому выходу версий шаблонов 2.1:
Запись длины изоляции фитингов труб
Скрипт заполняет параметр «ADSK_Количество» у изоляции отводов, тройников и переходов труб. Другие фитинги скрипт не обрабатывает. Алгоритм скрипта следующий: скрипт получает из модели все отводы, тройники и переходы в изоляции, аналитически вычисляет длину отрезков между точками подключения и записывает в изоляцию этих элементов. Кроме того, скрипт модифицирует наименование изоляции, которое генерирует плагин и упрощает его так, чтобы вся изоляция и труб, и фитингов, суммировалась.
Скрипт пригодится тем, кто накладывает на трубы изоляцию в трубках и подсчитывает в спецификациях её длину. С помощью скрипта подсчёт будет точнее, однако окончательное решение о корректности расчёта должен принимать пользователь.
Можете посмотреть на пример работы также в вебинаре о выходе шаблонов версии 2.1.
Работа с пространствами
Два скрипта, которые помогут заполнять данные в пространствах через Эксель.
Первый скрипт «ADSK_Запись ID в пространства_V1.0_D2.6» записывает ID пространства в параметр проекта «ID элемента». Если собираетесь пользоваться скриптом, то этот параметр нужно добавить по экземпляру с типом данных «Текст» в параметры проекта к категории «Пространства».
Копирование ID нужно, чтобы в дальнейшем второй скрипт однозначно считывал пространства и обрабатывал их. Если анализировать пространства только по номеру и имени, то это недостаточно уникальное сочетание, на разных этажах могут быть пространства с одинаковыми номерами и именами, в пределах этажа это тоже возможно. ID — уникален, поэтому он однозначно указывает на конкретное пространство.
После копирования ID скриптом нужно экспортировать спецификацию «Э_Пространства» в формат «txt» стандартным экспортом из Ревита, открыть в Excel и вставить туда данные из файла экспорта. Значение из первой строки в Excel можно удалить, но саму строку удалять нельзя. Дальше пользователь заполняет нужные данные о температуре в помещении, теплопотерях, расходе приточного и вытяжного воздуха и сохраняет документ Excel.
Во втором скрипте нужно указать путь к этому файлу Excel и запустить обработку. Данные из таблицы подтянутся и заполнятся в параметрах пространств. Всё то же самое можно сделать в спецификации внутри Revit, но работать с таблицами в Excel удобнее.
В вебинаре по новинкам в версии 2.1 этот скрипт тоже показываем.
Толщина стенки и класс герметичности воздуховодов
Скрипт заполняет толщину стенки и класс герметичности воздуховодов, исходя из данных в таблице Excel. Данные в таблице пользователь заполняет сам. Таким образом пользователь может задать любые диапазоны толщин для любых материалов воздуховодов.
Чтобы назначить класс герметичности, отличный от класса «А», нужно добавить на воздуховод либо наружную изоляцию, у которой в имени типа есть текст «Огнезащита», либо внутреннюю изоляцию толщиной 1 мм. В шаблоне есть три типа такой изоляции, каждый соответствует классам «B», «C» и «D».
После запуска скрипта он определит толщину стенки и класс и запишет эти данные в параметры проекта «ADSK_Толщина стенки» и «Класс герметичности». Далее нужно обновить все типы элементов в апдейтере плагина и таким образом получить нужные наименования.
Кроме этого, скрипт заносит данные о толщине стенки и классе герметичности и в фитинги воздуховодов. Для этого скрипт анализирует все фитинги, которые подключены к воздуховодам, выбирает среди подключённых воздуховодов самую толстую стенку и высокий класс герметичности, и записывает их в фитинг. Если фитинг не подключён к воздуховодам, то он не будет обрабатываться.
В Проигрывателе Dynamo можно выбрать, заполнять ли данные для воздуховодов с классом герметичности «А» или нет. Рекомендуем заполнять и их. В таком случае наименования для всех воздуховодов будут однотипными.
Демонстрацию работы скрипта смотрите на вебинаре о шаблонах версии 2.1.