Revit — это программное обеспечение от Autodesk на основе технологии BIM для совместной работы архитекторов, инженеров и строителей. Оно позволяет создавать точные 3D-модели зданий и инфраструктуры, включая всю необходимую информацию для проектирования. Данные хранятся в единой базе, обеспечивая автоматическую синхронизацию изменений на всех планах, видах, сечениях и спецификациях.
Отметим, что в определении ПО нет упоминания про формирование и синхронизацию схем. Именно это упущение мы хотим исправить.
Сегодня информационное моделирование зданий, т.е. применение BIM-технологий становится неотъемлемой частью строительной отрасли, и это здорово, так как BIM не только улучшает качество проектирования, но и помогает сокращать затраты. Но несмотря на множество фич, есть процессы проектирования, где традиционные подходы (2Dшные) пока не уступают место новым технологиям. Одним из таких процессов является разработка схем (2Dшных), необходимых для описания всех инженерных систем зданий и сооружений.
Проблемы, которые тормозят автоматизацию проектирования схем в программном обеспечении Revit
1. Ограниченные возможности средств в Revit.
Основной проблемой является отсутствие встроенных инструментов для разработки схем. Пользователям предоставляются лишь примитивные линии и фигуры, что существенно ограничивает простор для творческого процесса инженеров и даже является шагом назад в автоматизированном проектировании.

2. Отсутствие встроенной библиотеки условных графических обозначений (УГО) элементов в Revit.
Использование стандартных обозначений крайне важно для обеспечения единства и понимания проектной документации. Однако пользователям приходится разрабатывать свои собственные библиотеки УГО или интегрировать в свои рабочие процессы сторонние решения, что увеличивает временные затраты и производит риск ошибок.
3. Использование разных ПО для ведения одного проекта. Для создания принципиальных схем специалисты часто используют сторонние программные решения, которые не связаны напрямую с BIM-моделью. Это означает дополнительную работу по трансляции данных и риск их несоответствия на разных стадиях обновления проектных решений. Отсутствие связи между схемами инженерных систем и 3D-моделью создает дополнительные барьеры, противоречащие философии BIM.

