Модульный инструментарий для создания конвейеров openBIM-данных
![Модульный инструментарий для создания конвейеров openBIM-данных](/uploads/blogs/2021-06/article_9jun2021-1_60c0b670e9ff0.png)
Сегодня в нашей подборке международных проектов, опирающихся на открытые стандарты, речь пойдет о целом наборе модульных инструментов для openBIM, разработанных в Австралии. С его помощью создателями была реализована конвейерная обработка информации: каждые 2 недели обрабатывались 3.4Гб IFC-данных, описывающих 5 зданий значительного размера с индивидуальными моделями для каждой дисциплины и объекта.
Задачи проекта
Строительно-инвестиционная группа компаний из Австралии, Lendlease, вдохновляясь концепцией открытых операционных систем UNIX, поставила перед собой цель создать набор модульных, независимых, кросс-платформенных openBIM-инструментов на базе бесплатного программного обеспечения с открытым исходным кодом. Предложенные инструменты должны справляться с разработкой IFC, обеспечением совместной работы с BCF-файлами (BIM Collaboration Format files), обнаружением столкновений, оцифровкой 2D-чертежей для IFC, валидацией IFC-данных для обмена, COBie анализом (Construction Operations Building information exchange data, формат для описания и определения местоположения компонентов здания), а также позволять сравнивать и моделировать строительную физику в IFC. С их помощью пользователи будут создавать собственные конвейеры для обработки openBIM-данных, которые смогут получить поддержку профессиональных сообществ в строительной отрасли, где применяются стандарты openBIM. На сегодняшний день разработанный инструментарий уже был опробован на ряде как небольших, так и более крупных коммерческих и инфраструктурных проектов.
Благодаря сочетанию бесплатного программного обеспечения и открытых стандартов концепция openBIM получает более широкое применение, с одной стороны, за счёт небольших игроков – кросс-платформенных пользователей, специалистов, которые не могут себе позволить собственную разработку, и тех, кто по идейным соображениям прибегает к бесплатным приложениям (например, некоммерческие организации, правительственные структуры, исследователи, сторонники FOSS, т.е. свободного ПО с общедоступными исходными кодами); а с другой – растёт его популярность среди профессионального сообщества в связи с постепенным ограничением их доступа к данным собственной искусственной среды. Более крупным игрокам, в свою очередь, становится проще и быстрее создавать собственные цифровые конвейеры, нежели полагаться на вендеров программных продуктов, поскольку предложенная автоматизация повышает эффективность и прозрачность рабочего процесса. Опыт специалистов Lendlease показывает, что развитие отрасли увеличивает спрос на высококачественную продукцию openBIM.
OpenBIM и программное обеспечение в проекте
Появление технологического конвейера для строительной отрасли с использованием бесплатного ПО стало возможным только благодаря openBIM: открытые программные продукты неизбежно тяготеют к интероперабельным схемам и поиску синергии, а не к созданию и поддержанию конкурентной среды. В данном проекте IFC становится ключевым нативным форматом и основной базой данных, будучи противопоставленным методологии импорта и экспорта из различных приложений. Устойчивость IFC- и BCF-форматов наряду с их возможностями для хранения и интеграции отношений данных в различных дисциплинах делает бесплатные приложения функциональными и надёжными до тех пор, пока они используют закреплённый набор IFC-данных.
Используемые открытые форматы:
IFC 2x3, COBie, MVD, IFC4, mvdXML, BCF, Uniclass, SVG, JSON, XML, HTML, Git, J/XUnit XML, Gherkin Syntax.
Программные продукты:
IfcOpenShell, Blender, BlenderBIM Add-on, FreeCAD, IFCDiff, IFC-COBie, BIMTester, IfcClash, IFCCSV, IFCPatch, Git, Git LFS, Bitbucket, Pipelines, Revit.
Подробное описание openBIM в проекте
Разработанный инструментарий был опробован на ряде объектов в различных вариантах использования, начиная с небольших проектов, где к openBIM обращались от возникновения до этапа производства и строительства; и заканчивая более крупными проектами с вовлечением большого количества дисциплин и заинтересованных сторон. Все проекты носили коммерческий характер и отвечали как внутренним коммерческим требованиям, так и условиям заказчика.
![image-0](/uploads/blogs/2021-06/photo5332631360810103752_60c078ef589e1.jpg?size=0x-)
Менее чем за год, набор из 7 кросс-платформенных и UNIX-подобных модульных инструментов был разработан по лицензиям свободного и открытого ПО, в качестве библиотеки была выбрана IfcOpenShell. Каждый инструмент имел свой функционал и предназначался для использования разными участниками на разных этапах проекта. Каждый кросс-платформенный инструмент подходил для независимого использования, мог применяться в качестве библиотеки или интегрироваться в графический пользовательский интерфейс. Каждый из них при этом использовал IFC в качестве вводного формата и считывал информацию напрямую из базы данных IFC, лишь в редких случаях переводя её в другие схемы. Ниже рассмотрим каждый инструмент более подробно:
IfcDiff сравнивает 2 IFC-файла на предмет изменений (схоже с командой git diff) с возможностями для проверки на изменения свойств и обратных атрибутов, а также на изменения геометрии. Утилита может использоваться для координации модели, аудита качества, управления её хранилищем. Каждый подкласс элементов IFC-модели хешируется для отслеживания изменений с учётом численного допуска, STEP ID и свойств, которые редко поддерживаются вендорами.
IfcCOBie переносит COBie-данные из соответствующего COBie MVD IFC-формата в электронные таблицы, включая журнал несоответствий сопоставления COBie. Главной функцией является доставка данных COBie.
IfcClash обеспечивает проверку допусков геометрии и обнаружение столкновений среди совокупностей IFC-моделей с возможностью фильтрации по элементам. Служит, в первую очередь, для координации модели.
IFCCSV служит для управления массивом IFC-данных при переводе их в/из CSV (comma-separated values), когда нет необходимости использовать графический пакет разработки информационных моделей. Позволяет создателям изменять массивы BIM-данных с помощью электронных таблиц без детального понимания IFC-схемы.
IFCPatch позволяет вносить изменения в IFC-данные на месте без необходимости импорта/экспорта модели. Обычно используется для реструктурирования IFC-данных, когда приложение для разработки не способно экспортировать их в желаемой структуре. Позволяет унифицировать данные, получаемые от различных поставщиков openBIM.
BIMTester проводит автоматическую валидацию модели и аудит качества, используя альтернативы MVD и mvdXML, описывающие обменные требования на упрощённом английском языке.
BlenderBIM Add-on обеспечивает создание, просмотр и редактирование собственных IFC2x3, IFC4, BCF-XML-файлов с использованием платформы Blender. Применяется для создания, визуализации, построения анимации последовательности строительных работ, отправления запросов к openBIM в реальном времени на языке Python, а также для подготовки строительной документации. Кроме того, используется в качестве графического интерфейса для остальных инструментов.
Конвейер был протестирован группой Lendlease совместно с Cox Architecture. Прототипом использования стал небольшой проект, на котором конвейерная обработка информации применялась для доставки здания (около 250м²) от разработки концепции дизайна до строительства, нативным форматом всей модели стал IFC. Никакой другой (в том числе проприетарный) формат для передачи данных не использовался, это справедливо и в отношении сопутствующей проектной документации. Двухмерные строительные чертежи и аннотация также хранились в IFC, а позже переносились в открытый стандарт SVG (scalable vector graphics) без применения какого-либо проприетарного программного обеспечения. Таким образом обеспечивалась отсылка всей документации к openBIM-данным: полученная масштабируемая векторная графика (SVG) в 2D ссылалась на отраслевые базовые классы посредством IFC атрибутов GlobalIds.
![image-0](/uploads/blogs/2021-06/photo5332631360810103762_60c07fcb5dcc8.jpg?size=0x-)
На более крупном коммерческом инфраструктурном проекте требованием заказчика была доставка OpenBIM-данных с определением модельного вида COBie. Примерно 3.3Гб IFC-данных доставлялись каждые 2 недели из различных дисциплин, включая архитектуру, структуру, инжиниринг, пожарные, ландшафтные и др. Для обработки получаемой информации была разработана специальная процедура доставки пользовательской модели и создан вычислительный конвейер аудита данных, включающий проверку openBIM-данных на предмет изменений с целью предотвратить избыточное согласование с консультантами, исправление для устранения несоответствий в поддержке openBIM вендорами и отправку модели в децентрализованную систему на основе GIT для отслеживания версий. Процесс лёг в основу openBIМ-центричной среды рабочего стола (Common Desktop Environment, CDE), где подлинность определяется IFC-файлами.
Впоследствии полученные данные проверялись и обрабатывались в соответствии с процессом непрерывной интеграции (Continuous Integration, CI), который заключается в постоянном слиянии рабочих копий в общую основную ветвь разработки аналогично с успевшими закрепиться в отрасли ПО практиками. База данных IFC обрабатывается несколькими утилитами, например, переводится в формат электронных таблиц для COBie MVD IFC ради удобства пользователя, проходит аудит и проверку с целью обнаружить столкновения или экспортируется в CSV для составления графика работ. Когда стандартов openBIM оказывалось недостаточно для полного описания (например, для аудита IFC-модели), они дополнялись небольшой базой в виде простой настраиваемой схемы, отформатированной в текстовом модульном формате, таком как JSON или Gherkin.
После выявления узких мест в MVDs и mvdXML при валидации данных было принято решение об использовании вместо них текстового формата Gherkin для описания обменных требований нейтральным языком, одинаково понятным как BIM-менеджерам, так и менеджерам проектов. Одновременно повышалась доступность и иных технических понятий openBIM для вовлечённых в проект нетехнических специалистов.
![image-0](/uploads/blogs/2021-06/photo5332631360810103765_60c081e614ac5.jpg?size=0x-)
На обоих проектах существующие стандарты открытых данных и закрепившиеся практики в индустрии ПО применялись наряду с конвейером openBIM; они включали управление исправлениями и доставкой моделей с использованием системы контроля версии Git, а также стандарт отчётности JUnit XML, часто применяемые в системах непрерывной интеграции.
Во время конвейерной обработки проводилась тщательная проверка полученной релевантной информации, которая впоследствии использовалась при подготовке публикации руководства пользователя по географической привязке в IFC (User Guide for Geo-referencing in IFC), а также позволила выявить недостатки BCF-XML-схемы, которые будут устранены в следующей версии (BCF v2.2).
Команда проекта гордится тем, что разработка инструментария проходила открыто и прозрачно. Кроме того, им удалось сформировать новое профессиональное онлайн-сообщество, заинтересованное в интеграции бесплатного программного обеспечения и открытых данных, его члены принимали активное участие в тестировании, подготовке предложений и совместной разработке конвейеров. В сообщество вошли разработчики программного обеспечения, они помогали создать интегрированный конвейер, основанный на общедоступных стандартах openBIM. Также ими была создана база данных и подготовлены руководства с описанием передового опыта по управлению данными openBIM в ряде утилит как проприетарных, так и открытых. Кроме того, появились новые инструменты, включая IFC2CA для структурного моделирования, интеграция IFC в Blender-Archipack и улучшена поддержка OpenBIM IFC и BCF во FreeCAD.
Основные достижения проекта
- Требования заказчика не могли быть удовлетворены существующими проприетарными ПО, однако, использование спецификаций openBIM в сочетании с собственным вычислительным конвейером позволили добиться поставленной задачи. Кроме того, прозрачность в совместной работе над openBIM способствовала отношениям заказчик/консультант между Cox и Lendlease, в которых обе стороны могли в равной степени изменять BIM-модель, насколько это требовалось в рамках проекта.
- Создателям удалось подготовить 7 кросс-платформенных и отвечающих концепции UNIX-инструментов, разработанных по трём лицензиям бесплатных программных продуктов и предлагающих многочисленные варианты использования на различных этапах строительного проекта.
- Небольшой проект перешел из стадии проектирования в стадию строительства, используя исключительно IFC и SVG (для документации) в качестве нативных форматов, при этом иные САПР и BIM-форматы не использовались, что доказывает состоятельность openBIM в качестве нативного формата.
- На многофункциональном инфраструктурном проекте штата Новый Южный Уэльс была запущена автоматическая процедура аудита, регулярно обрабатывающая гигабайты openBIM-данных с применением альтернатив MVDs и mvdXML, разработанных заказчиком.
- Появилось новое сообщество проектировщиков, работающих с открытым исходным кодом, объединившее 330 специалистов за первые полгода. Оно поддерживает обмен openBIM-данными среди различных (пока недостаточно представленных) утилит и платформ, помогает развивать и тестировать новые рабочие процессы, параллельно создавая руководства и описывая лучшие практики.
Результаты проекта и преимущества использования openBIM
Можно выделить три основных аспекта инновационности проекта
- Использование OpenBIM и SVG для двусторонней строительной документации.
Несмотря на относительную проработанность схем openBIM-данных для BIM-моделей, openBIM-данные для строительной документации значительно отстают, а ведь они определяют правовые документы строительных проектов. В рамках проекта формат IFC использовался для хранения аннотаций всей строительной документации и для создания всех визуальных представлений, а стандарт SVG, в свою очередь, применялся для их отображения в таблицах, управления повторным использованием и применения стилей CSS для определения веса линий и стилей штриховки во время выполнения (вместо базовых классов IFC). Масштабируемая векторная графика (SVG) связана с базой данных IFC, что позволяет отправлять запрос любого 2D-векторного многоугольника, содержащегося в строительной документации, и определять его оригинальный атрибут элемента GlobalId, строительный материал IfcMaterial Name или иное свойство IFC. Возможность запрашивать семантически богатую строительную документацию SVG, связанную с базой данных IFC, безусловно, является инновацией. Кроме того, она представляет собой юридическую гарантию того, что строительная документация полностью основывается на openBIM-данных, а это, в свою очередь, постепенно становится договорным обязательством, соблюдения которого на сегодняшний день очень сложно (если вообще возможно) добиться. - Замещение MVD и mvdXML обменными требованиями, написанными с помощью синтаксиса Gherkin.
С технической точки зрения такой подход едва ли является инновационным, однако он очень важен, поскольку открывает доступ к openBIM-данным нетехническим специалистам. Внедрение подробных специфичных для проекта обменных требований с использованием MVD и mvdXML является серьёзным барьером, так как требует от пользователя глубокого понимания схем OpenBIM-данных и уверенного владения индивидуальным набором инструкций XML; в то время как аналогичная mvdXML функциональность с применением человеческого языка позволяет бизнес-ориентированным участникам осознавать ценность OpenBIM и поддерживать дальнейшее инвестирование в успешное и эффективное применение открытых стандартов. - Отношение к IFC как к нативному формату, а не формату обмена.
Для наиболее широкой функциональности инструментов было необходимо воспринимать IFC как общий язык общения между различными программами. Импорт и экспорт всегда сопряжены с высоким риском потери данных, в то время как процессы, постепенно изменяющие данные в рамках интегрированного вычислительного конвейера, не подвержены такому риску.
Авторам проекта удалось добиться прямого обращения к IFC, в силу чего перевод IFC-модели в нативную оказывается максимально ограничен или отсутствует совсем, а значит, данные не искажаются и не теряются. Кроме того, утилитами можно обмениваться среди разных приложений. Например, сравнение IFC с помощью IFCDiff может применяться как на Blender, так и на платформе FreeCAD без каких-либо различий.
Также стало возможным частичное редактирование модели. Например, BlenderBIM Add-on позволяет изменять отдельные геометрические представления IFC-модели, остальные IFC-данные при этом остаются без изменений. Такой подход даёт возможность пользователю постепенно изменять растущий объём OpenBIM-схемы с помощью каждого инструмента.
Пути дальнейшего развития
Создатели инструментария наметили три основных пути дальнейшего развития, обусловленные обнаруженными уязвимостями. Так, использование openBIM-данных в приложениях компьютерной графики обнажило слабые места в спецификации, связанные с вариантами использования, сопряжёнными с компьютерной графикой и рендерингом: например, спецификации материала, цвета и текстуры при визуализации и моделировании освещения. Критические суждения и предложения на этот счёт уже звучат на форумах консорциума buildingSMART.
![image-0](/uploads/blogs/2021-06/photo5332631360810103772_60c0899e7d842.jpg?size=0x-)
В продуктовых чертежах применение openBIM-данных показало расхождения в ожиданиях buildingSMART и ожиданиях профессионального сообщества относительно роли открытых стандартов в сфере проектной документации.
Использование синтаксиса Gherkin в качестве замены mvdXML выявило потенциально более доступную и удобную альтернативу mvdXML.