IFC 4.3.2.20240128 (IFC4X3_ADD2) under development

8.3.3.4 IfcReference

8.3.3.4.1 Semantic definition

This entity is used to refer to a value of an attribute on an instance. It may refer to the value of a scalar attribute or a value within a collection-based attribute. Referenced attributes may be direct values, object references, collections, inverse object references, and inverse collections. References may be chained to form a path of object-attribute references.

dot_neato IfcReference IfcReference TypeIdentifier: IfcSlab AttributeIdentifier: HasAssociations IfcReference2 IfcReference TypeIdentifier: IfcRelAssociatesMaterial AttributeIdentifier: RelatingMaterial IfcReference->IfcReference2 InnerReference IfcReference3 IfcReference TypeIdentifier: IfcMaterialLayerSet AttributeIdentifier: MaterialLayers IfcReference2->IfcReference3 InnerReference IfcReference4 IfcReference TypeIdentifier: IfcMaterialLayer LayerThickness: HasAssociations InstanceName: Core IfcReference3->IfcReference4 InnerReference
Figure 8.3.3.4.A — An example of chained references to refer to a core layer thickness

8.3.3.4.2 Entity inheritance

8.3.3.4.3 Attributes

# Attribute Type Description
IfcReference (5)
1 TypeIdentifier OPTIONAL IfcIdentifier

Optional identifier of the entity or type such as 'IfcMaterialLayerSet'. For entity, type, or select-based references within a collection, this resolves the reference to such type. If omitted, the type is assumed to be the same as the declared referencing attribute.

2 AttributeIdentifier OPTIONAL IfcIdentifier

Optionally identifies a direct or inverse attribute within an entity such as 'MaterialLayers'. If TypeIdentifier is specified and refers to an entity, the attribute must exist within the referenced entity. A null value indicates a reference to the type or entity itself, such as for indicating that the type of a value must match a specified constraint.

3 InstanceName OPTIONAL IfcLabel

Optionally identifies an instance within a collection according to name. If the instance has an attribute called 'Name', such attribute is used for comparison; otherwise the first STRING-based attribute of the entity is used.

4 ListPositions OPTIONAL LIST [1:?] OF IfcInteger

Optionally identifies an instance within a collection according to position starting at 1. For referencing single-level collections, this attribute contains a single member; for referencing multi-level collections, then this LIST attribute contains multiple members starting from the outer-most index.

5 InnerReference OPTIONAL IfcReference

Optional reference to an inner value for ENTITY, SELECT, SET, or LIST attributes. A path may be formed by linking IfcReference instances together.

Table 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 References

Edit on Github


Is this page difficult to understand? Let us know!

8.3.3.4.6 Changelog

8.3.3.4.6.1 IFC4

  • New resource