Оновлення параметрів матеріалів у Revit з CSV через Dynamo
У роботі з великими BIM-моделями Revit часто виникає потреба масово оновлювати параметри матеріалів: змінювати класи, додавати IFC-параметри, коригувати властивості для аналітики або інтеграції. Ручне редагування кожного матеріалу займає багато часу і є джерелом помилок. Саме для цього ми можемо використовувати Dynamo та Revit API.
Цей скрипт дозволяє:
-
Масово оновлювати матеріали відповідно до CSV-файлу.
-
Перейменовувати матеріали та встановлювати як стандартні, так і користувацькі параметри.
-
Надійно обробляти булеві, текстові та інші типи параметрів.
-
Вести детальне логування змін для відстеження процесу.
Скрипт написаний на
Python у Dynamo 3.4.1 для Revit 2026.





Основні механізми скрипта
-
Читання CSV:
Скрипт автоматично визначає роздільник (;
, ,
або табуляція) та чистить заголовки від BOM і зайвих пробілів. Обов’язковою колонкою є OldName
, за якою скрипт знаходить матеріал у Revit.
-
Оновлення класу матеріалу:
MaterialClass
можна встановити через властивість API або через built-in параметр MATERIAL_CLASS
. Скрипт надійно обробляє обидва варіанти та повертає статус дії.
-
Універсальне оновлення параметрів:
Функція try_set_param
встановлює значення параметрів, якщо вони існують і не є ReadOnly. Для булевих параметрів підтримуються текстові варіанти (Yes/No
, True/False
, Так/Ні
).
-
Транзакції Revit:
Всі зміни виконуються у межах TransactionManager
, що гарантує безпечну роботу з моделлю.
-
Логування:
Детальний лог зберігає інформацію про всі дії: що оновлено, що пропущено, що не знайдено. Файл логів зберігається поруч із CSV, з таймстемпом для зручності аудиту.
Скрипт працює дуже просто, вказуємо CSV який підготували використовучи скрипт ExportMaterials Extended.
Варто створити проміжну таблицю, в якій, вже використовуючи більш складні формули та інструменти, перйменовуємо/заповнюємо дані.
Підготовлені дані експортуємо в CSV.
Практичне застосування
-
Масове перейменування матеріалів: швидке приведення бібліотеки у відповідність до стандартів компанії.
-
Встановлення Class та IFC-параметрів: підготовка моделі для OpenBIM і експорту в IFC.
-
Автоматизація повторюваних задач: команда отримує готовий процес без ручного редагування.
-
Контроль якості: логування дозволяє відстежувати зміни і знаходити невідповідності.
Висновок
Цей скрипт демонструє, як поєднання Revit API та Dynamo дозволяє створювати ефективні інструменти для масового управління матеріалами. Він економить час, знижує людський фактор і забезпечує прозорість процесу оновлення даних у BIM-моделі.
Відповідь корисна? Клікніть на"ВПОДОБАЙКУ"цим повідомленням! | Do you find the posts helpful? "LIKE" these posts!
На ваше запитання відповіли? Натисніть кнопку "ПРИЙНЯТИ РІШЕННЯ" | Have your question been answered successfully? Click"ACCEPT SOLUTION"
Yaroslav Shelest / Ярослав Шелест
BIM-Manager & Civil Engineer & Інженер ПЦБ
Facebook |LinkedIn |Autodesk |Behance
