Привет, Хабр! Меня зовут Андрей Лаврентьев, я — аналитик в группе развития технологий информационного моделирования инженерного направления в ПИК.
Сегодня я расскажу, как наша компания решает задачи получения спецификаций (ведомостей объёма материалов) из информационной модели при проектировании внутренних инженерных систем.
Когда в компаниях внедряют BIM-процессы (в частности, проектирование в Revit), нередко можно услышать расхожую фразу о том, что информационная модель позволяет легко, «одной кнопкой», выдавать из себя точные объёмы изделий, материалов и оборудования.
На деле это оказывается правдой только наполовину. Лёгкой выдаче точных объёмов предшествует кропотливая работа проектировщика и BIM-специалиста. Важную роль играет их внимание к качеству семейств и моделирования с самых ранних этапов, к параметризации элементов в модели и к соблюдению технологии.
Начинающие пользователи Revit в первых проектах нередко отказываются от формирования спецификаций прямо из модели и ведут их отдельно, например в таблицах Excel. При этом спецификации в Revit представляют собой динамические таблицы: каждая строка соответствует элементам модели, а каждый столбец отражает их параметры. Добавить новую строку без создания соответствующего объекта в проекте невозможно. Часто к таким инструментам не прибегают ещё и потому, что к оформлению спецификаций приступают на завершающих стадиях, когда сроки поджимают и уже нет возможности детально настраивать модель.
В ПИК информационные модели используются не только для оформления чертежей и спецификаций в составе рабочей документации. Проектные модели продолжают свой жизненный цикл: после проектирования из них автоматически получают сметы, на их основе согласовываются договоры с монтажными организациями. Далее проектная информационная модель превращается в строительную, и по ней инженеры строительного контроля начинают принимать выполненные работы у подрядчика. Все эти этапы базируются на работе проектировщиков, и поэтому важно с самого начала иметь в модели качественно и безошибочно подсчитанные объёмы.
Типовые проблемы при создании спецификаций в Revit
Рассмотрим подробнее некоторые из трудностей, с которыми сталкиваются проектировщики инженерных систем в Revit.
1. Сложность параметризации системных семейств. Системные семейства, такие как трубы, воздуховоды, изоляция, не имеют таблиц выбора и сложных формул, по которым могло бы происходить вычисление характеристик в зависимости от диаметров. Revit позволяет вводить в таблицы вычисляемые параметры и объединять их, но только не в рамках единой спецификации по всем категориям элементов в модели.
2. Необходимость промежуточных параметров. Для создания сводной спецификации, объединяющей штучные позиции и элементы, подсчитываемые в метрах (трубы, воздуховоды), да ещё и с учётом запасов на технологические нужды, требуется создавать и постоянно контролировать заполненность промежуточного параметра, отвечающего за количество.
3. Учёт немоделируемых элементов. Значительная часть спецификации — это элементы, которые невозможно или нецелесообразно моделировать напрямую: краска и грунтовка труб, элементы крепления воздуховодов, окожушивание изоляции на кровле (Revit не позволяет наносить две изоляции на один и тот же воздуховод).
4. Ограничения интерфейса Revit. Четырёх полей для сортировки и группировки элементов в спецификации и восьми полей для фильтрации часто не хватает для сложных случаев.
5. Проблемы с передачей значений параметров. Системный параметр «Имя системы» не передаётся в общие вложенные семейства (например, из трубопроводной арматуры в её фланцы), что требует дополнительных скриптов.
6. Сложности с распределением по листам. В версиях Revit до 2022 года ручное разбиение крупной спецификации по листам было крайне трудоёмким. Даже в более поздних релизах распределение таких таблиц по листам после изменений в модели по‑прежнему требует регулярной проверки.
7. Некорректный учёт изоляции. Revit не умеет подсчитывать количество изоляции на фитингах и арматуре, что приводит к значительной недооценке объёмов, особенно на вентиляционных системах с большими сечениями и на гнутых отводах пластиковых труб в полу.
Каждую из этих проблем в отдельности можно решить обходными путями — скриптами, ключевыми спецификациями, вычисляемыми и объединёнными параметрами. Но свести эти решения в единой и неделимой спецификации практически невозможно.
Внедрение полных спецификаций в Revit
До 2022 года в ПИК основные объёмы информации о количественных показателях изделий, материалов, оборудования получали из Revit, но итоговые спецификации дорабатывали в Excel, куда вручную добавляли немоделируемые элементы. Эта ситуация была стандартной для многих компаний. В 2022 году у нас решили реализовать проект по внедрению полных спецификаций в Revit, первоначально для дисциплины ОВ (отопление и вентиляция), а затем и для дисциплин ВК (водоснабжение и канализация) и ЭОМ (электроснабжение).
Цели проекта заключались в получении полной конечной спецификации из модели, снижении трудозатрат за счёт автоматизации, повышении точности подсчёта объёмо��, а также в удобном использовании модели для формирования автосмет при заключении контрактов с подрядчиками.
Ключевые составляющие проекта
1. Упорядоченная база семейств и сквозной контроль данных Основа для любой автоматизации — качественно подготовленная база семейств. В ПИК за это отвечает Family Manager — один из центральных продуктов экосистемы ПИК. Он не только хранит семейства, но и производит валидацию их параметров.

