IFC 4.3.x development

5.1.3.28 IfcRelAssignsToProduct

Change log

IFC4

additions where_rules NoSelfReference
deletions where_rules WR1
modificationsattributes RelatingProduct definitionChanged from IfcProduct to IfcProductSelect

5.1.3.28.1 Semantic definitions at the entity

The objectified relationship IfcRelAssignsToProduct handles the assignment of objects (subtypes of IfcObject) to a product (subtypes of IfcProduct). The Name attribute should be used to classify the usage of the IfcRelAssignsToProduct objectified relationship. The following Name values are proposed:

  • 'Context' : Assignment of a context specific representation, such as of structural members to a different context representation (with potentially different decomposition breakdown) such as of building elements for a specific context specific representation. 
  • 'View' : Assignment of a product (via RelatingProduct) that is decomposed according to a discipline view, to another product (via RelatedObjects) that is decomposed according to a different discipline view. An example is the assignment of the architectural slab to a different decomposition of the pre manufactured sections of a slab (under a precast concrete discipline view).

HISTORY  New entity in IFC2x

IFC2x3 CHANGE  The reference of a product within a spatial structure is now handled by a new relationship object IfcRelReferencedInSpatialStructure. The IfcRelAssignsToProduct shall not be used to represent this relation from IFC2x3 onwards.

5.1.3.28.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.
IfcRelAssignsToProduct
7RelatingProduct IfcProductSelect Reference to the product or product type to which the objects are assigned to.

> IFC4 CHANGE Datatype expanded to include IfcProduct and IfcTypeProduct.

5.1.3.28.2 Entity inheritance

dot_inheritance IfcRelAssignsToProduct IfcRelAssignsToProduct IfcRelAssigns IfcRelAssigns IfcRelAssignsToProduct->IfcRelAssigns IfcRelAssigns_children 5 more... 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.28.3 Definitions applying to General Usage

5.1.3.28.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.28.3.2 Revision Control

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

5.1.3.28.4 Formal representations

ENTITY IfcRelAssignsToProduct
 SUBTYPE OF (IfcRelAssigns);
	RelatingProduct : IfcProductSelect;
 WHERE
	NoSelfReference : SIZEOF(QUERY(Temp <* SELF\IfcRelAssigns.RelatedObjects | RelatingProduct :=: Temp)) = 0;
END_ENTITY;