Вступление

Для проcмотра видеоурока войдите или создайте аккаунт

Зачем нужно дорабатывать Revit и почему удобно это делать с помощью Dynamo. Типы и примеры решаемых задач.


Вступление


Зачем нужно дорабатывать Revit и почему удобно это делать с помощью Dynamo. Типы и примеры решаемых задач.


Установка Dynamo

Для проcмотра видеоурока войдите или создайте аккаунт

Скачивание и установка Dynamo и Dynamo Player. Запуск из Revit и Revit Viewer.

http://dynamobim.org/


установка Dynamo, dynamobim.org, Dynamo Studio, Revit, Revit Viewer, Dynamo Player, первый запуск

Установка Dynamo


Скачивание и установка Dynamo и Dynamo Player. Запуск из Revit и Revit Viewer.

http://dynamobim.org/


установка Dynamo, dynamobim.org, Dynamo Studio, Revit, Revit Viewer, Dynamo Player, первый запуск

Интерфейс Dynamo

Для проcмотра видеоурока войдите или создайте аккаунт

Начальный экран Dynamo: работа с файлами и справочные материалы. Что нужно знать о библиотеке нодов,  рабочем пространстве скрипта и основном меню. Установка бесплатных пакетов нодов.


начальный экран, создание файла, Справка, рабочее пространство, ноды, библиотека нодов, поиск нодов, кнопки быстрого доступа, меню, настройка отображения, Пакеты

Интерфейс Dynamo


Начальный экран Dynamo: работа с файлами и справочные материалы. Что нужно знать о библиотеке нодов,  рабочем пространстве скрипта и основном меню. Установка бесплатных пакетов нодов.


начальный экран, создание файла, Справка, рабочее пространство, ноды, библиотека нодов, поиск нодов, кнопки быстрого доступа, меню, настройка отображения, Пакеты

Основные понятия визуального программирования

Для проcмотра видеоурока войдите или создайте аккаунт

Определения визуального программирования, скриптов и нодов. Особенности работы с нодами.

Ноды: Point.ByCoordinates, Code Block, Number Slider


терминология, визуальное программирование, Dynamo, скрипт, нод, узел, программный код, интерфейс пользователя

Основные понятия визуального программирования


Определения визуального программирования, скриптов и нодов. Особенности работы с нодами.

Ноды: Point.ByCoordinates, Code Block, Number Slider


терминология, визуальное программирование, Dynamo, скрипт, нод, узел, программный код, интерфейс пользователя

Типы нодов

Для проcмотра видеоурока войдите или создайте аккаунт

Структура библиотеки нодов. Основные форматы, используемые в Revit и Dynamo. Ноды для ввода данных.

Ноды:

String, Number, Number Slider, Boolean, Watch, Code Block
Категории: Core (Input), Geometry, Revit


библиотека нодов, категории нодов, поиск нодов, формат данных, форматы ввода, строковый формат, строка, числовой формат, число, условие, Design Script

Типы нодов


Структура библиотеки нодов. Основные форматы, используемые в Revit и Dynamo. Ноды для ввода данных.

Ноды:

String, Number, Number Slider, Boolean, Watch, Code Block
Категории: Core (Input), Geometry, Revit


библиотека нодов, категории нодов, поиск нодов, формат данных, форматы ввода, строковый формат, строка, числовой формат, число, условие, Design Script

Создание строк

Для проcмотра видеоурока войдите или создайте аккаунт

Ввод данных в текстовом формате разными способами. Анализ текстовой информации.

Ноды:

String, Code Block, String from Object, Watch
Категории: Core (Input)


строковый формат, строка, создание строки, перевод в строковый формат, просмотр результатов

Создание строк


Ввод данных в текстовом формате разными способами. Анализ текстовой информации.

Ноды:

String, Code Block, String from Object, Watch
Категории: Core (Input)


строковый формат, строка, создание строки, перевод в строковый формат, просмотр результатов

Операции со строками

Для проcмотра видеоурока войдите или создайте аккаунт

Некоторые ноды для работы со строками: определение количества символов, поиск и замена подстроки в строке. Сложение строк разными способами.

Ноды:

String, Code Block, Watch, String.Length, String.Contains, Boolean, String.Replace, String.Concat
Категории: Core (String)


длина строки, поиск подстроки, замена подстроки, сложение строк, Design Script, переменная, параметризация

Операции со строками


Некоторые ноды для работы со строками: определение количества символов, поиск и замена подстроки в строке. Сложение строк разными способами.

Ноды:

String, Code Block, Watch, String.Length, String.Contains, Boolean, String.Replace, String.Concat
Категории: Core (String)


длина строки, поиск подстроки, замена подстроки, сложение строк, Design Script, переменная, параметризация

Создание чисел

Для проcмотра видеоурока войдите или создайте аккаунт

Ноды для создания вещественных и целых чисел. Создание последовательностей чисел разными способами.

Ноды:

Number, Number Slider, Code Block, Integer Slider, String.ToNumber, String, String.Length, Sequence
Категории: Core (Input)


число, вещественные числа, целые числа, создание числа, перевод строки в число, последовательность чисел, шаг последовательности

Создание чисел


Ноды для создания вещественных и целых чисел. Создание последовательностей чисел разными способами.

Ноды:

Number, Number Slider, Code Block, Integer Slider, String.ToNumber, String, String.Length, Sequence
Категории: Core (Input)


число, вещественные числа, целые числа, создание числа, перевод строки в число, последовательность чисел, шаг последовательности

Операции с числами

Для проcмотра видеоурока войдите или создайте аккаунт

Некоторые ноды для работы с числами: математические функции и логические операторы. Использование функций на Design Script в Code Block.

Ноды:

Math.Abs, Code Block, Math.Cos, Math.Round
Категории: Core (Math), Operators, Math.Random, Number Slider

математические операции, логические операторы, модуль числа, функции Design Script, переменные в Code Block, тригонометрические функции, округление чисел, генерация случайных чисел

Операции с числами


Некоторые ноды для работы с числами: математические функции и логические операторы. Использование функций на Design Script в Code Block.

Ноды:

Math.Abs, Code Block, Math.Cos, Math.Round
Категории: Core (Math), Operators, Math.Random, Number Slider

математические операции, логические операторы, модуль числа, функции Design Script, переменные в Code Block, тригонометрические функции, округление чисел, генерация случайных чисел

Создание списков

Для проcмотра видеоурока войдите или создайте аккаунт

Определение списков в Dynamo. Различные способы их создания.

Ноды:

Sequence, List.Create, Code Block
Категории: Core (List)


массив, список, вложенность списка, изменение количества входных слотов

Создание списков


Определение списков в Dynamo. Различные способы их создания.

Ноды:

Sequence, List.Create, Code Block
Категории: Core (List)


массив, список, вложенность списка, изменение количества входных слотов

Операции со списками

Для проcмотра видеоурока войдите или создайте аккаунт

Некоторые ноды для работы со списками: объединение, транспонирование, уравнивание списков. Определение количества элементов в списке.

Ноды:

List.Join, Code Block, List.Transpose, Flatten, Count
Категории: Core (List)

объединение списков, транспонирование, уравнивание списков, определение количества элементов

Операции со списками


Некоторые ноды для работы со списками: объединение, транспонирование, уравнивание списков. Определение количества элементов в списке.

Ноды:

List.Join, Code Block, List.Transpose, Flatten, Count
Категории: Core (List)

объединение списков, транспонирование, уравнивание списков, определение количества элементов

Сортировка и фильтрация