Стандартных категорий Revit, например, «Арматуры трубопроводов» и «Оборудования», недостаточно для выстраивания логики параметризации модели, так как в одной категории могут содержаться очень разные по функциональному назначению элементы, с разным набором характеристик. В Family Manager введено понятие «функциональный тип». В отдельные типы попадают, например, «Краны шаровые», «Клапаны балансировочные», «Манометры», «Термометры». Для каждого такого типа задаётся обязательный набор характеристик. И, в свою очередь, для каждой из них можно установить определённый набор допустимых значений. Например, «Краны шаровые» могут изготавливаться из ограниченного списка материалов: сталь, латунь, полипропилен; диаметр у крана однозначно всегда будет больше нуля.
Наличие для каждого функционального типа такого набора допустимых значений позволяет нам иметь ожидаемые, машиночитаемые данные на каждом этапе использования информации из модели.

При попытке загрузить в базу семейство без обязательного параметра или с недопустимым значением это действие блокируется Family Manager. При наличии в проекте устаревшей или запрещённой версии он также может выдать предупреждение. Другой важный плагин группы ПИК — BIM-Inspector — в связке с Family Manager выполняет проверку параметризации элементов прямо в модели по правилам, заданным для каждого функционального типа. В результате BIM-Inspector не даёт проектировщикам заносить в модель неожиданные или ошибочные характеристики и не позволяет оставлять значимые поля незаполненными.
2. Сквозная технология формирования спецификации Процесс получения готовой спецификации в ПИК состоит из пяти основных этапов:
Моделирование. Наполнение модели всеми элементами, которые можно сформировать напрямую;Параметризация. Запуск плагина «Склеить параметры» («Склейка»);
Учёт немоделируемых элементов. Запуск плагина «Создание немоделируемых элементов»;
Контроль качества. Проверка модели с помощью BIM-Inspector;
Оформление. Экспорт спецификации в PDF.
Третья ключевая составляющая — инструменты. Рассмотрим их подробнее в отдельном блоке.
Инструменты автоматизации ПИК Плагин «Склеить параметры» или «Склейка» Подробно мы писали об этом инструменте в статье «Как мы полюбили склейку и почему она нужна всем», но если выделить основные мысли, то «Склейка» — это центральный плагин, который выполняет массовую параметризацию элементов в проекте.
Плагин использует конфигурационные Excel-файлы с набором правил. Их готовят ведущие BIM-координаторы, подстраивая под требования конкретной модели. Каждую строку составляет отдельное правило: целевой параметр, формула расчёта и фильтры отбора элементов.

