什么是IFC? EXPRESS语言与IFC体系
一、IFC
1、IFC简介
IFC是一个数据交换标准, 用于不同系统交换和共享数据。当需要多个软件协同完成任务时, 不同系统之间就会出现数据交换和共享的需求。这时, 工程人员都希望能将工作成果(这里就是工程数据), 从一个软件完整地导入到另外一个软件。
如果能有一个标准、公开的数据表达和存储方法, 每个软件都能导入、导出这种格式的工数据, 问题将大大简化, 而IFC就是这种标准、公开的数据表达和存储方法。
2、IFC标准的架构层次
IFC标准整体的信息描述分为四个层次, 从下往上分别为资源层、核心层、共享层、领域层, 每个层次又包含若干模块, 相关工程信息集中在一个模块里描述, 例如几何描述模块。(点击图片可查看清晰大图,下同。)
资源层里多是基础信息定义, 例如材料、几何、拓扑等;
核心层定义信息模型的整体框架, 例如工程对象之间的关系、工程对象的位和几何形状等;该层主要描述建筑工程信息的整体框架,其将资源
层的信息用一个整体框架组织起来,使它们相互联系和连接,组成一个整体,真实反映现实世界的结构。
共享层定义跨专业交换的信息, 例如墙、梁、住、门、窗等;
领域层定义各自领域的信息, 例如暖通领域的锅炉、风扇、节气阀等。
在IFC标准的定义中, 尽量避免下一层引用上一层的定义, 例如资源层的信息描述不会引用领域的信息描述, 这样避免由于上层的改动影响整体结构。
二、EXPRESS语言
1、EXPRESS语言简介
EXPRESS语言是由STEP(Standard for the Exchange of Product Model Data)开发的概念性语言,STEP是计算机可读的用于交换和描述产品制造信息的标准,正式代号为ISO 10303 EXPRESS是用于面向对象的信息描述语言,处于STEP中基础与核心的地位。它将IFC模型构描述为:规范的类,与类相关联的属性,类的约束,以及类与其他约束之间的关系。然而,EXPRESS语言仅适合软件的读写,在人工读取上存在一定的困难。因此,EXPRESS-G视图以图表式的表达被发展起来,并得到了普遍应用。
2、EXPRESS语言根基类及其三个子类
在IFC标准中定义了一个根类,它提供了一些诸如GlobalId,Name等基本属性定义,并由其派生出3个基本的抽象类。
IfcObject表示一切可以处理的对象或是项目,比如墙体、空地、虚拟边界、工作任务、建筑过程或是参与建筑设计的人等,名字前面的ABS表示该类是抽象类,它又派生出以下几个子类,如图3所示。其中,IfcProduct表示工程中的物理对象; IfcProcess表示在工程中发生并带有意图的行为,比如获取,建造等;IfcControl表示控制或是约束其它对象; IfcResource表示对象所需的资源;IfcActor表示参与工程的角色; IfcProject表示活跃的工程。
IfcRelationship用来描述实体对象间的相互关