Как использовать динамо Revit для автоматического обновления параметров
Понимание динамо и его роли в автоматизации
Динамо - это среда визуального программирования, которая изначально интегрируется с Autodesk Revit. Она позволяет пользователям создавать собственную логику через интерфейс на основе узлов, устраняя необходимость в традиционном кодировании, одновременно разблокируя всю мощь API Revit. Когда дело доходит до обновления параметров через сотни или тысячи элементов, Динамо трансформирует то, что было бы утомительным ручным процессом, в операцию одним щелчком мыши. Используя Динамо, архитекторы, инженеры-строители и дизайнеры MEP могут обеспечивать соблюдение стандартов проектирования, мгновенно распространять изменения и устранять ошибки, которые неизбежно появляются во время ручного ввода данных.
Инструмент работает, позволяя вам объединять узлы, которые представляют ввод данных, операции и выходы. Каждый узел выполняет определенную функцию: выбор элементов, параметры чтения, выполнение вычислений или запись значений обратно в модель. Соединения между узлами определяют поток данных. Этот визуальный подход делает автоматизацию доступной даже для членов команды, которые не имеют фона программирования. В результате Динамо стало важным навыком для любого профессионала BIM, стремящегося упорядочить повторяющиеся обновления параметров.
Эта статья проведет вас через весь процесс использования Dynamo для автоматизированных обновлений параметров, от начальной настройки до передовых методов. Независимо от того, обновляете ли вы расписание комнат, параметры взлета материала или свойства семейного экземпляра, вы узнаете, как создавать надежные, многоразовые скрипты, которые экономят часы работы.
Начало работы: настройка динамо для автоматизации параметров
Установка и запуск «Динамо»
Прежде чем вы сможете начать автоматизацию обновлений параметров, вам необходимо установить правильную версию Dynamo. Большинство современных версий Revit (2019 и более поздние) включают Dynamo в качестве встроенного компонента. Чтобы проверить, перейдите на вкладку Управление Управление Динамо Если вы не видите его, вам может потребоваться загрузить последний стабильный выпуск со страницы Dynamo Builds . После установки перезагрузите Revit и убедитесь, что в ленте появляется надстройка Dynamo.
При нажатии на кнопку Динамо открывается новое рабочее пространство. Интерфейс состоит из библиотечной панели слева (содержащей все доступные узлы), центрального холста, на котором вы строите сценарий, и панели инструментов для запуска, сохранения и управления вашей работой. Для обновлений параметров вы будете в первую очередь работать с узлами из категории Revit (особенно под Elements и Parameter), а также Data узлов для манипулирования значениями.
Посмотреть библиотеку Revit Node
Библиотека узлов Динамо организована иерархически. К наиболее важным категориям для автоматизации параметров относятся:
- Выбор: Узлы, подобные , и , позволяют определить, какие элементы модифицировать.
- Элемент: Узлы, такие как и , являются основными инструментами для параметров чтения и записи.
- Узлы для чисел, строк, списков и условных чисел помогают вам создавать динамические значения входных данных.
- Математика/логика: Операторы, формулы и узлы сравнения позволяют вычислять новые значения параметров на основе существующих данных.
Удобство работы с этими узлами - первый шаг к созданию эффективных скриптов автоматизации. Вы можете искать узлы, вводя ключевые слова в строку поиска библиотеки.
Создание сценария обновления параметров: шаг за шагом
Давайте создадим практический сценарий, который обновляет Комментарии параметр всех Дверей в текущей модели Revit. Цель состоит в том, чтобы установить поле Комментарии на номер знака двери. Это общее требование для создания расписаний.
Шаг 1: Выберите элементы цели
На полотне Динамо добавьте узел (найден под Revit > Selection). Нажмите выпадающий список категорий и выберите Двери. Этот узел выведет список всех экземпляров дверей в активном документе.
Шаг 2: Прочитайте данные о существующих параметрах
Добавить узел, называемый из категории Revit > Элемент. Подключить выход узла выбора категории к входу этого узла. Для входа введите строку «Марк» (точная орфография, чувствительная к регистру). Этот узел выведет значение Mark для каждой двери.
Шаг 3: Напишите значение нового параметра
Добавить узел под названием (Revit > Element.] Подключить исходный список элементов двери (выход из шага 1) к входу. Подключить список значений Марка (выход из шага 2) к входу. Для входа введите «Комментарии» . Это говорит Динамо назначить номер знака каждой двери в поле Комментариев.
Шаг 4: Запустите сценарий
Перед запуском всегда проверяйте ошибки, глядя на пузырьки предварительного просмотра на каждом узле. Если вы видите красные значки предупреждения, убедитесь, что имена параметров верны и что категория элементов существует в модели. После удовлетворения нажмите кнопку Запуск (иконка воспроизведения) на панели инструментов. Динамо мгновенно обновит все параметры комментариев двери.
Шаг 5: Проверить результаты
Вернитесь в Revit и проверьте свойства любой двери. В поле Комментарии теперь должен быть указан номер знака двери. Также можно сгенерировать график, чтобы подтвердить, что автоматизация работала на протяжении всего проекта.
Передовые методы: условные, петли и типы данных
Базовый скрипт, приведенный выше, хорошо работает для простых обновлений один к одному, но реальные проекты часто требуют более сложной логики.
Использование условных заявлений
Иногда требуется только обновить параметры на элементах, отвечающих определенным критериям. Например, можно установить Рейтинг огней параметр дверей только в том случае, если их ширина превышает 900 мм. Для этого нужна условная ветвь.
- Начните с чтения Вид параметра каждой двери с использованием .
- Используйте Кодовый блок узел с условием .
- Добавить узел. Подключить список дверей к входу и булевой список к входу. выход содержит только двери, которые соответствуют условию.
- Затем примените обновление параметров только к этому отфильтрованному списку.
Проникновение через сложные данные
Динамо автоматически обрабатывает петли при подключении списков к входам узлов. Но иногда нужно перебирать вложенные данные, например, обновлять параметры для всех этажей в многоэтажном здании, где каждый этаж имеет различный набор комнат. Узел позволяет применять функцию к каждому подсписку. Например, можно создать пользовательский узел (или использовать узлы скриптов Python) для выполнения конкретного обновления параметров на этаже.
Обработка различных типов данных
Параметры в Revit могут быть текстом, числами, целыми числами, длинами, областями, объемами или значениями да/нет. Узлы Динамо автоматически преобразуют общие типы, но вы должны быть осторожны с единицами. Для параметров длины вам нужно предоставить значения во внутренних единицах Revit (нога). Для общих параметров длины нужно установить параметр длины, используя простое число, такое как 1,0, ожидая, что он будет 1 метр - вместо этого он становится 1 футом. Используйте узел или единицы набора явно, используя комбинацию узлов и . Для параметров да/нет используйте булевые истинные/ложные значения.
Использование узлов Python Script для сложной логики
Когда интерфейс визуального узла становится слишком громоздким для продвинутых манипуляций с параметрами, вы можете вставить Python Script узел. Это дает вам полный доступ к API Revit. Например, вы можете написать скрипт Python, который читает ограничивающий ящик семейного экземпляра и обновляет его параметр Elevation, основанный на его высоте над базовым уровнем. Узлы Python также позволяют реализовать обработку ошибок и пользовательские петли, которые превышают стандартные возможности Dynamo. Документация API Reit является ценным ориентиром при создании сценариев Python.
Примеры автоматических обновлений параметров
Пример 1: Обновление параметров комнаты из таблицы Excel
Многие фирмы поддерживают данные о комнатах в Excel. Динамо может автоматически читать эти данные и обновлять параметры комнаты Revit. Используйте узел Data.ImportExcel для чтения таблицы. Затем сопоставьте строки с номерами по ключевому параметру, такому как Number. Для каждой строки используйте на соответствующем элементе комнаты для обновления полей, таких как Name, Occupancy, или Department. Это гарантирует, что модель Revit всегда отражает последние данные программы.
Пример 2: Обновление параметров взлета материала
В структурных моделях может потребоваться установить Материальный параметр для стальных балок на основе их размера. Создайте скрипт, который читает Параметр типа параметр каждого балки, просматривает соответствующий материал из словаря (с использованием блока кода или отображения списка), а затем обновляет Структурный материал параметр.
Пример 3: Обновление параметров типа семейного положения
Иногда нужно модифицировать параметры типа (общие для всех экземпляров типа семейства), а не параметры экземпляра. Динамо может справиться с этим, сначала выбрав типы семейства с помощью таких узлов, как . Затем используйте с именем параметра типа. Например, вы можете обновить параметр типа Вид параметра типа всех типов семейства «Desk-1200» до 1500 мм. Поскольку это влияет на все экземпляры этого типа, изменение распространяется по всей модели мгновенно.
Лучшие практики для надежной автоматизации параметров
Чтобы убедиться, что ваши сценарии «Динамо» работают гладко и дают правильные результаты, следуйте этим рекомендациям:
- Тест на копию: Всегда запускайте любой новый скрипт на дубликатной или изолированной части модели первым.Небольшая ошибка в обновлении параметров может повредить данные на тысячах элементов.
- Используйте явные имена параметров: Имена параметров чувствительны к регистру и должны точно соответствовать тому, что показано в свойствах типа Revit. Используйте узел Element.GetParameterValueByName с жестко закодированной строкой для проверки работы имени перед написанием.
- Групповые узлы логически: Используйте Группу (Ctrl+G) для организации сценария в области: выбор, входные данные, логика и вывод. Это облегчает отладку и повторное использование.
- Добавить комментарии: Нажмите правой кнопкой мыши на холсте, чтобы добавить заметки, которые объясняют каждый раздел. Это бесценно, когда вы повторно посещаете сценарий через несколько месяцев или делитесь им с коллегами.
- Сохранить как пользовательский узел: Если вы обнаружите, что повторяете один и тот же шаблон обновления параметров, создайте пользовательский узел (File > New Custom Node).
- Ошибки управления изящно: Используйте узлы, подобные , и смотрите предварительные просмотры для нулевых записей.В узлах Python оберните критические операции в пробных блоках.
Преимущества автоматизации обновлений параметров с помощью Dynamo
Преимущества этого подхода выходят за рамки простой экономии времени. Вот основные преимущества, которые вы можете ожидать при включении Динамо в рабочий процесс Revit:
- Согласованность: Автоматизированные обновления применяют одну и ту же логику к каждому элементу, устраняя изменчивость, которая приходит с ручным вводом данных. Это имеет решающее значение для обнаружения столкновений, взлета количества и координации с другими дисциплинами.
- Скорость: То, что занимает часы щелчка по свойствам, можно сделать за секунды. Сценарий, обновляющий 5000 параметров дверей, работает менее чем за минуту.
- Масштабируемость: По мере увеличения размеров моделей ручные обновления становятся всё более непрактичными. Скрипты «Динамо» обрабатывают любое количество элементов без ухудшения производительности.
- Обратимость: При запуске сценария вы можете легко отменить изменения (Ctrl+Z) в Revit, при условии, что вы не закрыли модель. Это дает вам безопасную сеть, которой часто не хватает ручным редактированием.
- Аудиторская способность: Сохранённый сценарий «Динамо» становится записью того, какие изменения были внесены и почему. Это полезно для обеспечения качества и для обучения новых членов команды.
- Интеграция с внешними данными: Динамо может читать из Excel, CSV, баз данных и даже веб-API. Это позволяет вводить живые данные в параметры Revit, постоянно поддерживая модель в актуальном состоянии.
Вывод: превращение вашего рабочего процесса в конкурентное преимущество
Освоение Dynamo для автоматизированных обновлений параметров является шлюзом к гораздо более высокому уровню эффективности BIM. Первоначальные инвестиции в изучение интерфейса узла и базовой логики окупаются много раз, особенно в крупномасштабных проектах, где параметрическая согласованность имеет первостепенное значение. Следуя пошаговому подходу, изложенному здесь, и постепенно включая условную логику, скриптинг Python и внешние источники данных, вы можете устранить изнурительные ручные манипуляции с параметрами.
Не забудьте начать с малого: автоматизировать один параметр на одну категорию, затем расширить. Сохраните свои скрипты в качестве пользовательских узлов и создайте личную библиотеку инструментов автоматизации. Поделитесь ими со своей командой и поощряйте культуру непрерывного совершенствования. Будущее работы Revit автоматизировано, и Динамо - это ключ, который открывает это будущее.
Для дальнейшего изучения, изучите официальный Dynamo Primer и обширную библиотеку образцов сценариев, доступных на Узлы Динамо. С практикой, вы обнаружите, что открываете Динамо инстинктивно, когда вы сталкиваетесь с повторяющейся задачей обновления параметров.