Концепции организации программной библиотеки libIM
Цель разработки открытой программной библиотеки
Цель разработки открытой программной библиотеки обеспечить строительную отрасль открытым инструментом информационного взаимодействия в рамках применения технологий информационного моделирования, одинаково реализующим возможность работы с национальной схемой данных в части:
- обеспечение возможности информационного обмена на всех этапах жизненного цикла территории и ОКС
- сопровождение градостроительной деятельности, включая проектную и строительную деятельность для обеспечения управления требованиями, конфиграцией и замечаниями
- обеспечение метрологического сопровождения градостроительной деятельности
- формирование и сопровождение взаимосвязанной машиноинтерпретируемой терминологической системы (с поддержанием семантического смысла) для обеспечения градостроительной деятельности
- формирование инструментов автоматизированного сопоставления форматов обмена данными с национальной схемой данных
- разработка, сопровождение и развитие открытой программной библиотеки обеспечивающей реализацию национальной схемы данных и возможность преобразования из/в национальную схему данных сществующих стандартов (в первую очередь IFC и STEP)
Отличие данной библиотеки от решения ODA заключается в предоставлении всем желающим возможность обеспечить доступ к работе с национальной схемой данных в области информационного моделирования.
Задачи бибилиотеки libIM
Библиотека libIM разматывается для решения нескольких задач:
- Обеспечение трансформации данных одного формата в другой
- Формирование стандартного интерфейса к национальной модели данных строительной отрасли
- Обеспечение возможность чтения данных из форматов xml (в соответствии со схемой МИНСТРОЯ), ifc, step
- Обеспечение возможность экспорта в форматы step, ifc, xml (в соответствии со схемой МИНСТРОЯ), sql
- Обеспечение стандартного программного интерфейса api для использования различным по на различных Языка программирования.
- Обеспечение поддержки языков программирования: Julia, Python, C, C#
- Предоставление инструментов для работы в качестве элементов скриптов и просмотра модели
- Обеспечение возможности редактирования модели данных национального формата
- Обеспечение возможности формирования наборов данных в соотвествии со сценариями, этапами жизненного цикла
- Обеспечение возможности проверки на соответствие требованиям
- Обеспечение использования в различных программных средах
- Поддержка Операционных систем Linux, windows
- Обеспечение возможности донасыщения данными в соотвествии с требованиями заказчика
- Предоставление возможности обращения к онтологии гражданского строительства через стандартный интерфейс sparql и gremlin (графовой базы)
- Создания инструмента а-ля Jupiter notebook для формирования интерактивной проектной документации и пояснительных записок
Прообразом данной библиотеки является открытый инструмент ifcOpenShell одним из вариантов использования библиотеки видится возможность подключения этой библиотеки к ifcOpenShell для использования уже существующих возможностей blenderBIM Addon
Принципы построения библиотеки
Ядром работы библиотеки является единая модель данных строительной отрасли. Все другие модели данных приводятся к этой модели и после этого преобразовываются в другие модели данных, что позволяет добиться однозначного преобразования моделей данных и при этом постоянно называть единую модель данных. Чтобы единая модель данных могла решать обозначенные задачи в настоящее время существует возможность описания модели данных на основе онтологии. В качестве прототипа онтологии можно использовать онтологию разработанную финскими коллегами: https://digitalconstruction.github.io/v/0.5/index.html
Методология реализации
По поводу разработки программных библиотек для обработки модели данных IFC модно почитать в статье « IFC Import and Open Source» ведущего разработчика Компании Autodesk Jeremy Tammik
Условия распространения и использования программной библиотеки
Краткую информацию о сути открытых лицензий вы можете посмотреть в статье В чём разница между популярными Open Source лицензиями? Объясняет Github или на сайте GNU Как выбрать лицензию для своей собственной работы
Настоящяя библиотека распространяется по лицензии GNU Lesser General Public License v3.0