Найти в Дзене
Хроники Георга

Renga API (Dynamo) - о паре полезных скриптов для работы со свойствами объектов

Оглавление

Наконец-то курс по программированию под Renga опубликован на bim.vc.

Он же в красочной обертке https://bim.vc/news/programmiruem-pod-renga-novyy-videokurs/
Он же в красочной обертке https://bim.vc/news/programmiruem-pod-renga-novyy-videokurs/

В этой статье я расскажу про 2 новых скрипта, не упомянутых в курсе (так как они появились после его создания). Скрипты будут для среды Dynamo и касаться работы с объектными свойствами.

С момента записи курса вон новые появились версии)
С момента записи курса вон новые появились версии)

Для работы скриптов ниже потребуется версия RengaDyn не ниже 1.5.0 (от 11.08.2022).

Предупреждая ваши вопросы, блок курса посвященный Dynamo начинается отсюда: https://bim.vc/edu/courses/renga-instrumenty-avtomatizatsii-api-i-dynamo/rabota-s-dynamo-v-renga/.

Ему также соответствует текстовый материал здесь https://github.com/GeorgGrebenyuk/RengaDyn/wiki/1.-Установка-среды-Dynamo-и-пакета-нодов-RengaDyn.

1. Скрипт для простановки дополнительного свойства, количества 3D-граней в геометрии объекта

Как ясно из названия, скрипт создает новое свойство в Проекте, присваивает его всем категориям объектов модели и заполняет в виде числа (integer) сколько 3d-граней в геометрическом представлении объекта.

Подобная аналитика нужна при выгрузке модели во внешние продукты - расчетные комплексы и среды визуализации.

Краткое описание скрипта расположено тут - https://github.com/GeorgGrebenyuk/RengaDyn/wiki/4.-Отдельные-скрипты#43---Простановка-дополнительного-свойства-количество-3d-граней-в-геометрии.

Проблематика вопроса связана с выгрузкой Ренгой геометрии в триангулированном представлении (особенно для гладких/круглых поверхностей).
Пример для круглой колонны
Пример для круглой колонны
Другой пример
Другой пример
Тут нет гладких граней и число маленькое
Тут нет гладких граней и число маленькое
Ужасный случай, из-за вырезов в перекрытии
Ужасный случай, из-за вырезов в перекрытии

Расположен скрипт в данном разделе под именем "RengaDyn_Sample_SetPropertyTrianglesCount.dyn". Его требуется только запустить (при запущенном в Renga проекте, где вы хотите получить количество граней).

Продолжение применения скрипта -- это выборка в модели объектов, со значением свойства, к примеру, больше кого-то значения, например 1000 граней. Для этого см. скрипт "RengaDyn_Sample_PropertyTrianglesCount_Getting.dyn".

2. Скрипт для передачи объектных свойств между проектами

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

Краткое описание предлагаемого сценария приведено здесь.

Суть предлагаемого подхода заключается в выполнении двух последовательных операций - экспорту свойств из "главного" проекта во внешний CSV файл скриптом RengaDyn_Sample_MigrateProperties_Export.dyn (его логика заполнения отличается от стандартной csv-спецификации Renga) и (второй этап) импорту скриптом RengaDyn_Sample_MigrateProperties_Import.dyn из данного файла свойств во второй проект с сохранением имен свойств, их Guid'ов, типа свойств и главное, списку объектов модели, к которым применимы эти свойства.

Сами скрипты также приведены здесь.

Не пропускайте публикации, подписывайтесь на Telegram-канал с тизерами статей.

Также подписывайтесь на тематический Telegram-канал под программирование для Renga.

#renga #rengabim #bim #dynamo #rengadyn