Dynamo: Продвинутый уровеньСредний

Dynamo — это бесплатное дополнение для Autodesk Revit. В нем можно «научить» Revit новым функциям без написания сложного кода. Dynamo ускоряет работу и автоматически делает то, что Revit не умеет: переименовывает помещения, оси, кусты свай, экспортирует данные в Excel и импортирует из него, считает теплопотери здания, сравнивает файлы, подсчитывает квартирографию, ведомость отделки и множество других вещей.

В бесплатном видеокурсе по Dynamo вы научитесь всем нюансам написания дополнений. Изучив материал, вы ускорите свою производительность на 15-200%. Главная ценность курса — отдельная глава с написанием дополнений для ежедневных задач: поиск элементов, перенумерация элементов, случайная расстановка объектов и другое.

Автор: Сергей Кривой
Макс. длительность: 4 часа 6 минут

Дополнительные возможности

Урок
Блоки можно проходить в любом порядке
Длительность
Минут
Расширение функционала Dynamo
Длительность: 2 мин.
Что делать, если для решения задачи не хватает стандартных нодов. Поиск пакета нодов в интернете. Использование возможностей языка Design Script для работы с геометрией. Использование языка IronPython и Revit API для решения любой задачи.

Ноды: Code Block, Python Script

Создание пользовательского нода
Длительность: 4 мин.
Объединение полезной, часто используемой группы нодов в пользовательский узел (нод). Создание собственной категории нодов. Назначение входных и выходных слотов.

Ноды: Curve.PointsAtChordLengthFromPoint, Circle.ByCenterPointRadius, Code Block, Circle.ByCenterPointRadius, Rectangle.ByWidthLength, PolyCurve.Curves, Input, Output

Публикация и установка пакетов
Длительность: 3 мин.
Для того, чтобы поделиться своими нодами, можно опубликовать собственный пакет нодов. Так делают пользователи Dynamo по всему миру, поэтому многие полезные пакеты нодов можно бесплатно скачать и использовать. При необходимости нод из пакеты можно «раскрыть».

Ноды: LaunchBox for Dynamo, archi-lab.net, Clockwork for Dynamo, Rhynamo, BumbleBee

Синтаксис Design Script
Длительность: 2 мин.
Возможности языка Design Script. Ресурсы для изучения синтаксиса и возможностей.

https://dynamobim.org/learn/

Ноды: Code Block

Создание функций
Длительность: 2 мин.
Понятие функции. Создание функций на Design Script. Возможность применения созданной функции во всём текущем скрипте Dynamo.

Ноды: Code Block

Нод Python Script
Длительность: 2 мин.
Описание нода, с помощью которого можно обращаться к Revit на языке программирования Python. Входные и выходные слоты. Тело скрипта.

Ноды: Python Script, Python Script from String, File.ReadText

Синтаксис Python
Длительность: 1 мин.
Основные правила написания кода. Цвета операторов, переменных и методов, текста, чисел и комментариев. 

Ноды: Python Script

Простейшие операции
Длительность: 3 мин.
Основы работы с числовым и текстовым форматом. Назначение переменных. Вывод результата работы скрипта.

Ноды: Python Script, Code Block

Анализ предупреждений
Длительность: 1 мин.
Обнаружение и анализ ошибок в коде. Пример предупреждения при попытке сложения переменных с разными типами данных.

Ноды: Python Script, Code Block

Операторы условия if, elif, else
Длительность: 5 мин.
Простой способ проверки различных условий с помощью трёх операторов условий: IF («если»), ELIF («если нет, то если») и ELSE («если нет, то»). Пример сравнения двух чисел.

Ноды: Python Script, Code Block

Операторы and, or
Длительность: 3 мин.
Задание нескольких условий одной строкой с помощью логических операторов AND (“и”) и OR (“или”). Пример определения того, попадает ли заданное число в диапазон двух других чисел.

Ноды: Python Script, Code Block

Операторы in, not
Длительность: 2 мин.
Задание условий с помощью оператора IN (“в”), проверяющего нахождение идентичного элемента в списке и оператора отрицания NOT (“не”).

Ноды: Python Script, Code Block

Оператор цикла for
Длительность: 3 мин.
Обработка списка с помощью цикла FOR (“для”), который работает непосредственно с элементами списка. Проверка условия для каждого элемента. Добавление элементов в список.

Ноды: Python Script, Code Block

Оператор цикла while
Длительность: 2 мин.
Обработка списка с помощью цикла WHILE (“пока”), который работает до тех пор, пока соблюдается заданное условие. Предупреждение зацикливания программы.

Ноды: Python Script, Code Block

Функция dir( ). Раскрытие элементов
Длительность: 3 мин.
Получение списка всех доступных методов и свойств любого элемента любого типа данных с помощью функции dir (). Применение методов и свойств к элементу. Раскрытие элемента Revit методом UnwrapElement ()

Ноды: Python Script, Categories, All Element of Category

Метод LookupParameter( )
Длительность: 1 мин.
Получение значений любых параметров элементов Revit. Ввод типа данных, в котором необходимо данное значение получить.

Ноды: Python Script, Categories, All Element of Category

Поиск недостающих функций в нодах из пакетов. Основные библиотеки, используемые в IronPython. Определение текущего проекта. Открытие транзакции для внесения изменений в проект. Рассматривается пример поиска метода Revit API, который изменяет типоразмер элемента.

Ноды: Python Script, Change Family Type

Поиск на revitapidocs.com
Длительность: 2 мин.
Ресурс для изучения классов Revit и применяемых к ним методов: http://www.revitapidocs.com/. Возможность просматривать примеры использования некоторых методов на языке Python.

Надстройка Revit Lookup
Длительность: 3 мин.
Использование бесплатной надстройки для просмотра любых свойств любого элемента Revit Применяется для дальнейшего использования полученной информации в Python Script. https://github.com/jeremytammik/RevitLookup

Стандартное приложение для организации скриптов и их запуска непосредственно из Revit.

http://help.autodesk.com/view/RVT/2017/RUS/?guid=GUID-BFCE20D2-86D4-4591-8CF3-5405D26DB825