Для проcмотра видеоурока войдите или создайте аккаунт

Стандартные возможности по сортировке и фильтрации элементов списка. Сортировка и фильтрация чисел и строк.

Ноды:

List.Sort, Code Block, String.ToNumber, List.FilterByBoolMask, ==, Watch, String, String.Contains
Категории: Core (List)

сортировка списка, сортировка чисел, сортировка строк, фильтрация списка, маски элементов

Сортировка и фильтрация


Стандартные возможности по сортировке и фильтрации элементов списка. Сортировка и фильтрация чисел и строк.

Ноды:

List.Sort, Code Block, String.ToNumber, List.FilterByBoolMask, ==, Watch, String, String.Contains
Категории: Core (List)

сортировка списка, сортировка чисел, сортировка строк, фильтрация списка, маски элементов

Выбор элементов модели

Для проcмотра видеоурока войдите или создайте аккаунт

Различные способы выбора элементов модели: выбор экземпляров определённой категории или типа, выбор всех элементов на уровне или любом активном виде, выбор отдельных элементов с помощью мыши. Получение текущего проекта и пути к его файлу.

Ноды:

Categories, All Elements of Category, Watch, FamilyInstance.Type, Family Types, All Elements of Family Type, Wall Types, Floor Types, Levels, All Elements of Level, Views, Select Model Element, Select Model Elements, All Element in Active View, Document.Current, Document.FilePath
Категории: Revit


категории Revit, выбор категории, все элементы категории, экземпляра, типы, типоразмеры, типы стен, типы перекрытий, уровни, все элементы уровня, виды, выбор отдельных элементов, идентификатор элемента, активный вид, текущий документ, путь проекта

Выбор элементов модели


Различные способы выбора элементов модели: выбор экземпляров определённой категории или типа, выбор всех элементов на уровне или любом активном виде, выбор отдельных элементов с помощью мыши. Получение текущего проекта и пути к его файлу.

Ноды:

Categories, All Elements of Category, Watch, FamilyInstance.Type, Family Types, All Elements of Family Type, Wall Types, Floor Types, Levels, All Elements of Level, Views, Select Model Element, Select Model Elements, All Element in Active View, Document.Current, Document.FilePath
Категории: Revit


категории Revit, выбор категории, все элементы категории, экземпляра, типы, типоразмеры, типы стен, типы перекрытий, уровни, все элементы уровня, виды, выбор отдельных элементов, идентификатор элемента, активный вид, текущий документ, путь проекта

Параметры элементов модели

Для проcмотра видеоурока войдите или создайте аккаунт

Получение списка параметров экземпляров и типов элементов. Определение значений конкретных параметров. Изменение параметра на примере ширины окна.

Ноды:

Select Model Element, Element.Parameters, Watch, FamilyInstance.Type, Element.GetParameterValueByName, Code Block, Element.SetParameterByName
Категории: Revit

Список параметров элемента, параметры элемента, значение параметра, изменение параметров

Параметры элементов модели


Получение списка параметров экземпляров и типов элементов. Определение значений конкретных параметров. Изменение параметра на примере ширины окна.

Ноды:

Select Model Element, Element.Parameters, Watch, FamilyInstance.Type, Element.GetParameterValueByName, Code Block, Element.SetParameterByName
Категории: Revit

Список параметров элемента, параметры элемента, значение параметра, изменение параметров

Запись в Excel

Для проcмотра видеоурока войдите или создайте аккаунт

Возможности стандартного нода для записи двумерных массивов данных в таблицу XLSX. Выбор файла и листа, формирование и изменение ячеек.

Ноды:

Excel.WriteToFile, Code Block, File Path
Категории: Office


внешние форматы, Excel, таблица, двумерный массив, создание XLSX, лист, ячейка, строка таблицы, столбец таблицы, изменение XLSX

Запись в Excel


Возможности стандартного нода для записи двумерных массивов данных в таблицу XLSX. Выбор файла и листа, формирование и изменение ячеек.

Ноды:

Excel.WriteToFile, Code Block, File Path
Категории: Office


внешние форматы, Excel, таблица, двумерный массив, создание XLSX, лист, ячейка, строка таблицы, столбец таблицы, изменение XLSX

Чтение из Excel

Для проcмотра видеоурока войдите или создайте аккаунт

Возможности стандартного нода для чтения данных из таблиц XLSX. Выбор файла и листа. Перевод информации из ячеек в текстовый формат.

Ноды:

ExcelReadFromFile, File Path, File.FromPath
Категории: Office

Excel, чтение XLSX, лист, ячейка, дополнительные слоты нодов

Чтение из Excel


Возможности стандартного нода для чтения данных из таблиц XLSX. Выбор файла и листа. Перевод информации из ячеек в текстовый формат.

Ноды:

ExcelReadFromFile, File Path, File.FromPath
Категории: Office

Excel, чтение XLSX, лист, ячейка, дополнительные слоты нодов

Связь с текстовыми форматами

Для проcмотра видеоурока войдите или создайте аккаунт

Возможности чтения и записи в форматы TXT и CSV. Пример чтения таблицы поиска из семейства фитинга.

Ноды:

File.ReadText, File.WrtieText, Code Block, CSV.WriteToFile, CSV.ReadFromFile, File Path, File.FromPath
Категории: Core (File)


текстовый файл, создание TXT, чтение TXT, создание CSV, чтение CSV, таблицы посика

Связь с текстовыми форматами


Возможности чтения и записи в форматы TXT и CSV. Пример чтения таблицы поиска из семейства фитинга.

Ноды:

File.ReadText, File.WrtieText, Code Block, CSV.WriteToFile, CSV.ReadFromFile, File Path, File.FromPath
Категории: Core (File)


текстовый файл, создание TXT, чтение TXT, создание CSV, чтение CSV, таблицы посика

Связь с геометрией Revit

Для проcмотра видеоурока войдите или создайте аккаунт

Различия между геометрией Revit и геометрией Dynamo. Общие правила создания и свойства геометрии Dynamo.

Ноды:

Point.ByCoordinates, Sphere.ByCenterPointRadius


геометрия Dynamo, геометрия Revit, свойства геометрии, правила создания геометрии, Design Script

Связь с геометрией Revit


Различия между геометрией Revit и геометрией Dynamo. Общие правила создания и свойства геометрии Dynamo.

Ноды:

Point.ByCoordinates, Sphere.ByCenterPointRadius


геометрия Dynamo, геометрия Revit, свойства геометрии, правила создания геометрии, Design Script

Превращение из геометрии Revit

Для проcмотра видеоурока войдите или создайте аккаунт

Построение геометрии Dynamo по геометрии элементов модели Revit. Пример получение объёмного тела (Solid) из стены.

Ноды:

Select Moel Element, Element.Geometry


превращение геометрии, создание геометрии Dynamo, 3В-вид, объёмное тело

Превращение из геометрии Revit


Построение геометрии Dynamo по геометрии элементов модели Revit. Пример получение объёмного тела (Solid) из стены.

Ноды:

Select Moel Element, Element.Geometry


превращение геометрии, создание геометрии Dynamo, 3В-вид, объёмное тело

Анализ геометрии в Dynamo

Для проcмотра видеоурока войдите или создайте аккаунт

Суть анализа и некоторые ноды для анализа геометрии Dynamo: пересечение геометрии, определение кратчайшего расстояние между элементами геометрии.

Ноды:

Geometry.DoesIntersect, Category, All Elements of Category, Code Block, Element.Geometry, Geometry.DistanceTo


