Announcements
Due to scheduled maintenance, the Autodesk Community will be inaccessible from 10:00PM PDT on Oct 16th for approximately 1 hour. We appreciate your patience during this time.
Dynamo – Русский – только для чтения
Раздел для программистов и специалистов, использующих Dynamo
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Создание пакетов спецификаций через Динамо

14 REPLIES 14
Reply
Message 1 of 15
Anonymous
6719 Views, 14 Replies

Создание пакетов спецификаций через Динамо

Здравствуйте! Простите, что много букв.

 

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

 

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

 

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

 

Вариант решения: ну их минимум два, конечно.

1) Заставить Динамо всё посчитать, упорядочить и выкинуть в эксель. Думаю, это реально.

2) Мой вариант:

Создать скрипт, который:

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

 

Упрощённый пример: вот есть две системы П1 и В1. Нужно сделать ревитовские спецификации на воздуховоды, отводы и переходы.

Делаю общую спецификацию на воздуховоды для П1 и В1, спецификацию отводов для П1 и В1, спецификацию переходов для П1 и В1 вместе.

Всё, есть общие спецификации, круто.

 

Запускаю скрипт Динамо и в итоге получаю: Динамо копирует общую спецификацию воздуховодов, применяет к ней фильтр по имени системы Имя системы = П1, создаёт следующую копию с фильтром Имя системы = В1. То же самое проделывает с отводами и переходами. В итоге получается 6 спецификаций.

При этом значение для фильтра удовлетворяет неким критериям, например, не берутся системы, которые начинаются на определённую комбинацию букв (вот эти вот все Механические системы... не нужны, на них не нужно создавать спецификации).

 

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

 

Такой скрипт создать реально? Насколько он сложен?

Спасибо.

 

14 REPLIES 14
Message 2 of 15
semko_dm
in reply to: Anonymous

Здравствуйте, Вадим!

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

Что касается вопроса по скрипту Dynamo, уверен, что такой скрипт можно написать. На сколько он будет сложный, это вопрос к опыту человека, который будет его делать. Начать стоит с разделения данной задачи на подзадачи - копирование спецификации; задание фильтра;... Дальше искать решение каждой небольшой задачи по отдельности и потом эти решения между собой связать.
Искать проще всего на форуме Dynamо, там велика вероятность найти пост по каждому конкретному вопросу.

Начать можно с копирования спецификации, для этого в некоторых доп пакетах типа Clockwork и ArchiLab уже есть кастомные ноды View.Duplicate или подобные, которые позволяют скопировать любой вид.

Для общего понимания работы в Dynamo я обчно советую в первую очередь пройти Dynmo Prymer, это официальный гайд/учебник от создателей Dynamo.
Так же много информации можно найти на русскоязычном форуме.

 

С уважением,
Дмитрий Семко.



Dmitriy Semko
BIM-Manager
Blog
Facebook | Telegram | LinkedIn

Message 3 of 15
Anonymous
in reply to: semko_dm

Спасибо! Поколдую с советами Чубрика.

Message 4 of 15
qwero
in reply to: Anonymous

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

 

Message 5 of 15
Anonymous
in reply to: qwero

Шикарно! Спасибо!

Message 6 of 15
Anonymous
in reply to: semko_dm

Так, расскажу, почему советы Чубрика — не совсем то, что нужно.

 

У него в примере элементы, у которых в принципе существуют и количество, и длина. То есть его задача была что-то одно выбирать. В случае с воздуховодами/трубами и фитингами у нас нет совпадения по параметру длина. Количество — есть, длины — нет. 

 

Поэтому пока что лучший вариант — это вот с Динамо замутить скрипт, который добавить единый параметр в общий параметр для всех элементов. В итоге можно будет составлять спецификацию по нескольким категориям, и единицы будут правильными. Хотя вот с изоляцией у меня что-то не получилось пока, на входные данные подавал code block с текстом "Площадь"...

 