Основные функции инструмента:
Параметризация системных семейств (трубы, воздуховоды, изоляция, лотки электротехнические). Например, у воздуховода, в зависимости от его размера, имени системы, наличия огнезащиты, автоматически вычисляется толщина стенки стали.
Заполнение параметров, зависящее от контекста применения элемента в проекте. Характеристика принадлежности к инженерной системе не может быть жёстко задана в семействе, ведь одно и то же семейство используется в разных системах. Поэтому её нужно вручную проставлять у каждого экземпляра в модели — в строгом формате, который не всегда совпадает со встроенным «Именем системы».
«Склеивание» сводного наименования для спецификации из значений отдельных параметров. «Кран шаровый прямой полнопроходной, материал: латунь, DN20, PN40». Здесь слова и цифры «прямой», «полнопроходной», «латунь», «20», «40» — это значения отдельных параметров, отражающих определённые свойства изделия. А слова «материал», «DN», «PN» — это префиксы, которые склейка добавляет автоматически в соответствии с заранее настроенным конфигуратором. Данная функция и дала плагину название. В настройках «склеивания» возможно понижать регистр первой буквы у значений параметров, добавлять префиксы и суффиксы, автоматически проводить конвертацию единиц измерения.
Заполнение параметров, необходимых для комплексной сортировки и группировки. Элементы в спецификации важно разбить по системам и выстроить в логичном порядке, а также в соответствии с ГОСТ. С помощью склейки можно собрать некое единое комплексное значение параметра для сортировки, которое позволит выстроить элементы в таблице в требуемом порядке.
Заполнение значений параметров на основе математических расчётов. Например, [Длина * 1.1] для учёта 10% технологического запаса на длину труб. Также у воздуховодов в моделях ПИК в зависимости от его габаритов вычисляется периметр, нужный для назначения правильных материалов в автосмете.
Дополнительные сложные алгоритмы
#ParentToChildParameter# — алгоритм перезаписывает значение параметра из родительского семейст��а в аналогичный параметр общего вложенного семейства.
Пример:

У элементов указанных категорий значение параметра MEP_Система перепишется из родительских семейств в общие вложенные.
#PipeInsulation# — алгоритм подбирает ближайший подходящий внутренний размер трубной изоляции из номенклатурного ряда производителя, соответствующий внешнему диаметру трубы с учётом толщины изоляции.
#FittingInsulation# — наличие этого алгоритма в формуле показывает, что целевой параметр находится не в обрабатываемом элементе категории «Арматура трубопроводов/воздуховодов, соединительные детали трубопроводов/воздуховодов», а в его изоляции («Материалы изоляции трубопроводов/воздуховодов»). Таким образом, можно переписывать значения параметров из фитингов в параметры изоляции этих фитингов, в том числе с необходимыми вычислениями.

На скриншоте показано вычисление площади поверхности шумоглушителей и запись полученного значения в параметр MEP_Количество изоляции данного шумоглушителя.
#SpaceName#, #SpaceNumber# — эти алгоритмы определяют, в ��аком пространстве (помещении) располагается элемент, и записывают Имя и Номер этого пространства. Параметры могут заполняться с использованием встроенного конвертера единиц измерения. Можно указать в конфигурационной таблице «метры», даже если в модели параметр измеряется в миллиметрах, или «бары», независимо от настроек единиц давления в модели. Параметры будут считаны из модели или записаны в модель с нужными нам единицами измерения.

Плагин «Немоделируемые элементы». Этот плагин решает проблему учёта элементов, которые невозможно или слишком трудозатратно моделировать напрямую. Он размещает в 20 метрах ниже здания специальные элементы-«бочонки» размером 1x1 мм, которые несут в себе информацию о немоделируемых объёмах.
На основе конфигурационных Excel-таблиц плагин находит в модели определённые элементы (например, воздуховоды) и по сложным формулам вычисляет количество креплений (в кг) или площадь краски на трубах. Результат суммируется и записывается в «бочонок», который затем попадает в сводную спецификацию.
В дисциплинах ОВ и ВК удалось добиться полной автоматизации в создании немоделируемых элементов, без последующего ручного вмешательства. В дисциплине ЭОМ бывают такие немоделируемые элементы, которые невозможно логически, через формулы, привязать к замоделированным объёмам. Они создаются с неопределённым количеством, которое приходится прописывать вручную. Но как минимум у нас решили проблему создания дополнительных строк в сводной спецификации.

