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

Особенности библиотеки

Это уже вторая работа над изоляцией, первой была разработка изоляции ROLS Isomarket, и в обоих случаях создаю скрипты в Динамо. Основная причина — существенные ограничение, которые накладывает Ревит «из коробки» на взаимодействие с изоляцией труб и воздуховодов.

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

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

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

У изоляции можно задать способ расчёта, для этого воспользовался общим параметром «ADSK_Материал тип подсчета». Это параметр для шаблонов ADSK, в котором можно числом задать тип подсчёта: 0 соответствует штукам, 1 — длине в метрах, 2 — площади в квадратных метрах, 3 — объёму в кубических метрах.

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

По умолчанию скрипт работает с параметрами ADSK, там же есть подсказка по значениям в параметре «ADSK_Материал тип подсчета». При работе алгоритм проверяет: толщину изоляции, минимально допустимый диаметр трубы и максимально допустимый диаметр трубы или фитинга. Если есть ошибки, выведет их в наименование элементов и в список в Проигрывателе.

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

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

Любой сбой, как критический, так и неважный, помечается как ошибка и смущает пользователя. Например, при запуске «старых» скриптов в последних версиях Ревита нод «IF» будет помечаться жёлтым как ошибка, хотя по факту там будет просто предупреждение, что в следующей версии Динамо этот нод удалят. Плохая реализация полезной функции.

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

Классика — фильтры по булевым маскам, результатом в которых могут быть пустые списки. Нет элементов — не с чем работать — какие-то ноды пропустят это без ошибки, а какие-то выдадут ошибку. Причём не всегда пустой список будет ошибкой, поэтому нужно выводить предупреждения.

Группа нодов для вывода уведомлений пользователя
Группа нодов для вывода уведомлений пользователя

Так как для монтажа изоляции нужны расходники, то для них создал кучу спецификаций с расчётными параметрами. Можно ими пользоваться как для оформления, так и для учёта количества при ручном оформлении спецификаций в другом ПО вроде Экселя или Ворда.

Список спецификаций в разработке
Список спецификаций в разработке

Скачать библиотеку с Бимлиба

Все полезные ресурсы в одном месте

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

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

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

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