BIM数据交换的一种实现方式与模型检查的必要性丁勇姜立张雷张晓龙(中国建筑科学研究院,北京,100013)1摘要:建筑信息模型(“以下简称BIM-BuildingInformationModel”),现阶段的BIM设计软件现阶段还处在BIM1.0时期,进入平台级并打破各个软件各个专业之间的壁垒,是实现BIM2.0的前瞻性目标。软件并行化的生产方式应用到建筑项目设计、建设、运维各阶段中,是未来建筑行业的发展的趋势,是我国建筑现代化、工业化、信息化的体现。并行工程的关键技术问题就是协同与数据的管理,软件的数据异构增加数据协同与管理的难度,本文通过研究信息系统、参考其他行业软件数据互通的实现方式,探讨了BIM软件数据交换的一种方式,数据交互功能为现阶段各软件完成建筑设计、建设、运维这样的并行工程提供了捷径,实现不同软件不同专业的数据流通,专业软件的侧重不同带来很多信息变异,数据转换时的模型检查技术可以解决数据交换带来的数据变异。在BIM软件发展中会一直伴随着数据交换与模型检查功能。关键词:建筑信息模型(BIM);建筑信息交换;建筑信息变异;建筑数据库;建筑模型检查AnimplementationofBIMdataexchangeandthenecessityofmodelcheckingDingYong(ChinaAcademyofBuildingResearch,Beijing,100013)Abstract:BIM(Buildinginformationmodeling)designsoftwareisstillinthestageofBIM1.0.ThegoalforBIMsoftwareisgettingtheplatformlevelandbreakoutthebarriersbetweenthembeforethestageofBIM2.0.Parallelizationofproductionintheconstructionprojectdesign,construction,operationandmaintenanceisreflectingChina'sbuildingmodernization,industrialization,informationtechnology.Thekeytechnicalissuesofparallelizationofproductioniscollaborativeandmanagementofdata.Thedifferenceofsoftwareisincreasingthedifficultyofcollaborationanddatamanagement.ThispaperdiscussesanimplementationofBIMdataexchange.Dataexchangingofdifferentprofessionalbringalotofdifferentdatavariability.Modelcheckingcansolvethisproblem.InthedevelopmentofBIMsoftware,itwouldhavebeenaccompaniedbydataexchangeandmodelchecking.Keywords:BuildingInformationModeling(BIM);BuildingInformationExchange;BuildingDatabases;VariationofBuildingInformation;BuildingModelsChecker基金项目:“十二五”国家863课题“基于建筑信息模型的三维建筑工程设计软件开发与应用”(SS2013AA041306)作者简介:丁勇(1986-)男,硕士,工程师,建筑设计软件与软件协同,Email:dingyong@cabrtech.com。1现阶段以IFC做数据交换的问题BIM模型的数据交换与数据存储标准一直以来是BIM软件现阶段关注的核心热点问题,早期的软件在进行数据互通的时候采用的方式大多是两个软件之间的数据交换,软件数据格式与信息的不公开、不透明,造成了数据交互依赖软件厂商的亲密度。这几年,随着BIM软件的应用,上下游业务的承接使得数据的流通越来越受到重视,国家级的存储标准也正在制定之中。北美建立了最初的IAI(IndustryAllianceforInteroperability,现为buildingSMARTInternational)组织在1997年发布第一版比较完整的IFC(IndustryFoundationClasses工业基础类)格式。IFC的数据交换接口提出了一个理想的解决方案,通过IFC的中性文件,为多个软件之间提供可以共享的数据文件格式。我国对IFC的研究比较晚,有部分高校与建筑研究院所对IFC也做了大量的初探性的研究,清华大学张建平等人完成了基于IFC的建筑施工管理信息系统,清华大学马智亮等人提出了一个基于IFC的建筑信息模型的框架,北京航空航天大学刁波与中国建筑科学研究院合作开发完成了基于IFC的软件转换,上海交通大学的邓雪原等人实现基于IFC文件级的数据库的建立与存储。但是IFC在软件商业化与经过实际工程检验的国内软件厂商少有支持,目前国外软件厂商对IFC的支持也有不同的下降或有自己的见解,使得IFC在作为第三方数据交换格式时,会发生数据丢失的问题,尤其是复杂模型。IFC版本不断更替,虽然在一定程度上推动软件之间数据交互,但是也发现一个IFC的缺陷:IFC定义的多种几何描述可以进行对同一建筑构件的描述,造成了数据定义没有唯一性,软件厂商对IFC的理解不同,就会对同一建筑构件写出不同的描述方式。这样导致下游软件在使用IFC接口时要理解不同软件厂商对IFC的理解,导致信息接收工作变得非常复杂。同一描述针对IFC的不同方法,软件要写很多接口的实现(如图2所示)。建筑工程或者是建筑模型是多种多样的,但百分之八十的工程有比较规则的建筑造型,如何使百分之八十的工程可以进行数据交互,是软件数据流通第一阶段考虑的问题。减轻导入信息的工作量、实现百分之八十的工程信息模型不丢失,这个问题是数据转换第一阶段应该解决的问题,也是中国建筑科学研究院主编的《建筑工程信息模型存储标准》的出发点,最后效果要看标准内容落实程度,是不是中国化,是不是从软件厂商的角度去考虑问题,是不是从标准应用的上下游专业考虑问题,是不是注重解决大多数问题,而不是上来就大而全的规定了一堆跟IFC一样对软件厂商难以实现的标准,希望能出现一个“能用、好用”的标准,是专家组成员所要考虑的问题。图1IFC理想状态图2IFC现在状态使用IFC进行导入导出的软件,一般有几个比较难处理的地方,例如:1、描述方法多样。2、几何描述Brep与体素法在描述构件几何时比较难处理,3、需要针对众多的IFC类创建出太多的类,实现起来有很大的局限性,影响数据交互的兼容性。Brep边界表示法描述实体比较适合机械设计领域的软件,机械软件设计时主要的操作是对面、边界、几何造型与细节的反复修改,机械领域软件的数据交互主要集中在几何造型上,大部分软件的编辑功能都是依赖Brep的几何描述方式,软件数据交互时大部分考虑的中间格式,如:STEP、IGES、VRML等等。与机械领域的工业CAD有很大的不同,建筑信息软件还是习惯对整个构件的参数化修改编辑,基于几何特征的参数化造型与描述,以几何参数来驱动修改造型,一般不会采用Brep的方式,在复杂造型时使用参数化体素法,Parasolid、ACIS、OCC等几何内核在建筑软件的使用,使建筑的造型越来越复杂化。2013年,英国标准协会有一份标准提案,将BIM应用划分为0到3级4个级别,以IFC为基础的国际数据交换标准是最高等级,该等级被看做是未来的发展方向,可以看出现阶段以IFC为交换标准的接口还未成熟,提出现阶段的交互标准是有必要的。2以数据库做数据交换的文件格式基于以上总结我们提出了一个中间数据格式——PBInterface.db,数据架构模仿IFC的数据结构,由于软件中存储信息的不同,由于中间文件格式要保证数据的编辑功能,类似入箱与出箱的过程,保证建筑软件中构件的参数性质及其关联关系,需要对建筑构件的描述要保证这种关系,尤其是几何造型的参数化。在BIM的数据交换过程中,有大量的信息,在整个过程中动态变化调整,及时准确的对数据输入输出是非常有必要的,采用数据库,清楚直观的检查数据格式。使用数据库存储BIM模型有很多好处:1、数据库的数据结构,比文件更有层次。2、与文件相比,数据库处理大量信息与数据的能力更加有优势。3、数据库建立的数据结构参照IFC的框架,第一版会对IFC数据进行删减,采用常用建筑软件中的构件,满足大部分常规建筑模型。4、可以通过数据库编辑软件进行读取,第一版会采用明文格式,使设计人员对数据参数对手动修改,也可以使用数据库软件的SQL语句。上海交通大学邓雪原等人的研究,是把IFC文件按原语句拆分,然后存储到数据库中,然后建立键值关联,使得以前IFC文件的语句引用关系,通过数据库管理起来,利于检索速度。笔者做的基于IFC构件框架的数据库,按照IFC构件内容与其他常用建筑软件中的构件进行拆分,而不是文件语句的拆分。按照现有的建筑软件中使用比较多的大部分构件做数据库表,构件属性作为表的列,也会建立键值的关联。PBInterface.db采用SQLite数据库的格式,第一版本的建立原则如下:1、数据的表达唯一性。2、保证数据结构清晰明确,数据有自解析能力。3、数据采用明文的格式,方便设计人员手动修改,或使用SQL语句修改。4、优先保证模型的几何数据与定位数据的完备性,保证基本构件参数化,非重要复杂造型构件,在数据存入时会采用近似手段,并会记录下哪些构件采用近似。与IFC的不同的地方是PBInterface.db要求数据表达准确唯一,这样才能减少软件在通过中间文件格式时的情况处理。对IFC中既能这样描述,又能那样描述的情况,尽量避免,做到这一点是至关重要,也是后期处理复杂模型时要面临不可避免的问题。图4PBInterface建立的初衷第一版本中构件的几何参数直接记录到构件表中,作为构件的属性;在第二版本时,会考虑构件的物理属性与几何参数分表的方式,中间通过键值做关联。这样,相同的构件不论几何造型复杂如何,几何参数如何表达,其物理数据表会做到统一;而不论构件是什么,只要几何参数类型一致,也能做到在几何参数表中的统一。第一版本以门、门类型、墙为例,数据设置如下图所示。门按照大多数建筑软件对门的处理分为门类型与门,门与门类型的关联靠多对一的关系处理,门与父构件墙的关联关系靠一对一的这样处理,同样,构件与楼层、墙类型与墙也是通过键值关联进行处理的。门数据设置时采用比较简单的方式,比较复杂的数据设置还有屋顶、扶手、楼梯组合构件等等。图4门、门类型、墙数据结构与之间的关联2.2工程实例已经有几个国内外软件支持PBInterface中间格式—ArchiCAD、天正、Revit、Bentley等等,以下是几个转换实现的工程案例。图5偏向建筑模型与偏向BIM模型的转换图6偏向建筑模型与偏向BIM模型的转换建筑软件已经十分成熟,建筑设计中经常会采用一些装饰品,目前数据交换只会针对模型的主要构件进行转换,就会丢失一些装饰,这些会在后期版本中补全。3BIM软件中的模型检查数据转换过程中面临的另一个问题就是模型在不同专业的有效性保证。需要建筑设计师注意的是,在建筑设计阶段,建筑师为了表达出与真实效果差不多的模型,为了满足造型的需要,经常会使用一种构件完成不属于这种构件的功能。如以下这个工程——某手表店,其中有很多的桌、椅对象,在转换的过程中发现,建筑设计人员使用墙、板、门窗设计出柜台、厨具、装饰盒等等,这个模型在以前的建筑设计时,是充分发挥了建筑师想象力的一个模型,是正确的。但是作为BIM模型,在转换的过程中,就会出现诸多问题,尤其是下游专业得到墙、板、门窗信息时已经不能按照