База для новичков
IDS (Information Delivery Specification) — это единый стандарт требований, разработанный buildingSMART, который определяет, какие данные должны быть предоставлены. Например, какие параметры должны быть назначены на элементы и как заполнены.
Главное преимущество — обеспечение однозначной интерпретации данных, все участники проекта работают с едиными требованиями, которые не привязываются к конкретному ПО.
В данной статье коротко о главном пробегусь и поделюсь своим опытом, и, конечно, полезными ссылками для самостоятельного изучения. Есть, чем поделиться? Присоединяйся!
Как создать свои?
Я выбрала usBIM by ACCA software. Регистрируемся и приступаем к работе. В общем-то всё:)
Настраиваем фильтрацию и требования к параметрам, версию IFC. Удобно, в системе уже заложены предложения наименований групп параметров, сами параметры и классы.
BIM-менеджмент
Настроенные шаблоны сразу во вкладке Report можно преобразовать в плюс-минус (из-за английского языка) читабельные требования к моделям.
Интеграция с BIM-системами:
- Импортируйте IDS в инструменты проверки моделей, такие как:
Solibri, Revit, BimVision,BIMcollab,Bonsai, Sortdesk,Open IFC Viewer
Pilot BIM,7D Modeler,Bimit
и скоро 🥰Larix...)
Как ознакомиться с уже созданными?
Загружаем через + файл IDS и далее два варианта:
просмотр в режиме "только чтение" (1) или же редактирование (2).
Приятного тестирования!
Отечественный аналог:
https://bim.ispras.ru/ids-editor
А как читать-то?
Оператор "И" равносилен The model MUST contain entities that have...
Оператор "ИЛИ" равносиленThe model MAY contain entities that have...
Оператор "НЕ" равносиленThe model MUST NOT contain entities that have...
А дальше основная загвоздка в том, как проверять сами значения, есть 5 вариантов:
- Просто проверяем на равенство какому-то значению
- Проверяем на соответствие регулярному выражению
- Проверяем не превышение максимального количества символов
- Проверяем удовлетворение минимальному количеству символов
- Проверяем на конкретное количество символов
Регулярные выражения
Регулярные выражения (RegEx) — мощный инструмент для работы с текстом, позволяющий делать сложные проверки самих значений параметров. Очень круто, мы уже ближе к 99% оцифровки требований.
Вообще, не выходя из системы, можно найти подсказку, как писать регулярные выражения.
Но лично я решила решила напрячь чат GPT)
Примеры
Давайте проверим, что текстовый параметр "Класс арматурной стали" должен начинаться с "А" и затем содержать три цифры, после которых идёт что угодно или ничего. Допустимое значение в таком случае: А500С.
В IDS редакторе это будет выглядеть следующим образом:
MUST HAVE property Класс арматурной стали of PSet Имя набора параметров (IFCTEXT) matching the pattern А\d{3}.*
- "Matching the pattern"
Проверка строки (или данных): удовлетворяет ли она заданному регулярному выражению.
- A
Это просто буква "A". Регулярное выражение ищет строку, которая начинается с этого символа.
- \d{3}
Это означает "ровно три цифры".
\d соответствует любой цифре от 0 до 9.
{3} указывает, что таких цифр должно быть ровно три.
- .*
Это соответствует "любое количество любых символов (включая 0 символов), кроме новой строки".
. — любой символ.
* — 0 или больше повторений.
Основы синтаксиса
Символы
- . — любой символ, кроме новой строки.
- \d — любая цифра (0-9).
- \D — любой символ, кроме цифры.
- \w — любая буква, цифра или символ подчеркивания (a-z, A-Z, 0-9, _).
- \W — любой символ, кроме букв, цифр или символа подчеркивания.
- \s — пробельный символ (пробел, табуляция, перевод строки).
- \S — любой символ, кроме пробельного.
Модификаторы количества
- * — 0 или более повторений.
- + — 1 или более повторений.
- ? — 0 или 1 повторение.
- {n} — ровно n повторений.
- {n,} — минимум n повторений.
- {n,m} — от n до m повторений.
Якоря
- ^ — начало строки.
- $ — конец строки.
- \b — граница слова.
- \B — не граница слова.
Группировка и альтернативы
- (abc) — группа символов (можно захватить для дальнейшего использования).
- | — логическое "или". Например, a|b соответствует либо a, либо b.
- (?:abc) — группа без захвата (не сохраняет совпадение).
Экранирование
Если нужно использовать специальные символы как обычные, их экранируют с помощью \. Например, чтобы найти точку, используйте \..
Как не ошибиться?
- Чтение документации: Для разных языков программирования (например, Python, JavaScript) синтаксис регулярных выражений может немного отличаться.
- Эксперименты: Начинайте с простых шаблонов и постепенно добавляйте сложность.
ЗАКЛЮЧЕНИЕ
Проверять модели становится всё проще и проще. Более того благодаря цифровым требованиям можно быть вендор независимым и однозначно формулировать требования к модели, избегая, к примеру ссылок на целые своды правил по ТИМ, но один нюанс, здесь работаем с IFC...)
Кстати на BIM-форуме коллеги из Главстроя совместно с питерской экспертизой представили пилот по переводу требований в IDS. Удивительно, но и в жилье работают с IFC. Давайте продолжать делиться лучшими практиками и результатами тестирования новых (или не очень) технологий, повышая уровень BIM-зрелости.
Хотелось бы верить, что следующая статья будет с практическими примерами проверок, чтобы показать, что это работает, и с какими нюансами можно столкнуться или же всё гладко:)
Дополнительные источники:
Подробнее можно ознакомиться тут:
😻Доклад Антона Мотовилова BIM-менеджмент. IDS-требования. IFC-требования
🙀Применение IDS в службе заказчика
Примеры IDS в общем доступе:
🙌🏻Требования московской гос. экспертизы ЦИМ МССК 5.0
✌🏻Требования питерской гос. экспертизы ЦИМ ОКС и ЦИМ РИИ
🤘🏻Подробная статья про структуру данных
🔥Запись вебинара Тимура Шарафутдинова (ТИМ ОЦКС Росатома) «IDS – машиночитаемые требования к информационным моделям» . Интересно послушать про недостатки IDS