2. 香港大学 房地产与建设系, 香港 999077
2. Department of Real Estate and Construction, The University of Hong Kong, Hong Kong 999077, China
信息化是建筑业发展战略的重要组成部分,而建筑信息模型(building information modelling, BIM)是建筑业信息化的基础,其核心是工程各种信息的集成、共享与交互[1]。BIM信息的传递主要涉及3个维度:1)时间维度,即在建筑工程全生命周期(如规划、设计、施工、运维和拆除)内传递;2)专业维度,即在建筑工程涉及的多个设计专业(如建筑、结构、给排水、暖通等)间传递,避免或减少设计冲突[2];3)参与方维度,即在建筑工程利益相关方(如建设方、施工方、设计方等)间传递,避免信息孤岛和信息断层[3]。BIM在建筑工程不同阶段、不同设计专业、不同参与方的应用,需要不同BIM应用软件(如Revit、Tekla Structures、Rhinoceros等)和数据类型的支持,即需要标准数据转换实现工程各阶段、各专业和各参与方之间的有效信息传递。
为此,buildingSMART提出工业基础类(industry foundation classes,IFC)[4]作为BIM信息交换的标准[3]。IFC标准采用面向对象的EXPRESS语言描述建筑产品数据,通过IFC文件进行存储和管理。尽管IFC标准为BIM综合应用及相关软件二次开发提供一定支持,但IFC文件自身存在局限性,例如不支持并行操作、缺乏安全性,且经常包含过多冗余信息,故不能成为信息系统数据存储的主要形式[1, 5]。相比之下,数据库是长期存储在计算机内、有组织的、可共享的数据集合。因此,将IFC数据模型转换为数据库模型,不仅有利于BIM数据的共享和并行操作,还能有效提高数据的安全性、可靠性和持久性[6-7]。
目前,将IFC数据模型映射为数据库模型的相关研究,可分为映射为关系型数据库和非关系型数据库两类。关系型数据库是依据关系模型创建的数据库,其中关系模型指二维表格模型,因而关系型数据库是由二维表及它们之间的联系组成的数据组织[8]。非关系型数据库是指非关系型的、分布式的,且一般不保证遵守ACID(原子性(atomicity)、一致性(consistency)、隔离性(isolation)和持久性(durability))原则的数据存储系统。相比之下,关系型数据库成本低、有利于持久存储,而非关系型数据库支持多种存储格式、查询效率高、可扩展性强。对于关系型数据库,李小林等[9]针对STEP标准利用数据字典实现了不同数据类型从EXPRESS数据向关系型数据库的转换,该方法的局限是需要手动创建数据表;张洋[7]利用关系型数据库存储IFC数据,实现了IFC模型结构化数据的读取、保存、提取、集成和扩展,但仅侧重于建筑设计阶段,未对后期施工应用作进一步研究分析;成于思等[1]在考虑继承关系和聚类关系的基础上定义了从IFC数据模型向关系型数据库模型的转换规则,但未考虑属性约束,因此难以转换全部信息;Solihin等[10]根据星型模型将IFC数据转化为BIMRL模式,从而实现BIM数据的标准化SQL查询,可根据构件属性和空间位置检索,但仅提供只读访问,且与空间相关的检索效率较低。对于非关系型数据库,Faraj等[11]提出了基于Web的IFC共享项目环境ŽWISPER,利用STEP工具ST-Developer实现EXPRESS的解析并映射到ObjectStore,但未系统比较其数据管理效率和对工程项目产生的经济价值;Tanyer等[12]将IFC数据转存入面向对象数据库,开发新的4D规划工具,但转存后的IFC文件大小是原来的2~5倍,降低了系统性能;Lee等[13]基于对象-关系数据库开发了对象-关系IFC服务器,通过简化继承结构和聚合概念的映射过程来提高查询性能,但未考虑数据库的其他操作性能;张迪等[14]用对象-关系型数据库Oracle管理IFC数据,存储建筑数据模型,但仅定义4种数据类型的映射规则,亦未进一步分析其数据管理效率。
此外,一些研究专门对映射后的关系型数据库和面向对象数据库的文件管理效率进行比较分析。例如,黄忠东等[15]比较了基于关系型数据库和面向对象数据库实现标准数据存储界面的优缺点,虽然面向对象数据库的模式转换更直接,但是考虑到关系型数据库相关技术更成熟,拥有标准的数据模式和接口,且应用更广泛,故关系型数据库在现阶段更适用。Jeong等[16]比较了使用关系型数据库和对象-关系型数据库查询含有9 115个对象的IFC文件的效率,发现除查询简单对象外,对象-关系型数据库的查询效率更高。陆宁等[17]对两种具有代表性的数据库——面向对象数据库Versant Object Database 8和关系型数据库SQL Server 2005在插入、查询、更新和删除数据方面的效率进行比较,发现对于超过数万实体构成的IFC数据,面向对象数据库的管理效率相对更高。Lee等[13]通过案例测试发现对象-关系数据库的查询性能优于关系型数据库,且数据规模越大,差别越大,原因在于IFC采用面向对象的EXPRESS语言,因此面向对象数据库能够更直接、自然地表示EXPRESS的语义,对大量IFC数据的处理效率也相对更高。然而,EXPRESS和面向对象数据库的数据类型并不一一对应,且不同面向对象数据库的模式差异较大,可移植性较低[15]。另外,由于关系型数据库拥有以下优点,即丰富的计算机编程语言接口、成熟的商业软件和配套工具软件,从促进建筑信息有效传递的角度出发,选择将IFC数据模型映射为关系型数据库模型更有利于实现BIM数据的传递和共享。
综上所述,虽然现有研究对于IFC数据到关系型数据库的自动映射已经取得一定进展,但仍存在以下局限:未考虑完整约束导致信息丢失,未进一步分析其映射效率和数据管理效率,且应用主要集中于建筑设计阶段,较少考虑施工阶段。因此,仍需要一种通用的转换方法,不仅实现各种BIM软件导出的IFC数据模型到关系型数据库模型的自动映射,还应在关系型数据库中尽量保留原始的构件信息,以便在此基础上针对后期施工应用进行二次开发。为此,本研究基于面向对象的Java语言提出一种IFC数据模型至关系型数据库模型的自动映射方法,进一步比较该方法和直接操作IFC文件在信息传递完整性和数据管理效率方面的差异,并通过2个施工应用案例,验证所提出方法的专业应用前景。
1 自动映射方法构建 1.1 IFC模型数据结构概述IFC标准作为国际通用的BIM数据标准,采用面向对象的EXPRESS语言描述建筑产品数据。这意味着IFC既可以描述真实的物理对象,如门、窗等,也可以表示抽象的概念,如组织过程[7]。IFC数据模型由4个层次构成,从低到高依次为资源层、核心层、共享层和领域层,各层之间遵循“重力原则”,即每个层次只能引用同层次或低层次的信息。
一个完整的IFC数据模型由实体(entity)、类型(type)、函数(function)、规则(rule)、属性集(property set)和数量集(quantity set)构成。实体是由属性与约束定义的信息集,是IFC数据模型的核心。类型定义作为IFC模型的主要组成部分,包括3种数据类型:定义类型(defined type)、枚举类型(enumeration type)和选择类型(select type)。函数和规则用于计算或者约束实体的属性,亦可用于验证模型的正确性。属性集则是属性的集合,用于描述事物和概念,可以被不同的对象引用。数量集是定量信息的集合,也可以被不同的对象引用。表 1展示IFC4x1中模型元素在各功能层的数量分布。
| 类型 | 实体 | 函数 | 规则 | 属性集 | 数量集 | 合计 | |
| 领域层 | 102 | 198 | 0 | 0 | 471 | 70 | 841 |
| 共享层 | 40 | 100 | 0 | 0 | 118 | 17 | 275 |
| 核心层 | 35 | 125 | 5 | 1 | 31 | 6 | 203 |
| 资源层 | 223 | 378 | 47 | 1 | 17 | 0 | 666 |
| 合计 | 400 | 801 | 52 | 2 | 637 | 93 | 1 985 |
| 注:表中数据针对IFC4x1统计。 | |||||||
1.2 映射规则构建
为实现IFC数据在关系型数据库中的持久存储,本研究将构建从IFC到Java再到MySQL数据库的映射规则。IFC模型由大量实体对象组成,实体是IFC信息交换的载体,通过实体、类型、函数、规则、属性集值和数量集值的引用进行定义,下面分别建立相应的映射规则。
1.2.1 实体映射规则对于实体映射规则,区别于EXPRESS语言支持多重继承,IFC的实体是单继承的,这与Java面向对象继承的概念一致,因此IFC的实体在映射过程中分别对应Java类和关系型数据库的表。
1.2.2 类型映射规则如表 2所示,IFC的定义类型转换为Java类中的基本数据类型或者String类型,在MySQL数据库中则存储为对应的基本类型。IFC的枚举类型映射为Java中的枚举类型,由于枚举类型的取值均为字符串,因此对应MySQL数据库用varchar类型存储。对于选择类型,把IFC的选择类型对应的类的值存储到Java中的String类型,在MySQL数据库中则存储为varchar类型。比如,IfcActorSelect是选择类型,可供选择的类型有IfcPerson、IfcPersonAnd-Organization和IfcOrganization 3种,解析过程中根据IFC文件的内容首先映射到Java对应的这3种类型(IfcPersonAndOrganization、IfcOrganization和IfcPerson)中,各类型中的值用String类型存储,而在MySQL数据库中用varchar类型存储。
| IFC | Java | MySQL | |||
| 定义类型 | 基本数据类型 | String类型 | 基本类型 | ||
| INTEGER | int | int | |||
| DOUBLE | double | double | |||
| BINARY | byte | binary | |||
| BOOLEAN | boolean | int | |||
| STRING | String | varchar | |||
| LOGICAL | String | varchar | |||
| LIST | list | varchar | |||
| SET | set | varchar | |||
| REAL | double | double | |||
1.2.3 函数和规则的映射规则
IFC的函数对应Java类中的函数名,但这些函数不在MySQL数据库中存储。规则对应于Java类中的逻辑过程,也不在MySQL数据库中存储。
1.2.4 属性集和数量集的映射规则IFC的属性集和数量集,虽然在不同功能层的不同模块中有各自的字段名,但都映射为Java类中基本数据类型或者String类型,因此在MySQL数据库中存储为基本类型中的varchar类型。
1.3 IFC数据解析和映射完成IFC数据模型到MySQL数据库模型映射规则的构建后,需要对IFC数据进行解析。本研究在jdk1.8开发环境下,采用Java语言,使用hibernata开源库,采用buildingSmart提供的开源解析引擎(IFCjar包为com.apstex.ifc4x2toolbox.jar),通过设计与IFC标准对应的Java类以及类的属性对IFC数据进行深度解析,部分属性采用一对一映射,部分属性则采用一对多映射,实现IFC共享层实体类(IFC4x1共48种)的自动解析与映射。以某个实际工程IFC模型中的IfcBeam实体为例,如表 3所示,该实体包含GlobalId、OwnerHistory、Representation等多种属性。其中,梁的总编号属性属于一对一映射,其属性名为GlobalId,数据类型为IfcGloballyUniqueId,对应的Java类自定义属性名为GlobalId,数据类型为String;而梁的表示属性属于一对多映射,其属性名为Representation,数据类型为IfcProductRepresentation,对应的Java类的自定义属性名有多个,包括:体积属性名Volume,数据类型为double;长度属性名Length,数据类型为double;横截面尺寸属性名SectionB和SectionH,数据类型均为double。
| IFC | Java | MySQL | |||||
| IfcBeam实体 | Java类 | IfcBeam表 | |||||
| 属性 | 数据类型 | 自定义属性 | 数据类型 | 字段 | 数据类型 | ||
| GlobalId | IfcGloballyUniqueId | GlobalId | String | GlobalId | varchar | ||
| OwnerHistory | IfcOwnerHistory | ownerHistory | String | OwnerHistory | varchar | ||
| ⋯ | ⋯ | ⋯ | ⋯ | ⋯ | ⋯ | ||
| Representation | IfcProductRepresentation | Volume | double | Volume | double | ||
| Length | double | Length | double | ||||
| SectionB | double | SectionB | double | ||||
| SectionH | double | SectionH | double | ||||
| ⋯ | ⋯ | ⋯ | ⋯ | ⋯ | ⋯ | ||
1.4 IFC数据自动存取
经过上述数据解析与映射,IFC数据将暂存在Java对象中,可通过开源的对象关系映像框架Hibernate将Java对象数据进一步映射到MySQL数据库中,进而实现IFC数据在关系型数据库中的持久存储。仍以表 3中的IfcBeam实体为例,根据映射规则,IfcBeam实体映射为MySQL数据库中的IfcBeam表;Java类中自定义属性GlobalId在MySQL数据库IfcBeam表中对应的字段名为GlobalId,数据类型为varchar;Java类中自定义属性Volume在MySQL数据库IfcBeam表中对应的字段名为Volume,数据类型为double。本研究采用的Hibernate是一个全自动的Object Relational Mapping (ORM)框架,能够对连接Java和数据库的Java DataBase Connectivity (JDBC)进行封装,实现自动创建数据库表并生成SQL操作语句。
1.5 信息自动检索与处理对于映射得到的MySQL关系型数据库,还应实现数据库的高效访问,即信息自动检索与处理。实际操作中通常需要返回大量数据并面向互联网传输,因此本研究在进行数据库输出时把相关属性封装在一个类中,序列化为JSON数据,实现同时返回多行数据,也便于后期进行网络数据交换。其操作过程如下:1)客户端向服务端请求数据查询接口,同时传递所查询构件的特征信息(如关键字段GlobalId);2)服务端根据接收到的特征信息(如关键字段GlobalId)检索MySQL数据库,将查询到的构件数据转换为JSON数据并返回给客户端;3)客户端通过解析返回的JSON数据,获得构件的尺寸、位置、体积、方向等信息。
2 自动映射方法性能分析为验证上述自动映射方法的有效性,下文通过一个实际工程项目的BIM数据,对比直接操作IFC数据和操作映射得到的关系型数据库在信息传递完整性和数据管理效率方面的差异。选择上述测试指标的原因是信息传递完整性保证了方法的可用性,而数据管理效率则体现其经济效益。
2.1 信息传递完整性对比BIM实现有效信息传递的前提是保证信息传递的完整性。当前IFC数据是以IFC文件的形式存储,通过兼容IFC的建模软件(如Revit)将建筑模型导出为IFC文件,但此形式不便于直接和关系型数据库比较。考虑到Revit可以通过“导出—ODBC数据库—机器数据源—新建—用户数据源(系统数据源)—SQL Server Native Client—自定义名称和服务器—身份验证—选择数据库—选择账号—登录服务器—Revit导出数据”实现关系型数据库中IfcBeam表的自动导入,为更直观地比较,本研究对比Revit自动导出的IfcBeam表和利用本研究所提出方法映射得到的关系型数据库中IfcBeam表在包含属性上的差别,进而分析得到二者在信息传递完整性方面的差异,结果如表 4所示。由表 4可见,映射得到的关系型数据库中IfcBeam表所包含的信息更完整,新增Coordinates、Directions等十多种属性。根据下文提出的应用前景,这些新增的属性可用于智慧工地、支持自动化吊装等,比如可以根据构件的基本信息如Span、SectionB、SectionH、Weight和Coordinates等确定吊车选型,利用IsExternal和ContourVertex属性信息筛选吊臂长度。
| 属性 | 描述 | Revit直接导出的IfcBeam表中包含与否 | 映射为关系型数据库后得到的IfcBeam表中包含与否 |
| GlobalId | 编号 | 是 | 是 |
| Name | 名称 | 是 | 是 |
| ShearLength | 剪切长度 | 是 | 是 |
| TypeId | 类型ID | 是 | 是 |
| Volume | 体积 | 是 | 是 |
| Length | 长度 | 是 | 是 |
| Elevation | 标高 | 是 | 是 |
| ReferenceElevation | 参照标高 | 是 | 是 |
| StructuralMaterial | 结构材质 | 是 | 是 |
| TopElevation | 顶高程 | 是 | 是 |
| BottomElevation | 底高程 | 是 | 是 |
| Purpose | 结构用途 | 是 | 是 |
| PhaseOfCreation | 创建阶段 | 是 | 是 |
| PhaseOfDismantling | 拆除阶段 | 是 | 是 |
| EstimatedRebar Volume | 估计的钢筋体积 | 是 | 是 |
| DesignOptions | 设计选项 | 是 | 是 |
| Annotation | 注释 | 是 | 是 |
| Sign | 标记 | 是 | 是 |
| IfcGUID | GUID | 是 | 是 |
| Coordinates | 坐标 | 否 | 是 |
| Directions | 方向 | 否 | 是 |
| IsExternal | 是否外部 | 否 | 是 |
| LoadBearing | 是否承重 | 否 | 是 |
| Slope | 斜率 | 否 | 是 |
| Span | 跨度 | 否 | 是 |
| SectionB | 截面长度 | 否 | 是 |
| SectionH | 截面高度 | 否 | 是 |
| Weight | 重量 | 否 | 是 |
| ContourVertex | 轮廓顶点 | 否 | 是 |
| YAxisOffsetValue | Y轴偏移值 | 否 | 是 |
| YAxisPairPositive | Y轴对正 | 否 | 是 |
| ZAxisOffsetValue | Z轴偏移值 | 否 | 是 |
| ZAxisPairPositive | Z轴对正 | 否 | 是 |
| YZAxisPairPositive | Y、Z轴对正 | 否 | 是 |
2.2 数据管理效率
为验证所提出方法的映射效率能否满足实时性要求,本研究分别统计实现1、5、10、15和20万行IFC数据自动映射需要的时间,且为保证实验数据的可靠性,每个统计结果取10次测试结果的平均值,如表 5所示。实验环境为搭载Windows 10操作系统的个人计算机,配备Intel Core i7-6700K @ 4.00 GHz 4核处理器和32 GB内存。由表 5可见,对于10万行及以下数量级的IFC数据,其自动映射时间在2 min以内,可满足工程实时性需求。此外,数据库管理主要涉及数据的增删查改。工程实践中通常依靠应用软件对IFC实体对象进行增加和删除,而对IFC文件的数据操作主要是数据查询和修改。为比较上述两个方法在数据管理效率上的差异,本研究还进一步对比直接操作IFC文件和操作映射得到的关系型数据库对不同数量级IFC数据进行修改和查询的用时情况。
| 构件数据量/万行 | 映射时间/s | 直接查询IFC文件时间/ms | 查询关系型数据库时间/ms | |||
| 首次用时 | 二次用时 | 首次用时 | 二次用时 | |||
| 1 | 6 | 54 | 61 | 607 | 25 | |
| 5 | 44 | 137 | 141 | 656 | 41 | |
| 10 | 117 | 147 | 158 | 658 | 52 | |
| 15 | 163 | 246 | 204 | 661 | 54 | |
| 20 | 475 | 351 | 319 | 677 | 60 | |
二者的数据查询效率对比结果如表 5所示。对于同一构件类型的数据(即同一张表上的数据),表 5结果表明,虽然查询关系型数据库的首次用时高于直接查询IFC文件,但是查询关系型数据库的二次用时明显低于直接查询IFC文件。其原因在于关系型数据库首次查询后将同一构件类型的数据缓存于内存中,从而降低二次查询此类数据的耗时,且数据量越大,关系型数据库二次耗时的降低效果越显著;直接查询IFC文件则与此相反,每次都需要重新检索IFC文件,因此其首次用时和二次用时相差不大。实际工程应用中通常需要多次查询同一构件类型数据,因此使用关系型数据库的查询效率高于直接查询IFC文件。
二者的数据修改效率对比结果如表 6所示。修改关系型数据库的效率明显高于直接修改IFC文件,且随着构件数量从1万行增加到20万行,修改效率从186倍提升到429倍。这是由于IFC对象的属性修改后,需要更改整个文件的内容使修改生效,该过程相当于重写一次文件,所花费的时间长于修改关系型数据库,且随着数据量的增加,修改IFC文件所需的时间也增加。
| 构件数据量/万行 | 直接修改IFC文件时间/ms | 修改关系型数据库时间/ms | 前者与后者的效率比 |
| 1 | 19 345 | 104 | 1:186 |
| 5 | 44 893 | 173 | 1:259 |
| 10 | 60 563 | 232 | 1:261 |
| 15 | 74 702 | 369 | 1:202 |
| 20 | 174 563 | 406 | 1:429 |
3 应用前景分析
本研究提出的映射方法,不仅实现了IFC对象从IFC数据模型到关系型数据库模型的自动映射,还在一定程度上保证了信息传递的完整性,因此有潜力支持相关应用的二次开发。下面通过2个案例展示映射得到的关系型数据库的专业应用前景。
3.1 自动生成构件级进度计划进度控制是工程项目管理三大控制之一,传统进度计划编制的基础是工作分解结构[18]。由于IFC数据模型具有面向对象的特征,本文方法映射得到的关系型数据库是构件级的(见图 1)。在此基础上,自动生成进度计划需要进一步确定各构件的工作时间并增加工序约束。以某装配式框架结构项目为例,数据库中包含项目相关构件的基本信息,其吊装时间根据平均作业工效自动计算得到。系统确定构件吊装顺序的原则是:1)根据构件的标高自动确定其所在楼层,按所在楼层从低到高的顺序排列;2)对于在同一实际楼层内的构件,初始默认吊装顺序为柱-梁-板-楼梯-阳台,从而自动生成构件级进度计划,如图 2所示。
|
| 图 1 映射得到的关系型数据库IfcWall表(部分) |
|
| 图 2 某装配式框架结构一层进度计划(部分) |
3.2 自动吊装对象智能识别
起重机是施工现场使用最广泛的设备之一[19],其作业自动化对于实现智能建造有重要意义,而吊装对象的自动识别是实现起重机自动化操作的前提。利用图像设备等采集构件信息是目前识别现场对象的常用手段,然而能够采集到的信息还非常有限,主要是构件的空间位置和颜色纹理信息。以移动式起重机的自动选型和定位为例,在潘在怡[20]整理的约束基础上归纳出表 7所示的3个约束条件和对应的信息需求。但表 7中大部分信息无法直接通过传感器采集,需要从解析的BIM模型中获取或进行转换计算,比如构件质量可基于解析得到的材质信息和体积信息确定。为此,可以结合图像设备采集的构件特征信息和吊装构件基础数据库确定吊装对象,从而实现吊装构件的自动识别(见表 8)。从数据库中获得该构件的其他关键信息(如构件编码、质量、重心位置、安装位置等),并在数据库中更新吊装构件的真实原始坐标,为下一步吊装路径自动规划作准备。
| 约束条件 | 所需信息 | 信息来源 | 需要BIM模型的数据 |
| 环境约束 | 建筑首层外轮廓坐标 | 解析的BIM模型需计算转换 | 首层墙的坐标、尺寸 |
| 主干道、临时设施的轮廓坐标 | 解析的BIM模型直接获取 | ||
| 操作约束 | 吊装构件的起始位置 | 传感器获取 | |
| 吊装构件的目标位置 | 解析的BIM模型需计算转换 | 构件的相对位置、尺寸、方向、楼层层高等 | |
| 吊桩构件的质量 | 解析的BIM模型需计算转换 | 构件材质、体积 | |
| 安全约束 | 吊装时建筑的高度、外部轮廓、吊臂位置 | 解析的BIM模型需计算转换 | 时间参数、楼板、墙、柱的坐标、位置 |
| 提取特征 | Centroid coordinate: (0.466, -0.261, 2.157) Sizes (length×width×height): 0.82×0.44×0.26 Colors (B,G,R): (135, 124, 121) |
| 查询 | SELECT GlobalID, Weight, Target_Location FROM t_slab table WHERE Length between 0.77 and 0.87 and Width between 0.39 and 0.49 and Height between 0.21 and 0.31 and B between 115 and 155 and G between 104 and 144 and R between 101 and 141 |
| 结果1 | GlobaID: 0yrQFJS7b9auGYqnNNxxN3; Weight: 0.192; Target_Location:(5.0, 2.0, 6.0) |
| 更新 | Update t_slab SET Original_Location=(0.466, -0.261, 2.157) WHERE GlobalID=0yrQFJS7b9auGYqnNNxxN3 |
| 结果2 | Rows matched: 1; Rows changed: 1 |
4 结论
本研究提出一种实现IFC数据模型到关系型数据库模型的自动映射方法,针对IFC模型元素建立从IFC到Java再到MySQL数据库的映射规则,从而实现建筑模型IFC数据到关系型数据库的自动映射,并结合实际工程的BIM数据,从数据完整性和数据管理效率2个方面对映射方法的成效进行了分析。在此基础上,进一步结合2个案例分析该映射方法得到的关系型数据库在施工阶段的专业应用前景。结果表明,本文方法不仅能够提高BIM数据管理的完整性和效率,还可促进智能建造的拓展应用和建筑业的信息化发展。具体如下:1)利用本文方法将IFC数据模型转换为关系型数据库模型后,信息更完整;2)所提出方法的映射效率满足工程实时性要求,关系型数据库的修改效率和综合查询效率都明显高于直接操作IFC文件的效率,且数据量越大,效率提升越显著;3)在映射得到的关系型数据库基础上进行二次开发,有潜力支持智能建造的拓展应用(如进度计划自动生成、吊装构件自动识别等)。
此外,本研究还存在一定的局限性。特别是在方法性能分析方面,仅考虑Revit导出的IFC文件及数据库表,没有考虑其他BIM软件导出的相关文件。在未来的研究中,将对此进行更为广泛的分析。
本文是在“2018年第4届全国BIM学术会议”上发表的《IFC数据到关系型数据库的自动映射方法研究》[6]的扩展。
| [1] |
成于思, 李启明, 成虎. IFC数据在关系数据库上的实现研究与应用[J]. 计算机应用与软件, 2014, 31(11): 34-44. CHENG Y S, LI Q M, CHENG H. On implementing IFC data in rational database and its application[J]. Computer Applications and Software, 2014, 31(11): 34-44. (in Chinese) |
| [2] |
赖华辉, 邓雪原, 刘西拉. 基于IFC标准的BIM数据共享与交换[J]. 土木工程学报, 2018, 51(4): 121-128. LAI H H, DENG X Y, LIU X L. IFC-based BIM data sharing and exchange[J]. China Civil Engineering Journal, 2018, 51(4): 121-128. (in Chinese) |
| [3] |
何关培. 实现BIM价值的三大支柱:IFC/IDM/IFD[J]. 土木建筑工程信息技术, 2011, 3(1): 108-116. HE G P. Three pillars to realize the value of BIM:IFC/IDM/IFD[J]. Journal of Information Technology in Civil Engineering and Architecture, 2011, 3(1): 108-116. (in Chinese) |
| [4] |
BuildingSMART International. Industry foundation classes (IFC): An introduction[S/OL].[2020-06-30]. https://technical.buildingsmart.org/standards/ifc/.
|
| [5] |
SUN J, LIU Y S, GAO G, et al. IFCCompressor:A content-based compression algorithm for optimizing Industry Foundation Classes files[J]. Automation in Construction, 2015, 50: 1-15. |
| [6] |
周颖, 郭红领, 罗柱邦. IFC数据到关系型数据库的自动映射方法研究[C]//第4届全国BIM学术会议论文集.合肥, 2018: 311-317. ZHOU Y, GUO H L, LUO Z B. Research on automatic mapping method from IFC data to relational database[C]//Proceedings of the 4th National BIM Academic Conference. Hefei, 2018: 311-317. (in Chinese) |
| [7] |
张洋.基于BIM的建筑工程信息集成与管理研究[D].北京: 清华大学, 2009. ZHANG Y. Research on BIM-based building information integration and management[D]. Beijing: Tsinghua University, 2009. (in Chinese) |
| [8] |
张巨俭. 数据库基础案例教程与实验指导[M]. 北京: 机械工业出版社, 2011. ZHANG J J. Basic database case tutorial and experimental guidance[M]. Beijing: China Machinery Industry Press, 2011. (in Chinese) |
| [9] |
李小林, 易红, 吴锡英. EXPRESS数据模式在关系数据库上的实现[J]. 计算机集成制造系统, 1999(1): 64-68. LI X L, YI H, WU X Y. Implementation of EXPRESS data mode on relational database[J]. Computer Integrated Manufacturing System, 1999(1): 64-68. (in Chinese) |
| [10] |
SOLIHIN W, EASTMAN C, LEE Y C, et al. A simplified relational database schema for transformation of BIM data into a query-efficient and spatially enabled database[J]. Automation in Construction, 2017, 84: 367-383. |
| [11] |
FARAJ I, ALSHAWI M, AOUAD G, et al. An industry foundation classes web-based collaborative construction computer environment:WISPER[J]. Automation in Construction, 2000, 10(1): 79-99. |
| [12] |
TANYER A M, AOUAD G. Moving beyond the fourth dimension with an IFC-based single project database[J]. Automation in Construction, 2005, 14(1): 15-32. |
| [13] |
LEE G, JEONG J, WON J, et al. Query performance of the IFC model server using an object-relational database approach and a traditional relational database approach[J]. Journal of Computing in Civil Engineering, 2014, 28(2): 210-222. |
| [14] |
张迪, 刘华, 李航. 基于对象关系型数据库的IFC存储模型[J]. 城市建筑, 2018(2): 38-40. ZHANG D, LIU H, LI H. On database IFC storage model based on the object-relational type[J]. Urban and Architecture, 2018(2): 38-40. (in Chinese) |
| [15] |
黄忠东, 杨小虎, 董金祥. SDAI实现中若干关键技术的研究[J]. 计算机辅助设计与图形学学报, 2001, 13(11): 977-982. HUANG Z D, YANG X H, DONG J X. Research on key techniques in SDAI implementation[J]. Journal of Computer-Aided Design & Computer Graphics, 2001, 13(11): 977-982. (in Chinese) |
| [16] |
JEONG J, LEE G, KANG H. Preliminary performance evaluation of an ORDB-based IFC server and an RDB-based IFC server by using the BUCKY benchmark method[C]//Proceedings of CIB World Congress 2010. Salford, UK, 2010: 192-200.
|
| [17] |
陆宁, 马智亮. 利用面向对象数据库与关系数据库管理IFC数据的比较[J]. 清华大学学报(自然科学版), 2012, 52(6): 836-842. LU N, MA Z L. Comparison of managing IFC data using object-oriented and relational databases[J]. Journal of Tsinghua University (Science and Technology), 2012, 52(6): 836-842. (in Chinese) |
| [18] |
丁士昭. 工程项目管理[M]. 2版. 北京: 中国建筑工业出版社, 2014. DING S Z. Engineering project management[M]. 2nd ed. Beijing: China Construction Industry Press, 2014. (in Chinese) |
| [19] |
KANG S, MIRANDA E. Planning and visualization for automated robotic crane erection processes in construction[J]. Automation in Construction, 2006, 15(4): 398-414. |
| [20] |
潘在怡.虚拟施工场景下移动式起重机自动选型与定位方法研究[D].北京: 清华大学, 2018. PAN Z Y. Method of automated selection and location of mobile cranes in virtual construction[D]. Beijing: Tsinghua University, 2018. (in Chinese) |