Плагин «Импорт кабеля»
В дисциплине ЭОМ используется отдельный плагин «Импорт кабеля», схожий по назначению с плагином «Немоделируемые элементы». Его функция — добавлять в модель элементы для включения в сводную спецификацию кабели, которые не моделируются напрямую.
В нем присутствует несколько сценариев создания немоделируемых элементов кабелей в зависимости от источника данных: Excel-файл, сделанный и заполненный по определённому шаблону, и ключевая спецификация, названная и сформированная после выполнения работы плагином «Расчёт схем».
При использовании сценария работы по Excel-таблице имеется возможность гибкой настройки конфигурации, а также выполнение сверки данных Excel-файла с данными кабелей на принципиальных схемах.

BIM Inspector. Это флагманский продукт ПИК для автоматического контроля качества моделей.
Что проверяет:
Качество BIM-данных: наличие и корректное заполнение параметров в соответствии с настройкой допустимых значений. В том числе проверяется факт использования обязательных для технологии внутренних плагинов.
Проектные решения: может проверять корректность технических решений, например, отсутствие сварных соединений на трубах ГВС/ХВС, допустимые скорости воздуха в воздуховодах вентиляции, правильность исполнения отопительных приборов (левостороннее или правостороннее), соответствие мощностей отопительных приборов их маркам.

Для быстрого создания проверок реализован «Конструктор инспекций», который позволяет BIM-координаторам настраивать проверки без навыков программирования в визуальном редакторе схем с применением готового набора блоков.

Инструмент «Экспорт спецификации в PDF»
Спецификация в проектах вентиляции может занимать до 100 листов формата А3 из-за необходимости разбивки элементов по системам. При этом для печати в PDF стандартными средствами Revit каждую страницу приходится размещать в рамке на отдельных листах или на общем листе. В версиях Revit до 2022-й этим приходилось заниматься вручную, в более свежих процесс значительно упростили.
Для версий Revit 2019–2022 мы в проектах инженерных систем полностью отказались от хранения листов со спецификациями в самой модели Revit, поскольку API для автоматического управления разрывом таблиц очень ограничен. Да и сами листы со спецификациями ничего нового к информационной модели не добавляют — это просто внешнее требование к оформлению.
В итоге был разработан плагин «Экспорт спецификации в PDF». Проектировщику необходимо только выбрать ведомость в Revit, заполнить недостающие данные в основной надписи (штампе) и нажать на печать.

Спецификация из Revit выгружается в Excel, а затем автоматически форматируется в PDF с добавлением штампов, подписей и примечаний. Конечный документ полностью соответствует требованиям ГОСТ.

Итог. Нам удалось уйти от ручной доработки спецификаций в Excel, автоматизировать рутинные задачи и получение спецификаций в Revit, а также сократить трудозатраты на выполнение комплектов рабочей документации. Теперь данные в модели равны выдаваемой ведомости, что позволяет использовать модель в качестве источника для выгрузки данных в различные базы и для автоматизации формирования смет по объекту.
По результату реализации проекта оценённая эффективность показала сокращение трудозатрат проектировщиков на 50% на все операции, связанные с формированием спецификаций.
Инструменты полезны как по отдельности, так и в связке друг с другом, и подходят как крупным компаниям, так и небольшим бюро и фрилансерам.
Опыт ПИК наглядно демонстрирует, что системный подход, сочетающий методологию, строгий контроль данных и специализированные инструменты, позволяет преодолеть ограничения стандартного функционала Revit и вывести процесс проектирования на качественно новый уровень эффективности и точности.
