Оновлення параметрів матеріалів у Revit з CSV через Dynamo?

Оновлення параметрів матеріалів у Revit з CSV через Dynamo?

Yaroslav.shelest
Advocate Advocate
66 Views
1 Reply
Message 1 of 2

Оновлення параметрів матеріалів у Revit з CSV через Dynamo?

Yaroslav.shelest
Advocate
Advocate

Виникло питання як оперативно змінювати матеріали у Revit?

Відповідь корисна? Клікніть на"ВПОДОБАЙКУ"цим повідомленням! | 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
EESignature

Accepted solutions (1)
67 Views
1 Reply
Reply (1)
Message 2 of 2

Yaroslav.shelest
Advocate
Advocate
Accepted solution

Оновлення параметрів матеріалів у Revit з CSV через Dynamo

У роботі з великими BIM-моделями Revit часто виникає потреба масово оновлювати параметри матеріалів: змінювати класи, додавати IFC-параметри, коригувати властивості для аналітики або інтеграції. Ручне редагування кожного матеріалу займає багато часу і є джерелом помилок. Саме для цього ми можемо використовувати Dynamo та Revit API.

Цей скрипт дозволяє:

  • Масово оновлювати матеріали відповідно до CSV-файлу.

  • Перейменовувати матеріали та встановлювати як стандартні, так і користувацькі параметри.

  • Надійно обробляти булеві, текстові та інші типи параметрів.

  • Вести детальне логування змін для відстеження процесу.

Скрипт написаний наYaroslavshelest_3-1756633024625.png Python у Dynamo 3.4.1 для Revit 2026.

 

Yaroslavshelest_2-1756632999963.png

Yaroslavshelest_8-1756633916940.png

Yaroslavshelest_10-1756634244599.png

Yaroslavshelest_12-1756634322368.png

Yaroslavshelest_11-1756634279129.png

 


Основні механізми скрипта

  1. Читання CSV:
    Скрипт автоматично визначає роздільник (;, , або табуляція) та чистить заголовки від BOM і зайвих пробілів. Обов’язковою колонкою є OldName, за якою скрипт знаходить матеріал у Revit.

  2. Оновлення класу матеріалу:
    MaterialClass можна встановити через властивість API або через built-in параметр MATERIAL_CLASS. Скрипт надійно обробляє обидва варіанти та повертає статус дії.

  3. Універсальне оновлення параметрів:
    Функція try_set_param встановлює значення параметрів, якщо вони існують і не є ReadOnly. Для булевих параметрів підтримуються текстові варіанти (Yes/No, True/False, Так/Ні).

  4. Транзакції Revit:
    Всі зміни виконуються у межах TransactionManager, що гарантує безпечну роботу з моделлю.

  5. Логування:
    Детальний лог зберігає інформацію про всі дії: що оновлено, що пропущено, що не знайдено. Файл логів зберігається поруч із CSV, з таймстемпом для зручності аудиту.

    Yaroslavshelest_7-1756633422951.png
     

    Скрипт працює дуже просто, вказуємо CSV який підготували використовучи скрипт ExportMaterials Extended.
    Варто створити проміжну таблицю, в якій, вже використовуючи більш складні формули та інструменти, перйменовуємо/заповнюємо дані. 

    Yaroslavshelest_6-1756633236866.png

    Підготовлені дані експортуємо в CSV.

    Yaroslavshelest_5-1756633115960.png

     

     


Практичне застосування

  • Масове перейменування матеріалів: швидке приведення бібліотеки у відповідність до стандартів компанії.

  • Встановлення 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
EESignature