司空学社·MeetUp | SikongSphere-IFCTools 产品介绍
Sikongsphere-ifctools是司空学社组织的开源项目,是国内第一个完全实现IFC标准的开源核心模型库。该项目的定位为基于Java语言的IFC(industry foundation class)开源实现,并涵盖了相关工具包,旨在为建筑模型的信息化夯实基础。目前,SikongSphere-IFCTools 完成了0.0.1版本的上线,本文基于项目负责人刘钧文老师的分享,对于IFCTools的产品进行介绍。
SikongSphere IFC Tools 0.0.1 版本产品介绍:
https://www.bilibili.com/video/BV1qW4y1H7DA/?spm_id_from=333.1007.tianma.1-1-1.click&vd_source
=43600c17e579f196f281ecd747b72e39
Part 01 项目背景
伴随着智慧城市建设的浪潮,建筑规划领域的数字化也成为了学术、工业界关注的焦点。一个数据化的产品通常可以分为八个层级:解决方案层、用户交互层、数据应用层、数据服务层、数据计算层、数据存储层、数据接入层以及数据感知层(图1)。然而在当下建筑数字化产业的发展中,上述流程还存在着若干问题亟待解决:

不同领域之间的数据模型相互割裂
CIM中的GIS、BIM和IOT在展示层下是隔离的
三种数据模型无法进行相互的分析
BIM目前还没有与主流技术生态很好地结合起来
BIM闭源生态占主导,与主流生态隔离
开发语言有差异,导致主流框架无法集成
BIM目前没有比较好的开原生态来支撑持续创新
掌握BIM内核的研发人员非常缺失
建筑规划行业的教育体系不重视对编程技能的培养
行业内比较依赖成熟的国外商业软件
Part 02 产品介绍
产品架构
IFCTools在架构上分为三层Model层、扩展层和SDK层。

Model层:负责所有IFC标准的具体实现——基于IFC文档的Java模型实现。
SDK层:负责与用户进行交互(对于建筑元素进行操作分析的函数集、对于SQL的支持等)
扩展层:一些扩展功能模块(图模块、序列化模块、压缩模块等)
产品特性
实现了IFC标准
原型文件
提供了基础的IFC文件读写功能
目前只能支持IFC文件的读写,不支持其他格式文件
使用了Java作为开发语言,可以兼容Java生态中的开源项目
GIS领域:GeoTools、GeoMesa、GeoTrellis等
大数据领域:Hadoop、Spark、Flink、HBase等
代码完全开源,由司空学社维护
项目负责人:刘钧文
技术负责人:王博鸿
基于GPL 3.0协议
Part 03 路线图
IFC-Tools项目的开发路线分为六个阶段:POC阶段(Done)、原型开发阶段(Done)、要素开发阶段(Doing)、整体开发阶段、扩展开发阶段。

原型开发(已完成):对于简单IFC文件进行解析,并将IFC模型存入内存中,供SDK层进行操作解析
下图为IFCModel的结构,elements内部维护了具体IFC实体的实例。

要素开发阶段(进行中):从空白场地出发,不断完善model层中各个建筑要素
