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

Версия Динамо — 2.0.4, работает в Ревите 2019 и более новых версиях.

Актуальные версии

Для скрипта деления трубопроводов — версия 4.1.

В версии 4.1 внёс правки в скрипт для записи длины в наименование трубопроводов. Добавил новые параметры в скрипт: «Запас на стандартную длину» и «Количество необработанных труб».

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

Увеличивайте этот запас до тех пор, пока внизу в параметре «Количество необработанных труб» не появится нулевое значение. Если значение больше нуля, то какие-то не обработались и не получили наименование или примечание о длине. Значит, нужно увеличить запас.

Например, если отрезок канализационной трубы 110 мм продаётся по 3000 мм, а в модели труба 3010 мм, то её не получится разделить, так как остаточная длина в 10 мм слишком мала для вставки соединения. Это особенности семейств соединений и Ревита. Можно сделать длину соединителя меньше, например 2 мм, тогда разделится. Но рано или поздно в модели будут трубы с длинами 3001, 3002, 3003 и так далее мм, они тоже не разделятся, труба не может быть меньше 4 мм.

И вот тут поможет запас. Увеличив его на 20 мм, скрипт обработает трубы с длиной 3010 мм так, будто это трехметровый участок. Наименование будет как для 3000 мм, а по факту в модели будет некритично длиннее. В этом суть изменения.

Для скрипта деления воздуховодов — версия 3.

Алгоритм

Информацию о том, как делить элементы, скрипт подтягивает из специального файла Эксель.

Пример Экселя для труб
Пример Экселя для труб
Пример Экселя для воздуховодов
Пример Экселя для воздуховодов

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

В столбце «Типоразмер воздуховода» указываете имя типоразмера из Ревита. По умолчанию заполнены данные для АДСК-шаблона для Ревита 2019. В следующем столбце указываете сечение.

Для круглого — «Круг», для прямоугольного — «Прямоугольник», для овального — «Овал». Только эти значения, никакие другие не подходят.

Сторона или диаметр — включительно большая сторона прямоугольного или овального воздуховода или диаметр воздуховода.

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

Длина соединения. Очень важный момент. Здесь нужно указать расстояние между соединителями в семействе, которым будете делить воздуховод. Можно поделить любым семейством, при условии, что у него тип детали «Соединение» и оно идёт первым в настройках трассировки в соответствующем блоке.

Также точка вставки семейства должна быть по центру семейства, то есть на равном расстоянии от соединителей. В составе библиотеки будут идти семейства для разделения труб и воздуховодов, можете использовать их как пример. Стандартные семейства из шаблона АДСК не подходят!

Пример

Есть круглый и прямоугольный воздуховод. Типоразмера круглого называется «Воздуховод стальной круглый», прямоугольный — «Воздуховод стальной прямоугольный». Их нужно поделить по следующим правилам:

  • круглые воздуховоды с диаметром до 630 включительно делим на отрезки по 3 метра, другие диаметра — на отрезки по 1,5 метра;
  • круглые воздуховоды разделяем ниппелем, расстояние между соединителями 10 мм;
  • прямоугольные воздуховоды с размером большей стороны до 400 мм включительно делим на отрезки по 1250 мм, с размером большей стороны до 1200 мм — на отрезки 1500 мм, остальное — на отрезки по 2 метра;
  • прямоугольные воздуховоды разделяем парой фланцев, расстояние между соединителями 2 мм.

Для таких условий таблица будет следующая:

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

Трубопроводы

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

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

Пример. Есть канализационная труба диаметром 110 мм, мы хотим поделить её на отрезки по 1000 и 3000 мм. Скрипт будет делить только те трубы, чья длина превышает 3000 мм. Всё, что меньше, уже проходит по длине отрезка и дополнительно делить их не нужно.

Скрипт для наименований будет проходить по всем трубам, анализировать их длину и записывать ближайшую большую по каталогу. То есть труба длиной 800 мм будет записана как труба длиной 1000 мм. Труба длиной 1800 мм запишется как труба 3000 мм.

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

Скрипт для спецификации работает по двум сценариям. В первом он записывает в «ADSK_Наименование краткое» текст в виде «L=ХХХХ мм», где ХХХХ — длина ближайшего большего отрезка из Экселя. В «ADSK_Количество» записывает «1» — так как считаем трубы отрезками.

Во втором сценарии скрипт возьмёт значение из параметра «ADSK_Наименование» и припишет к нему через запятую тот же самый текст в виде «L=ХХХХ мм». Если в «ADSK_Наименование» пусто, то скрипт не станет обрабатывать эту трубу. В итоге сформируется полное наименование в одном параметре.

Само наименование, к которому добавится текст, вы должны сгенерировать сами. Для этого в шаблонах АДСК есть макросы и плагин.

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

Видеопрезентация

Доступна на Ютубе: https://www.youtube.com/watch?v=U_J7bTZwlzY

В скриптах для воздуховодов с версии 3, а для труб — с версии 4 немного изменил подход к файлам скриптов. Теперь это набор скриптов только для Динамо 2.0.4. То есть теперь нет отдельного файла для старых Ревитов и новых. Теперь только для старых.

Это не значит, что не сможете запускать в новых версиях. Для запуска скрипта установите пакет DynamoIronPython2.7, в архиве с файлами библиотеки есть инструкция, как это сделать. Сделали один раз — и спокойно запускаете, всё будет работать.

Состав библиотек

Скрипт для деления воздуховодов

  • скрипт Динамо для деления воздуховодов;
  • Эксель-шаблон для заполнения данных;
  • семейство-разделитель для круглого воздуховода;
  • семейство-разделитель для прямоугольного воздуховода;
  • файл проекта с примером деления воздуховодов.

Скрипт для деления трубопроводов

  • скрипт Динамо для деления трубопроводов;
  • скрипт для записи данных в спецификацию;
  • Эксель-шаблон для заполнения данных;
  • семейство-разделитель в виде канализационного раструба;
  • файл проекта с примером деления трубопроводов.

Покупка библиотеки

Физлица приобретают по правилам оферты на сайте в магазине.

Юрлица покупают через заключение лицензионного договора и выставление счёта на оплату. Пишите на почту bimvadim@bk.ru, отправляйте карточку предприятия, вышлю договор, счёт и акт через систему ЭДО.

Гарантии

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

Уведомления о новых статьях

Обновления статей удобно получать в Телеграм-канале «Блог Муратова про Revit MEP». Подписывайтесь и приглашайте коллег. Можно обсудить статью и задать вопросы в специальном чате канала.