当前位置:文档之家› IFC 标准的总体描述

IFC 标准的总体描述

IFC 标准的总体描述
IFC 标准的总体描述

IFC 标准的总体描述

IFC的整体框架

IFC标准是一个类似面向对象的建筑数据模型。IFC 模型包括建筑整个生命周期内的各方面的信息,其中包含的信息量非常大而且涵盖面很广。IFC标准的目的是支持用于建筑的设计、施工和运行的各种特定的软件的协同工作,正因为如此,IFC标准是目前对建筑物信息描述最全面、最详细的规范。这证明了IFC 模型是建筑工业和设备制造工业之间的数据模型交换的最好方法。

为此,IFC标准的开发人员充分地应用了面向对象分析和设计方法,并设计了一个总体框架和若干原则将这些信息包容进来并加以很好地组织,这就形成了IFC的整体框架。IFC的总体框架是分层和模块化的,整体可分为四个层次,从下到上依次为资源层、核心层、共享层、领域层,每个层次内又包含若干模块,每个模块内又包含了不少信息。在2002 年,IFC 通过了ISO 鉴定,这表明了模型的一部分达到了一定程度的成熟和稳定。对于软件开发来说,这是个不小的福音。

下面我们就结合图示来了解IFC的总体框架分层。

资源层(Resource Layer)

IFC 资源层的类可以被IFC 模型结构的任意一层类引用,可以说是最基本的, 它和核心层一起在实体论水平上构成了产品模型的一般结构,虽然目前结构类的识别还不是基于实体论模型。

这些类包括: IfcUtilityResource, IfcMeasureResource, IfcGeometryResource, IfcPropertyTypeResource, 和 IfcPropertyResource。IfcUtilityResource 包括一些项目管理使用的概念类:标识符、所有权、历史记录、注册表。 IfcMeasureResource采用ISO 10303 第41部分度量类,列出数量的单位和度量标准。IfcGeometryResource 规定了产品形状的几何和拓扑描述资源,这些资源部分由ISO 10303 第42部分(集成通用资源:几何与拓扑表达)改写过来( IAI 1997b:4-40 )。IfcPropertyTypeResource 定义了对象和关系的各种各样的特性,它由人员、分类等级、造价、材料、日期和时间等类组成。子类“材料”是各种各样的材料表。这些类是通用的,而不是建筑专门的类,它们的作用是作为一种定义高级层里的实体属性的资源。

核心层(Core Layer)

核心层分别由核心( Kernel )和核心扩展(Core Extensions )两部分组成。IFC Kernel提供了IFC模型所要求的所有基本概念,它是一种为所有模型扩展提供平台的重要模型 (IAI 1997a: 6) ,这些构造不是AEC/FM 特有的,核心层扩展也一样。 Kernel类有IfcObject,IfcRelationship和IfcModelingAid。

核心扩展层包含Kernel类的扩展类:IfcProduct,IfcProcess,IfcDocument 和IfcModelingAid。核心扩展是为建筑工业和设备制造工业领域在Kernel里定义的类的特例,Ifc Product-Extension 定义如元素、空间、场地、建筑和建筑楼层等概念 (ibid: 8-111)。 IfcProcessExtension有子类,它是为了掌握关于生产产品的工作信息,在这些类里尽可能定义工作任务和资源。子类IfcDocumentExtension是在建设建筑中使用的典型文件类型的信息类容的详细说明,目前,只包含造价表。IfcModelingAidExtension包含帮助项目模型开发的子类,如IfcDesignGrid和 IfcReferencePoint。

图IFC模型定义的层次结构

协作层(Interoperability Layer)

这层包含了在许多建筑施工和设备管理应用软件之间使用和共享的实体类。因此,Shared Building Elements 模块有梁、柱、墙、门等实体定义;Shared Building Services Elements 模块有流体、流体控制、流体属性、声音属性等实体定义;Shared Facilities Elements 模块有资产、所有者和设备类型等实体定义。在这一层中定义了大多数普通建筑实体。

领域层(Domain Layer)

领域层顾名思义,包含了为独立的专业领域的概念定义的实体,例如建筑、结构工程、设备管理等。它是IFC 模型的最高级别层。它包括建筑的空间顺序,结构工程的基础、桩、板实体,采暖和通风的加热炉、空调等备注;在IFC 模型的结构图中,绿色阴影表示的模块是ISO/PAS 16739 的一部分,这些模型已经达到一定的质量控制标准且经ISO鉴定合格。

IFC标准的数据定义方式

IFC 标准本质上是建筑物和建筑工程数据的定义,反映现实世界中的对象。它采用了一种面向对象的、规范化的数据描述语言EXPRESS 语言作为数据描述语言,定义所有用到的数据。EXPRESS 语言通过一系列的说明来进行描述,这些说明主要包括类型说明(Type)、实体说明(Entity)、规则说明(Rule)、函数说明(Function)与过程说明(Procedure)。EXPRESS 语言中语言的定义和对象描述主要靠实体说明 (Entity) 来实现,在IFC2x3中共定义了653 个实体类型。一个实体说明定义了一种对象的数据类型和它的表示符号,它是对现实世界中一种对象的共同性质的描述。对象的特性在实体定义中则使用类的属性和规则来表达。实体的属性可以是EXPRESS 中的简单数据类型(数字、字符串、布尔变量等),更多的是其它实体对象。与其他面向对象语言一样,EXPRESS 语言同样可以描述实体之间的继承派生关系。可以通过定义一个实体是另一个实体的子类(Subtype)或超类(Supertype)建立实体之间的继承关系,子类可以继承超类的属性。在EXPRESS 语言支持多重继承,一个子类实体可以同时拥有多个超类,但是, 在IFC 标准并没有使用多重继承,所有的实体类型最多只有一个直接超类。

IFC 2x2版本的特点

与IFC 的其他版本一样,IFC2x2 也有完整版和平台版之分:IFC2x2 Final,它是所有IFC 的Schema 的总和,它又可以分为两个部分,即平台版

(platform)和非平台版(non-platform)。IFC2x2 Platform 部分是Schema 中的稳定不变的那一部分,这一部分Schema 可以向上兼容,而且一般不会改变。非平台部分是还不稳定的,可以由各软件公司根据自己的需要进行改变。Final 部分的不稳定部分可能经过完善和考验之后被添加到Platform 部分中。Schema 是IFC 的一种模型,我们可以将IFC2x2 Platform 或IFC2x2 Final 的Schema文件通过中间组件转换,就可以生成符合C++格式的类,这些类是我们进行IFC 与其它软件间数据转换的基础。

图IFC2x 的固定平台

在IFC2x2 中含有2x 中没有的实体、属性、关系,以及类型;既有的实体的显式属性,如名称、属性及类型保持不变,反属性和派生属性有可能改变;在新的版本中,有些属性提升到父类型中,因此有些2x 的内容成为2x2的真子集。IFC2x2 兼容所有以前的版本,所以无需担心。

IFC2x 版本3 (简称IFC2x3)于2006年2月发布,包括了很多基于2004年发布的IFC2x版本2附录1上的改进。IFC2x3是按照IFC新原则颁布的第一个IFC 版本,已经被广泛所采用。

相关主题
文本预览
相关文档 最新文档