1.1 三维建筑模型
CIM中三维建筑模型主要表达建(构)筑物的空间位置、几何形态及外观效果等。
在建筑相关行业内存在一个通用的概念——建筑信息模型(Building Information Modeling,简称BIM),它被定义成由完全和充足信息构成以支持新产品开发管理,并可由电脑应用程序直接解释的建筑或建筑工程信息模型。
在小场景建筑上运用BIM数据,便可在建筑方面为CIM提供技术层面的处理方法。
1.1.1 数据格式说明及示例
建筑对象的工业基础类(Industry Foundation Class,简称IFC)数据模型标准,是目前唯一的满足建筑信息模型数据交互的公共标准。该标准的设立促成了建筑业中不同专业或同专业不同软件的数据源在不同系统中的共享与交互。
IFC数据模型覆盖了AEC/FM(建筑、工程、施工、设备管理)中大部分领域,并且随着新需求的提出在不断地扩充。
IFC采用面向对象、规范化的数据描述语言EXPRESS描述数据并定义实体关系模型,由几百个实体对象组成。
1)来源
国际协同联盟(International Alliance for Ineteroperability,简称IAI)在1995年提出。主要版本有IFC1.0、IFC1.5、IFC1.5.1、IFC2.0、IFC2X、IFC2X2、IFC2X2_add1、IFC2X4等。IFC文件格式由 buildingSMART® 维护
2)宏观信息描述层次
定义基础信息实体。例如材料、几何、拓扑、计量单位、尺寸、时间、价格等 | |
定义信息模型的整体框架,将资源层信息组织起来,真实反应世界结构。例如工程对象之间的关系、工程对象的位和几何形状等 | |
定义跨专业交换的信息。 例如墙、梁、住、门、窗等 | |
定义各自领域的信息。例如暖通领域的锅炉、风扇、节气阀等 |
3)IFC文件数据结构
在IFC对象模型中,实体分为有根和无根实体。有根实体从IfcRoot派生,具备身份唯一标识(GUID)、名称、描述以及版本控制;无根实体没有身份标识(GUID),实例只有直接或间接被引用时才存在。
细化讨论有根实体的结构,从IfcRoot派生处3个表示抽象概念的类:
- IfcRoot
- IfcObjectiDefinition : 定义实体对象
- IfcRelationship : 定义实体对象之间的关系
- IfcPropertyDefinition : 定义实体对象的特征属性
实体对象定义 |
表示实例化的对象 |
IfcActor:表示人员和组织 |
IfcControl:表示时间、成本、质量管控规则 | ||
IfcGroup:表示特定用途的物件系统集合,例如电路 | ||
IfcProcess:表示时间过程,规划确定活动、事件和流程 | ||
IfcResource:表示有限制的资源,例如材料、劳动力、设备 | ||
IfcProduct:表示空间中的对象,例如各种实体建筑元素及其空间位置 | ||
表示类型定义模板 |
实体对象关系定义 |
IfcRelConnects(连接):表示对象之间的连接,例如梁和楼板的连接、厚板支撑在隔墙上 |
IfcRelAssociates(关联):表示对象的外部引用,例如包含某特定场景对象信息的外部IFC库文件 | |
IfcRelDecomposes(分解):表示对象的组成结构,概述元素分解与组合关系,例如将某结构框架拆分,看成梁和柱的集合 | |
IfcRelDefines(定义):表示实例关系,用属性集定义链接对象实例,这样一个IFC项目模型中不同窗户实例可以统一类型 | |
IfcRelAssigns(分配):表示分配关系,表示一个对象消耗另一个对象的服务,例如分配给任务的劳动力资源或分配给建筑元素的任务 |
构架样例:
4) IFC文件格式
IFC 文件可以用不同的格式编码,每种格式都有自己的特点。
在buildingSmart International网站上发布的官方格式:
格式 | 描述 |
---|---|
.ifc | 基于 ISO STEP 物理格式 (SPF) 标准的默认文件格式 |
.ifc-xml | 基于 XML 语言的编码 |
.ifc-zip | 这些格式之一的压缩档案 |
.ttl | 基于 ifcOWL 语言的编码 |
.rdf | 基于 ifcOWL 语言的编码 |
5)其他:例如,数据格式间是否可以相互转换、转换方式
1.1.2 数据采集/获取方式
从技术方法上分, IFC信息获取可以有两种手段:
- 通过标准格式的文件交换信息
- 通过标准格式的程序接口访问信息
1)标准格式文件-SPF(STEP Physical File)文件
IFC SPF(STEP Physical File)文件是 IFC 标准所使用的主要数据交换文件。STEP标准Prat 21规定了正文文件的结构,文件包括两段
纯文本格式 |
从"ISO-10303-21;"开始 | |
从"HEADER;"开始 | ||
文件相关信息(文件描述、IFC标准版本等) | ||
到"ENDSEC;"结束 | ||
从"DATA;"开始 | ||
需交换的工程信息(实例数据等) | ||
到"ENDSEC;"结束 | ||
到"END-ISO-10303-21;"结束 |
ISO-10303-21;
HEADER;
/******************************************************************************************
* STEP Physical File produced by: The EXPRESS Data Manager Version 5.01.0100.02.64mod : 6 Jun 2012
* Module: EDMstepFileFactory/EDMstandAlone
* Creation date: Thu Jun 27 16:37:58 2019
* Host: hkgi-PC
* Database: C:\Users\ADMINI~1\AppData\Local\Temp\{9CFC66D6-8A28-41DB-BCCC-A3D3104CADAA}\ifc
* Database version: 5507
* Database creation date: Thu Jun 27 16:37:57 2019
* Schema: IFC2X3
* Model: DataRepository.ifc
* Model creation date: Thu Jun 27 16:37:57 2019
* Header model: DataRepository.ifc_HeaderModel
* Header model creation date: Thu Jun 27 16:37:57 2019
* EDMuser: sdai-user
* EDMgroup: sdai-group
* License ID and type: 5605 : Permanent license. Expiry date:
* EDMstepFileFactory options: 020000
******************************************************************************************/
FILE_DESCRIPTION(('ViewDefinition [CoordinationView]'),'2;1');
FILE_NAME('\X2\987976EE7F1653F7\X0\','2019-06-27T16:37:58',(''),(''),'The EXPRESS Data Manager Version 5.01.0100.02.64mod : 6 Jun 2012','20130308_1515(x64) - Exporter 2014.0.2013.0308 - Default UI','');
FILE_SCHEMA(('IFC2X3'));
ENDSEC;
DATA;
#1= IFCORGANIZATION($,'Autodesk Revit 2014 (CHS)',$,$,$);
#5= IFCAPPLICATION(#1,'2014','Autodesk Revit 2014 (CHS)','Revit');
#6= IFCCARTESIANPOINT((0.,0.,0.));
#9= IFCCARTESIANPOINT((0.,0.));
#11= IFCDIRECTION((1.,0.,0.));
#13= IFCDIRECTION((-1.,0.,0.));
#15= IFCDIRECTION((0.,1.,0.));
#17= IFCDIRECTION((0.,-1.,0.));
#19= IFCDIRECTION((0.,0.,1.));
#21= IFCDIRECTION((0.,0.,-1.));
#23= IFCDIRECTION((1.,0.));
#25= IFCDIRECTION((-1.,0.));
#27= IFCDIRECTION((0.,1.));
#29= IFCDIRECTION((0.,-1.));
#31= IFCAXIS2PLACEMENT3D(#6,$,$);
#32= IFCLOCALPLACEMENT(#429,#31);
#35= IFCPERSON($,'','Administrator',$,$,$,$,$);
#37= IFCORGANIZATION($,'','',$,$);
#38= IFCPERSONANDORGANIZATION(#35,#37,$);
#41= IFCOWNERHISTORY(#38,#5,$,.NOCHANGE.,$,$,$,0);
#42= IFCSIUNIT(*,.LENGTHUNIT.,.MILLI.,.METRE.);
#43= IFCSIUNIT(*,.LENGTHUNIT.,$,.METRE.);
#44= IFCSIUNIT(*,.AREAUNIT.,$,.SQUARE_METRE.);
#45= IFCSIUNIT(*,.VOLUMEUNIT.,$,.CUBIC_METRE.);
#46= IFCSIUNIT(*,.PLANEANGLEUNIT.,$,.RADIAN.);
#47= IFCDIMENSIONALEXPONENTS(0,0,0,0,0,0,0);
#48= IFCMEASUREWITHUNIT(IFCRATIOMEASURE(0.0174532925199433),#46);
#49= IFCCONVERSIONBASEDUNIT(#47,.PLANEANGLEUNIT.,'DEGREE',#48);
#50= IFCSIUNIT(*,.MASSUNIT.,.KILO.,.GRAM.);
#51= IFCSIUNIT(*,.TIMEUNIT.,$,.SECOND.);
#52= IFCSIUNIT(*,.THERMODYNAMICTEMPERATUREUNIT.,$,.KELVIN.);
#53= IFCDERIVEDUNITELEMENT(#50,1);
#54= IFCDERIVEDUNITELEMENT(#52,-1);
#55= IFCDERIVEDUNITELEMENT(#51,-3);
#56= IFCDERIVEDUNIT((#53,#54,#55),.THERMALTRANSMITTANCEUNIT.,$);
#58= IFCDERIVEDUNITELEMENT(#43,3);
#59= IFCDERIVEDUNITELEMENT(#51,-1);
#60= IFCDERIVEDUNIT((#58,#59),.VOLUMETRICFLOWRATEUNIT.,$);
#62= IFCSIUNIT(*,.POWERUNIT.,$,.WATT.);
#63= IFCUNITASSIGNMENT((#42,#44,#45,#49,#50,#51,#52,#56,#60,#62));
#65= IFCAXIS2PLACEMENT3D(#6,$,$);
#66= IFCDIRECTION((2.,6.12303176911189E-17,1.));
#68= IFCGEOMETRICREPRESENTATIONCONTEXT($,'Model',3,1.00000000000000E-5,#65,#66);
#71= IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Axis','Model',*,*,*,*,#68,$,.GRAPH_VIEW.,$);
#73= IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Body','Model',*,*,*,*,#68,$,.MODEL_VIEW.,$);
#74= IFCGEOMETRICREPRESENTATIONSUBCONTEXT('Box','Model',*,*,*,*,#68,$,.MODEL_VIEW.,$);
#75= IFCGEOMETRICREPRESENTATIONSUBCONTEXT('FootPrint','Model',*,*,*,*,#68,$,.MODEL_VIEW.,$);
#76= IFCGEOMETRICREPRESENTATIONCONTEXT($,'Annotation',3,1.00000000000000E-5,#65,#66);
#77= IFCGEOMETRICREPRESENTATIONSUBCONTEXT($,'Annotation',*,*,*,*,#76,0.01,.PLAN_VIEW.,$);
#79= IFCPROJECT('1NRr9jkFTE4hOJz7NTfk1r',#41,'\X2\987976EE7F1653F7\X0\',$,$,'\X2\987976EE540D79F0\X0\','\X2\987976EE72B66001\X0\',(#68,#76),#63);
#85= IFCPOSTALADDRESS($,$,$,$,('\X2\8BF757286B6459048F93516557305740\X0\'),$,'','','','\X2\4E2D56FD53174EAC\X0\');
#89= IFCBUILDING('1NRr9jkFTE4hOJz7NTfk1q',#41,'',$,$,#32,$,'',.ELEMENT.,$,$,#85);
#95= IFCCARTESIANPOINT((0.,0.,-4600.));
#97= IFCAXIS2PLACEMENT3D(#95,$,$);
#556= IFCRELCONNECTSPATHELEMENTS('17Z0jV8aH2tgKd3p90Ojvi',#41,$,$,$,#312,#386,(),(),.ATSTART.,.ATEND.);
#430= IFCSITE('1NRr9jkFTE4hOJz7NTfk1t',#41,'Default',$,'',#429,$,$,.ELEMENT.,(39,54,57,601318),(116,25,58,795166),0.,$,$);
#102= IFCCARTESIANPOINT((0.,0.,-4300.));
#104= IFCAXIS2PLACEMENT3D(#102,$,$);
#551= IFCRELCONNECTSPATHELEMENTS('327X5fp$zBKvjc4ZwR6VRA',#41,$,$,$,#175,#312,(),(),.ATSTART.,.ATEND.);
#429= IFCLOCALPLACEMENT($,#428);
/*
以下省略
实体实例格式:#<integer value> = <entity name> (<attribute values>);
*/
ENDSEC;
END-ISO-10303-21;
1.1.3 相关软件和数据集及说明
列出与该种数据格式相关的软件、数据集等,例如:读写软件、显示软件等。
revit autodesk
软件 | 描述 |
---|---|
BiMserver | Open Source BIM Server, The pioneer in open source: BIMserver.org is fully based on IFC and is the first dedicated bimserver on the market. Currently used by thousands of users and proven to be enterprise stable. |
BIM surfer | BIM Surfer, an open source WebGL viewer for IFC in the webbrowser |
IfcOpenShell | IfcOpenShell is a free open source IFC geometry engine based on OpenCascade Technology. Besides the library itself, it features an importer for Autodesk 3ds Max, an importer for Blender and a stand-alone application to convert into the Wavefront .OBJ file format. |
IfcPlusPlus | IfcPlusPlus is a an open source C++ class model. It can be used as starting point for all kinds of applications around the open building model standard IFC. Additionally, there's a simple IFC viewer application, using Qt and OpenSceneGraph. |
FreeCAD | FreeCAD is an Open Source parametric 3D CAD modeler based on OpenCascade Technology. FreeCAD has an simple bulit in importer for ifc. By the use of IfcOpenShell is is possible to import any ifc-geometry which is recognised by IfcOpenShell. There is a developmentversion which even supports export of ifc using a developmentversion of IfcOpenShell. |
xBIM Toolkit | The xBIM Toolkit (eXtensible Building Information Modelling) is a .NET open-source software development BIM toolkit that supports complete IFC2x3 and IFC4 data models. |
1.1.4 应用场景
列出该种数据格式的主要应用场景,最好能够有示例进行说明。
1.1.5 模型精细度分级(细节层次LOD)?
不同模型级别的表示内容、格网尺寸、精度等。(最好举例说明)
1.1.6 模型集成?
该类型下的多个模型集成方式
该类型和其它模型类型的集成现状
参考文献
[1] https://zh.wikipedia.org/wiki/建築信息模型
[2] https://zhuanlan.zhihu.com/p/103293120
[3] https://www.cnblogs.com/baby123/p/10897334.html
[4] https://biblus.accasoftware.com/en/ifc-file-all-you-need-to-know/
[5] https://zhuanlan.zhihu.com/p/205107260