Ещё вопрос. Создал я этот общий параметр, через Динамо всё сделал, добавляет всему, кроме изоляции, значения, ок. Когда создаю спецификацию по нескольким категориям, то... нет параметра «Имя системы»! Системный параметр, который позволил бы мне сортировать по именам системы мои данные. При том, что вроде как у всех элементов этот параметр есть. Что не так вдруг?

 

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

Message 7 of 15
qwero
in reply to: Anonymous

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

 

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

 

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

Message 8 of 15
Anonymous
in reply to: qwero


qwero написано:

 

 

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


У меня была идея создать параметр «Сортировка», назначить оборудованию параметр «1», арматура — «2», воздухораспределителям — «3» и так далее, а потом сортировать. 

В любом случае, нужно сортировать по имени системы, по категории (по параметру «Сортировка»), по типу, по размеру — вот уже 4 типа, потолок. Да, можно создать ещё один параметр через динамо, который отсортирует мне отводы по углу, переходы по длине, тройники по длине врезки и так далее, но это уже дополнительный параметр сортировки, для которого не хватит места в спецификации ревита, их ведь всего 4 штуки(

 

Спасибо за предложенные советы в любом случае. Буду думать. Руками копировать чуть ли ни 600—800 спецификаций нет никакого желания.

Message 9 of 15
Anonymous
in reply to: Anonymous

Можно ввести дополнительный параметр типа "Сквозная нумерация" и задать сортировку в ревите по нему. Перед этим любыми средствами программирования (Dynamo, макрос, плагин) построить нужным образом отсортированный список и пронумеровать вышеуказанный параметр в полученном списке по порядку.

Message 10 of 15
Anonymous
in reply to: Anonymous

Приветствую. Подскажите как у Вас продвинулась решения этой задачи
Message 11 of 15
MURATOVBIM
in reply to: Anonymous

Здравствуйте!

 

Принципиально ничего нового. В итоге пришли к тому, что для вентиляции я написал скрипт Динамо, который заполняет специальные параметры для всех элементов вентсистем: в основном прописывает названия, вычисляет толщины металла, задаёт индексы для сортировки в пределах спецификации по определённой категории. То есть на воздуховоды, воздухораспределители, арматуру и т. д. по-прежнему создаются отдельные спецификации в ревите, скрипт просто названия заполняет так, как это нужно для спецификации. При этом количество записывается через Динамо в отдельный параметр, из воздуховод в него копируется длина, остальным элементам присваивается значение 1, в спецификации всё само суммируется.

 

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

 

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

Вадим Муратов — BIM-консультант, разработчик библиотек Revit, преподаватель

Expert Elite Member

Autodesk Certified Instructor

Блог о Ревите для инженеров

Телеграм-канал блога про Ревит
Методичка по REVIT MEP

VK | Telegram | Telegram-чат блога
Message 12 of 15
ioavant
in reply to: MURATOVBIM

Посмотрите мой ответ в последнем посте

https://forums.autodesk.com/t5/revit-bim-russkiy/revit-mep-spetsifikatsii-ov-dlya-bolshogo-kolichest...

 

Anton Devyatov
HVAC engineer
YouTube    Blog
ioavant@gmail.com
Message 13 of 15
Anonymous
in reply to: ioavant

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

1.PNG2.PNG

Message 14 of 15
MURATOVBIM
in reply to: Anonymous

Скорее всего, у вас не установлены пакеты с нодами. Archi-lab и ещё какие-нибудь, попросите автора скрипта рассказать, что за пакеты и какие версии используются в скрипте.

Вадим Муратов — BIM-консультант, разработчик библиотек Revit, преподаватель

Expert Elite Member

Autodesk Certified Instructor

Блог о Ревите для инженеров

Телеграм-канал блога про Ревит
Методичка по REVIT MEP

VK | Telegram | Telegram-чат блога
Message 15 of 15
ioavant
in reply to: Anonymous

Обновил скрипт, скачайте его с этого сообщения, у меня все работает R17 D2.0.2

Установите пакеты: 

archilab

Clockwork

BimorphNodes

 

Если есть еще вопросы пишите

Anton Devyatov
HVAC engineer
YouTube    Blog
ioavant@gmail.com

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report