IFC (IFC4X3_ADD2) under development Group Assignment

The Group Assignment establishes an arbitrary collection of objects within a group. The grouping relationship does not apply any other meaning then grouping objects under some aspect. It is non-hierarchical, that is objects can be grouped into different logical groups, and it does not interfere with other relationship concepts, such as ObjectAggregation.

The Group Assignment establish a group being the collection for other objects. It allows for a group being a collection including sub groups. An IfcZone is a specific group object for collecting spaces, IfcDistributionSystem is a specific group object for collecting distribution elements. Usually a grouping relationship is applied to group elements for a particular purpose or function. It usually implies the existence of a grouping relationship and the provision of some identity under which the group is characterized.

  • Group collection is handled by an instance of IfcRelAssignsToGroup, which assigns all group members to the IfcGroup being the collection.
  • Objects included in a group as collected items are linked by IsGroupedBy pointing to IfcRelAssignsToGroup.
  • Collected items may include sub groups. Therefore the Group Assignment may establish a tree

The following diagram shows the generic classes and relationships used when applying this concept. In addition, concepts may have particular importance to common or standardised industry practices and scenarios. For these specific usage scenarios, the table below shows a recommended list of general usage patterns that users may adopt.

G IfcGroup IfcGroup 1. GlobalId [1:1] 2. OwnerHistory [0:1] 3. Name [0:1] 4. Description [0:1]      HasAssignments [0:?]      Nests [0:1]      IsNestedBy [0:?]      HasContext [0:1]      IsDecomposedBy [0:?]      Decomposes [0:1]      HasAssociations [0:?] 5. ObjectType [0:1]      IsDeclaredBy [0:1]      Declares [0:?]      IsTypedBy [0:1]      IsDefinedBy [0:?] IsGrouped      IsGroupedBy [0:?]      ReferencedInStructures [0:?] IfcRelAssignsToGroup IfcRelAssignsToGroup 1. GlobalId [1:1] 2. OwnerHistory [0:1] 3. Name [0:1] 4. Description [0:1] RelatedObjects 5. RelatedObjects [1:?] 6. RelatedObjectsType [0:1] 7. RelatingGroup [1:1] IfcGroup:IsGroupedBy1->IfcRelAssignsToGroup:RelatingGroup0 IfcObject IfcObject 1. GlobalId [1:1] 2. OwnerHistory [0:1] 3. Name [0:1] 4. Description [0:1]      HasAssignments [0:?]      Nests [0:1]      IsNestedBy [0:?]      HasContext [0:1]      IsDecomposedBy [0:?]      Decomposes [0:1]      HasAssociations [0:?] 5. ObjectType [0:1]      IsDeclaredBy [0:1]      Declares [0:?]      IsTypedBy [0:1]      IsDefinedBy [0:?] IfcRelAssignsToGroup:RelatedObjects1->IfcObject:HasAssignments0

General Usage


Edit on Github

Is this page difficult to understand? Let us know!