анализ геометрии, пересечение геометрии, расстояние между элементами геометрии

Анализ геометрии в Dynamo


Суть анализа и некоторые ноды для анализа геометрии Dynamo: пересечение геометрии, определение кратчайшего расстояние между элементами геометрии.

Ноды:

Geometry.DoesIntersect, Category, All Elements of Category, Code Block, Element.Geometry, Geometry.DistanceTo


анализ геометрии, пересечение геометрии, расстояние между элементами геометрии

Создание геометрии Dynamo

Для проcмотра видеоурока войдите или создайте аккаунт

Суть создания и некоторые ноды для создания основных элементов геометрии: точки (Point), кривой (Curve или Line как частный случай), плоскости (Surface), объёмного тела (Solid).

Ноды:

Point.ByCoordinates, Code Block, Line.ByStartPointEndPoint, Surface.ByLoft, List.Join, Surface.Thicken
Категории: Geometry (Point), Geometry  (Line), Geometry  (Surface)


точка, создание точки, кривая, линия, создание линии, функции Design Script, поверхность, создание поверхности, утолщение, объёмное тело, создание объёмного тела

Создание геометрии Dynamo


Суть создания и некоторые ноды для создания основных элементов геометрии: точки (Point), кривой (Curve или Line как частный случай), плоскости (Surface), объёмного тела (Solid).

Ноды:

Point.ByCoordinates, Code Block, Line.ByStartPointEndPoint, Surface.ByLoft, List.Join, Surface.Thicken
Категории: Geometry (Point), Geometry  (Line), Geometry  (Surface)


точка, создание точки, кривая, линия, создание линии, функции Design Script, поверхность, создание поверхности, утолщение, объёмное тело, создание объёмного тела

Вставка элемента по одной точке

Для проcмотра видеоурока войдите или создайте аккаунт

Создание точки для вставки по ней экземпляра семейства в Revit. Параметризация и изменение точки для изменения проекта.

Ноды:

FamilyInstance.ByPoint, Family Types, Point.ByCoordinates, Number Slider


семейство с одной точкой вставки, создание экземпляра, точка, координаты, параметризация

Вставка элемента по одной точке


Создание точки для вставки по ней экземпляра семейства в Revit. Параметризация и изменение точки для изменения проекта.

Ноды:

FamilyInstance.ByPoint, Family Types, Point.ByCoordinates, Number Slider


семейство с одной точкой вставки, создание экземпляра, точка, координаты, параметризация

Создание элемента по двум точкам

Для проcмотра видеоурока войдите или создайте аккаунт

Создание линий для вставки по ним соответствующих экземпляров семейств в Revit. Ноды для создания колонн и балок.

Ноды:

StructureFraming.ColumnByCurve, Family Types, Levels, Line.ByStartPointEndPoint, Point.ByCoordinates, Code Block, Number Slider, StructureFraming.BeamByCurve,
Категории: Revit (Elements)


семейство с двумя точками вставки, колонна, создание колонны, изменение геометрии, балка, создание балки

Создание элемента по двум точкам


Создание линий для вставки по ним соответствующих экземпляров семейств в Revit. Ноды для создания колонн и балок.

Ноды:

StructureFraming.ColumnByCurve, Family Types, Levels, Line.ByStartPointEndPoint, Point.ByCoordinates, Code Block, Number Slider, StructureFraming.BeamByCurve,
Категории: Revit (Elements)


семейство с двумя точками вставки, колонна, создание колонны, изменение геометрии, балка, создание балки

Создание элемента по кривой

Для проcмотра видеоурока войдите или создайте аккаунт

Создание кривых для формирования по ним стен и перекрытий в Revit. Создание стены по окружности с предварительным разделением окружности на части.

Ноды:

Wall.ByCurveAndHeight,

Circle.ByCentrePointRadius, Code Block, Levels, Wall Types, Curve.SplitByParameter, FloorByOutlineTypeAndLevel
Категории: Revit (Elements), Geometry (Circle)


стена, создание стены, окружность, создание окружности, радиус, замкнутая кривая, разделение кривой, перекрытие, создание перекрытие, набор кривых

Создание элемента по кривой


Создание кривых для формирования по ним стен и перекрытий в Revit. Создание стены по окружности с предварительным разделением окружности на части.

Ноды:

Wall.ByCurveAndHeight,

Circle.ByCentrePointRadius, Code Block, Levels, Wall Types, Curve.SplitByParameter, FloorByOutlineTypeAndLevel
Категории: Revit (Elements), Geometry (Circle)


стена, создание стены, окружность, создание окружности, радиус, замкнутая кривая, разделение кривой, перекрытие, создание перекрытие, набор кривых

Оформление скриптов

Для проcмотра видеоурока войдите или создайте аккаунт

Настройка интерфейса скрипта для конечного пользователя. Назначение имени ноду. Группирование нодов, оформление групп. Создание примечаний.

Ноды:

Группа, Примечание


пользователь, оформление, имя нода, переименование нода, группа, группирование нодов, настройка группы, разгруппировка, добавление в группу, исключение из группы, выравнивание нодов, примечание

Оформление скриптов


Настройка интерфейса скрипта для конечного пользователя. Назначение имени ноду. Группирование нодов, оформление групп. Создание примечаний.

Ноды:

Группа, Примечание


пользователь, оформление, имя нода, переименование нода, группа, группирование нодов, настройка группы, разгруппировка, добавление в группу, исключение из группы, выравнивание нодов, примечание

Переплетение. Уровни

Для проcмотра видеоурока войдите или создайте аккаунт

Настройка дополнительных опций стандартных нодов: различных видов переплетений и уровней вложенности списков.

Ноды:

Code Block, *, Count


переплетение, перемножение списков, длинный список, короткий список, Кратчайший, Самый длинный, Векторное произведение, уровни, использование уровней, вложенный список

Переплетение. Уровни


Настройка дополнительных опций стандартных нодов: различных видов переплетений и уровней вложенности списков.

Ноды:

Code Block, *, Count


переплетение, перемножение списков, длинный список, короткий список, Кратчайший, Самый длинный, Векторное произведение, уровни, использование уровней, вложенный список

Отображение геометрии. Замораживание

Для проcмотра видеоурока войдите или создайте аккаунт

Дополнительные удобные функции при разработке скрипта: возможность скрывать часть выдаваемой геометрии, возможность “замораживания” работы нескольких нодов.

Ноды:

categories, All Element Of Category, Element.Geometry, PolySurface.BySolid, PolySurface.Serfaces, Surface.PerimeterCurves, Room.Name


геометрия, отображение геометрии, gомещение, объёмное тело, поверхность, периметр, gредварительный просмотр, pамораживание

Отображение геометрии. Замораживание


Дополнительные удобные функции при разработке скрипта: возможность скрывать часть выдаваемой геометрии, возможность “замораживания” работы нескольких нодов.

Ноды:

categories, All Element Of Category, Element.Geometry, PolySurface.BySolid, PolySurface.Serfaces, Surface.PerimeterCurves, Room.Name


геометрия, отображение геометрии, gомещение, объёмное тело, поверхность, периметр, gредварительный просмотр, pамораживание

Расширение функционала Dynamo

Для проcмотра видеоурока войдите или создайте аккаунт

Что делать, если для решения задачи не хватает стандартных нодов. Поиск пакета нодов в интернете. Использование возможностей языка Design Script для работы с геометрией. Использование языка IronPython и Revit API для решения любой задачи.

Ноды:

Code Block, Python Script


