Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Extend documentation for use of entity facet - resolve issue #116 #301

Merged
merged 1 commit into from
Jun 3, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Loading