7.2.3 Скрипты Dynamo. Инструкции

Настройка библиотеки пакетов нодов Dynamo

1. Заходим в Revit на вкладку «Управление» и запускаем Dynamo (при первом запуске может быть окно «Начало работы с Dynamo» — закройте его

2. На главной странице Dynamo зайдите на вкладку «Параметры» — «Управление путями к узлу и пакету»

3. В открывшемся окне добавляем новый путь: \\DSCLOUD\00_Processes_bim\12_Разработка DS\02_DYNAMO\00_Библиотека нодов и поднимаем данный путь на верхний уровень. Принимаем изменения

4. Для проверки нажмите кнопку «Создать» на главной странице Dynamo, слева в библиотеке должен появиться дополнительный список пакетов нодов


ОБЩ_08.01_Номер корпуса, ОБЩ_08.02_Номер секции

Общая информация

Скрипт разработан для автоматического заполнения номер секции/корпуса в модели с нескольким количеством секций.

Работа скрипта

Для работы скрипта, необходимо:

  1. В модели БФ BPM и DM создают  формообразующие по границам секций/корпусов .

2. За распределение спорных элементов – элементы на границе 2х секций – отвечает DM.

3. В проигрывателе выбирается:

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

4. Проигрывается скрипт.

Для корректной работы скрипта формы в переделах одной секции/корпуса должны быть объединены

ОБЩ_23_Заполнение параметра Этаж

Принцип работы

Заполнение параметра Этаж происходит в зависимости от уровня, к которому привязан элемент модели. Для каждого уровня должен быть вручную заполнен параметр Этаж согласно BEP. Значение данного параметра будет передаваться всем привязанным к уровню элементам. Если тот или иной элемент не имеет прямой привязки к уровню, но имеет привязку к основе (стена, грань, родительское семейств и т.д.), то заимствуется уровень основы. Если элемент не имеет основы, то значение заполняется по значению параметра Уровень спецификации.

Необходимо следить за тем, чтобы все элементы модели были привязаны к уровню того этажа, на котором они фактически расположены. Нельзя допускать случаев, когда элемент расположен на 3 этаже, а в параметре Уровень у него задано «Этаж 2» со смещением от уровня  +3500 мм.

Алгоритм использования

Далее будут описаны основные инструкции по использованию данного инструмента.

1. Проверка наличия параметра Этаж в модели и корректность его настройки

Согласно действиям, показанным на Рисунке 3.1 необходимо проверить наличие параметра Этаж в Параметрах проекта (1-3), а затем проверить корректность его настроек (4-8). Параметр должен быть параметром Экземпляра (5) и изменяться по экземплярам группы (6), а также должны быть проставлены все галочки во всех категориях и подкатегориях по всем дисциплинам (7-8). Если галочки стоят не у всех категорий, то можно раскрыть все подкатегории и нажать кнопку «Выбрать все» (9).

Если параметр Этаж отсутствует в списке параметров проекта, необходимо обратиться к BPM.

Рисунок 3.1 — Настройки параметра Этаж

2. Проверка заполнения параметра Этаж у уровней

Для каждого уровня в модели должен быть заполнен параметр Этаж, соответствующий данному уровню согласно BEP (Рисунок 3.2). Данное значение заполняется вручную.

Рисунок 3.2 — Заполнение параметра Этаж у уровней модели

3. Процесс запуска скрипта

Согласно действиям на Рисунке 3.3 необходимо запустить проигрыватель Dynamo, указать в нём папку, где расположен скрипт и раскрыть окно его настроек.

Рисунок 3.3 – Процесс указания пути до скрипта и открытие его настроек

В настройках скрипта есть несколько полей (Рисунок 3.4), отвечающих за настройки перед запуском (1-2) и за результат отработки (4-6).

1 – Если включено, то всем элементам в группе будет задаваться значение параметра Этаж согласно уровню, к которому привязана группа. Если выключено, то значение Этаж будет задаваться независимо от группы по привязке каждого элемента к уровню или основе. Данная настройка ускоряет работу скрипта, но накладывает ограничение на сам принцип группировки — в группу можно собирать элементы, принадлежащие только одному этажу.

2 – Если в параметре Этаж у того или иного элемента будет содержаться данная строка или символ, то такие элементы не будут обрабатываться скриптом и для них не будет перезаписываться значение параметра.

3 – Запустить скрипт. Начнется заполнение параметра Этаж у всех элементов модели.

4 – В данном поле будут выводиться уровни, для которых не заполнен параметр Этаж.

5 – В данном поле будут выводиться ошибки в настройках параметра Этаж (см. п. 1.3.1).

6 – В данном пункте будут выводиться элементы, для которых не удалось заполнить параметр Этаж по тем или иным причинам. Как правило, это элементы, у которых отсутствует основа и не заполнен параметр Уровень спецификации.

Рисунок 3.4 – Окно настроек скрипта

4. Анализ результата работы скрипта

После запуска и отработки скрипта важно обратить внимание на то, какие предупреждения будут написаны полях предупреждений (поля 4-6, Рисунок 3.4). Для того, чтобы всем элементам корректно назначалось значение параметра Этаж, такие предупреждения нужно анализировать и обрабатывать. Пример отработки скрипта показан на Рисунке 3.5.

Рисунок 3.5 – пример отработки скрипта

Здесь указано, что имеется 2 уровня, у которых не заполнен параметр Этаж (1), а также имеется 1 элемент, которому не удалось заполнить значение параметра (2). Каждый уровень нужно выделить в модели и заполнить ему значение (Рисунок 3.6).

Рисунок 3.6 – Уровень с незаполненным параметром Этаж

У некоторых семейств, моделируемых по грани, для заполнения параметра Этаж, должен быть заполнен параметр Уровень спецификации. Как правило, он автоматически заимствуется у основы, в которой размещается семейство, но если используется инструмент «Копировать» или «Переместить» с галочкой «Разъединить» для копирования/перемещения таких элементов от основы к основе, то основа семейства может потеряться и в параметре Рабочая плоскость будет написано «Не связано». В таком случае значение параметра Уровень спецификации необходимо задать вручную (Рисунок 3.7)

Рисунок 3.7 – Задание параметра Уровень спецификации для элементов без основы

После устранения всех выводимых скриптом предупреждений, необходимо запустить его заново. Важно добиться результата, когда все поля предупреждений будут пустые (Рисунок 3.8).

Также, скрипт необходимо запускать всегда, когда были внесены какие-либо изменения в модель, чтобы актуализировать значение параметра у измененных и новых элементов.

Рисунок 8 – Успешный запуск скрипта без предупреждений

АР_06_Построение потолков

Скрипт работает в основной модели АР. Там, где располагаются помещения.

Перед использованием скрипта необходимо заполнить спецификацию КК_Высота помещений

В параметре «Высота подвесного потолка» необходимо указать высоту размещения потолка относительно уровня, на котором находится помещение. Ед. изм. – мм.


Если в помещении не предусматривается подвесной потолок, то параметр «Высота подвесного потолка» = 0.

Запустить скрипт через «Проигрыватель Dynamo» и выбрать:

  1. Тип перекрытия для построения потолка
  2. Имя группы, в которую собираются элементы

АР_07_Площадь отделки стен

Запуск скрипта выполнять в порядке:

  1. АР_07.1_Площадь проемов_Шаг 1.dyn
  2. АР_07.2_Подсчет отделки стен_Шаг 2
  3. АР_07.3_Подсчет отделки стен_Шаг 3

Обязательные параметры для работы скрипта, назначаются на категорию «Помещения»:

  • Проверка Подсчет отделки
  • Расчетная площадь стен
  • Площадь стен

Подсчёт отделки стен вычитается по формуле:


  Sотделки стен = Hпомещения * (Lграницы помещения– Lразделителей помещений и витражей )– Sдверей – Sокон

  • Hпомещения— Полная высота помещения
  • Lграницы помещения — Длина всех границ помещения (Стены, колонны, разделители помещений, витражи…)
  • Lразделителей помещений и витражей – Длина границ помещения, которые не должны учитываться в отделке стен.
  • Sдверей – Sокон – Площадь всех дверей и окон (не включая витражные)

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

Для проверки используется такие спецификации как:

КК_Спецификация дверей – Параметр «Описание» у витражных дверей содержит «Дверь витраж»

КК_Спецификация окон –Параметр «Описание» у витражных окон содержит «Окно витраж»
КК_Высота помещений
Параметр — Полная высота:

  • Горит красным — помещение не размещено. Его необходимо удалить или разместить.
  • Значение пустое – помещения с одним и тем же наименованием имеют разные высоты. Необходима проверка на корректно заданную высоту помещения 

КК_Площадь отделки стен

Параметр – Проверка Подсчет отделки:

  • Разделитель – в помещении есть разделитель помещения, необходимо проверить корректность построения
  • Витраж – в помещении границей помещения является витраж, необходимо поставить разделить помещения

Группа параметров – Сравнение площадей:

  • Проверка помещения — Расчетная площадь стен < Площадь (hxP). Значение может быть отрицательным лишь при условии, что в помещении размещена колонна, необходима визуальная проверка
  • Параметр проверки (Разница площадей больше 50%) – Разница между расчетным значение и значением hxP не больше 50% (0,5), необходима визуальная проверка

Повторить запуск скрипта.

АР_09_Мокрые помещения

Обязательные параметры для работы скрипта, назначаются на категорию «Помещения»: :

  • Проверка Мок.Пом.

Проверка на мокрые помещения проводится для выявления недопустимого расположение помещений, а именно:

  1. Расположение санузла над кухней.
  2. Расположение санузла и/или кухни над жилой комнатой;

Проверочная спецификация — КК_Проверка мокрых помещений

Если мокрое помещение располагается над жилым помещением, параметр «Проверка Мок.Пом.» будет равен «Да»


АР_10_Запись_Отделка Пола

Общая информация

Скрипт проверяет соответствие между наименованием помещения и типоразмером пола, замоделированном в нем.

Работа скрипта

Перед началом работы DD необходимо с помощью спецификации «КК_Высота помещений» проверить:

  1. Заполненность параметра «Имя» для помещений;
  2. Зависимости для высоты помещения: уровень, верхний предел (равен уровню), смещение сверху, смещение снизу.
Смещение сверху соответствует расстоянию от уровня до вышележащего перекрытия.

После этого запускается скрипт:

Результаты будут отображены в спецификации «КК_Полы по помещениям».

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

Если в помещении не замоделирован пол, то в столбце «Отделка пола» будет надпись «Не найдено пересечение»

АР_11_Копирование помещений типового этажа

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

  1. Указать уровень первого типового этажа, на котором расположены помещения, которые необходимо копировать
  2. Указать уровень, на который необходимо скопировать помещения
  3. Имя параметра, в котором заполнен номер помещения
  4. Имя параметра, в котором заполнен номер квартиры

АР_12_Заполнить ведомость спецификаций

Описание

Скрипт работает с категорией Элементы узлов.

Для работы скрипта необходимо:

  • Вспомогательный чертежный вид ЧВ_Ведомость спецификаций
  • Семейство Строка спецификации
  • Спецификация на элементы узлов Ведомость спецификаций

Фильтр по умолчанию Группа модели = Строка спецификации, для сортировки элементов узлов, участвующих в Ведомости спецификаций.

Параметры, участвующие в скрипте:

  • Раздел проекта – Параметр ФОП для записи раздела спецификации;
  • Комплект – Параметр ФОП для записи комплекта спецификации;
  • Столбец спецификации_1 – Параметр проекта для записи номера листа, на котором располагается спецификация;
  • Столбец спецификации_2 – Параметр проекта для записи наименований спецификаций через запятую;
  • Столбец спецификации_3 – Параметр проекта для записи примечаний, если требуется;
  • Номер листа – Параметр ФОП для записи номера листа, на котором располагается спецификация. Можно использовать любой другой параметр, отвечающий за номер листа.
  • Ведомость  — Параметр ФОП Да/Нет для учитывания или не учитывая спецификации в ведомости спецификаций.

Алгоритм

  1. Через параметр Ведомость определить какие спецификации учитывать в ведомости, а какие нет, по умолчанию стоит «учитывать»;
  2. Запустить проигрыватель Dynamo;
  3. Запустить скрипт АР_12_Заполнить ведомость спецификаций
  4. Ввести название параметра для значений номера листа, например Номер листа;
  5. Выбрать семейство Строка спецификации;
  6. Запустить скрипт, дождаться выполнения. В среднем скрипт отрабатывает за 1-5 минут, в зависимости от количества листов в модели;
  7. В конце отработки скрипта появится эксель таблица со спецификациями, которые находятся на листе и которым назначен параметр Ведомость = Нет. Это нужно для контроля качества, чтобы в выборку случайно не попала нужная спецификация;
  8. Если необходимо выдать ведомость спецификаций только по одному разделу, настроить фильтр по Разделу проекта. Пример: Раздел проекта = АР1
Примечание: наименование спецификации записывается из диспетчера проекта, а не из шапки спецификации. Подробнее смотри правила наименования спецификаций

BIM_03_Удалить все параметры, которых нет в ФОП

Скрипт сверяет параметры проекта по GUID с параметрами ФОП, если такого GUID нет в ФОП, то параметры удаляются. Удаляемые параметры записываются в Excel.

Примечание: Удаление параметров из семейств и моделей проекта влечёт за собой множество проблем. Такие как, сломанные семейства, оформленные виды, листы и пр. Скрипт стоит использовать только с особой осторожностью. Подробнее про очистку семейств смотри здесь. Подробнее про удаление дублируемых параметров смотри здесь.

Алгоритм

  1. Создать на рабочем столе пустую Excel таблицу со стандартным наименованием листа;
  2. Запустить проигрыватель Dynamo;
  3. Указать путь до ФОП в формате *xlsl с именем листа «DS_Shared Parametrs»;
  4. Указать путь к пустому Excel файлу;
  5. Результат удаленных параметров будет записан в пустой Excel файл.

КР_04_Армирование зоны усиления

Для использования скрипта нужно загрузить в проект семейство Элементов узлов «Зона усиления армирования».

00_ЦБ\2020\01_Оформление\01_Элементы узлов\02_КР_Для DYNAMO\Зона усиления армирования.rfa

Далее на плане нужно расположить зоны усиления

  1. Проверить типоразмер – соответствует диаметру и классу арматуры
  2. Установить корректные размеры. Можно корректировать ручками, можно устанавливать в свойствах.
  3. Прописать шаг раскладки стержней

Далее – запуск скрипта КР_04_Армирование зоны усиления

В настройках следует выбрать плиту перекрытия, 2D зону раскладки и указание по  расположению (верх/низ плиты). Расположение зависит от величины защитного слоя плиты.

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

На месте зон будут расположены прямые стержни по правилу компоновки Число с интервалом.

Важный момент: при создании новых типоразмеров Зон усиления нужно следить за наименованием – оно должно в точности совпадать с соответствующим наименованием типоразмера Арматурного стержня.

КР_05_Автоматическая ведомость деталей

Общая информация

Скрипт располагает ведомость деталей в верхнем правом углу листа.

Логика работы скрипта

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

Пример: Если ввести в скрипт марку См0.3, то спеки автоматически попадут на лист 313.

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

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

Скрипт располагает спецификации и аннотации по следующим координатам. Начало координат (0,0) в правом верхнем углу листа. 

Скрипт добавляет расставленным аннотациям Марку конструкции = введенной пользователем. 

При повторном запуске скрипт удаляет все типоразмеры Ведомость деталей с Маркой конструкции = введенной пользователем и размещает новые экземпляры. То же самое он делает со спецификациями, но по названию.

Алгоритм

  1. Загрузить в проект семейство “Ведомость деталей” («\\DSCLOUD\00_Processes_bim\02_Семейства\00_ЦБ\2020\01_Оформление\02_Обозначения\02_КР\04_Таблицы\02_Детали\Ведомость деталей.rfa»).
  2. Запросить BM добавить  шаблонные спецификации Ведомость детали_Марка_(Деталь) из шаблона DS_КР_Template_R20.
  3. Заполнить несущей арматуре параметр Марка конструкции.
  4. Запустить проигрыватель Dynamo и указать значения для параметров:

Важные моменты: 1) Если скрипт запускается первый раз и спецификации еще не существовали на листе, то скрипт отработает с ошибкой — это нормально. При обновлении спецификаций скрипт работает без ошибок.

2) Не должно быть в проекте листов с одинаковым именем.

3) Если спецификация не расположилась в верхнем правом углу листа, необходимо обновить семейство листа.

4) Если после запуска скрипта ничего не произошло, необходимо проверить наличие установленных пакетов Dynamo (Clockwork for Dynamo 2.x, Rhythm, bimorphNodes, archi-lab.net, RIE, Orchid, Zhukoven.com)

5) Скрипт работает с шириной спецификации равной 95 мм

Важно! В будущем сохранять наименование новых типоразмеров аннотаций по маске “Деталь (Деталь)

Была ли статья полезной?