стандартные ноды, Пакеты, поиск пакета, пользовательские ноды, язык Design Script, язык IronPython, модификация скрипта, Revit API

Расширение функционала Dynamo


Что делать, если для решения задачи не хватает стандартных нодов. Поиск пакета нодов в интернете. Использование возможностей языка Design Script для работы с геометрией. Использование языка IronPython и Revit API для решения любой задачи.

Ноды:

Code Block, Python Script


стандартные ноды, Пакеты, поиск пакета, пользовательские ноды, язык Design Script, язык IronPython, модификация скрипта, Revit API

Создание пользовательского нода

Для проcмотра видеоурока войдите или создайте аккаунт

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

Ноды:

Curve.PointsAtChordLengthFromPoint, Circle.ByCenterPointRadius, Code Block, Circle.ByCenterPointRadius, Rectangle.ByWidthLength, PolyCurve.Curves, Input, Output


группа нодов, Пользовательский узел, разделение кривой, создание оружности, Новый узел, Имя узла, Категория, собственная категория, редактирование нода, слоты, создание слотов, ввод названия слота, начальное окно

Создание пользовательского нода


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

Ноды:

Curve.PointsAtChordLengthFromPoint, Circle.ByCenterPointRadius, Code Block, Circle.ByCenterPointRadius, Rectangle.ByWidthLength, PolyCurve.Curves, Input, Output


группа нодов, Пользовательский узел, разделение кривой, создание оружности, Новый узел, Имя узла, Категория, собственная категория, редактирование нода, слоты, создание слотов, ввод названия слота, начальное окно

Публикация и установка пакетов

Для проcмотра видеоурока войдите или создайте аккаунт

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

Ноды:

LaunchBox for Dynamo, archi-lab.net, Clockwork for Dynamo, Rhynamo, BumbleBee


публикация нода, Пакеты, поиск пакета, установка пакета, нативный нод, пользовательский нод, раскрытие нода, управление пакетами, удаление пакета

Публикация и установка пакетов


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

Ноды:

LaunchBox for Dynamo, archi-lab.net, Clockwork for Dynamo, Rhynamo, BumbleBee


публикация нода, Пакеты, поиск пакета, установка пакета, нативный нод, пользовательский нод, раскрытие нода, управление пакетами, удаление пакета

Синтаксис Design Script

Для проcмотра видеоурока войдите или создайте аккаунт

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

Learn

Ноды:

Code Block


язык Design Script, синтаксис, создание числа, создание строки, создание списка, математические функции, переменные, название нода, dynamobim.org, DesignScript Guide, DesignScript Documentation, классы, типы, методы

Синтаксис Design Script


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

Learn

Ноды:

Code Block


язык Design Script, синтаксис, создание числа, создание строки, создание списка, математические функции, переменные, название нода, dynamobim.org, DesignScript Guide, DesignScript Documentation, классы, типы, методы

Создание функций

Для проcмотра видеоурока войдите или создайте аккаунт

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

Ноды:

Code Block


функции, операторы, оператор def, оператор return, остаток от деления, использование функций, DesignScript Documentation

Создание функций


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

Ноды:

Code Block


функции, операторы, оператор def, оператор return, остаток от деления, использование функций, DesignScript Documentation

Нод Python Script

Для проcмотра видеоурока войдите или создайте аккаунт

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

Ноды:

Python Script, Python Script from String, File.ReadText


Python, IronPython, язык программирования, программный код, программирование, библиотеки, Protogeometry

Нод Python Script


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

Ноды:

Python Script, Python Script from String, File.ReadText


Python, IronPython, язык программирования, программный код, программирование, библиотеки, Protogeometry

Синтаксис Python

Для проcмотра видеоурока войдите или создайте аккаунт

Основные правила написания кода. Цвета операторов, переменных и методов, текста, чисел и комментариев.

Ноды:

Python Script


операторы, import, for, in, not, переменные, методы, текстовый формат, числовой формат, комментарии

Синтаксис Python


Основные правила написания кода. Цвета операторов, переменных и методов, текста, чисел и комментариев.

Ноды:

Python Script


операторы, import, for, in, not, переменные, методы, текстовый формат, числовой формат, комментарии

Простейшие операции

Для проcмотра видеоурока войдите или создайте аккаунт

Основы работы с числовым и текстовым форматом. Назначение переменных. Вывод результата работы скрипта.

Ноды:

Python Script, Code Block


OUT, результат скрипта, числа, операции, сложение, суммирование, строки, IN, переменные, присваивание, вывод результата

Простейшие операции


Основы работы с числовым и текстовым форматом. Назначение переменных. Вывод результата работы скрипта.

Ноды:

Python Script, Code Block


OUT, результат скрипта, числа, операции, сложение, суммирование, строки, IN, переменные, присваивание, вывод результата

Анализ предупреждений

Для проcмотра видеоурока войдите или создайте аккаунт

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

Ноды:

Python Script, Code Block


ошибка, предупреждение, TypeError, сложение разных форматов, поиск ошибок

Анализ предупреждений


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

Ноды:

Python Script, Code Block


ошибка, предупреждение, TypeError, сложение разных форматов, поиск ошибок

Операторы условия if, elif, else

Для проcмотра видеоурока войдите или создайте аккаунт

Простой способ проверки различных условий с помощью трёх операторов условий: IF (“если”), ELIF (“если нет, то если”) и ELSE (“если нет, то”). Пример сравнения двух чисел.

Ноды:

Python Script, Code Block


операторы, if, условие, сравнение чисел, тело оператора, Tab, else, elif, ==, >

Операторы условия if, elif, else


Простой способ проверки различных условий с помощью трёх операторов условий: IF (“если”), ELIF (“если нет, то если”) и ELSE (“если нет, то”). Пример сравнения двух чисел.

Ноды:

Python Script, Code Block


операторы, if, условие, сравнение чисел, тело оператора, Tab, else, elif, ==, >

Операторы and, or

Для проcмотра видеоурока войдите или создайте аккаунт

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

Ноды:

Python Script, Code Block


диапазон, попадание в диапазон, условие, операторы, and, NameError, неопределённая переменная, or

Операторы and, or


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

Ноды:

Python Script, Code Block


диапазон, попадание в диапазон, условие, операторы, and, NameError, неопределённая переменная, or

Операторы in, not

Для проcмотра видеоурока войдите или создайте аккаунт

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

Ноды:

Python Script, Code Block


операторы, in, список, попадание в список, отрицание, not

Операторы in, not


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

Ноды:

Python Script, Code Block


операторы, in, список, попадание в список, отрицание, not

Оператор цикла for

Для проcмотра видеоурока войдите или создайте аккаунт

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

Ноды:

Python Script, Code Block


список, обработка списка, цикл, операторы, for, in, if, пустой список, создание списка, функции, аргументы, append, элемент списка, добавление элемента в список

Оператор цикла for


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

Ноды:

Python Script, Code Block


список, обработка списка, цикл, операторы, for, in, if, пустой список, создание списка, функции, аргументы, append, элемент списка, добавление элемента в список

Оператор цикла while

Для проcмотра видеоурока войдите или создайте аккаунт

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

Ноды:

Python Script, Code Block


цикл, while, условие, счётчик, обновление счётчика, зацикливание

Оператор цикла while


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

Ноды:

Python Script, Code Block


цикл, while, условие, счётчик, обновление счётчика, зацикливание

Функция dir( ). Раскрытие элементов

Для проcмотра видеоурока войдите или создайте аккаунт

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

Ноды:

Python Script, Categories, All Element of Category


