核心数据架构在IFC架构中建立了最通用的层,该层中定义的实体可由层次结构中上方的所有实体引用和专门化。核心层为方面特定模型中的所有进一步专业化提供了基本结构、基本关系和通用概念。
在核心层及更高层中定义的所有实体均源自IfcRoot
,具有唯一的标识(IfcGloballyUniqueId
,即GUID
),名称,描述和更改控制信息。
1. IfcKernel
1.1. 模式定义
IfcKernel
模式定义了规范中最抽象的部分或核心部分。它凌驾于一般的构造,这些构造基本上是由它们在对对象模型(如对象,属性和关系)的共同理解中的不同语义含义建立的。然后将它们专门化为非AEC/FM
特定的构造,例如产品,过程,控制和资源,它们构成了架构体系结构中核心扩展层的下一个层次的主要入口点。
IfcKernel
还指定的基本属性和关系,如在空间中的产品的相对位置,在时间上的过程的顺序,或通用分组和嵌套机制。它还通过提供以下内容奠定了规范可扩展性的基础:
- 代理定义
- 键入对象定义
- 属性集定义
- 属性集模板定义
1.1.1 根定义
在架构体系结构的资源层之外定义的每个实体都直接或间接继承自IfcRoot
实体。IfcRoot
提供以下基本功能:
- 标识:分配全局唯一标识符(GUID)
- 所有权和变更信息(可选)
- 名称和描述属性(可选)
在IFC模型中,存在三种基本实体类型,它们都是从IfcRoot
派生的。它们构成了实体层次结构内的第一级专业化。
- 对象定义是IFC模型中任何经过语义处理的事物(或项目)的概括。
- 关系是事物(或项目)之间的所有关系的概括,这些事物被作为不同实体之间的物化关系。
- 属性定义是可以分配给对象定义的所有特征的概括。
1.1.2 对象定义
对象定义是抽象超类IfcObjectDefinition
,代表所有物理上有形的项目(例如墙,梁或覆盖物),物理上存在的项目(例如空间)或概念性项目(例如网格或虚拟边界)。它还代表诸如工作任务之类的过程,诸如成本项目之类的控制,诸如劳动力资源之类的资源或诸如参与设计过程的人员之类的参与者。
对象定义专门用于对象类,IfcObject
表示空间,时间或其他表示形式上下文中的任何单个对象,对象类型专门用于对象类型,IfcTypeObject
表示作为所有对象出现相同类型或项目的通用定义,以及基本项目或库上下文IfcContext
。
对象和对象类型从其所涉及的关系中获取其信息。这包括与属性信息的定义关系或将基础对象类型分配给对象的类型关系。
1.1.3 关系定义
关系主要定义为对象化关系IfcRelationship
。物化关系处理对象之间的关系。这允许将关系特定的属性直接保留在关系对象上,并使关系语义与对象属性分离。
对象化关系的引入还允许为关系语义开发单独的子类型树。
1.1.4 属性定义
属性定义IfcPropertyDefinition
是对象所有特征的概括。在多个对象实例之间共享,它反映了对象类型的特定信息,但如果仅将其分配给单个对象实例,它也可以表示项目上下文中实际对象的出现信息。
属性定义通过关系概念的方式被应用于对象。
1.1.5 对象实体子类型树
IFC模型中有六种基本实体类型,它们都是从IfcObject
派生的。
- 产品:是要合并到项目中的物理对象(制造,提供或创建)。它们可能在物理上存在或有形。产品可以通过形状表示来定义,并在坐标空间中具有位置。
- 流程:在项目中发生的旨在获取,构造或维护对象的动作。流程按时间顺序排列。
- 控件:是控制或约束其他对象的概念。控件可以看作是指南,规范,规定,约束或应用于必须实现的对象的其他要求。
- 资源:是描述对象主要在流程中使用的概念。
- 参与者:是在项目的整个生命周期中参与的人员。
- 组:是对象的任意集合。
1.1.6 关系实体子类型数
IFC模型中有六种基本关系类型,它们都来自IfcRelationship
。关系可以分配有非正式目的的描述符,该描述符表示应用此关系的特定目的。
- 分配:是对象实例及其各种子类型之间的“链接”关系的概括。链接表示特定的关联,一个对象(客户)通过该特定关联应用其他对象(供应商)的服务,或者一个对象可以通过该关联导航到其他对象。
- 关联:指外部信息源(最明显的是分类,库或文档),并将其与对象或属性定义关联。
- 分解:定义组成或分解元素的一般概念。分解关系表示整体/零件层次结构,具有从整体(构图)导航到零件的能力,反之亦然。
- 定义:使用类型定义或属性集定义(称为部分类型信息)来定义对象实例的属性。这是特定的-发生关系
- 连接性:处理对象的连接性。
- 声明:处理对象定义和属性定义以及声明上下文之间的链接。
1.1.7 属性定义实体子类型树
属性定义类型有两个基本概念,它们都从IfcPropertyDefinition
派生。
- 属性和属性集模板:定义属性集和单个属性的语法和数据类型。
- 属性集出现:定义可附加到对象出现的可共享和可扩展属性集。该属性集被视为部分类型信息,因为它在出现对象之间建立了公共共享属性信息的子集。
2 IfcControlExtension
2.1 模式定义
核心层中的IfcControlExtension
模式声明了控制对象的基本类(IfcControl
,IfcPerformanceHistory
),并将这些类的分配(IfcRelAssignsToControl
)分配给从IfcObjectDefinition
派生的任何对象。此外,它使用IfcRelAssociatesConstraint
和 IfcRelAssociatesApproval
声明类,以将具有控制性的资源级别对象与IfcRoot
的任何子类型相关联。
3 IfcProcessExtension
3.1 模式定义
该IfcProcessExtension
模式提供一个可扩展的IFC模型的核心思想之一,主要信息。这就是“过程”的概念,它捕获有关按逻辑顺序映射过程或规划和安排工作以及完成任务所需的任务的想法。重要的是要理解,过程信息可以用与产品信息完全相同的方式由类表示。
该IfcProcessExtension
架构扩展的主要想法IfcProcess
在概述 IfcKernel
架构。IfcProcessExtension
模式的目标 是捕获支持过程映射以及工作的计划和调度以及执行工作所需的过程和资源的信息。目的是为常用流程映射和调度应用程序中的信息交换和共享提供支持;模型的范围将不支持在更专业的应用程序中找到的更详细的想法。
以下内容属于此部分规范的范围:
- 定义工作计划,包括计划中包含的任务,并确定计划所需的资源;
- 工作时间表的定义以及组成时间表的要素,时间限制和适用于这些要素的持续时间;
- 确定计划和时间表中包含的工作任务和任务类型;
- 确定程序和程序类型,以识别响应事件所需的程序步骤;
- 识别事件和事件类型,这些事件和事件类型识别过程中需要特定响应的点;
- 识别流程与该流程消耗的资源之间的关系;
- 为工作计划,工作时间表和工作任务分配资源。
4 IfcProductExtension
4.1 模式定义
IfcProductExtension
进一步专门化一个(物理)产品的概念,即一个部件可能具有的形状和项目上下文内的放置。产品信息是针对个别产品出现的,作为IfcProduct
的子类型,而对于常见的特定产品类型,则作为IfcTypeProduct
的子类型。这两个定义都基于IfcKernel
中提供的超类型。
在IfcProductExtension
中引入以下基础概念:
- 空间项目结构
- 元素
- 网格
- 接口
- 注释
空间项目结构定义:
- 场景
- 建筑物
- 建筑层
- 空间
其分解结构,在IfcProductExtension
中引入了系统和区域的概念 。定义了空间结构和元素之间的关系,例如空间包含和空间边界。
元素被分配给空间项目结构,并且可以通过其放置指向网格。引入的基本元素类型有:
- 建筑元素
- 开放元素
- 装饰元素
- 分配元件(包括暖气,通风,空调,电气和设备元件)
- 运输要素
引入的其他概念有:
- 格网,为元素提供约束位置
- 注释,以提供对建筑模型或平面图的任何其他注释(例如解释性文本,尺寸标注等)
- 接口,提供元素之间的连接