4. Отсутствие связи между 3D и 2D элементами.
Отсутствие интеграции между схемами и BIM-моделью, которую создают отдельными инструментами, приводит к тому, что эти элементы остаются несвязанными и несинхронизированными. Что является, наверное, самой ощутимой проблемой в условиях частых и срочных корректировок проектных решений. Современные проекты требуют оперативного внесения изменений, и разрозненность тормозит рабочие процессы.
Почему решение вышеописанных проблем важно для бизнеса?
Очевидно, что эти проблемы – это не просто технические аспекты — они неразрывно связаны с эффективностью бизнес-процессов. Широкое применение BIM и эффективность от этого применения возможны лишь тогда, когда все элементы проекта работают в единой системе. Это обеспечивает:
- сокращение временных затрат на проектирование и исправление ошибок;
- уменьшение финансовых расходов — благодаря снижению вероятности дорогостоящих ошибок и переделок;
- улучшение качества процессов — за счет автоматизации и синхронизации данных.
Строительная отрасль ищет новые пути повышения эффективности, и объединение принципиальных схем с BIM-моделями может стать одним из них.
Мечта и барьеры
А как было бы здорово подружить трехмерную модель с двухмерными схемами. Из элемента в модели попасть на его УГО на схеме, а из схемы в модель. А если модель изменилась, схема сама перестроилась. И не надо перебивать проектные данные. А перемаркировка? А перенумерация? Все подстраивается автоматически. Был бы такой же ВАУ эффект, когда ты впервые собрал спецификацию всех элементов из модели. Модель, спецификации и схемы несут единую правду. Мечта!
Но реальность шепчет другое. Боли инженеров на разных этапах BIMизации.
Есть инженеры, которые даже не помышляют покидать 2D САПРы, воспринимают BIM-модели как побочные продукты реального проектирования, даже как лишние траты времени и усилий. Преподносить им BIM ПО как эффективный инструмент, тогда как в нем нет даже полилиний, сомнительно, но окей. Продали, что дальше?
Разрабатываем BIM-модель, оформляем чертежи и выпускаем документацию в специализированном ПО, т.е. в Revit, но схемы продолжаем чертить в стороннем ПО двухмерного проектирования, допустим AutoCAD потому, что у инженеров наработаны типовые схемы и узлы, удобнее и привычнее работать. Но ведь типовыми узлами зачастую не опишешь весь состав системы, не обрисуешь все компоненты и подключения, особенно в больших проектах, где устройств может быть десятки тысяч. С некоторыми упрощениями схемы каждого проекта все равно разрабатываются индивидуально. Когда проект ведется в нескольких программных средах, неизбежны постоянные итерации — синхронизация, сверка, импорт и экспорт данных. В итоге процесс заметно замедляется.
Уговорили, заманили исполнителей в Revit умными семействами элементов узлов, типовых аннотаций, готовой библиотекой УГОшек. Исключили из уравнения AutoCAD. Все, что можно нарисовать в AutoCAD, можно и в Revit, местами даже удобнее. Но схемы остаются несвязанными с 3D элементами в модели. Все равно надо сначала все смоделировать в 3D, потом разрабатывать принципиальные схемы или наоборот: вносить правки в модели и отдельно в схемы. А где BIM, где хваленая синхронизация?
Где синхронизация реализована
В российском программном комплексе Model Studio CS есть модули Model Studio CS Электротехнические схемы, Model Studio CS Технологические схемы, Model Studio CS Компоновщик щитов, Model Studio CS Кабельное хозяйство. Комплексное применение этих программных решений позволяет централизованно и синхронно вести проектную деятельность, что значительно сокращает трудозатраты при разработке модели и выпуске отчетной документации.
А также у российского разработчика Нанософт есть комплект специализированных BIM/ТИМ-решений nanoCADИнженерный BIM, который включает в себя такие модули, как nanoCAD BIM Электро, nanoCAD BIM СКС, nanoCAD BIM ОПС. Модули комплексно формируют широкий спектр отчетных документов из BIM/ТИМ-модели, в том числе однолинейные схемы, структурные схемы, схемы компоновки шкафов по соответствующим разделам.
Следует отметить, что существуют бесплатные плагины для Revit — такие, как Teslabim для ЭОМ, mySchema для разделов ЭОМ, R-BIM для слаботочных систем, которые позволяют автоматизировать процессы формирования принципиальных и структурных схем, связывают элементы схем с элементами модели. Так же эти решения предлагают свои библиотеки семейств, в целом имеют широкий функционал для проработки соответствующих разделов проектирования.
Прекрасно! Но не всегда возможно в свои процессы внедрить сторонние разработки, быстро адаптировать пользователей, обучиться, обучить, привыкнуть к интерфейсу, оперативно протестировать и пустить в работу, не все плагины имеют гибкость к уже налаженным и отработанным алгоритмам работы. Тем более переходить на другое ПО — весьма затратное дело.
Как мы пришли к автоматизации
В ходе накопленного опыта у нас в компании сформировался подход к разработке скриптов по автоматическому формированию схем для ряда разделов. Разработка скриптов в Dynamo — это быстрый и гибкий способ решить текущие запросы проектировщиков, с возможностью дальнейших адаптаций, улучшений для масштабирования подходов и заложения базы для будущих фундаментальных разработок.
Расскажу наш путь от лица BIM-координатора, который не владеет языками программирования и только недавно познакомился с Dynamo.
Первые запросы от проектировщиков по работе со схемами:
Семейства УГО для раздела ВК для конкретного проекта с возможностью маркировки, заполнения параметров по экземпляру.
Семейства УГО по АПС, АПЗ, СОТС, СОТ, СКУД, СКС для маркировки элементов на плане и оформления легенды.
Перечень семейств для формирования схем ЭОМ.
Из предыдущих запросов родились следующие:
Формировать библиотеки всех УГО по разделу ВК и ОВиК, добавление специальных параметров, подготовка марок, возможность специфицировать.
Задали вопрос: «А можно ведь семейства УГО по АПС, АПЗ, СОТС, СОТ, СКУД, СКС для маркировки применять и для формирования схем?»
Автозаполнение данных на схемах ЭОМ в Revit из таблиц Excel.
Следующая ступень эволюции запросов по работе со схемами с учетом, что есть BIM-модели всех разделов, сформированы цепи, собраны кабельные журналы:
Автоматическое формирование схем АПС, АПЗ, СКС, СОТС из модели с подбором УГО элемента, маркировки по порядку, подтягиванием помещений, группировки по помещениям, ID трехмерного элемента, контроля траектории соединений.
Автоматическое формирование однолинейных схем ЭОМ с заполнением данных аппарата, характеристик, помещений, с подтягиванием УГО электроприемников, кабелей, длины кабелей, с возможностью ручной корректировки, с возможностью точечных обновлений с сохранением архива и с учетом опций, внесенных вручную.
Разработки на всех этапах не тормозили работу проектировщиков и постепенно решения дополнялись новыми вводными данными, скрипты внедрялись как рабочие инструменты естественно и гармонично. Несмотря на то, что все скрипты по разделам разрабатываются с учетом специфики и логики конкретного специалиста, можно сказать, что выявлены общие принципы, этапы, ноды, лайфхаки по разработке скриптов для автоматического формирования схем из готовой BIM-модели разделов инженерных систем.
Общий алгоритм работы скриптов
1. Выясняем, что является основным элементом. Вокруг или начиная с какого элемента строится схема. Это может быть щит управления ЭОМ, серверная стойка СКС, панель или первые устройства в шлейфе АПС, АПЗ, СОТС.
2. Как правило, по наименованию основного элемента в проекте создается чертежный вид – пространство для формирования схемы. Находим нужные элементы в модели стандартными нодами Dynamo, вычисляем информацию о наименовании, задаем эти наименования в нод, создающий чертежные виды. Нод сделан с помощью Python Script, а код написан с помощью корпоративного телеграмм бота CrocGPT, который обращается в большие языковые модели — внешние и внутренние.
a. Промпт: Напиши код к IronPython в Dynamo для автоматического создания чертежных видов (ViewDrafting) в текущем документе Revit. Скрипт должен принимать на вход список наименований чертежных видов и создавать для каждого наименования отдельный чертежный вид с масштабом 1:1. Входные данные: список строк IN[0]. Выходные данные: список чертежных видов OUT.
b. Код:

