Написал скрипт, который копирует из помещений в связанном файле их категорию и записывает в пространства в текущем файле.
В принципе, это только называется категорией, потому что записать в помещения вы можете что угодно и можете как угодно назвать параметр. Так что по сути это скрипт для копирования значения из помещений связанного файла в пространства вашего проекта. Я расскажу, что нужно отредактировать, чтобы копировать любые другие параметры между документами.
Поскольку для экспликаций нам нужны номера, имена, площади/периметры и категории по взрывопожарной опасности, то категория наиболее актуальна, так как всё остальное и так можно скопировать средствами Ревита.
Версии
Создавал в Revit 2019.2, Dynamo 2.0.4. Думаю, будет нормально работать и в более ранних и поздних версиях Dynamo 2.
Важно! Для работы потребуется пакет archi-lab.net версии 2019.2.27, возможно подойдут и другие версии этого пакета, но я использовал именно эту. Пакет нужен, чтобы получить все элементы из связанного файла.
Запуск в Проигрывателе Динамо
Самый простой вариант для обывателя — запустить скрипт в Проигрывателе. Покажу, что тут можно поменять, если нажать на иконку переключателя, выделил её на скриншоте красным.
1 — здесь нужно указать имя файла, в котором у вас размещены помещения. Необязательно указывать имя целиком, если это файл АР и в его названии есть раздел, то можно просто указать раздел. Главное, чтобы текста в этом поле было достаточно для однозначного определения файла.
2 — если вы используете другие параметры в помещениях и пространствах для записи категорий, то можете тут вписать имя вашего параметра.
3 и 4 — если хотите, чтобы скрипт сам скопировал имена и номера помещений в ваши пространства, то ставьте переключатели в положение True, если не надо, оставляйте False. Это по сути то же самое, что делает стандартный инструмент «Именование пространств».
Я не стал заморачиваться и добавлять фильтр по уровням, скрипт будет обрабатывать все пространства в модели. Если хотите фильтрануть, читайте статью про фильтрацию в Динамо и добавьте фильтр сами.
Вот и всё. Расставили пространства, запустили скрипт, получили категории и номера, имена помещений. Само собой, перед этим архитектор должен эти самые категории расставить.
Редактирование скрипта
По умолчанию всё работает на параметрах ADSK, а именно: «ADSK_Категория помещения». Его нужно добавить и в помещения, и в пространства через параметры проекта в Ревите. Если вам нужно поменять этот параметр на свой, то отредактируйте в скрипте вот этот участок, впишите в него своё имя параметра:
Если вам нужно скопировать категории из одного параметра, а записать в пространства в другой параметр, то нужно добавить ещё нод String или обычный Code Block и туда вписать имя параметра, в который будет идти запись. Этот новый нод надо подключить ко входу parameterName нода Element.SetParameterValueByName, к которому на скриншоте ниже идёт стрелочка с кругляшом.
Если вам не нужно копировать номера и имена помещений, то можете всю эту группу удалить, в Проигрывателе больше не будут отображаться переключатели.
Вроде всё.
Работа скрипта
Вот спецификация, в которой указаны пространства, имена их помещений, номера помещений и категория. Я специально сделал пространств в модели меньше, чем помещений, чтобы убедиться, что все категории копируются правильно. Запущу скрипт и вот уже преобразованная спецификация, в которой есть имена, номера и категории.
Ссылка на скрипт
И помните, что:
Обновления статей удобно получать в Телеграм-канале «Блог Муратова про Revit MEP». Подписывайтесь и приглашайте коллег. Можно обсудить статью и задать вопросы в специальном чате канала.
Отблагодарить автора
Я много времени уделяю блогу. Если хотите отблагодарить меня, то можете сделать небольшой подарок (именно подарок, такой перевод не облагается налогом).