AGR.Checker: как мы автоматизировали проверку ЦИМ перед сдачей в АГР

  • 33
  • 9 минут

Меня зовут Дарья Беляева, я Tech Lead и архитектор решений на стыке BIM, CDE и Revit API. Вместе с BIM‑инженером Андреем Прохоровым мы сделали AGR.Checker — плагин для Revit, который проверяет ЦИМ на соответствие требованиям IDS и готовит модель к сдаче в составе АГР. Здесь я расскажу, зачем он появился, что умеет сегодня и какие решения за ним стоят.

Проблема: одна и та же рутина перед каждой сдачей

Требования IDS Департамента градостроительной политики задают, какие параметры, значения и IFC‑классы должны быть у элементов модели. На бумаге процесс простой: изучили требования, создали параметры, настроили маппинг, заполнили, проверили, отправили.

На практике модель собирают несколько человек с разным опытом и в разное время. К сдаче в ней неизбежно копятся несоответствия:

  • не проставлен IFC‑класс
  • пустой или задвоенный параметр
  • дубли элементов
  • разрывы в границах зон
  • помещения без кода классификатора.

Искать всё это приходится вручную по спецификациям, потом выгружать IFC, загружать на СтроимПросто, сверять замечания с моделью в Revit — и так перед каждой сдачей заново.

Раз за разом модель отправляется на проверку в IFC, и каждый раз всплывают одни и те же ошибки. AGR.Checker находит их до экспорта в IFC, не выходя из Revit.

Как мы разделили работу

Идею и логику проверки — какие параметры и в каком виде обязательны для каких категорий — сформулировал Андрей. У него опыт работы на объектах метрополитена, ТЭС, АЭС, жилья и дорожного строительства. Архитектура и код — моя часть: нужно было превратить эту логику в универсальный инструмент для любых объектов. Первую рабочую версию мы сделали за два месяца, дальше плагин развивался уже по опыту реальных объектов.

Что умеет плагин

Исходные данные. Пользователь подключает файл общих параметров, наборы свойств IFC (UDPS) и один или два файла IDS с требованиями заказчика. Требования из двух IDS объединяются, пути запоминаются.

Мэппинг. Плагин сканирует модель и показывает, какой IFC‑класс назначен каждой группе элементов. Сразу видно, где класс не заполнен, где параметр вообще не привязан к категории, а где у элементов одного типа разные классы. Здесь же выбирается, что проверять, а ненужное исключается из выгрузки значением −1.

Мэппинг в AGR.Checker

Проверка и список ошибок. Каждый элемент сверяется с требованиями IDS и с минимальным набором базовых атрибутов: код и наименование МССК, наименование, объект, подобъект. Однотипные замечания собираются в одну строку. По списку ElementId можно выделить элементы в модели или скопировать Id для команды Revit «Выбрать по коду».

Проверка и список ошибок в AGR.Checker

Групповое исправление. Если значение не входит в перечень IDS или пустое, допустимое значение выбирается из списка и записывается сразу во все элементы строки.

Спецификации. Одной кнопкой создаётся общая спецификация по всем категориям и отдельные спецификации по каждому IFC‑классу с колонками обязательных параметров из IDS. Для помещений и для каждой схемы зонирования создаются свои спецификации.

Общая спецификация AGR.Checker Спецификация по IFC-классу в AGR.Checker

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

Проверка зон в AGR.Checker

Дубли. Одинаковые элементы, стоящие друг в друге, попадают в общий список ошибок, и лишние экземпляры можно удалить прямо оттуда. Удаление отменяется обычным Ctrl+Z.

Поиск дублей в AGR.Checker

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

Классификация помещений в AGR.Checker

Экспорт в IFC с постобработкой. Экспорт идёт через привычное окно Revit, а затем плагин сам дорабатывает готовый файл:

  • удаляет элементы, исключённые значением −1;
  • удаляет косоуры лестниц;
  • исправляет код МССК у маршей пандусов, который Revit копирует с самого пандуса.

Рядом с IFC сохраняется отчёт о внесённых изменениях.

Плагин работает в Revit с 2020 по 2026 версию. Руководство пользователя и инструкция по получению лицензии встроены в плагин и открываются кнопкой.

Решения, на которых всё держится

