5.4.3.11 IfcElementAssembly

Assemblage d'éléments
zusammengesetztes Element

The IfcElementAssembly represents complex element assemblies aggregated from several elements, such as discrete elements, building elements, or other elements.

EXAMPLE Steel construction assemblies, such as trusses and different kinds of frames, can be represented by the IfcElementAssembly entity. Other examples include slab fields aggregated from a number of precast concrete slabs or reinforcement units made from several reinforcement bars. Also bathroom units, staircase sections and other premanufactured or precast elements are examples of the general IfcElementAssembly entity
NOTE  The IfcElementAssembly is a general purpose entity that is required to be decomposed. Also other subtypes of IfcElement can be decomposed, with some dedicated entities such as IfcWallElementedCase and IfcSlabElementedCase.

The assembly structure can be nested, i.e. an IfcElementAssembly could be an aggregated part within another IfcElementAssembly.

NOTE  View definitions and/or implementer agreements may restrict the number of allowed levels of nesting.

The geometry of an IfcElementAssembly is generally formed from its components, in which case it does not need to have an explicit geometric representation. In some cases it may be useful to also expose an own explicit representation of the aggregate.

NOTE  View definitions or implementer agreements may further constrain the applicability of certain shape representations at the IfcElementAssembly in respect of the shape representations of its parts.
HISTORY  New entity in IFC2x2.

Informal Propositions:

  1. The IfcElementAssembly shall have an aggregation relationship to the contained parts, i.e. the (INV) IsDecomposedBy relationship shall be utilzed.

Common Use Definitions

The following concepts are inherited at supertypes:

 Instance diagram

Object Typing

The Object Typing concept applies to this entity as shown in Table 46.
Type
IfcElementAssemblyType

Table 46 — IfcElementAssembly Object Typing



Object Aggregation

The Object Aggregation concept applies to this entity as shown in Table 47.
PredefinedTypeRelatedObjectsDescription
 IfcMemberMembers within the assembly.
 IfcPlatePlates within the assembly.
 IfcElementComponentComponents within the assembly.

Table 47 — IfcElementAssembly Object Aggregation

The IfcElementAssembly shall represent an aggregate, i.e. it should have other elements, being subtypes of IfcElement, as contained (sub)parts. The table above only represents a selection of subtypes of IfcElement that are legitimate as parts in an IfcElementAssembly

Figure 118 illustrates spatial containment and element aggregation relationships.

containment relationships

Figure 118 — Element assembly containment



Spatial Containment

The Spatial Containment concept applies to this entity as shown in Table 48.
StructureDescription
IfcBuildingStoreyDefault spatial container
IfcBuildingSpatial container for element assemblies not assignable to a building storey
IfcSiteSpatial container for element assemblies that are placed on site (outside of building)

Table 48 — IfcElementAssembly Spatial Containment

The IfcElementAssembly should have a relationship for its containment in the hierachical spatial structure of the project. Only if the IfcElementAssembly is itself a part of another assembly this relationship should be omitted.




XSD Specification:

 <xs:element name="IfcElementAssembly" type="ifc:IfcElementAssembly" substitutionGroup="ifc:IfcElement" nillable="true"/>
 <xs:complexType name="IfcElementAssembly">
  <xs:complexContent>
   <xs:extension base="ifc:IfcElement">
    <xs:attribute name="AssemblyPlace" type="ifc:IfcAssemblyPlaceEnum" use="optional"/>
    <xs:attribute name="PredefinedType" type="ifc:IfcElementAssemblyTypeEnum" use="optional"/>
   </xs:extension>
  </xs:complexContent>
 </xs:complexType>

EXPRESS Specification:

ENTITY IfcElementAssembly
SUBTYPE OF IfcElement;
AssemblyPlace : OPTIONAL IfcAssemblyPlaceEnum;
PredefinedType : OPTIONAL IfcElementAssemblyTypeEnum;
WHERE
CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR (PredefinedType <> IfcElementAssemblyTypeEnum.USERDEFINED) OR ((PredefinedType = IfcElementAssemblyTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR ('IFCPRODUCTEXTENSION.IFCELEMENTASSEMBLYTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
END_ENTITY;

Link to EXPRESS-G diagram EXPRESS-G diagram

Attribute Definitions:

AssemblyPlace : A designation of where the assembly is intended to take place defined by an Enum.
PredefinedType : Predefined generic types for a element assembly that are specified in an enumeration. There might be property sets defined specifically for each predefined type.
IFC4 CHANGE  The attribute has been changed to be optional.

Formal Propositions:

CorrectPredefinedType : Either the PredefinedType attribute is unset (e.g. because an IfcElementAssemblyType is associated), or the inherited attribute ObjectType shall be provided, if the PredefinedType is set to USERDEFINED.
CorrectTypeAssigned : Either there is no element assembly type object associated, i.e. the IsTypedBy inverse relationship is not provided, or the associated type object has to be of type IfcElementAssemblyType.

Inheritance Graph:

ENTITY IfcElementAssembly
ENTITY IfcRoot
GlobalId : IfcGloballyUniqueId;
OwnerHistory : OPTIONAL IfcOwnerHistory;
Name : OPTIONAL IfcLabel;
Description : OPTIONAL IfcText;
ENTITY IfcObjectDefinition
INVERSE
HasAssignments : SET OF IfcRelAssigns FOR RelatedObjects;
Nests : SET [0:1] OF IfcRelNests FOR RelatedObjects;
IsNestedBy : SET OF IfcRelNests FOR RelatingObject;
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 IfcLabel;
INVERSE
IsDeclaredBy : SET [0:1] OF IfcRelDefinesByObject FOR RelatedObjects;
Declares : SET OF IfcRelDefinesByObject FOR RelatingObject;
IsTypedBy : SET [0:1] OF IfcRelDefinesByType FOR RelatedObjects;
IsDefinedBy : SET OF IfcRelDefinesByProperties FOR RelatedObjects;
ENTITY IfcProduct
ObjectPlacement : OPTIONAL IfcObjectPlacement;
Representation : OPTIONAL IfcProductRepresentation;
INVERSE
ReferencedBy : SET OF IfcRelAssignsToProduct FOR RelatingProduct;
ENTITY IfcElement
Tag : OPTIONAL IfcIdentifier;
INVERSE
FillsVoids : SET [0:1] OF IfcRelFillsElement FOR RelatedBuildingElement;
ConnectedTo : SET OF IfcRelConnectsElements FOR RelatingElement;
IsInterferedByElements : SET OF IfcRelInterferesElements FOR RelatedElement;
InterferesElements : SET OF IfcRelInterferesElements FOR RelatingElement;
HasProjections : SET OF IfcRelProjectsElement FOR RelatingElement;
ReferencedInStructures : SET OF IfcRelReferencedInSpatialStructure FOR RelatedElements;
HasOpenings : SET OF IfcRelVoidsElement FOR RelatingBuildingElement;
IsConnectionRealization : SET OF IfcRelConnectsWithRealizingElements FOR RealizingElements;
ProvidesBoundaries : SET OF IfcRelSpaceBoundary FOR RelatedBuildingElement;
ConnectedFrom : SET OF IfcRelConnectsElements FOR RelatedElement;
ContainedInStructure : SET [0:1] OF IfcRelContainedInSpatialStructure FOR RelatedElements;
ENTITY IfcElementAssembly
AssemblyPlace : OPTIONAL IfcAssemblyPlaceEnum;
PredefinedType : OPTIONAL IfcElementAssemblyTypeEnum;
END_ENTITY;

Link to this page  Link to this page