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.
|1||GlobalId||IfcGloballyUniqueId||Assignment of a globally unique identifier within the entire software world.|
|2||OwnerHistory||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.
|3||Name||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.|
|4||Description||OPTIONAL IfcText||Optional description, provided for exchanging informative comments.|
|5||RelatedObjects||SET [1:?] OF IfcObjectDefinition||Related objects, which are assigned to a single object. The type of the single (or relating) object is defined in the subtypes of IfcRelAssigns.|
|6||RelatedObjectsType||OPTIONAL 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.
IfcRoot assigns the globally unique ID. In addition it may provide for a name and a description about the concept.
Ownership, history, and merge state is captured using IfcOwnerHistory.
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;