функции, dir, тип данных, элемент, методы, свойства, Length, UnwrapElement, раскрытие элемента

Функция dir( ). Раскрытие элементов


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

Ноды:

Python Script, Categories, All Element of Category


функции, dir, тип данных, элемент, методы, свойства, Length, UnwrapElement, раскрытие элемента

Метод LookupParameter( )

Для проcмотра видеоурока войдите или создайте аккаунт

Получение значений любых параметров элементов Revit. Ввод типа данных, в котором необходимо данное значение получить.

Ноды:

Python Script, Categories, All Element of Category


параметры, значение параметра, LookupParameter, типы данных, AsString

Метод LookupParameter( )


Получение значений любых параметров элементов Revit. Ввод типа данных, в котором необходимо данное значение получить.

Ноды:

Python Script, Categories, All Element of Category


параметры, значение параметра, LookupParameter, типы данных, AsString

Поиск функций. Библиотеки. Транзакции

Для проcмотра видеоурока войдите или создайте аккаунт

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

Ноды:

Python Script, Change Family Type


функции, пакеты, изменение типоразмера, раскрытие нода, ChangeTypeId, библиотеки, RevitNodes, RevitServices, DocumentManger, TransactionManager, текущий проект, транзакция, изменение проекта

Поиск функций. Библиотеки. Транзакции


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

Ноды:

Python Script, Change Family Type


функции, пакеты, изменение типоразмера, раскрытие нода, ChangeTypeId, библиотеки, RevitNodes, RevitServices, DocumentManger, TransactionManager, текущий проект, транзакция, изменение проекта

Поиск на revitapidocs.com

Для проcмотра видеоурока войдите или создайте аккаунт

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


Revit API, revitapidocs.com, классы, методы, свойства, примеры применения, Wall, аргументы

Поиск на revitapidocs.com


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


Revit API, revitapidocs.com, классы, методы, свойства, примеры применения, Wall, аргументы

Надстройка Revit Lookup

Для проcмотра видеоурока войдите или создайте аккаунт

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


надстройки, Revit Lookup, свойства элемента, параметры, BuiltInParameter, системные параметры

Надстройка Revit Lookup


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


надстройки, Revit Lookup, свойства элемента, параметры, BuiltInParameter, системные параметры

Организация скриптов с помощью Dynamo Player

Для проcмотра видеоурока войдите или создайте аккаунт

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

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


организация скриптов, браузер скриптов, Dynamo Player, папка скриптов, запуск скрипта

Организация скриптов с помощью Dynamo Player


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

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


организация скриптов, браузер скриптов, Dynamo Player, папка скриптов, запуск скрипта

Удобный поиск элементов модели

Для проcмотра видеоурока войдите или создайте аккаунт

Создание скрипта, который находит элемент модели по его категории, параметру и значению параметра. В качестве примера представлен поиск помещения по его номеру. На примере данного скрипта показаны общие правила оформления скриптов.

Ноды:

Categories, All Elements of Category, Element.GetParameterValueByName, String, List.FilterByBoolMask, ==, Watch

скрипт, создание скрипта, поиск элемента, Id, категория, помещение, параметр, номер помещения, значение параметра, фильтрация списка, группа, оформление

Удобный поиск элементов модели


Создание скрипта, который находит элемент модели по его категории, параметру и значению параметра. В качестве примера представлен поиск помещения по его номеру. На примере данного скрипта показаны общие правила оформления скриптов.

Ноды:

Categories, All Elements of Category, Element.GetParameterValueByName, String, List.FilterByBoolMask, ==, Watch

скрипт, создание скрипта, поиск элемента, Id, категория, помещение, параметр, номер помещения, значение параметра, фильтрация списка, группа, оформление

Перемаркировка экземпляров дверей

Для проcмотра видеоурока войдите или создайте аккаунт

Создание скрипта, который меняет марки элементов модели исходя из заданных стандартов. Например, добавляет к маркам дверей префикс “Д-”. Скрипт так же оформляется.

Ноды:

Categories, All Elements of Category, Element.GetParameterValueByName, String, Element.SetParameterByName, Code Block, Watch

скрипт, создание скрипта, перемаркировка, параметр экземпляра, двери, марка, регистр, значение параметра, префикс, запуск скрипта, ручной режим запуска, оформление скрипта

Перемаркировка экземпляров дверей


Создание скрипта, который меняет марки элементов модели исходя из заданных стандартов. Например, добавляет к маркам дверей префикс “Д-”. Скрипт так же оформляется.

Ноды:

Categories, All Elements of Category, Element.GetParameterValueByName, String, Element.SetParameterByName, Code Block, Watch

скрипт, создание скрипта, перемаркировка, параметр экземпляра, двери, марка, регистр, значение параметра, префикс, запуск скрипта, ручной режим запуска, оформление скрипта

Перемаркировка типов окон

Для проcмотра видеоурока войдите или создайте аккаунт

Модификация предыдущего скрипта для применения к маркировке типоразмеров окон.

Ноды:

Categories, All Elements of Category, Element.GetParameterValueByName, String, Element.SetParameterByName, Code Block, Watch, FamilyInstance.Type, List.UniqueItems

скрипт, создание скрипта, модификация скрипта, параметр типа, сохранение скрипта, категория, параметр, префикс, получение типоразмера, замораживание, оформление скрипта

Перемаркировка типов окон


Модификация предыдущего скрипта для применения к маркировке типоразмеров окон.

Ноды:

Categories, All Elements of Category, Element.GetParameterValueByName, String, Element.SetParameterByName, Code Block, Watch, FamilyInstance.Type, List.UniqueItems

скрипт, создание скрипта, модификация скрипта, параметр типа, сохранение скрипта, категория, параметр, префикс, получение типоразмера, замораживание, оформление скрипта

Перемаркировка дверей по направлению. Часть 1

Для проcмотра видеоурока войдите или создайте аккаунт

Создание скрипта, маркирующего элементы в зависимости от их геометрического расположения. В качестве примера представлена перемаркировка дверей в проекте. Процесс разделён на 2 части.

Ноды:

All Elements at Level, Levels, Watch, Element.GetCategory, Code Block, ==, String from Object, List.FilterByBoolMask, FamilyInstance.LocationGeometry.BoundingBox, BoundingBox.MinPoint, BoundingBox.MaxPoint

скрипт, создание скрипта, перемаркировка, геометрическое положение, получение категории элемента, фильтрация списка, координаты, BoundingBox, максимальная точк, минимальная точка

Перемаркировка дверей по направлению. Часть 1


Создание скрипта, маркирующего элементы в зависимости от их геометрического расположения. В качестве примера представлена перемаркировка дверей в проекте. Процесс разделён на 2 части.

Ноды:

All Elements at Level, Levels, Watch, Element.GetCategory, Code Block, ==, String from Object, List.FilterByBoolMask, FamilyInstance.LocationGeometry.BoundingBox, BoundingBox.MinPoint, BoundingBox.MaxPoint

скрипт, создание скрипта, перемаркировка, геометрическое положение, получение категории элемента, фильтрация списка, координаты, BoundingBox, максимальная точк, минимальная точка

Перемаркировка дверей по направлению. Часть 2

Для проcмотра видеоурока войдите или создайте аккаунт

Продолжение разработки предыдущего скрипта. Оформление скрипта.

Ноды:

Code Block, List.SortByKey, Element.SetParameterByName, String, Count, String from Object

скрипт, создание скрипта, точка, координаты, сортировка по ключу, изменение значения параметра, диапазон, перевод в текстовый формат, оформление скрипта

