#### 5.1.3.4 IfcGroup

| Groupe
| Gruppe (allgemein)

IfcGroup is an generalization of any arbitrary group. A group is a logical collection of objects. It does not have its own position, nor can it hold its own shape representation. Therefore a group is an aggregation under some non-geometrical / topological grouping aspects.

> NOTE Use IfcRelDecomposes together with the appropriate subtypes of IfcProduct to define an aggregation of products that may have its own position and shape representation.

> EXAMPLE An example for a group is a system, since it groups elements under the aspect of their role, regardless of their position in a building.

A group can hold any collection of objects (being products, processes, controls, resources, actors or other groups). Thus groups can be nested. An object can be part of zero, one, or many groups. Grouping relationships are not required to be hierarchical nor do they imply a dependency.

> NOTE Use IfcRelDecomposes together with the appropriate subtypes of IfcProduct to define an hierarchical aggregation of products.

A group can be exchanged without having already objects within the group collection.

> HISTORY New entity in IFC1.0.

> IFC4 CHANGE The inverse IsGroupedBy relationship is set to 0..n

Relationship use definition

Groups are assigned to other objects (such as a process or a resource) by the relationship object that refers to the corresponding object:

- Process: assigned using IfcRelAssignsToProcess
- Resource: assigned using IfcRelAssignsToResource

Groups can be subjected to a control. The control information is then assigned:

- Controls: affecting the group using IfcRelAssignsToControl

## Construction Operations

A group is an organization of related items for a functional purpose. Specific subtypes are used for particular scenarios.

Instance diagram

XSD Specification:

<xs:element name="IfcGroup" type="ifc:IfcGroup" substitutionGroup="ifc:IfcObject" nillable="true"/>
<xs:complexType name="IfcGroup">
<xs:complexContent>
<xs:extension base="ifc:IfcObject"/>
</xs:complexContent>
</xs:complexType>

EXPRESS Specification:

ENTITY IfcGroup

| SUPERTYPE OF(IfcSystem)

| SUBTYPE OF (IfcObject);

| INVERSE

IsGroupedBy | : | SET OF IfcRelAssignsToGroup FOR RelatingGroup;

END_ENTITY;

Attribute Definitions:

IsGroupedBy | : | Reference to the relationship IfcRelAssignsToGroup that assigns the one to many group members to the IfcGroup object. IFC4 CHANGE The cardinality has been changed from 1..1 to 0..? in order to allow the exchange of a group concept without having already group members assigned. It now also allows the use of many instances of IfcRelAssignsToGroup to assign the group members. The change has been done with upward compatibility for file based exchange.

Inheritance Graph:

ENTITY IfcGroup

| ENTITY IfcRoot

GlobalId | : | IfcGloballyUniqueId;
OwnerHistory | : | OPTIONAL IfcOwnerHistory;
Name | : | OPTIONAL IfcLabel;
Description | : | OPTIONAL IfcText;

| ENTITY IfcObjectDefinition

| INVERSE

HasAssignments | : | SET OF IfcRelAssigns FOR RelatedObjects;
HasContext | : | SET [0:1] OF IfcRelDeclares FOR RelatedDefinitions;
IsDecomposedBy | : | SET OF IfcRelAggregates FOR RelatingObject;
Decomposes | : | SET [0:1] OF IfcRelAggregates FOR RelatedObjects;
HasAssociations | : | SET OF IfcRelAssociates FOR RelatedObjects;

| ENTITY IfcObject

ObjectType | : | OPTIONAL IfcStrippedOptional;

| INVERSE

IsTypedBy | : | SET [0:1] OF IfcRelDefinesByType FOR RelatedObjects;
IsDefinedBy | : | SET OF IfcRelDefinesByProperties FOR RelatedObjects;

| ENTITY IfcGroup

| INVERSE

IsGroupedBy | : | SET OF IfcRelAssignsToGroup FOR RelatingGroup;

END_ENTITY;

Link to this page