IFC 4.3.2.20250219 (IFC4X3_ADD2) under development

5.4.3.19 IfcElementAssembly

5.4.3.19.1 Semantic definition

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

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.

Informal Propositions

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

5.4.3.19.2 Entity inheritance

5.4.3.19.3 Attributes

# Attribute Type Description
IfcRoot (4)
IfcObjectDefinition (7)
IfcObject (5)
IfcProduct (5)
IfcElement (13)
Click to show 34 hidden inherited attributes
IfcElementAssembly (2)
9 AssemblyPlace OPTIONAL IfcAssemblyPlaceEnum

A designation of where the assembly is intended to take place defined by an Enum.

10 PredefinedType OPTIONAL IfcElementAssemblyTypeEnum

A list of types to further identify the object. Some property sets may be specifically applicable to one of these types.

Table 5.4.3.19.F

5.4.3.19.4 Formal propositions

Name Description
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.

NOT(EXISTS(PredefinedType)) OR
(PredefinedType <> IfcElementAssemblyTypeEnum.USERDEFINED) OR
((PredefinedType = IfcElementAssemblyTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType))
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.

(SIZEOF(IsTypedBy) = 0) OR
('IFC4X3_DEV_738df036.IFCELEMENTASSEMBLYTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType))
Table 5.4.3.19.G

5.4.3.19.5 Property sets

  • Pset_Condition
    • AssessmentDate
    • AssessmentCondition
    • AssessmentDescription
    • AssessmentType
    • AssessmentMethod
    • LastAssessmentReport
    • NextAssessmentDate
    • AssessmentFrequency
  • Pset_ConstructionAdministration
    • ProcurementMethod
    • SpecificationSectionNumber
    • SubmittalIdentifer
  • Pset_ConstructionOccurence
    • InstallationDate
    • ModelNumber
    • TagNumber
    • AssetIdentifier
  • Pset_ElementAssemblyCommon
    • Reference
    • Status
  • Pset_ElementAssemblyTypeCantilever SUSPENSIONASSEMBLY
    • AssemblyInstruction
    • ContactWireStagger
    • SystemHeight
    • CantileverType
  • Pset_ElementAssemblyTypeDilatationPanel DILATATIONPANEL
    • TechnicalStandard
    • DilatationLength
    • ExpansionDirection
    • InstallationPlan
    • BladesOrientation
  • Pset_ElementAssemblyTypeHeadSpan SUPPORTINGASSEMBLY
    • AssemblyInstruction
    • NumberOfTracksCrossed
    • Span
  • Pset_ElementAssemblyTypeMast MAST
    • WithLightningRod
  • Pset_ElementAssemblyTypeOCSSuspension SUSPENSIONASSEMBLY
    • ContactWireStagger
    • ContactWireHeight
  • Pset_ElementAssemblyTypeRigidFrame RIGID_FRAME
    • AssemblyInstruction
    • LoadCapacity
    • NumberOfTracksCrossed
    • Span
  • Pset_ElementAssemblyTypeSteadyDevice SUSPENSIONASSEMBLY
    • AssemblyInstruction
    • ContactWireStagger
    • IsSetOnWorkingWire
    • SteadyDeviceType
  • Pset_ElementAssemblyTypeSupportingAssembly SUPPORTINGASSEMBLY
    • NumberOfCantilevers
    • TypeOfSupportingSystem
  • Pset_ElementAssemblyTypeTrackPanel TRACKPANEL
    • IsAccessibleByVehicle
    • TrackExpansion
    • InstallationPlan
  • Pset_ElementAssemblyTypeTractionSwitchingAssembly TRACTION_SWITCHING_ASSEMBLY
    • NominalCurrent
    • NominalPower
    • RatedVoltage
    • DesignAmbientTemperature
  • Pset_ElementAssemblyTypeTurnoutPanel TURNOUTPANEL
    • IsAccessibleByVehicle
    • BranchLineDirection
    • TrackExpansion
    • TurnoutCurvedRadius
    • TypeOfCurvedTurnout
    • InstallationPlan
    • IsSharedTurnout
    • MaximumSpeedLimitOfDivergingLine
    • TypeOfDrivingDevice
    • TrackElementOrientation
    • PercentShared
    • TrackGaugeLength
    • TurnoutPointMachineCount
    • TurnoutHeaterType
    • TypeOfJunction
    • TypeOfTurnout
  • Pset_ElementKinematics
    • CyclicPath
    • CyclicRange
    • LinearPath
    • LinearRange
    • MaximumAngularVelocity
    • MaximumConstantSpeed
    • MinimumTime
  • Pset_EnvironmentalCondition
    • ReferenceAirRelativeHumidity
    • ReferenceEnvironmentTemperature
    • MaximumAtmosphericPressure
    • StorageTemperatureRange
    • MaximumWindSpeed
    • OperationalTemperatureRange
    • MaximumRainIntensity
    • SaltMistLevel
    • SeismicResistance
    • SmokeLevel
    • MaximumSolarRadiation
  • Pset_EnvironmentalImpactIndicators
    • Reference
    • FunctionalUnitReference
    • IndicatorsUnit
    • LifeCyclePhase
    • ExpectedServiceLife
    • TotalPrimaryEnergyConsumptionPerUnit
    • WaterConsumptionPerUnit
    • HazardousWastePerUnit
    • NonHazardousWastePerUnit
    • ClimateChangePerUnit
    • AtmosphericAcidificationPerUnit
    • RenewableEnergyConsumptionPerUnit
    • NonRenewableEnergyConsumptionPerUnit
    • ResourceDepletionPerUnit
    • InertWastePerUnit
    • RadioactiveWastePerUnit
    • StratosphericOzoneLayerDestructionPerUnit
    • PhotochemicalOzoneFormationPerUnit
    • EutrophicationPerUnit
  • Pset_EnvironmentalImpactValues
    • TotalPrimaryEnergyConsumption
    • WaterConsumption
    • HazardousWaste
    • NonHazardousWaste
    • ClimateChange
    • AtmosphericAcidification
    • RenewableEnergyConsumption
    • NonRenewableEnergyConsumption
    • ResourceDepletion
    • InertWaste
    • RadioactiveWaste
    • StratosphericOzoneLayerDestruction
    • PhotochemicalOzoneFormation
    • Eutrophication
    • LeadInTime
    • Duration
    • LeadOutTime
  • Pset_InstallationOccurrence
    • InstallationDate
    • AcceptanceDate
    • PutIntoOperationDate
  • Pset_MaintenanceStrategy
    • AssetCriticality
    • AssetFrailty
    • AssetPriority
    • MonitoringType
    • AccidentResponse
  • Pset_MaintenanceTriggerCondition
    • ConditionTargetPerformance
    • ConditionMaintenanceLevel
    • ConditionReplacementLevel
    • ConditionDisposalLevel
  • Pset_MaintenanceTriggerDuration
    • DurationTargetPerformance
    • DurationMaintenanceLevel
    • DurationReplacementLevel
    • DurationDisposalLevel
  • Pset_MaintenanceTriggerPerformance
    • TargetPerformance
    • PerformanceMaintenanceLevel
    • ReplacementLevel
    • DisposalLevel
  • Pset_ManufacturerOccurrence
    • AcquisitionDate
    • BarCode
    • SerialNumber
    • BatchReference
    • AssemblyPlace
    • ManufacturingDate
  • Pset_ManufacturerTypeInformation
    • GlobalTradeItemNumber
    • ArticleNumber
    • ModelReference
    • ModelLabel
    • Manufacturer
    • ProductionYear
    • AssemblyPlace
    • OperationalDocument
    • SafetyDocument
    • PerformanceCertificate
  • Pset_MarkerGeneral SIGNALASSEMBLY
    • ApproachSpeed
    • MarkerType
    • NominalHeight
    • Symbol
    • NominalWidth
  • Pset_RepairOccurrence
    • RepairContent
    • RepairDate
    • MeanTimeToRepair
  • Pset_Risk
    • RiskName
    • RiskType
    • NatureOfRisk
    • RiskAssessmentMethodology
    • UnmitigatedRiskLikelihood
    • UnmitigatedRiskConsequence
    • UnmitigatedRiskSignificance
    • MitigationPlanned
    • MitigatedRiskLikelihood
    • MitigatedRiskConsequence
    • MitigatedRiskSignificance
    • MitigationProposed
    • AssociatedProduct
    • AssociatedActivity
    • AssociatedLocation
  • Pset_ServiceLife
    • ServiceLifeDuration
    • MeanTimeBetweenFailure
  • Pset_SumpBusterCommon SUMPBUSTER
    • TypeDesignation
  • Pset_Tolerance
    • ToleranceDescription
    • ToleranceBasis
    • OverallTolerance
    • HorizontalTolerance
    • OrthogonalTolerance
    • VerticalTolerance
    • PlanarFlatness
    • HorizontalFlatness
    • ElevationalFlatness
    • SideFlatness
    • OverallOrthogonality
    • HorizontalOrthogonality
    • OrthogonalOrthogonality
    • VerticalOrthogonality
    • OverallStraightness
    • HorizontalStraightness
    • OrthogonalStraightness
    • VerticalStraightness
  • Pset_TrafficCalmingDeviceCommon TRAFFIC_CALMING_DEVICE
    • TypeDesignation
  • Pset_Uncertainty
    • UncertaintyBasis
    • UncertaintyDescription
    • HorizontalUncertainty
    • LinearUncertainty
    • OrthogonalUncertainty
    • VerticalUncertainty
  • Pset_Warranty
    • WarrantyIdentifier
    • WarrantyStartDate
    • IsExtendedWarranty
    • WarrantyPeriod
    • WarrantyContent
    • PointOfContact
    • Exclusions
  • Qto_BodyGeometryValidation
    • GrossSurfaceArea
    • NetSurfaceArea
    • GrossVolume
    • NetVolume
    • SurfaceGenusBeforeFeatures
    • SurfaceGenusAfterFeatures

5.4.3.19.6 Concept usage

Concept Usage Description
IfcRoot (2)
IfcObjectDefinition (9)
IfcObject (5)
IfcProduct (18)
IfcElement (44)
Click to show 78 hidden inherited concepts
IfcElementAssembly (4)
Aggregation General

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

  • The IfcElementAssembly is an aggregate i.e. being composed by other elements and acting as an assembly using the objectified relationship IfcRelAggregates, referring to it by its inverse attribute SELF\IfcObjectDefinition.IsDecomposedBy. Components of an assembly are described by instances of subtypes of IfcElement.
  • In this case, the contained subtypes of IfcElement shall not be additionally contained in the project spatial hierarchy, i.e. the inverse attribute SELF\IfcElement.ContainedInStructure of those IfcElement's shall be NIL.

Figure 5.4.3.19.D illustrates spatial containment and element aggregation relationships.

containment relationships
Figure 5.4.3.19.D — Element assembly containment
Object Typing General

This concept can be applied to the following resources:

Spatial Containment General

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

Property Sets for Objects General

This concept can be applied to the following resources:

Table 5.4.3.19.H

5.4.3.19.7 Examples

5.4.3.19.8 Formal representation

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
('IFC4X3_DEV_738df036.IFCELEMENTASSEMBLYTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
END_ENTITY;

5.4.3.19.9 References

Edit on Github


Is this page difficult to understand? Let us know!

5.4.3.19.10 Changelog

5.4.3.19.10.1 IFC4

  • where rule, CorrectPredefinedType
  • where rule, CorrectTypeAssigned
  • where rule, WR1
  • attribute PredefinedType optional, Is now optional