IFC 4.3.2.20251031 (IFC4X3_ADD2) under development

8.3.3.4 IfcReference(基准)

8.3.3.4.1 语义定义(Semantic definition)

该实体用于引用实例上某个属性的值。它可以引用标量属性的值或基于集合属性中的某个值。被引用的属性可以是直接值、对象引用、集合、反向对象引用以及反向集合。引用可以形成链式结构,构成对象-属性引用的路径。

dot_neato <a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcReference.htm'>IfcReference</a> IfcReference TypeIdentifier: IfcSlab AttributeIdentifier: HasAssociations IfcReference2 IfcReference TypeIdentifier: IfcRelAssociatesMaterial AttributeIdentifier: RelatingMaterial <a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcReference.htm'>IfcReference</a>->IfcReference2 InnerReference IfcReference3 IfcReference TypeIdentifier: IfcMaterialLayerSet AttributeIdentifier: MaterialLayers IfcReference2->IfcReference3 InnerReference IfcReference4 IfcReference TypeIdentifier: IfcMaterialLayer LayerThickness: HasAssociations InstanceName: Core IfcReference3->IfcReference4 InnerReference
图 8.3.3.4.A — 链式引用指向核心层厚度的示例

8.3.3.4.2 实体继承(Entity inheritance)

8.3.3.4.3 特性(Attributes)

# 特性(Attributes) 类型 描述
IfcReference (5)
1 TypeIdentifier OPTIONAL IfcIdentifier

实体或类型的可选标识符,例如'IfcMaterialLayerSet'。对于集合中基于实体、类型或选择的引用,此属性将引用解析到相应类型。 如果省略,则假定类型与声明的引用属性相同。

2 AttributeIdentifier OPTIONAL IfcIdentifier

可选标识实体中的直接或反向属性,例如'MaterialLayers'。 如果指定了 TypeIdentifier 并指向某个实体,则该属性必须存在于被引用的实体中。 空值表示对类型或实体本身的引用,例如用于指示值的类型必须符合指定的约束条件。

3 InstanceName OPTIONAL IfcLabel

根据名称可选标识集合中的实例。如果实例具有名为'Name'的属性,则使用该属性进行比较;否则使用实体的第一个基于字符串的属性。

4 ListPositions OPTIONAL LIST [1:?] OF IfcInteger

根据位置可选标识集合中的实例,起始位置为1。对于引用单层集合,此属性包含单个成员;对于引用多层集合,此LIST属性包含多个成员,从最外层索引开始。

5 InnerReference OPTIONAL IfcReference

对ENTITY、SELECT、SET或LIST属性内部值的可选引用。 可以通过将 IfcReference 实例链接在一起来形成路径。

表 8.3.3.4.B

8.3.3.4.4 形式化表示(Formal representation)

ENTITY IfcReference;
	TypeIdentifier : OPTIONAL IfcIdentifier;
	AttributeIdentifier : OPTIONAL IfcIdentifier;
	InstanceName : OPTIONAL IfcLabel;
	ListPositions : OPTIONAL LIST [1:?] OF IfcInteger;
	InnerReference : OPTIONAL IfcReference;
END_ENTITY;

8.3.3.4.5 参考文献