Перемаркировка дверей по направлению. Часть 2


Продолжение разработки предыдущего скрипта. Оформление скрипта.

Ноды:

Code Block, List.SortByKey, Element.SetParameterByName, String, Count, String from Object

скрипт, создание скрипта, точка, координаты, сортировка по ключу, изменение значения параметра, диапазон, перевод в текстовый формат, оформление скрипта

Перемаркировка помещений по направлению. Часть 1

Для проcмотра видеоурока войдите или создайте аккаунт

Модификация предыдущего скрипта для перемарикровки помещений на всех уровнях от заданного угла.

Ноды:

Categories, All Elements of Category, List.GroupByKey, Element.GetParameterValueByName, Code Block, Room.Location, List.SortByKey, Element.SetParameterByName, Count, String from Object

скрипт, создание скрипта, маркировка от угла, помещение, группировка списка, ключи, значение параметра, уровень, точка вставки, координаты, переплетение, последовательность чисел, количество элементов в списке

Перемаркировка помещений по направлению. Часть 1


Модификация предыдущего скрипта для перемарикровки помещений на всех уровнях от заданного угла.

Ноды:

Categories, All Elements of Category, List.GroupByKey, Element.GetParameterValueByName, Code Block, Room.Location, List.SortByKey, Element.SetParameterByName, Count, String from Object

скрипт, создание скрипта, маркировка от угла, помещение, группировка списка, ключи, значение параметра, уровень, точка вставки, координаты, переплетение, последовательность чисел, количество элементов в списке

Перемаркировка помещений по направлению. Часть 2

Для проcмотра видеоурока войдите или создайте аккаунт

Нюансы при разработке предыдущего скрипта. Учёт неразмещённых помещений.

Ноды:

Room.Area, >, List.FilterByBoolMask,

неразмещённое помещение, фильтрация списка, взаимосвязь координат

Перемаркировка помещений по направлению. Часть 2


Нюансы при разработке предыдущего скрипта. Учёт неразмещённых помещений.

Ноды:

Room.Area, >, List.FilterByBoolMask,

неразмещённое помещение, фильтрация списка, взаимосвязь координат

Отслеживание отзеркаленных элементов. Часть 1

Для проcмотра видеоурока войдите или создайте аккаунт

Создание скрипта, определяющего двери, которые были зеркально отражены. Конечной целью скрипта является корректная ведомость заполнения проёмов без лишних усилий.

Ноды:

Categories, All Elements of Category, Mirror, Element.position-rotation-mirrored, Python Script, Element.GetLocation, List.FilterByBoolMask, ObjectIsNull

скрипт, создание скрипта, отзеркаливание, отразить, mirror, двери, ведомость заполнения, проверка, установка пакета, раскрытие нода, AttributeError, координаты, фильтрация

Отслеживание отзеркаленных элементов. Часть 1


Создание скрипта, определяющего двери, которые были зеркально отражены. Конечной целью скрипта является корректная ведомость заполнения проёмов без лишних усилий.

Ноды:

Categories, All Elements of Category, Mirror, Element.position-rotation-mirrored, Python Script, Element.GetLocation, List.FilterByBoolMask, ObjectIsNull

скрипт, создание скрипта, отзеркаливание, отразить, mirror, двери, ведомость заполнения, проверка, установка пакета, раскрытие нода, AttributeError, координаты, фильтрация

Отслеживание отзеркаленных элементов. Часть 2

Для проcмотра видеоурока войдите или создайте аккаунт

Продолжение разработки предыдущего скрипта. Внесение информации о стороне открывания двери в её параметр для корректного отображения в спецификации.

Ноды:

List.FilterByBoolMask, Element.SetParameterByName, Code Block, FamilyInstance.Type, Element.Name

параметр, заполнение параметра, фильтрация, автоматический режим, типоразмер, сложение строк

Отслеживание отзеркаленных элементов. Часть 2


Продолжение разработки предыдущего скрипта. Внесение информации о стороне открывания двери в её параметр для корректного отображения в спецификации.

Ноды:

List.FilterByBoolMask, Element.SetParameterByName, Code Block, FamilyInstance.Type, Element.Name

параметр, заполнение параметра, фильтрация, автоматический режим, типоразмер, сложение строк

Передвижение марок помещений. Часть 1

Для проcмотра видеоурока войдите или создайте аккаунт

Создание скрипта, который перемещает марки со значением площади в правый нижний угол помещений. Скрипт основывается на получении у элемента помещений Bounding Box (рамки выбора). В первой части происходит фильтрация нужных марок.

Ноды:

Categories, All Elements of Category, Watch, List.FilterByBoolMask, Element.GetParameterValueByName, Code Block, Element.Name, ==

скрипт, создание скрипта, оформление, марка, помещение, Bounding Box, координаты, точка, перемещение, типоразмер, фильтрация, сравнение, значение параметра

Передвижение марок помещений. Часть 1


Создание скрипта, который перемещает марки со значением площади в правый нижний угол помещений. Скрипт основывается на получении у элемента помещений Bounding Box (рамки выбора). В первой части происходит фильтрация нужных марок.

Ноды:

Categories, All Elements of Category, Watch, List.FilterByBoolMask, Element.GetParameterValueByName, Code Block, Element.Name, ==

скрипт, создание скрипта, оформление, марка, помещение, Bounding Box, координаты, точка, перемещение, типоразмер, фильтрация, сравнение, значение параметра

Передвижение марок помещений. Часть 2

Для проcмотра видеоурока войдите или создайте аккаунт

Продолжение разработки предыдущего скрипта. Поиск способа, позволяющего получить маркированное помещение по марке.

Ноды:

Tag.TaggedElement, Python Script

получение маркированного элемента, поиск пакета, функция, dir, UnwrapElement, методы, свойства, цикл, for, список, добавление элемента в список

Передвижение марок помещений. Часть 2


Продолжение разработки предыдущего скрипта. Поиск способа, позволяющего получить маркированное помещение по марке.

Ноды:

Tag.TaggedElement, Python Script

получение маркированного элемента, поиск пакета, функция, dir, UnwrapElement, методы, свойства, цикл, for, список, добавление элемента в список

Передвижение марок помещений. Часть 3

Для проcмотра видеоурока войдите или создайте аккаунт

Продолжение разработки предыдущего скрипта. Непосредственно перемещение марок и назначение допуска от угла.

Ноды:

Geometry.BoundingBox, BoundingBox.MaxPoint, BoundingBox.MinPoint, Code Block, Element.SetLocation

помещение, Bounding Box, точка, координаты, Location, перемещение, допуск, алгоритм

Передвижение марок помещений. Часть 3


Продолжение разработки предыдущего скрипта. Непосредственно перемещение марок и назначение допуска от угла.

Ноды:

Geometry.BoundingBox, BoundingBox.MaxPoint, BoundingBox.MinPoint, Code Block, Element.SetLocation

помещение, Bounding Box, точка, координаты, Location, перемещение, допуск, алгоритм

Построение стены по сплайну

Для проcмотра видеоурока войдите или создайте аккаунт

Создание скрипта, который позволяет формировать стены по сплайну. Пример того, как можно оптимизировать стандартный функционал Revit.

Ноды:

Select Model Element, Element.Geometry, Wall.ByCurveAndHeight, Code Block, Levels, Wall Types, Curve.ApproximateWithArcAndLineSegments, Point.PruneDuplicates, Curve.EndPoint, Number Slider, PolyCurve.ByPoints, PolyCurve.Curves

