IFC 4.3.x development

5.1.3.22 IfcRelAssigns

5.1.3.22.1 Semantic definitions at the entity

The assignment relationship, IfcRelAssigns, is a generalization of "link" relationships among instances of IfcObject and its various 1^st^ level subtypes. A link denotes the specific association through which one object (the client) applies the services of other objects (the suppliers), or through which one object may navigate to other objects.

The client is denoted as the relating object and is established at the level of the specific, instantiable subtypes of IfcRelAssigns. The suppliers are denoted as the related objects and they are established by the RelatedObjects attribute.

NOTE  The terms "client" and "supplier" are used in a general concept and do not imply any meaning for implementations of systems (like client-server).

EXAMPLE  A resource may receive information about its nature of representing real building products by establishing a link between IfcResource and IfcBuildingElement (subtype of IfcProduct) through the assignment relationship IfcRelAssignsToResource. The resource is then the client that applies the services of other objects (here building elements) to express the particular view of elements to be consumed as a resource in a process.

The assignment relationship establishs a bi-directional relationship among the participating objects and does not imply any dependency. The subtypes of IfcRelAssigns establishes the particular semantic meaning of the assignment relationship.

HISTORY  New entity in IFC2x.

5.1.3.22.1 Attributes

#Attribute Type Description
IfcRoot
1GlobalId IfcGloballyUniqueId Assignment of a globally unique identifier within the entire software world.
2OwnerHistory OPTIONAL IfcOwnerHistory Assignment of the information about the current ownership of that object, including owning actor, application, local identification and information captured about the recent changes of the object,

> NOTE  only the last modification in stored - either as addition, deletion or modification.

> IFC4 CHANGE  The attribute has been changed to be OPTIONAL.
3Name OPTIONAL IfcLabel Optional name for use by the participating software systems or users. For some subtypes of IfcRoot the insertion of the Name attribute may be required. This would be enforced by a where rule.
4Description OPTIONAL IfcText Optional description, provided for exchanging informative comments.
IfcRelationship
IfcRelAssigns
5RelatedObjects SET [1:?] OF IfcObjectDefinitionRelated objects, which are assigned to a single object. The type of the single (or relating) object is defined in the subtypes of IfcRelAssigns.
6RelatedObjectsTypeOPTIONAL IfcObjectTypeEnum Particular type of the assignment relationship. It can constrain the applicable object types, used within the role of RelatedObjects.

> IFC4 CHANGE  The attribute is deprecated and shall no longer be used. A NIL value should always be assigned.

5.1.3.22.2 Entity inheritance

dot_inheritance IfcRelAssigns_children 5 more... IfcRelAssigns IfcRelAssigns IfcRelAssigns_children->IfcRelAssigns IfcRelationship IfcRelationship IfcRelAssigns->IfcRelationship IfcRelationship_children 5 more... IfcRelationship_children->IfcRelationship IfcRoot IfcRoot IfcRelationship->IfcRoot IfcObjectDefinition IfcObjectDefinition IfcObjectDefinition->IfcRoot IfcPropertyDefinition IfcPropertyDefinition IfcPropertyDefinition->IfcRoot

5.1.3.22.3 Definitions applying to General Usage

5.1.3.22.3.1 Identity

IfcRoot assigns the globally unique ID. In addition it may provide for a name and a description about the concept.

5.1.3.22.3.2 Revision Control

Ownership, history, and merge state is captured using IfcOwnerHistory.

5.1.3.22.4 Formal representations

ENTITY IfcRelAssigns
 ABSTRACT SUPERTYPE OF (ONEOF
	(IfcRelAssignsToActor
	,IfcRelAssignsToControl
	,IfcRelAssignsToGroup
	,IfcRelAssignsToProcess
	,IfcRelAssignsToProduct
	,IfcRelAssignsToResource))
 SUBTYPE OF (IfcRelationship);
	RelatedObjects : SET [1:?] OF IfcObjectDefinition;
	RelatedObjectsType : OPTIONAL IfcObjectTypeEnum;
 WHERE
	WR1 : IfcCorrectObjectAssignment(RelatedObjectsType, RelatedObjects);
END_ENTITY;