4.2.1 Object Typing

Object occurrences can be defined by a particular object type, using the Object Typing concept. A pair of entities are defined for most semantic objects - an object occurrence entity and a corresponding object type entity.

EXAMPLE  The IfcTank is the object occurrence entity that has a corresponding IfcTankType being the object type entity.

On instance level, an object occurrence instance may have:

Characteristics defined at the object type level may include:

Many object occurrence and object type entities have an attribute named PredefinedType consisting of a specific enumeration. Such predefined type essentially provides another level of inheritance to further differentiate objects without the need for additional entities. Predefined types are not just informational; various rules apply such as applicable property sets, part composition, and distribution ports. If the object is typed by an IfcTypeObject, then the PredefinedType at the IfcObject occurrence shall only be used if the PredefinedType at IfcTypeObject is set to NOTDEFINED.

EXAMPLE  For scenarios of object types having part compositions, such parts may be reflected at object occurrences having separate state. For example, a wall type may define a particular arrangement of studs, a wall occurrence may reflect the same arrangement of studs, and studs within the wall occurrence may participate in specific relationships that do not exist at the type such as being connected to an electrical junction box.
NOTE  If the object type has aggregated elements, such objects are reflected at the object occurrence using the IfcRelDefinesByObject relationship.

Figure 9 illustrates an instance diagram.

Object TypingIfcObjectIfcRelDefinesByTypeIfcTypeObjectIfcLabelIfcIdentifier

Figure 9 — Object Typing


Reference View

Entity
IfcActuator
IfcAirTerminal
IfcAirTerminalBox
IfcAirToAirHeatRecovery
IfcAlarm
IfcAudioVisualAppliance
IfcBeam
IfcBoiler
IfcBuilding
IfcBuildingElementPart
IfcBuildingElementProxy
IfcBuildingStorey
IfcBurner
IfcCableCarrierFitting
IfcCableCarrierSegment
IfcCableFitting
IfcCableSegment
IfcChiller
IfcChimney
IfcCivilElement
IfcCoil
IfcColumn
IfcCommunicationsAppliance
IfcCompressor
IfcCondenser
IfcController
IfcCooledBeam
IfcCoolingTower
IfcCovering
IfcCurtainWall
IfcDamper
IfcDiscreteAccessory
IfcDistributionChamberElement
IfcDoor
IfcDuctFitting
IfcDuctSegment
IfcDuctSilencer
IfcElectricAppliance
IfcElectricDistributionBoard
IfcElectricFlowStorageDevice
IfcElectricGenerator
IfcElectricMotor
IfcElectricTimeControl
IfcElementAssembly
IfcEngine
IfcEvaporativeCooler
IfcEvaporator
IfcFan
IfcFastener
IfcFilter
IfcFireSuppressionTerminal
IfcFlowInstrument
IfcFlowMeter
IfcFooting
IfcFurniture
IfcGeographicElement
IfcHeatExchanger
IfcHumidifier
IfcInterceptor
IfcJunctionBox
IfcLamp
IfcLightFixture
IfcMechanicalFastener
IfcMedicalDevice
IfcMember
IfcMotorConnection
IfcObject
IfcOpeningElement
IfcOutlet
IfcPile
IfcPipeFitting
IfcPipeSegment
IfcPlate
IfcProtectiveDevice
IfcProtectiveDeviceTrippingUnit
IfcPump
IfcRailing
IfcRamp
IfcRampFlight
IfcReinforcingBar
IfcReinforcingMesh
IfcRoof
IfcSanitaryTerminal
IfcSensor
IfcShadingDevice
IfcSite
IfcSlab
IfcSolarDevice
IfcSpace
IfcSpaceHeater
IfcSpatialZone
IfcStackTerminal
IfcStair
IfcStairFlight
IfcSwitchingDevice
IfcSystemFurnitureElement
IfcTank
IfcTendon
IfcTendonAnchor
IfcTransformer
IfcTransportElement
IfcTubeBundle
IfcUnitaryControlElement
IfcUnitaryEquipment
IfcValve
IfcVibrationIsolator
IfcVoidingFeature
IfcWall
IfcWasteTerminal
IfcWindow
mvdXML Specification
<?xml version="1.0"?>
<ConceptTemplate xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" uuid="35a2e10e-20df-40f4-ab2f-dacf0a6744f4" name="Object Typing" status="sample" applicableSchema="IFC4" applicableEntity="IfcObject">
  <Rules>
    <AttributeRule RuleID="HasType" Description="*" AttributeName="IsTypedBy">
      <EntityRules>
        <EntityRule EntityName="IfcRelDefinesByType">
          <AttributeRules>
            <AttributeRule RuleID="RelatingType" AttributeName="RelatingType">
              <EntityRules>
                <EntityRule EntityName="IfcTypeObject">
                  <AttributeRules>
                    <AttributeRule RuleID="TypeName" AttributeName="Name">
                      <EntityRules>
                        <EntityRule EntityName="IfcLabel" />
                      </EntityRules>
                    </AttributeRule>
                    <AttributeRule AttributeName="ApplicableOccurrence">
                      <EntityRules>
                        <EntityRule EntityName="IfcIdentifier" />
                      </EntityRules>
                    </AttributeRule>
                  </AttributeRules>
                </EntityRule>
              </EntityRules>
            </AttributeRule>
          </AttributeRules>
        </EntityRule>
      </EntityRules>
    </AttributeRule>
    <AttributeRule AttributeName="PredefinedType" />
  </Rules>
</ConceptTemplate>

Link to this page  Link to this page