3. Затем на созданные чертежные виды расставляем подготовленные семейства УГО основных элементов схемы. Так же пишем вайб код на расставление семейств на чертежные виды. Входные данные: список чертежных видов IN[0], список координат точек вставки IN[1], семейства элементов узлов IN[2]. Выходные данные: список элементов OUT. Важно, что координаты точки вставки рассчитываем в миллиметрах, но на нод подаем значения, поделенные на 304,5.


4. Назначение УГО на элемент происходит соответствием наименований типоразмеров трехмерного элемента с двухмерным элементом или через заполнение параметра с меткой в спецификации.
5. Следующие элементы схемы уже начинаем расставлять в зависимости от их положения относительно основного элемента. Сопоставляем чертежные виды, список элементов и координаты точек вставки.
6. Очень важно структурированно высчитывать информацию из элементов в модели. Группировать и сортировать элементы по принадлежности к устройству, шлейфу, панели в шкафу, помещению и т.д. В этом очень сильно помогает комбинация из стандартных нодов сортировки и группировки по ключевым признакам.

7. Рассмотрим пример реализации траектории расположения УГО устройств по змейке (сначала слева направо, вниз на шаг, потом справа налево, вниз на шаг и т.д.). Применены ряд нодов по сортировке и группировке с учетом, выбранным пользователем габаритам.


Далее расставляем элементы по полученным координатам.
8. Когда элементы уже расставлены, схема сформирована, необходимо связать 2D-УГО и 3D-элементы, заполнив параметры. В момент, когда схема сформирована, у нас есть три списка, одинаковых по структуре: список 3D-элементов (семейства электрических приборов, оборудований, датчиков, пожарной сигнализации, охранной сигнализации и т.д.), список их УГО (семейства элементов узлов) и список координат. Не составляет труда из списка 3D-элементов забрать данные (маркировка, IDэлемента, пространство, наименование и т.д.) и заполнить соответствующие параметры в списке элементов узлов.
9. Связь 3D и 2D реализована. А как обеспечить синхронизацию? У каждого нашего скрипта есть возможность обновления только выбранных схем с сохранением архивной версии.

10. Когда УГО знает свою маркировку, не трудно получить информацию из других источников данных: расчетные таблицы, спецификации, цепи, Excel.



11. Немного сложнее обстоят дела с подбором УГО во вложенных семействах, которые назначаются в родительском семействе меткой на параметр типа «Типоразмер из семейства». Например, необходимо назначить вложенное УГО электроприемника через соответствующий параметр родительского семейства элемента узла отходящего аппарата. На нод, заполняющий параметр, надо передать список вложенных семейств в формате FamilyType. Поэтому лучше в проект загружать все вариации УГО вложенных семейств, в скрипте сделать необходимую выборку типоразмеров вкладываемых УГО и подать этот список в заполняющий нод.

12. Еще возникают нюансы с вносимыми вручную данными. Что с ними происходит при обновлении схемы? Все заполнять заново? Нет! Так как мы сохраняем архивную версию, у нас есть все инструменты, чтобы сравнивать обновленную схему с архивом и переводить нужные данные из одной схему в другую.
Ниже некоторые примеры автоформированных схем:



Что мы получили благодаря нашей автоматизации
Небольшое время на разработку, максимум два рабочих дня. Разработка не тормозит работу проектировщика.
Возможность доработок и адаптаций.
Быстрая окупаемость. Мы оценили окупаемость с учетом стоимости часа работы разработчика скрипта и стоимость часа работы проектировщика. В среднем скрипт окупается за 2 запуска. День работы специалиста без автоматизации равен минуте отработки скрипта.
Постепенный вызов доверия к автоматизации формирования схем. Сначала мы скриптами только заполняли данные. Пользователи поняли, что так значительно быстрее, а самое главное — без ошибок, сами начали предлагать идеи, как можно было бы автоматизировать формирование всей схемы. Хотя изначально скептицизм встречался.
Мы из готовой BIM-модели получаем больше пользы, чем предлагают стандартные средства Revit. Максимальный профит.
Разработка полноценного плагина не за горами.
Наш подход не решает все боли, изложенные в начале статьи, но приближает нас к мечте.