Skip to content

Commit

Permalink
Extend documentation for use of entity facet (#301)
Browse files Browse the repository at this point in the history
This pull-request will resolve the issue discussed in #116.
  • Loading branch information
MatthiasWeise authored Jun 3, 2024
1 parent d95bc38 commit 35a4d12
Show file tree
Hide file tree
Showing 2 changed files with 74 additions and 0 deletions.
9 changes: 9 additions & 0 deletions Documentation/entity-facet.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,3 +41,12 @@ One of the most important aspects of writing a specification is to ensure that i
| All related documents, such as drawings, schedules, manuals, and specifications | Must be a document | Name="IFCDOCUMENTINFORMATION" |
| All distribution systems, such as hot water systems, electrical circuits, etc | Must be a distribution system | Name=["IFCDISTRIBUTIONSYSTEM", "IFCDISTRIBUTIONCIRCUIT"] |
| All construction tasks, such as in construction scheduling in a work breakdown structure | Must be a construction task | Name="IFCTASK", PredefinedType="CONSTRUCTION" |

## Special cases in IFC2X3

Some occurrence entities in IFC2X3 are further specified by their type object.
An example is the definition of an air terminal, which is encoded in IFC2X3 by an occurrence instance of IfcFlowTerminal and a type instance of IfcAirTerminalType.
The entity facet does not have a parameter to further specify the type entity name.
In this case, the IDS follows the convention introduced in IFC4, which also makes the IDS-based check more schema-agnostic.
In the given example, the **name** of the entity to be checked should be IfcAirTerminal (without type) and must be resolved by a given mapping table.
A full list is given in this [table](./Documentation/ifc2x3-occurrence-type-mapping-table.md)
65 changes: 65 additions & 0 deletions Documentation/ifc2x3-occurrence-type-mapping-table.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
The following table lists all special cases for checking IFC2X3 entities,
where the type is further restricted by the type object.
The first column shows the name to be used in the entity facet.
The second and third columns give further information on how to resolve to IFC2X3 occurrence and type entity.


Name in IDS facet | Occurrence entity | Type entity
-------------------------------|-------------------------------------|---------------------------------
IfcFurniture | IfcFurnishingElement | IfcFurnitureType
IfcSystemFurnitureElement | IfcFurnishingElement | IfcSystemFurnitureElementType
IfcActuator | IfcDistributionControlElement | IfcActuatorType
IfcAlarm | IfcDistributionControlElement | IfcAlarmType
IfcController | IfcDistributionControlElement | IfcControllerType
IfcFlowInstrument | IfcDistributionControlElement | IfcFlowInstrumentType
IfcSensor | IfcDistributionControlElement | IfcSensorType
IfcAirToAirHeatRecovery | IfcEnergyConversionDevice | IfcAirToAirHeatRecoveryType
IfcBoiler | IfcEnergyConversionDevice | IfcBoilerType
IfcChiller | IfcEnergyConversionDevice | IfcChillerType
IfcCoil | IfcEnergyConversionDevice | IfcCoilType
IfcCondenser | IfcEnergyConversionDevice | IfcCondenserType
IfcCooledBeam | IfcEnergyConversionDevice | IfcCooledBeamType
IfcCoolingTower | IfcEnergyConversionDevice | IfcCoolingTowerType
IfcElectricGenerator | IfcEnergyConversionDevice | IfcElectricGeneratorType
IfcElectricMotor | IfcEnergyConversionDevice | IfcElectricMotorType
IfcEvaporativeCooler | IfcEnergyConversionDevice | IfcEvaporativeCoolerType
IfcEvaporator | IfcEnergyConversionDevice | IfcEvaporatorType
IfcHeatExchanger | IfcEnergyConversionDevice | IfcHeatExchangerType
IfcHumidifier | IfcEnergyConversionDevice | IfcHumidifierType
IfcMotorConnection | IfcEnergyConversionDevice | IfcMotorConnectionType
IfcTransformer | IfcEnergyConversionDevice | IfcTransformerType
IfcTubeBundle | IfcEnergyConversionDevice | IfcTubeBundleType
IfcUnitaryEquipment | IfcEnergyConversionDevice | IfcUnitaryEquipmentType
IfcAirTerminalBox | IfcFlowController | IfcAirTerminalBoxType
IfcDamper | IfcFlowController | IfcDamperType
IfcElectricTimeControl | IfcFlowController | IfcElectricTimeControlType
IfcFlowMeter | IfcFlowController | IfcFlowMeterType
IfcProtectiveDevice | IfcFlowController | IfcProtectiveDeviceType
IfcSwitchingDevice | IfcFlowController | IfcSwitchingDeviceType
IfcValve | IfcFlowController | IfcValveType
IfcCableCarrierFitting | IfcFlowFitting | IfcCableCarrierFittingType
IfcDuctFitting | IfcFlowFitting | IfcDuctFittingType
IfcJunctionBox | IfcFlowFitting | IfcJunctionBoxType
IfcPipeFitting | IfcFlowFitting | IfcPipeFittingType
IfcCompressor | IfcFlowMovingDevice | IfcCompressorType
IfcFan | IfcFlowMovingDevice | IfcFanType
IfcPump | IfcFlowMovingDevice | IfcPumpType
IfcCableCarrierSegment | IfcFlowSegment | IfcCableCarrierSegmentType
IfcCableSegment | IfcFlowSegment | IfcCableSegmentType
IfcDuctSegment | IfcFlowSegment | IfcDuctSegmentType
IfcPipeSegment | IfcFlowSegment | IfcPipeSegmentType
IfcElectricFlowStorageDevice | IfcFlowStorageDevice | IfcElectricFlowStorageDeviceType
IfcTank | IfcFlowStorageDevice | IfcTankType
IfcAirTerminal | IfcFlowTerminal | IfcAirTerminalType
IfcElectricAppliance | IfcFlowTerminal | IfcElectricApplianceType
IfcFireSuppressionTerminal | IfcFlowTerminal | IfcFireSuppressionTerminalType
IfcLamp | IfcFlowTerminal | IfcLampType
IfcLightFixture | IfcFlowTerminal | IfcLightFixtureType
IfcOutlet | IfcFlowTerminal | IfcOutletType
IfcSanitaryTerminal | IfcFlowTerminal | IfcSanitaryTerminalType
IfcSpaceHeater | IfcFlowTerminal | IfcSpaceHeaterType
IfcStackTerminal | IfcFlowTerminal | IfcStackTerminalType
IfcWasteTerminal | IfcFlowTerminal | IfcWasteTerminalType
IfcDuctSilencer | IfcFlowTreatmentDevice | IfcDuctSilencerType
IfcFilter | IfcFlowTreatmentDevice | IfcFilterType
IfcVibrationIsolator | IfcElementComponent | IfcVibrationIsolatorType

0 comments on commit 35a4d12

Please sign in to comment.