скрипт, создание скрипта, расширение функционала, оптимизация, стена, линия модели, сплайн, геометрия Dynamo, создание стены, аппроксимация, точка, дублирование, допуск, полилиния, кривая, автоматический режим

Построение стены по сплайну


Создание скрипта, который позволяет формировать стены по сплайну. Пример того, как можно оптимизировать стандартный функционал Revit.

Ноды:

Select Model Element, Element.Geometry, Wall.ByCurveAndHeight, Code Block, Levels, Wall Types, Curve.ApproximateWithArcAndLineSegments, Point.PruneDuplicates, Curve.EndPoint, Number Slider, PolyCurve.ByPoints, PolyCurve.Curves

скрипт, создание скрипта, расширение функционала, оптимизация, стена, линия модели, сплайн, геометрия Dynamo, создание стены, аппроксимация, точка, дублирование, допуск, полилиния, кривая, автоматический режим

Параметрическая стена по синусоиде

Для проcмотра видеоурока войдите или создайте аккаунт

Создание параметрической синусоиды (с изменяемыми длиной, амплитудой, частотой, точностью) и стены на её основе. Пример создания параметрической геометрии.

Ноды:

Math.Sin, Code Block, Math.DegreesToRadians, Point.BeCoordinates, PolyCurve.ByPoints, PolyCurve.Curves, Wall.ByCurveAndHeight, Levels, Wall Types

скрипт, создание скрипта, геометрия, параметризация, синусоида, Design Script, последовательность точек, шаг, радианы, амплитуда, частота, полилиния, создание стены

Параметрическая стена по синусоиде


Создание параметрической синусоиды (с изменяемыми длиной, амплитудой, частотой, точностью) и стены на её основе. Пример создания параметрической геометрии.

Ноды:

Math.Sin, Code Block, Math.DegreesToRadians, Point.BeCoordinates, PolyCurve.ByPoints, PolyCurve.Curves, Wall.ByCurveAndHeight, Levels, Wall Types

скрипт, создание скрипта, геометрия, параметризация, синусоида, Design Script, последовательность точек, шаг, радианы, амплитуда, частота, полилиния, создание стены

Параметрическая башня по косинусоиде

Для проcмотра видеоурока войдите или создайте аккаунт

Создание перекрытий параметрической башни по математической функции. Входными параметрами являются высота башни, высота этажа, минимальный и максимальный радиусы перекрытий.

Ноды:

Circle,ByCenterPointRadius, Point.ByCoordinates, Code Block, Floor.ByOutlineTypeAndLevel, Floor Types, Levels, Curve.SplitByParameter

скрипт, создание скрипта, перекрытие, окружность, радиус, последовательность числе, точка, Design Script, косинус, геометрия, параметризация, преобразование геометрии, замкнутая кривая, разделение кривой, создание перекрытия

Параметрическая башня по косинусоиде


Создание перекрытий параметрической башни по математической функции. Входными параметрами являются высота башни, высота этажа, минимальный и максимальный радиусы перекрытий.

Ноды:

Circle,ByCenterPointRadius, Point.ByCoordinates, Code Block, Floor.ByOutlineTypeAndLevel, Floor Types, Levels, Curve.SplitByParameter

скрипт, создание скрипта, перекрытие, окружность, радиус, последовательность числе, точка, Design Script, косинус, геометрия, параметризация, преобразование геометрии, замкнутая кривая, разделение кривой, создание перекрытия

Случайная расстановка объектов генплана. Часть 1

Для проcмотра видеоурока войдите или создайте аккаунт

Создание скрипта, который формирует произвольные комбинации элементов. В качестве примера рассмотрено пакетное создание деревьев наподобие того, как это сделано в программе Lumion.

Ноды:

Select Model Element, Family Types, Code Block, List.Create, List.Cycle, List.Shuffle, FamilyInstance.ByPoint, Element.Geometry

скрипт, создание скрипта, генерация случайных чисел, генплан, дерево, линия модели, список, цикл, перемешивание, создание экземпляра, точка, геометрия

Случайная расстановка объектов генплана. Часть 1


Создание скрипта, который формирует произвольные комбинации элементов. В качестве примера рассмотрено пакетное создание деревьев наподобие того, как это сделано в программе Lumion.

Ноды:

Select Model Element, Family Types, Code Block, List.Create, List.Cycle, List.Shuffle, FamilyInstance.ByPoint, Element.Geometry

скрипт, создание скрипта, генерация случайных чисел, генплан, дерево, линия модели, список, цикл, перемешивание, создание экземпляра, точка, геометрия

Случайная расстановка объектов генплана. Часть 2

Для проcмотра видеоурока войдите или создайте аккаунт

Продолжение разработки предыдущего скрипта. Приём для постоянного обновления случайных чисел.

Ноды:

Curve.PointAtParameter, Code Block, Math.Rand, Math.Random, Math.RandomList, Curve.Length

разделение кривой, список, генерация случайных чисел, random, длина кривой

Случайная расстановка объектов генплана. Часть 2


Продолжение разработки предыдущего скрипта. Приём для постоянного обновления случайных чисел.

Ноды:

Curve.PointAtParameter, Code Block, Math.Rand, Math.Random, Math.RandomList, Curve.Length

разделение кривой, список, генерация случайных чисел, random, длина кривой

Пакетное создание полов

Для проcмотра видеоурока войдите или создайте аккаунт

Создание скрипта, моделирующего полы заданного типа для всех помещений проекта.

Ноды:

Floor.ByOutlineTypeAndLevel, Floor Types, All Elements at Level, Ctegories, All Elements of Category, Watch, RemoveIfNot, Code Block, Room.FinishBoundary, Geometry.Translate

скрипт, создание скрипта, перекрытие, создание перекрытия, отделка, пол, уровень, элементы уровня, категория, переплетение, контур помещения, границы, предварительный просмотр, ручной режим, преобразование геометрии

Пакетное создание полов


Создание скрипта, моделирующего полы заданного типа для всех помещений проекта.

Ноды:

Floor.ByOutlineTypeAndLevel, Floor Types, All Elements at Level, Ctegories, All Elements of Category, Watch, RemoveIfNot, Code Block, Room.FinishBoundary, Geometry.Translate

скрипт, создание скрипта, перекрытие, создание перекрытия, отделка, пол, уровень, элементы уровня, категория, переплетение, контур помещения, границы, предварительный просмотр, ручной режим, преобразование геометрии

Простейшая ведомость отделки. Часть 1

Для проcмотра видеоурока войдите или создайте аккаунт

Создание скрипта, заполняющего ведомость отделки помещений. Рассмотрен простейший случай, при котором отделка не моделируется, а является текстовым параметром помещения.

Ноды:

Categories, All Elements of Category, Element.GetParameterValueByName, Code Block, Element.SetParameterByName

скрипт, создание скрипта, ведомость отделки, параметры, отделка, спецификация, ключи спецификаций, значение параметра, формулы, площадь стен, окна, двери

Простейшая ведомость отделки. Часть 1


Создание скрипта, заполняющего ведомость отделки помещений. Рассмотрен простейший случай, при котором отделка не моделируется, а является текстовым параметром помещения.

Ноды:

Categories, All Elements of Category, Element.GetParameterValueByName, Code Block, Element.SetParameterByName

скрипт, создание скрипта, ведомость отделки, параметры, отделка, спецификация, ключи спецификаций, значение параметра, формулы, площадь стен, окна, двери

Простейшая ведомость отделки. Часть 2

Для проcмотра видеоурока войдите или создайте аккаунт

