5.1.3.7 IfcObjectDefinition 对象定义
抽象 该定义可能不会被直接实例化。
5.1.3.7.1 语义定义(Semantic definition)
IfcObjectDefinition 是任何语义上处理的事物或过程的泛化,既可以是类型也可以是实例。对象定义可以通过继承的 Name 特性进行命名,该特性应为用户可识别的对象实例标签。通过继承的 Description 特性可以提供关于对象的进一步解释。上下文(Context)是一种特殊的对象定义,因为它提供了定义对象类型和对象实例的项目或库上下文。
对象是独立的信息片段,可能包含或引用其他信息片段。对象定义(通过其可实例化的子类型)可以参与五种基本的关系:
- 其他对象的分配 - 分配关系 (IfcRelAssigns),引用其他类型的对象并创建双向关联。分配的语义在通用 IfcRelAssigns 关系的子类型级别上建立。分配本身不预先暗示任何依赖关系。
- 与外部资源的关联 - 关联关系 (IfcRelAssociates),引用外部信息源(最显著的是分类或文档)并创建单向关联。关联本身不暗示任何依赖关系。
- 其他对象的聚合 - 聚合关系 (IfcRelAggregates),建立无序的、空间上的整体/部分关系,并创建双向关系。存在隐含的依赖关系。
- 其他对象的嵌套 - 嵌套关系 (IfcRelNests),建立有序的、非空间的整体/部分关系,并创建双向关系。存在隐含的依赖关系。
- 在上下文中声明 - 最上层对象定义(例如,对象嵌套树中的摘要对象)与上下文(项目或项目库)之间的关系 (IfcRelDeclares)。它将单位、表示上下文和其他上下文信息应用于此对象定义及其所有依赖项。
5.1.3.7.2 实体继承(Entity inheritance)
5.1.3.7.3 特性(Attributes)
| # | 特性(Attributes) | 类型 | 描述 |
|---|---|---|---|
| IfcRoot (4) | |||
| 1 | GlobalId | IfcGloballyUniqueId |
在整个软件世界中分配全局唯一标识符。 |
| 2 | OwnerHistory | OPTIONAL IfcOwnerHistory |
分配有关该对象当前所有权的信息,包括所有者参与者、应用程序、本地标识以及捕获到的关于对象近期更改的信息。 |
| 3 | Name | OPTIONAL IfcLabel |
供参与的软件系统或用户使用的可选名称。对于某些 IfcRoot 的子类型,可能需要插入 Name 特性。这将通过 where 规则强制执行。 |
| 4 | Description | OPTIONAL IfcText |
可选的描述,用于提供信息性注释。 |
| 点击显示 4 个隐藏的继承特性 点击隐藏 4 个继承特性 | |||
| IfcObjectDefinition (7) | |||
| HasAssignments | SET [0:?] OF IfcRelAssigns FOR RelatedObjects |
引用分配(通过关联关系)其他 IfcObject 子类型到此对象实例的关系对象。例如,与产品、过程、控制、资源或组的关联。 |
|
| Nests | SET [0:1] OF IfcRelNests FOR RelatedObjects |
引用作为嵌套的分解关系。它确定此对象定义是顺序整体/部分分解关系中的一部分。对象实例或类型只能是单个分解的一部分(仅允许分层结构)。 |
|
| IsNestedBy | SET [0:?] OF IfcRelNests FOR RelatingObject |
引用作为嵌套的分解关系。它确定此对象定义是顺序整体/部分分解关系中的整体。对象或对象类型可以被多个其他对象(实例或类型)嵌套。 |
|
| HasContext | SET [0:1] OF IfcRelDeclares FOR RelatedDefinitions |
引用提供上下文信息的上下文,例如项目单位或表示上下文。它只应断言在最上层的非空间对象上。 |
|
| IsDecomposedBy | SET [0:?] OF IfcRelAggregates FOR RelatingObject |
引用作为聚合的分解关系。它确定此对象定义是无序整体/部分分解关系中的整体。对象定义可以被多个其他对象(实例或部分)聚合。 |
|
| Decomposes | SET [0:1] OF IfcRelAggregates FOR RelatedObjects |
引用作为聚合的分解关系。它确定此对象定义是无序整体/部分分解关系中的一部分。对象定义只能是单个分解的一部分(仅允许分层结构)。 |
|
| HasAssociations | SET [0:?] OF IfcRelAssociates FOR RelatedObjects |
引用将外部资源或资源定义与对象关联的关系对象。例如,与库、文档或分类的关联。 |
|
5.1.3.7.4 概念用法(Concept usage)
| 概念 | 用法 | 描述 | |
|---|---|---|---|
| IfcRoot (2) | |||
| Revision Control | General |
使用 IfcOwnerHistory 捕获所有权、历史记录和合并状态。 |
|
| Software Identity | General |
IfcRoot 分配全局唯一 ID。此外,它还可以为概念提供名称和描述。 |
|
| 点击显示 2 个隐藏的继承概念 点击隐藏 2 个继承概念 | |||
| IfcObjectDefinition (11) | |||
| Classification Association | General |
任何对象实例或对象类型都可以具有对特定分类引用的引用,即对分类系统中特定方面的引用。 |
|
| Aggregation | General |
聚合表示整体结构(称为“复合体”)与从属组件(称为“部分”)之间的内部无序部分组成关系。聚合的概念有多种用法。例如:
聚合是一种双向关系,从复合体到其部分的这种关系称为分解(Decomposition),从部分到其复合体的这种关系称为组合(Composition)。
|
|
| Approval Association | General |
概念 批准关联 描述了对象或对象类型如何关联批准,指示谁需要批准数据、是否已批准的状态以及批准的日期/时间。批准可能需要多个方扮演各种角色。
|
|
| Constraint Association | General |
概念 约束关联 描述了对象或对象类型如何关联约束,指示需要满足的定性目标或定量指标。 基于指标的约束是可衡量的,使得指标有效的状态是计算机可解释的。指标约束基于简单的条件逻辑,例如大于特定值或包含在指定列表或表中。约束可以使用布尔逻辑(如 AND、OR、XOR 或 NOT)组合多个指标。
|
|
| Document Association | General |
概念 文档关联 描述了对象或对象类型如何关联文档,指示外部文件。文档可以整体引用,例如用于捕获产品手册、数据表、多媒体内容或缩略图。文档中的内容可以从任何对象引用,并可用于同步其他文件中的信息,例如项目管理应用程序的项目计划。 文档的典型元数据,如发布日期、编辑者等,可以与关联一起捕获,但文档内容仍保留在外部文件中。
|
|
| Library Association | General |
概念 库关联 描述了对象和对象类型如何关联库实体,指示另一个数据源,例如来自模型服务器、产品库或外部数据库或系统,这些数据源用更多详细信息丰富数据。库可以整体从项目或项目库中引用,指示数据的源和版本。库中的内容可以从项目或项目库中的任何对象、类型对象、属性和某些资源模式实体中引用。
|
|
| Material Association | General |
任何产品或产品类型都可以关联材料,以指示对象的物理组成。 材料可以具有用于表面样式的表示,指示 3D 渲染的颜色、纹理和光反射率。材料可以具有用于填充样式的表示,指示 2D 渲染的颜色、图案和阴影线。材料可以具有密度、弹性、热阻等属性,如本规范中所定义。材料也可以根据引用的行业标准进行分类。
|
|
| Material Single | General |
材料直接与产品和产品类型关联,以表示整个对象的均匀材料。 材料也可以与 IfcTypeObject 关联,为该类型的实例定义材料。如果材料同时在 IfcTypeObject 和 IfcObject 上进行关联,则直接分配给 IfcObject 的材料具有优先权。
|
|
| Nesting | General |
嵌套表示主体结构(称为“主机”)与附加组件(称为“被托管元素”)之间的外部有序部分组成关系。嵌套的概念有多种用法。例如:
嵌套是一种双向关系,从主机结构到其附加组件的关系称为嵌套(Nesting),从组件到其包含结构的关系称为托管(Hosting)。
|
|
| Revision Control | General |
使用 IfcOwnerHistory 捕获所有权、历史记录和合并状态。 |
|
| Software Identity | General |
IfcRoot 分配全局唯一 ID。此外,它还可以为概念提供名称和描述。 |
|
5.1.3.7.5 形式化表示(Formal representation)
ENTITY IfcObjectDefinition
ABSTRACT SUPERTYPE OF (ONEOF
(IfcContext
,IfcObject
,IfcTypeObject))
SUBTYPE OF (IfcRoot);
INVERSE
HasAssignments : SET [0:?] OF IfcRelAssigns FOR RelatedObjects;
Nests : SET [0:1] OF IfcRelNests FOR RelatedObjects;
IsNestedBy : SET [0:?] OF IfcRelNests FOR RelatingObject;
HasContext : SET [0:1] OF IfcRelDeclares FOR RelatedDefinitions;
IsDecomposedBy : SET [0:?] OF IfcRelAggregates FOR RelatingObject;
Decomposes : SET [0:1] OF IfcRelAggregates FOR RelatedObjects;
HasAssociations : SET [0:?] OF IfcRelAssociates FOR RelatedObjects;
END_ENTITY;