Проверка по группам. На реальном объекте однотипных элементов сотни и тысячи. Если проверять каждый отдельно, пользователь получит сотни одинаковых строк вместо одной понятной. Поэтому элементы группируются по категории, семейству, типу и IFC‑классу. Это быстрее на больших моделях и гораздо удобнее читать. Для зон в ключ группировки добавлена схема зонирования, иначе «Общая площадь» и «СПП в ГНС» с разными требованиями слились бы в одну строку.

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

Совместимость версий Revit 2021‑2026. API между версиями отличается, особенно при переходе Revit 2025 на .NET 8. Все версионно‑зависимые места вынесены в отдельный слой. Основная логика одна для всех версий, а при выходе нового Revit обновляется только этот слой.

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

Честность важнее «тихой» автоматики. Где плагин не может принять решение однозначно — он оставляет выбор человеку. Так сделано с помещениями, чьё имя встречается в классификаторе несколько раз. Так же с дублями, удаление которых затронуло бы другие элементы, и со ссылками в IFC, которые нельзя безопасно удалить. Все узкие места попадают в отчёт или в список с пометкой.

Чему нас научили реальные модели

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

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

Проверять нужно линии, а не только зоны. Пример: был нарисован контур с разрывом и «хвостом», и первая версия проверки его не увидела: если зона не поставлена или Revit замкнул её через соседние границы, проверять нечего. Теперь проверяются сами линии границ, отдельно по каждой схеме зонирования. Схемы часто обводят одни и те же стены, и если смешать их линии, одна схема «закроет» ошибку другой.

Регистрация прав

Права на программу мы закрепили государственной регистрацией программы для ЭВМ в Роспатенте. Это не патент: экспертизы по существу нет, процедура быстрее, а регистрация фиксирует авторство, код и дату создания.

Понадобились:

  • заявление с данными обоих правообладателей: на сайте ФИПС с ЭЦП или через Госуслуги с простой электронной подписью;
  • реферат до 900 знаков;
  • фрагмент исходного кода, достаточный для идентификации программы;
  • согласия авторов на указание сведений о них;
  • согласие на обработку персональных данных;
  • документ об оплате пошлины.

Учтите, что при изменении кода регистрацию нужно проходить заново.

Что дальше

Плагин работает на наших объектах, и список идей по‑прежнему пополняется из практики. Если у Вас возникли проблемы в работе с плагином — на вкладке Контакты и FAQ есть наши контакты.

А какие ошибки в моделях для АГР чаще всего ловите вы — и какие до сих пор приходится искать руками?

PROTIM
Телефон: +7 (495) 221-50-56

Понравилась статья?

0

А что вы думаете по этому поводу? Поделитесь с нами

Комментарии

Ещё по теме

Система под процесс, а не процесс под систему: как ФСК Family внедряет СОД G-TECH

Система под процесс, а не процесс под систему: как ФСК Family внедряет СОД G-TECH

Что делать, если компания готова перейти на среду общих данных, но готовые решения не учитывают её реальные рабочие процессы? Перестраивать привычную схему под программу – или адаптировать саму систему? На вебинаре специалисты ФСК Family и G-TECH разобрали реальный кейс внедрения СОД.

1 9 минут 29
Машиночитаемые стандарты и ИИ: как меняется работа проектировщика

Машиночитаемые стандарты и ИИ: как меняется работа проектировщика

Что делать с данными, которые компании научились собирать? Можно ли автоматически проверять проект по нормативам? Как искусственный интеллект изменит работу инженера – и сможет ли однажды заменить его?

8 минут 35
Российские системы автоматизации спецтехники: основные проблемы и практика использования

Российские системы автоматизации спецтехники: основные проблемы и практика использования

Лидеры автоматизации строительных машин официально ушли из РФ. И без того недешевые решения стали еще дороже за счет сложной логистики, а в случае проблем с устройствами теперь непонятно, что делать, — починить их «в гараже» вряд ли получится. Посмотрим, на что способны в 2026 году российские системы, и чем они отличаются от западных и китайских аналогов.

2 15 минут 82
Почему инженерные проекты срываются на этапе согласований

Почему инженерные проекты срываются на этапе согласований

В 2024 году строительная отрасль России начала активно переходить на технологии информационного моделирования. Согласно постановлениям Правительства РФ №331 и №2357, компании, работающие по 214-ФЗ, должны использовать ТИМ на стадии проектно-изыскательских работ. Для отрасли это стало важным шагом. Предполагалось, что ТИМ поможет навести порядок в процессах, ускорить выпуск документации, снизить количество ошибок и сделать работу команд более прозрачной.

3 6 минут 63 3