Продолжение разработки предыдущего скрипта. Определение помещений для каждого проёма.

Ноды:

Get To-From Room, Python Script, List.Joint

поиск пакета, помещение проёма, раскрытие нода, объединение списков, редактирование скрипта, цикл, for, методы, FromRoom, ToRoom

Простейшая ведомость отделки. Часть 2


Продолжение разработки предыдущего скрипта. Определение помещений для каждого проёма.

Ноды:

Get To-From Room, Python Script, List.Joint

поиск пакета, помещение проёма, раскрытие нода, объединение списков, редактирование скрипта, цикл, for, методы, FromRoom, ToRoom

Простейшая ведомость отделки. Часть 3

Для проcмотра видеоурока войдите или создайте аккаунт

Продолжение разработки предыдущего скрипта. Группирование проёмов по помещениям. Получение суммы площадей проёмов для каждого помещения.

Ноды:

List.GroupByKey, List.Transpose, Code Block, Python Script, Watch, Element.GetParameterValueByName, Math.Sum

группирование списков, ключи, транспонирование, вложенные списки, цикл, for, создание списка, добавление элемента в список, системные параметры, Revit Lookup, площадь, значение параметра, суммирование

Простейшая ведомость отделки. Часть 3


Продолжение разработки предыдущего скрипта. Группирование проёмов по помещениям. Получение суммы площадей проёмов для каждого помещения.

Ноды:

List.GroupByKey, List.Transpose, Code Block, Python Script, Watch, Element.GetParameterValueByName, Math.Sum

группирование списков, ключи, транспонирование, вложенные списки, цикл, for, создание списка, добавление элемента в список, системные параметры, Revit Lookup, площадь, значение параметра, суммирование

Шаблон Dynamo для начинающего

Для проcмотра видеоурока войдите или создайте аккаунт

При написании макросов часто используются типовые конструкции. Мы собрали самые часто используемые связки нодов в один шаблон для Dynamo.

Он содержит описания форматов данных, принципы работы со списками, простые конструкции нодов. Из заготовок шаблона вы можете сделать простые и полезные скрипты по переносу значений параметров, сортировке, фильтрации элементов. Текстовые описания в примерах описывают работу нодов и дают подсказку по поиску их в библиотеке.

Скачать шаблон

Autodesk Revit, Dynamo, Шаблон, script

Шаблон Dynamo для начинающего


При написании макросов часто используются типовые конструкции. Мы собрали самые часто используемые связки нодов в один шаблон для Dynamo.

Он содержит описания форматов данных, принципы работы со списками, простые конструкции нодов. Из заготовок шаблона вы можете сделать простые и полезные скрипты по переносу значений параметров, сортировке, фильтрации элементов. Текстовые описания в примерах описывают работу нодов и дают подсказку по поиску их в библиотеке.

Скачать шаблон

Autodesk Revit, Dynamo, Шаблон, script

Быстрый подсчет отделки стен с помощью Dynamo

Подсчет отделки стен – один из наиболее утомительных процессов при проектировании.  Поэтому мы подготовили скрипт для быстрого и простого понятного расчета с помощью Dynamo.

Он анализирует помещения и связанные с ними стены, окна, двери, вычитая площади проемов. Все данные собираются в таблице, которая также приложена к скрипту.

Если вам захочется получать ведомость отделки ещё быстрее, то вы можете взять наши наработки в качестве основы.

Скрипт разработан для архитектурного бюро «Земцов, Кондиайн и Партнеры». Это первое частное архитектурное бюро в Санкт-Петербурге. Его архитекторы разработали проект новой сцены Александринского театра и концепцию подземного пространства под площадью Восстания. Бюро «Земцов, Кондиайн и Партнеры» дважды удостоено Национальной архитектурной премии — «Хрустальный Дедал».

Команда Vysotskiy consulting помогла компании перейти на BIM, настроить единую систему в компании, обучила тонкостям проектирования и в текущий момент поддерживает проектировщиков, отвечая на сложные вопросы.

Исходные данные содержат:

  • Скрипт для подсчета площади отделки стены
  • Скрипт для подсчета площади торцов лестниц
  • Пример проекта с настроенными объектами и подсчитанной спецификацией

Скачать материалы

 

Видеоинструкция

Для проcмотра видеоурока войдите или создайте аккаунт

 

Подсчет площади отделки стен

Скрипт анализирует помещения и связанные с ними элементы, определяет заполнения проёмов и группирует их по помещениям. Затем находит площади боковых граней помещений и материалы стен, образующих эти грани.

При этом площади сгруппированных проёмов вычитаются. Материалы стен определяются из параметров типов, заполненных в проекте.

Из материалов и площадей формируются длинные строки для каждого помещения — для того, чтобы данные значения отображались в спецификации. Кроме того, для дальнейшего использования модели предусмотрены числовые параметры площадей отделки.

В результате такого анализа заполняются параметры помещений, которые выносятся в спецификацию.

 

Подсчет площади торцов лестниц

Площадь торцевых поверхностей лестниц вычисляется отдельным скриптом. В этом же скрипте в помещения заносится информация о сумме торцевых поверхностей всех лестниц для каждого помещения. Эта информация в общей спецификации может учитываться только вручную.

Витражи для корректного расчёта должны не накладываться на стены — для этого после моделирования витража редактируется профиль соответствующей стены.

 

Подготовка к работе

1. Добавьте параметры к проекту

  Имя параметра   Тип данных   Экземпляр/Тип
  Для категории «Помещение»    
  Площадь отделки стен   Текст   Экземпляр
  Площадь черновой отделки   Площадь   Экземпляр
  Площадь чистовой отделки   Площадь   Экземпляр
  Площадь торцов лестницы   Площадь   Экземпляр
     
  Для категории «Стены»    
  Тип черновой отделки   Текст   Тип
  Тип чистовой отделки   Текст   Тип
     
  Для категории «Лестницы»    
  Площадь торцов   Площадь   Экземпляр

     

2. Заполните параметры для категории стены

3. Добавьте скрипты в Dynamo Проигрыватель

4. Перенесите настроенную спецификацию из файла-примера в свой проект

 

Использование скрипта

1. Проверьте, что стены с витражами имеют вырезанные профили под витражи.

2. Запустите первый скрипт

3. Запустите второй скрипт.

4. Проверьте сформированную спецификацию

 

Автоматическое размещение отверстий в стенах и формирование спецификаций

Данные скрипты позволяют сократить время на рутинный процесс размещения отверстий. Отверстия размещаются автоматически в местах пересечений труб, воздуховодов и стен. Далее производится группировка отверстий по размерам и по отметке. В качестве основы мы использовали скрипт Сергея Кривого

Напоминаем, что после автоматической расстановки отверстий модель нужно обязательно проверить на корректность. Может быть избыточное количество проемов в несущих стенах, либо добавление маленьких отверстий там, где можно обойтись одним, но большего размера.

В материалах к видео вы найдете скрипты и файлы для Revit 2017 и выше.

Скачать скрипты и проект

Видеоинструкция: создание отверстий

Для проcмотра видеоурока войдите или создайте аккаунт

 

Видеоинструкция: работа скриптов

Для проcмотра видеоурока войдите или создайте аккаунт

 

Обратная связь

Мы будем рады замечаниям, предложениям и дополнениям. Пожалуйста, отправляйте их на contact@bim.vc с темой “Dynamo: видеокурс”. Спасибо!

Также можем разместить ваши скрипты у нас на ресурсе, с указанием авторства и ссылок на создателя.