diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt
index 32f3debde2..79dac08cad 100644
--- a/cmake/CMakeLists.txt
+++ b/cmake/CMakeLists.txt
@@ -739,7 +739,7 @@ if(NOT SCHEMA_VERSIONS)
# super arbitrarily try to keep size down at least a little bit
set(SCHEMA_VERSIONS "2x3" "4")
else()
- set(SCHEMA_VERSIONS "2x3" "4" "4x1" "4x2" "4x3_rc1" "4x3_rc2" "4x3_rc3" "4x3_rc4" "4x3" "4x3_tc1" "4x3_add1")
+ set(SCHEMA_VERSIONS "2x3" "4" "4x1" "4x2" "4x3_rc1" "4x3_rc2" "4x3_rc3" "4x3_rc4" "4x3" "4x3_tc1" "4x3_add1" "4x3_add2")
endif()
endif()
@@ -935,8 +935,6 @@ if(BUILD_CONVERT OR BUILD_IFCPYTHON)
add_library(Serializers ${SERIALIZERS_FILES})
set_target_properties(Serializers PROPERTIES COMPILE_FLAGS "-DIFC_GEOM_EXPORTS" VERSION "${PROJECT_VERSION}" SOVERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}")
- message(STATUS "WITH_PROJ ${WITH_PROJ}")
-
if (WITH_PROJ)
target_compile_definitions(Serializers PRIVATE "WITH_PROJ")
if (PROJ_STATIC)
diff --git a/src/ifcgeom_schema_agnostic/Kernel.cpp b/src/ifcgeom_schema_agnostic/Kernel.cpp
index de13df00cd..f93a6bf240 100644
--- a/src/ifcgeom_schema_agnostic/Kernel.cpp
+++ b/src/ifcgeom_schema_agnostic/Kernel.cpp
@@ -185,6 +185,11 @@ namespace {
GET_RELATINGOBJECT_IFC4_VARIANT(Ifc4x3_add1);
CREATE_GET_DECOMPOSING_ENTITY(Ifc4x3_add1);
#endif
+
+#ifdef HAS_SCHEMA_4x3_add2
+ GET_RELATINGOBJECT_IFC4_VARIANT(Ifc4x3_add2);
+ CREATE_GET_DECOMPOSING_ENTITY(Ifc4x3_add2);
+#endif
}
// Declares the schema-based IfcProduct check:
diff --git a/src/ifcparse/Ifc4x3_add2-definitions.h b/src/ifcparse/Ifc4x3_add2-definitions.h
new file mode 100644
index 0000000000..f6db270177
--- /dev/null
+++ b/src/ifcparse/Ifc4x3_add2-definitions.h
@@ -0,0 +1,4096 @@
+/********************************************************************************
+ * *
+ * This file is part of IfcOpenShell. *
+ * *
+ * IfcOpenShell is free software: you can redistribute it and/or modify *
+ * it under the terms of the Lesser GNU General Public License as published by *
+ * the Free Software Foundation, either version 3.0 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * IfcOpenShell is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * Lesser GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the Lesser GNU General Public License *
+ * along with this program. If not, see . *
+ * *
+ ********************************************************************************/
+
+/********************************************************************************
+ * *
+ * This file has been generated from IFC4X3_ADD2.exp. Do not make modifications *
+ * but instead modify the python script that has been used to generate this. *
+ * *
+ ********************************************************************************/
+
+#define SCHEMA_HAS_IfcAbsorbedDoseMeasure
+#define SCHEMA_HAS_IfcAccelerationMeasure
+#define SCHEMA_HAS_IfcActionRequestTypeEnum
+#define SCHEMA_HAS_IfcActionSourceTypeEnum
+#define SCHEMA_HAS_IfcActionTypeEnum
+#define SCHEMA_HAS_IfcActorSelect
+#define SCHEMA_HAS_IfcActuatorTypeEnum
+#define SCHEMA_HAS_IfcAddressTypeEnum
+#define SCHEMA_HAS_IfcAirTerminalBoxTypeEnum
+#define SCHEMA_HAS_IfcAirTerminalTypeEnum
+#define SCHEMA_HAS_IfcAirToAirHeatRecoveryTypeEnum
+#define SCHEMA_HAS_IfcAlarmTypeEnum
+#define SCHEMA_HAS_IfcAlignmentCantSegmentTypeEnum
+#define SCHEMA_HAS_IfcAlignmentHorizontalSegmentTypeEnum
+#define SCHEMA_HAS_IfcAlignmentTypeEnum
+#define SCHEMA_HAS_IfcAlignmentVerticalSegmentTypeEnum
+#define SCHEMA_HAS_IfcAmountOfSubstanceMeasure
+#define SCHEMA_HAS_IfcAnalysisModelTypeEnum
+#define SCHEMA_HAS_IfcAnalysisTheoryTypeEnum
+#define SCHEMA_HAS_IfcAngularVelocityMeasure
+#define SCHEMA_HAS_IfcAnnotationTypeEnum
+#define SCHEMA_HAS_IfcAppliedValueSelect
+#define SCHEMA_HAS_IfcArcIndex
+#define SCHEMA_HAS_IfcAreaDensityMeasure
+#define SCHEMA_HAS_IfcAreaMeasure
+#define SCHEMA_HAS_IfcArithmeticOperatorEnum
+#define SCHEMA_HAS_IfcAssemblyPlaceEnum
+#define SCHEMA_HAS_IfcAudioVisualApplianceTypeEnum
+#define SCHEMA_HAS_IfcAxis2Placement
+#define SCHEMA_HAS_IfcBSplineCurveForm
+#define SCHEMA_HAS_IfcBSplineSurfaceForm
+#define SCHEMA_HAS_IfcBeamTypeEnum
+#define SCHEMA_HAS_IfcBearingTypeEnum
+#define SCHEMA_HAS_IfcBenchmarkEnum
+#define SCHEMA_HAS_IfcBendingParameterSelect
+#define SCHEMA_HAS_IfcBinary
+#define SCHEMA_HAS_IfcBoilerTypeEnum
+#define SCHEMA_HAS_IfcBoolean
+#define SCHEMA_HAS_IfcBooleanOperand
+#define SCHEMA_HAS_IfcBooleanOperator
+#define SCHEMA_HAS_IfcBoxAlignment
+#define SCHEMA_HAS_IfcBridgePartTypeEnum
+#define SCHEMA_HAS_IfcBridgeTypeEnum
+#define SCHEMA_HAS_IfcBuildingElementPartTypeEnum
+#define SCHEMA_HAS_IfcBuildingElementProxyTypeEnum
+#define SCHEMA_HAS_IfcBuildingSystemTypeEnum
+#define SCHEMA_HAS_IfcBuiltSystemTypeEnum
+#define SCHEMA_HAS_IfcBurnerTypeEnum
+#define SCHEMA_HAS_IfcCableCarrierFittingTypeEnum
+#define SCHEMA_HAS_IfcCableCarrierSegmentTypeEnum
+#define SCHEMA_HAS_IfcCableFittingTypeEnum
+#define SCHEMA_HAS_IfcCableSegmentTypeEnum
+#define SCHEMA_HAS_IfcCaissonFoundationTypeEnum
+#define SCHEMA_HAS_IfcCardinalPointReference
+#define SCHEMA_HAS_IfcChangeActionEnum
+#define SCHEMA_HAS_IfcChillerTypeEnum
+#define SCHEMA_HAS_IfcChimneyTypeEnum
+#define SCHEMA_HAS_IfcClassificationReferenceSelect
+#define SCHEMA_HAS_IfcClassificationSelect
+#define SCHEMA_HAS_IfcCoilTypeEnum
+#define SCHEMA_HAS_IfcColour
+#define SCHEMA_HAS_IfcColourOrFactor
+#define SCHEMA_HAS_IfcColumnTypeEnum
+#define SCHEMA_HAS_IfcCommunicationsApplianceTypeEnum
+#define SCHEMA_HAS_IfcComplexNumber
+#define SCHEMA_HAS_IfcComplexPropertyTemplateTypeEnum
+#define SCHEMA_HAS_IfcCompoundPlaneAngleMeasure
+#define SCHEMA_HAS_IfcCompressorTypeEnum
+#define SCHEMA_HAS_IfcCondenserTypeEnum
+#define SCHEMA_HAS_IfcConnectionTypeEnum
+#define SCHEMA_HAS_IfcConstraintEnum
+#define SCHEMA_HAS_IfcConstructionEquipmentResourceTypeEnum
+#define SCHEMA_HAS_IfcConstructionMaterialResourceTypeEnum
+#define SCHEMA_HAS_IfcConstructionProductResourceTypeEnum
+#define SCHEMA_HAS_IfcContextDependentMeasure
+#define SCHEMA_HAS_IfcControllerTypeEnum
+#define SCHEMA_HAS_IfcConveyorSegmentTypeEnum
+#define SCHEMA_HAS_IfcCooledBeamTypeEnum
+#define SCHEMA_HAS_IfcCoolingTowerTypeEnum
+#define SCHEMA_HAS_IfcCoordinateReferenceSystemSelect
+#define SCHEMA_HAS_IfcCostItemTypeEnum
+#define SCHEMA_HAS_IfcCostScheduleTypeEnum
+#define SCHEMA_HAS_IfcCountMeasure
+#define SCHEMA_HAS_IfcCourseTypeEnum
+#define SCHEMA_HAS_IfcCoveringTypeEnum
+#define SCHEMA_HAS_IfcCrewResourceTypeEnum
+#define SCHEMA_HAS_IfcCsgSelect
+#define SCHEMA_HAS_IfcCurtainWallTypeEnum
+#define SCHEMA_HAS_IfcCurvatureMeasure
+#define SCHEMA_HAS_IfcCurveFontOrScaledCurveFontSelect
+#define SCHEMA_HAS_IfcCurveInterpolationEnum
+#define SCHEMA_HAS_IfcCurveMeasureSelect
+#define SCHEMA_HAS_IfcCurveOnSurface
+#define SCHEMA_HAS_IfcCurveOrEdgeCurve
+#define SCHEMA_HAS_IfcCurveStyleFontSelect
+#define SCHEMA_HAS_IfcDamperTypeEnum
+#define SCHEMA_HAS_IfcDataOriginEnum
+#define SCHEMA_HAS_IfcDate
+#define SCHEMA_HAS_IfcDateTime
+#define SCHEMA_HAS_IfcDayInMonthNumber
+#define SCHEMA_HAS_IfcDayInWeekNumber
+#define SCHEMA_HAS_IfcDefinitionSelect
+#define SCHEMA_HAS_IfcDerivedMeasureValue
+#define SCHEMA_HAS_IfcDerivedUnitEnum
+#define SCHEMA_HAS_IfcDescriptiveMeasure
+#define SCHEMA_HAS_IfcDimensionCount
+#define SCHEMA_HAS_IfcDirectionSenseEnum
+#define SCHEMA_HAS_IfcDiscreteAccessoryTypeEnum
+#define SCHEMA_HAS_IfcDistributionBoardTypeEnum
+#define SCHEMA_HAS_IfcDistributionChamberElementTypeEnum
+#define SCHEMA_HAS_IfcDistributionPortTypeEnum
+#define SCHEMA_HAS_IfcDistributionSystemEnum
+#define SCHEMA_HAS_IfcDocumentConfidentialityEnum
+#define SCHEMA_HAS_IfcDocumentSelect
+#define SCHEMA_HAS_IfcDocumentStatusEnum
+#define SCHEMA_HAS_IfcDoorPanelOperationEnum
+#define SCHEMA_HAS_IfcDoorPanelPositionEnum
+#define SCHEMA_HAS_IfcDoorTypeEnum
+#define SCHEMA_HAS_IfcDoorTypeOperationEnum
+#define SCHEMA_HAS_IfcDoseEquivalentMeasure
+#define SCHEMA_HAS_IfcDuctFittingTypeEnum
+#define SCHEMA_HAS_IfcDuctSegmentTypeEnum
+#define SCHEMA_HAS_IfcDuctSilencerTypeEnum
+#define SCHEMA_HAS_IfcDuration
+#define SCHEMA_HAS_IfcDynamicViscosityMeasure
+#define SCHEMA_HAS_IfcEarthworksCutTypeEnum
+#define SCHEMA_HAS_IfcEarthworksFillTypeEnum
+#define SCHEMA_HAS_IfcElectricApplianceTypeEnum
+#define SCHEMA_HAS_IfcElectricCapacitanceMeasure
+#define SCHEMA_HAS_IfcElectricChargeMeasure
+#define SCHEMA_HAS_IfcElectricConductanceMeasure
+#define SCHEMA_HAS_IfcElectricCurrentMeasure
+#define SCHEMA_HAS_IfcElectricDistributionBoardTypeEnum
+#define SCHEMA_HAS_IfcElectricFlowStorageDeviceTypeEnum
+#define SCHEMA_HAS_IfcElectricFlowTreatmentDeviceTypeEnum
+#define SCHEMA_HAS_IfcElectricGeneratorTypeEnum
+#define SCHEMA_HAS_IfcElectricMotorTypeEnum
+#define SCHEMA_HAS_IfcElectricResistanceMeasure
+#define SCHEMA_HAS_IfcElectricTimeControlTypeEnum
+#define SCHEMA_HAS_IfcElectricVoltageMeasure
+#define SCHEMA_HAS_IfcElementAssemblyTypeEnum
+#define SCHEMA_HAS_IfcElementCompositionEnum
+#define SCHEMA_HAS_IfcEnergyMeasure
+#define SCHEMA_HAS_IfcEngineTypeEnum
+#define SCHEMA_HAS_IfcEvaporativeCoolerTypeEnum
+#define SCHEMA_HAS_IfcEvaporatorTypeEnum
+#define SCHEMA_HAS_IfcEventTriggerTypeEnum
+#define SCHEMA_HAS_IfcEventTypeEnum
+#define SCHEMA_HAS_IfcExternalSpatialElementTypeEnum
+#define SCHEMA_HAS_IfcFacilityPartCommonTypeEnum
+#define SCHEMA_HAS_IfcFacilityUsageEnum
+#define SCHEMA_HAS_IfcFanTypeEnum
+#define SCHEMA_HAS_IfcFastenerTypeEnum
+#define SCHEMA_HAS_IfcFillStyleSelect
+#define SCHEMA_HAS_IfcFilterTypeEnum
+#define SCHEMA_HAS_IfcFireSuppressionTerminalTypeEnum
+#define SCHEMA_HAS_IfcFlowDirectionEnum
+#define SCHEMA_HAS_IfcFlowInstrumentTypeEnum
+#define SCHEMA_HAS_IfcFlowMeterTypeEnum
+#define SCHEMA_HAS_IfcFontStyle
+#define SCHEMA_HAS_IfcFontVariant
+#define SCHEMA_HAS_IfcFontWeight
+#define SCHEMA_HAS_IfcFootingTypeEnum
+#define SCHEMA_HAS_IfcForceMeasure
+#define SCHEMA_HAS_IfcFrequencyMeasure
+#define SCHEMA_HAS_IfcFurnitureTypeEnum
+#define SCHEMA_HAS_IfcGeographicElementTypeEnum
+#define SCHEMA_HAS_IfcGeometricProjectionEnum
+#define SCHEMA_HAS_IfcGeometricSetSelect
+#define SCHEMA_HAS_IfcGeotechnicalStratumTypeEnum
+#define SCHEMA_HAS_IfcGlobalOrLocalEnum
+#define SCHEMA_HAS_IfcGloballyUniqueId
+#define SCHEMA_HAS_IfcGridPlacementDirectionSelect
+#define SCHEMA_HAS_IfcGridTypeEnum
+#define SCHEMA_HAS_IfcHatchLineDistanceSelect
+#define SCHEMA_HAS_IfcHeatExchangerTypeEnum
+#define SCHEMA_HAS_IfcHeatFluxDensityMeasure
+#define SCHEMA_HAS_IfcHeatingValueMeasure
+#define SCHEMA_HAS_IfcHumidifierTypeEnum
+#define SCHEMA_HAS_IfcIdentifier
+#define SCHEMA_HAS_IfcIlluminanceMeasure
+#define SCHEMA_HAS_IfcImpactProtectionDeviceTypeEnum
+#define SCHEMA_HAS_IfcInductanceMeasure
+#define SCHEMA_HAS_IfcInteger
+#define SCHEMA_HAS_IfcIntegerCountRateMeasure
+#define SCHEMA_HAS_IfcInterceptorTypeEnum
+#define SCHEMA_HAS_IfcInterferenceSelect
+#define SCHEMA_HAS_IfcInternalOrExternalEnum
+#define SCHEMA_HAS_IfcInventoryTypeEnum
+#define SCHEMA_HAS_IfcIonConcentrationMeasure
+#define SCHEMA_HAS_IfcIsothermalMoistureCapacityMeasure
+#define SCHEMA_HAS_IfcJunctionBoxTypeEnum
+#define SCHEMA_HAS_IfcKerbTypeEnum
+#define SCHEMA_HAS_IfcKinematicViscosityMeasure
+#define SCHEMA_HAS_IfcKnotType
+#define SCHEMA_HAS_IfcLabel
+#define SCHEMA_HAS_IfcLaborResourceTypeEnum
+#define SCHEMA_HAS_IfcLampTypeEnum
+#define SCHEMA_HAS_IfcLanguageId
+#define SCHEMA_HAS_IfcLayerSetDirectionEnum
+#define SCHEMA_HAS_IfcLayeredItem
+#define SCHEMA_HAS_IfcLengthMeasure
+#define SCHEMA_HAS_IfcLibrarySelect
+#define SCHEMA_HAS_IfcLightDistributionCurveEnum
+#define SCHEMA_HAS_IfcLightDistributionDataSourceSelect
+#define SCHEMA_HAS_IfcLightEmissionSourceEnum
+#define SCHEMA_HAS_IfcLightFixtureTypeEnum
+#define SCHEMA_HAS_IfcLineIndex
+#define SCHEMA_HAS_IfcLinearForceMeasure
+#define SCHEMA_HAS_IfcLinearMomentMeasure
+#define SCHEMA_HAS_IfcLinearStiffnessMeasure
+#define SCHEMA_HAS_IfcLinearVelocityMeasure
+#define SCHEMA_HAS_IfcLiquidTerminalTypeEnum
+#define SCHEMA_HAS_IfcLoadGroupTypeEnum
+#define SCHEMA_HAS_IfcLogical
+#define SCHEMA_HAS_IfcLogicalOperatorEnum
+#define SCHEMA_HAS_IfcLuminousFluxMeasure
+#define SCHEMA_HAS_IfcLuminousIntensityDistributionMeasure
+#define SCHEMA_HAS_IfcLuminousIntensityMeasure
+#define SCHEMA_HAS_IfcMagneticFluxDensityMeasure
+#define SCHEMA_HAS_IfcMagneticFluxMeasure
+#define SCHEMA_HAS_IfcMarineFacilityTypeEnum
+#define SCHEMA_HAS_IfcMarinePartTypeEnum
+#define SCHEMA_HAS_IfcMassDensityMeasure
+#define SCHEMA_HAS_IfcMassFlowRateMeasure
+#define SCHEMA_HAS_IfcMassMeasure
+#define SCHEMA_HAS_IfcMassPerLengthMeasure
+#define SCHEMA_HAS_IfcMaterialSelect
+#define SCHEMA_HAS_IfcMeasureValue
+#define SCHEMA_HAS_IfcMechanicalFastenerTypeEnum
+#define SCHEMA_HAS_IfcMedicalDeviceTypeEnum
+#define SCHEMA_HAS_IfcMemberTypeEnum
+#define SCHEMA_HAS_IfcMetricValueSelect
+#define SCHEMA_HAS_IfcMobileTelecommunicationsApplianceTypeEnum
+#define SCHEMA_HAS_IfcModulusOfElasticityMeasure
+#define SCHEMA_HAS_IfcModulusOfLinearSubgradeReactionMeasure
+#define SCHEMA_HAS_IfcModulusOfRotationalSubgradeReactionMeasure
+#define SCHEMA_HAS_IfcModulusOfRotationalSubgradeReactionSelect
+#define SCHEMA_HAS_IfcModulusOfSubgradeReactionMeasure
+#define SCHEMA_HAS_IfcModulusOfSubgradeReactionSelect
+#define SCHEMA_HAS_IfcModulusOfTranslationalSubgradeReactionSelect
+#define SCHEMA_HAS_IfcMoistureDiffusivityMeasure
+#define SCHEMA_HAS_IfcMolecularWeightMeasure
+#define SCHEMA_HAS_IfcMomentOfInertiaMeasure
+#define SCHEMA_HAS_IfcMonetaryMeasure
+#define SCHEMA_HAS_IfcMonthInYearNumber
+#define SCHEMA_HAS_IfcMooringDeviceTypeEnum
+#define SCHEMA_HAS_IfcMotorConnectionTypeEnum
+#define SCHEMA_HAS_IfcNavigationElementTypeEnum
+#define SCHEMA_HAS_IfcNonNegativeLengthMeasure
+#define SCHEMA_HAS_IfcNormalisedRatioMeasure
+#define SCHEMA_HAS_IfcNumericMeasure
+#define SCHEMA_HAS_IfcObjectReferenceSelect
+#define SCHEMA_HAS_IfcObjectiveEnum
+#define SCHEMA_HAS_IfcOccupantTypeEnum
+#define SCHEMA_HAS_IfcOpeningElementTypeEnum
+#define SCHEMA_HAS_IfcOutletTypeEnum
+#define SCHEMA_HAS_IfcPHMeasure
+#define SCHEMA_HAS_IfcParameterValue
+#define SCHEMA_HAS_IfcPavementTypeEnum
+#define SCHEMA_HAS_IfcPerformanceHistoryTypeEnum
+#define SCHEMA_HAS_IfcPermeableCoveringOperationEnum
+#define SCHEMA_HAS_IfcPermitTypeEnum
+#define SCHEMA_HAS_IfcPhysicalOrVirtualEnum
+#define SCHEMA_HAS_IfcPileConstructionEnum
+#define SCHEMA_HAS_IfcPileTypeEnum
+#define SCHEMA_HAS_IfcPipeFittingTypeEnum
+#define SCHEMA_HAS_IfcPipeSegmentTypeEnum
+#define SCHEMA_HAS_IfcPlanarForceMeasure
+#define SCHEMA_HAS_IfcPlaneAngleMeasure
+#define SCHEMA_HAS_IfcPlateTypeEnum
+#define SCHEMA_HAS_IfcPointOrVertexPoint
+#define SCHEMA_HAS_IfcPositiveInteger
+#define SCHEMA_HAS_IfcPositiveLengthMeasure
+#define SCHEMA_HAS_IfcPositivePlaneAngleMeasure
+#define SCHEMA_HAS_IfcPositiveRatioMeasure
+#define SCHEMA_HAS_IfcPowerMeasure
+#define SCHEMA_HAS_IfcPreferredSurfaceCurveRepresentation
+#define SCHEMA_HAS_IfcPresentableText
+#define SCHEMA_HAS_IfcPressureMeasure
+#define SCHEMA_HAS_IfcProcedureTypeEnum
+#define SCHEMA_HAS_IfcProcessSelect
+#define SCHEMA_HAS_IfcProductRepresentationSelect
+#define SCHEMA_HAS_IfcProductSelect
+#define SCHEMA_HAS_IfcProfileTypeEnum
+#define SCHEMA_HAS_IfcProjectOrderTypeEnum
+#define SCHEMA_HAS_IfcProjectedOrTrueLengthEnum
+#define SCHEMA_HAS_IfcProjectionElementTypeEnum
+#define SCHEMA_HAS_IfcPropertySetDefinitionSelect
+#define SCHEMA_HAS_IfcPropertySetDefinitionSet
+#define SCHEMA_HAS_IfcPropertySetTemplateTypeEnum
+#define SCHEMA_HAS_IfcProtectiveDeviceTrippingUnitTypeEnum
+#define SCHEMA_HAS_IfcProtectiveDeviceTypeEnum
+#define SCHEMA_HAS_IfcPumpTypeEnum
+#define SCHEMA_HAS_IfcRadioActivityMeasure
+#define SCHEMA_HAS_IfcRailTypeEnum
+#define SCHEMA_HAS_IfcRailingTypeEnum
+#define SCHEMA_HAS_IfcRailwayPartTypeEnum
+#define SCHEMA_HAS_IfcRailwayTypeEnum
+#define SCHEMA_HAS_IfcRampFlightTypeEnum
+#define SCHEMA_HAS_IfcRampTypeEnum
+#define SCHEMA_HAS_IfcRatioMeasure
+#define SCHEMA_HAS_IfcReal
+#define SCHEMA_HAS_IfcRecurrenceTypeEnum
+#define SCHEMA_HAS_IfcReferentTypeEnum
+#define SCHEMA_HAS_IfcReflectanceMethodEnum
+#define SCHEMA_HAS_IfcReinforcedSoilTypeEnum
+#define SCHEMA_HAS_IfcReinforcingBarRoleEnum
+#define SCHEMA_HAS_IfcReinforcingBarSurfaceEnum
+#define SCHEMA_HAS_IfcReinforcingBarTypeEnum
+#define SCHEMA_HAS_IfcReinforcingMeshTypeEnum
+#define SCHEMA_HAS_IfcResourceObjectSelect
+#define SCHEMA_HAS_IfcResourceSelect
+#define SCHEMA_HAS_IfcRoadPartTypeEnum
+#define SCHEMA_HAS_IfcRoadTypeEnum
+#define SCHEMA_HAS_IfcRoleEnum
+#define SCHEMA_HAS_IfcRoofTypeEnum
+#define SCHEMA_HAS_IfcRotationalFrequencyMeasure
+#define SCHEMA_HAS_IfcRotationalMassMeasure
+#define SCHEMA_HAS_IfcRotationalStiffnessMeasure
+#define SCHEMA_HAS_IfcRotationalStiffnessSelect
+#define SCHEMA_HAS_IfcSIPrefix
+#define SCHEMA_HAS_IfcSIUnitName
+#define SCHEMA_HAS_IfcSanitaryTerminalTypeEnum
+#define SCHEMA_HAS_IfcSectionModulusMeasure
+#define SCHEMA_HAS_IfcSectionTypeEnum
+#define SCHEMA_HAS_IfcSectionalAreaIntegralMeasure
+#define SCHEMA_HAS_IfcSegmentIndexSelect
+#define SCHEMA_HAS_IfcSensorTypeEnum
+#define SCHEMA_HAS_IfcSequenceEnum
+#define SCHEMA_HAS_IfcShadingDeviceTypeEnum
+#define SCHEMA_HAS_IfcShearModulusMeasure
+#define SCHEMA_HAS_IfcShell
+#define SCHEMA_HAS_IfcSignTypeEnum
+#define SCHEMA_HAS_IfcSignalTypeEnum
+#define SCHEMA_HAS_IfcSimplePropertyTemplateTypeEnum
+#define SCHEMA_HAS_IfcSimpleValue
+#define SCHEMA_HAS_IfcSizeSelect
+#define SCHEMA_HAS_IfcSlabTypeEnum
+#define SCHEMA_HAS_IfcSolarDeviceTypeEnum
+#define SCHEMA_HAS_IfcSolidAngleMeasure
+#define SCHEMA_HAS_IfcSolidOrShell
+#define SCHEMA_HAS_IfcSoundPowerLevelMeasure
+#define SCHEMA_HAS_IfcSoundPowerMeasure
+#define SCHEMA_HAS_IfcSoundPressureLevelMeasure
+#define SCHEMA_HAS_IfcSoundPressureMeasure
+#define SCHEMA_HAS_IfcSpaceBoundarySelect
+#define SCHEMA_HAS_IfcSpaceHeaterTypeEnum
+#define SCHEMA_HAS_IfcSpaceTypeEnum
+#define SCHEMA_HAS_IfcSpatialReferenceSelect
+#define SCHEMA_HAS_IfcSpatialZoneTypeEnum
+#define SCHEMA_HAS_IfcSpecificHeatCapacityMeasure
+#define SCHEMA_HAS_IfcSpecularExponent
+#define SCHEMA_HAS_IfcSpecularHighlightSelect
+#define SCHEMA_HAS_IfcSpecularRoughness
+#define SCHEMA_HAS_IfcStackTerminalTypeEnum
+#define SCHEMA_HAS_IfcStairFlightTypeEnum
+#define SCHEMA_HAS_IfcStairTypeEnum
+#define SCHEMA_HAS_IfcStateEnum
+#define SCHEMA_HAS_IfcStrippedOptional
+#define SCHEMA_HAS_IfcStructuralActivityAssignmentSelect
+#define SCHEMA_HAS_IfcStructuralCurveActivityTypeEnum
+#define SCHEMA_HAS_IfcStructuralCurveMemberTypeEnum
+#define SCHEMA_HAS_IfcStructuralSurfaceActivityTypeEnum
+#define SCHEMA_HAS_IfcStructuralSurfaceMemberTypeEnum
+#define SCHEMA_HAS_IfcSubContractResourceTypeEnum
+#define SCHEMA_HAS_IfcSurfaceFeatureTypeEnum
+#define SCHEMA_HAS_IfcSurfaceOrFaceSurface
+#define SCHEMA_HAS_IfcSurfaceSide
+#define SCHEMA_HAS_IfcSurfaceStyleElementSelect
+#define SCHEMA_HAS_IfcSwitchingDeviceTypeEnum
+#define SCHEMA_HAS_IfcSystemFurnitureElementTypeEnum
+#define SCHEMA_HAS_IfcTankTypeEnum
+#define SCHEMA_HAS_IfcTaskDurationEnum
+#define SCHEMA_HAS_IfcTaskTypeEnum
+#define SCHEMA_HAS_IfcTemperatureGradientMeasure
+#define SCHEMA_HAS_IfcTemperatureRateOfChangeMeasure
+#define SCHEMA_HAS_IfcTendonAnchorTypeEnum
+#define SCHEMA_HAS_IfcTendonConduitTypeEnum
+#define SCHEMA_HAS_IfcTendonTypeEnum
+#define SCHEMA_HAS_IfcText
+#define SCHEMA_HAS_IfcTextAlignment
+#define SCHEMA_HAS_IfcTextDecoration
+#define SCHEMA_HAS_IfcTextFontName
+#define SCHEMA_HAS_IfcTextFontSelect
+#define SCHEMA_HAS_IfcTextPath
+#define SCHEMA_HAS_IfcTextTransformation
+#define SCHEMA_HAS_IfcThermalAdmittanceMeasure
+#define SCHEMA_HAS_IfcThermalConductivityMeasure
+#define SCHEMA_HAS_IfcThermalExpansionCoefficientMeasure
+#define SCHEMA_HAS_IfcThermalResistanceMeasure
+#define SCHEMA_HAS_IfcThermalTransmittanceMeasure
+#define SCHEMA_HAS_IfcThermodynamicTemperatureMeasure
+#define SCHEMA_HAS_IfcTime
+#define SCHEMA_HAS_IfcTimeMeasure
+#define SCHEMA_HAS_IfcTimeOrRatioSelect
+#define SCHEMA_HAS_IfcTimeSeriesDataTypeEnum
+#define SCHEMA_HAS_IfcTimeStamp
+#define SCHEMA_HAS_IfcTorqueMeasure
+#define SCHEMA_HAS_IfcTrackElementTypeEnum
+#define SCHEMA_HAS_IfcTransformerTypeEnum
+#define SCHEMA_HAS_IfcTransitionCode
+#define SCHEMA_HAS_IfcTranslationalStiffnessSelect
+#define SCHEMA_HAS_IfcTransportElementTypeEnum
+#define SCHEMA_HAS_IfcTrimmingPreference
+#define SCHEMA_HAS_IfcTrimmingSelect
+#define SCHEMA_HAS_IfcTubeBundleTypeEnum
+#define SCHEMA_HAS_IfcURIReference
+#define SCHEMA_HAS_IfcUnit
+#define SCHEMA_HAS_IfcUnitEnum
+#define SCHEMA_HAS_IfcUnitaryControlElementTypeEnum
+#define SCHEMA_HAS_IfcUnitaryEquipmentTypeEnum
+#define SCHEMA_HAS_IfcValue
+#define SCHEMA_HAS_IfcValveTypeEnum
+#define SCHEMA_HAS_IfcVaporPermeabilityMeasure
+#define SCHEMA_HAS_IfcVectorOrDirection
+#define SCHEMA_HAS_IfcVehicleTypeEnum
+#define SCHEMA_HAS_IfcVibrationDamperTypeEnum
+#define SCHEMA_HAS_IfcVibrationIsolatorTypeEnum
+#define SCHEMA_HAS_IfcVirtualElementTypeEnum
+#define SCHEMA_HAS_IfcVoidingFeatureTypeEnum
+#define SCHEMA_HAS_IfcVolumeMeasure
+#define SCHEMA_HAS_IfcVolumetricFlowRateMeasure
+#define SCHEMA_HAS_IfcWallTypeEnum
+#define SCHEMA_HAS_IfcWarpingConstantMeasure
+#define SCHEMA_HAS_IfcWarpingMomentMeasure
+#define SCHEMA_HAS_IfcWarpingStiffnessSelect
+#define SCHEMA_HAS_IfcWasteTerminalTypeEnum
+#define SCHEMA_HAS_IfcWellKnownTextLiteral
+#define SCHEMA_HAS_IfcWindowPanelOperationEnum
+#define SCHEMA_HAS_IfcWindowPanelPositionEnum
+#define SCHEMA_HAS_IfcWindowTypeEnum
+#define SCHEMA_HAS_IfcWindowTypePartitioningEnum
+#define SCHEMA_HAS_IfcWorkCalendarTypeEnum
+#define SCHEMA_HAS_IfcWorkPlanTypeEnum
+#define SCHEMA_HAS_IfcWorkScheduleTypeEnum
+#define SCHEMA_HAS_IfcActionRequest
+#define SCHEMA_IfcActionRequest_HAS_PredefinedType
+#define SCHEMA_IfcActionRequest_PredefinedType_IS_OPTIONAL
+#define SCHEMA_IfcActionRequest_HAS_Status
+#define SCHEMA_IfcActionRequest_Status_IS_OPTIONAL
+#define SCHEMA_IfcActionRequest_HAS_LongDescription
+#define SCHEMA_IfcActionRequest_LongDescription_IS_OPTIONAL
+#define SCHEMA_HAS_IfcActor
+#define SCHEMA_IfcActor_HAS_TheActor
+#define SCHEMA_IfcActor_HAS_IsActingUpon
+#define SCHEMA_HAS_IfcActorRole
+#define SCHEMA_IfcActorRole_HAS_Role
+#define SCHEMA_IfcActorRole_HAS_UserDefinedRole
+#define SCHEMA_IfcActorRole_UserDefinedRole_IS_OPTIONAL
+#define SCHEMA_IfcActorRole_HAS_Description
+#define SCHEMA_IfcActorRole_Description_IS_OPTIONAL
+#define SCHEMA_IfcActorRole_HAS_HasExternalReference
+#define SCHEMA_HAS_IfcActuator
+#define SCHEMA_IfcActuator_HAS_PredefinedType
+#define SCHEMA_IfcActuator_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcActuatorType
+#define SCHEMA_IfcActuatorType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcAddress
+#define SCHEMA_IfcAddress_HAS_Purpose
+#define SCHEMA_IfcAddress_Purpose_IS_OPTIONAL
+#define SCHEMA_IfcAddress_HAS_Description
+#define SCHEMA_IfcAddress_Description_IS_OPTIONAL
+#define SCHEMA_IfcAddress_HAS_UserDefinedPurpose
+#define SCHEMA_IfcAddress_UserDefinedPurpose_IS_OPTIONAL
+#define SCHEMA_IfcAddress_HAS_OfPerson
+#define SCHEMA_IfcAddress_HAS_OfOrganization
+#define SCHEMA_HAS_IfcAdvancedBrep
+#define SCHEMA_HAS_IfcAdvancedBrepWithVoids
+#define SCHEMA_IfcAdvancedBrepWithVoids_HAS_Voids
+#define SCHEMA_HAS_IfcAdvancedFace
+#define SCHEMA_HAS_IfcAirTerminal
+#define SCHEMA_IfcAirTerminal_HAS_PredefinedType
+#define SCHEMA_IfcAirTerminal_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcAirTerminalBox
+#define SCHEMA_IfcAirTerminalBox_HAS_PredefinedType
+#define SCHEMA_IfcAirTerminalBox_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcAirTerminalBoxType
+#define SCHEMA_IfcAirTerminalBoxType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcAirTerminalType
+#define SCHEMA_IfcAirTerminalType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcAirToAirHeatRecovery
+#define SCHEMA_IfcAirToAirHeatRecovery_HAS_PredefinedType
+#define SCHEMA_IfcAirToAirHeatRecovery_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcAirToAirHeatRecoveryType
+#define SCHEMA_IfcAirToAirHeatRecoveryType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcAlarm
+#define SCHEMA_IfcAlarm_HAS_PredefinedType
+#define SCHEMA_IfcAlarm_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcAlarmType
+#define SCHEMA_IfcAlarmType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcAlignment
+#define SCHEMA_IfcAlignment_HAS_PredefinedType
+#define SCHEMA_IfcAlignment_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcAlignmentCant
+#define SCHEMA_IfcAlignmentCant_HAS_RailHeadDistance
+#define SCHEMA_HAS_IfcAlignmentCantSegment
+#define SCHEMA_IfcAlignmentCantSegment_HAS_StartDistAlong
+#define SCHEMA_IfcAlignmentCantSegment_HAS_HorizontalLength
+#define SCHEMA_IfcAlignmentCantSegment_HAS_StartCantLeft
+#define SCHEMA_IfcAlignmentCantSegment_HAS_EndCantLeft
+#define SCHEMA_IfcAlignmentCantSegment_EndCantLeft_IS_OPTIONAL
+#define SCHEMA_IfcAlignmentCantSegment_HAS_StartCantRight
+#define SCHEMA_IfcAlignmentCantSegment_HAS_EndCantRight
+#define SCHEMA_IfcAlignmentCantSegment_EndCantRight_IS_OPTIONAL
+#define SCHEMA_IfcAlignmentCantSegment_HAS_PredefinedType
+#define SCHEMA_HAS_IfcAlignmentHorizontal
+#define SCHEMA_HAS_IfcAlignmentHorizontalSegment
+#define SCHEMA_IfcAlignmentHorizontalSegment_HAS_StartPoint
+#define SCHEMA_IfcAlignmentHorizontalSegment_HAS_StartDirection
+#define SCHEMA_IfcAlignmentHorizontalSegment_HAS_StartRadiusOfCurvature
+#define SCHEMA_IfcAlignmentHorizontalSegment_HAS_EndRadiusOfCurvature
+#define SCHEMA_IfcAlignmentHorizontalSegment_HAS_SegmentLength
+#define SCHEMA_IfcAlignmentHorizontalSegment_HAS_GravityCenterLineHeight
+#define SCHEMA_IfcAlignmentHorizontalSegment_GravityCenterLineHeight_IS_OPTIONAL
+#define SCHEMA_IfcAlignmentHorizontalSegment_HAS_PredefinedType
+#define SCHEMA_HAS_IfcAlignmentParameterSegment
+#define SCHEMA_IfcAlignmentParameterSegment_HAS_StartTag
+#define SCHEMA_IfcAlignmentParameterSegment_StartTag_IS_OPTIONAL
+#define SCHEMA_IfcAlignmentParameterSegment_HAS_EndTag
+#define SCHEMA_IfcAlignmentParameterSegment_EndTag_IS_OPTIONAL
+#define SCHEMA_HAS_IfcAlignmentSegment
+#define SCHEMA_IfcAlignmentSegment_HAS_DesignParameters
+#define SCHEMA_HAS_IfcAlignmentVertical
+#define SCHEMA_HAS_IfcAlignmentVerticalSegment
+#define SCHEMA_IfcAlignmentVerticalSegment_HAS_StartDistAlong
+#define SCHEMA_IfcAlignmentVerticalSegment_HAS_HorizontalLength
+#define SCHEMA_IfcAlignmentVerticalSegment_HAS_StartHeight
+#define SCHEMA_IfcAlignmentVerticalSegment_HAS_StartGradient
+#define SCHEMA_IfcAlignmentVerticalSegment_HAS_EndGradient
+#define SCHEMA_IfcAlignmentVerticalSegment_HAS_RadiusOfCurvature
+#define SCHEMA_IfcAlignmentVerticalSegment_RadiusOfCurvature_IS_OPTIONAL
+#define SCHEMA_IfcAlignmentVerticalSegment_HAS_PredefinedType
+#define SCHEMA_HAS_IfcAnnotation
+#define SCHEMA_IfcAnnotation_HAS_PredefinedType
+#define SCHEMA_IfcAnnotation_PredefinedType_IS_OPTIONAL
+#define SCHEMA_IfcAnnotation_HAS_ContainedInStructure
+#define SCHEMA_HAS_IfcAnnotationFillArea
+#define SCHEMA_IfcAnnotationFillArea_HAS_OuterBoundary
+#define SCHEMA_IfcAnnotationFillArea_HAS_InnerBoundaries
+#define SCHEMA_IfcAnnotationFillArea_InnerBoundaries_IS_OPTIONAL
+#define SCHEMA_HAS_IfcApplication
+#define SCHEMA_IfcApplication_HAS_ApplicationDeveloper
+#define SCHEMA_IfcApplication_HAS_Version
+#define SCHEMA_IfcApplication_HAS_ApplicationFullName
+#define SCHEMA_IfcApplication_HAS_ApplicationIdentifier
+#define SCHEMA_HAS_IfcAppliedValue
+#define SCHEMA_IfcAppliedValue_HAS_Name
+#define SCHEMA_IfcAppliedValue_Name_IS_OPTIONAL
+#define SCHEMA_IfcAppliedValue_HAS_Description
+#define SCHEMA_IfcAppliedValue_Description_IS_OPTIONAL
+#define SCHEMA_IfcAppliedValue_HAS_AppliedValue
+#define SCHEMA_IfcAppliedValue_AppliedValue_IS_OPTIONAL
+#define SCHEMA_IfcAppliedValue_HAS_UnitBasis
+#define SCHEMA_IfcAppliedValue_UnitBasis_IS_OPTIONAL
+#define SCHEMA_IfcAppliedValue_HAS_ApplicableDate
+#define SCHEMA_IfcAppliedValue_ApplicableDate_IS_OPTIONAL
+#define SCHEMA_IfcAppliedValue_HAS_FixedUntilDate
+#define SCHEMA_IfcAppliedValue_FixedUntilDate_IS_OPTIONAL
+#define SCHEMA_IfcAppliedValue_HAS_Category
+#define SCHEMA_IfcAppliedValue_Category_IS_OPTIONAL
+#define SCHEMA_IfcAppliedValue_HAS_Condition
+#define SCHEMA_IfcAppliedValue_Condition_IS_OPTIONAL
+#define SCHEMA_IfcAppliedValue_HAS_ArithmeticOperator
+#define SCHEMA_IfcAppliedValue_ArithmeticOperator_IS_OPTIONAL
+#define SCHEMA_IfcAppliedValue_HAS_Components
+#define SCHEMA_IfcAppliedValue_Components_IS_OPTIONAL
+#define SCHEMA_IfcAppliedValue_HAS_HasExternalReference
+#define SCHEMA_HAS_IfcApproval
+#define SCHEMA_IfcApproval_HAS_Identifier
+#define SCHEMA_IfcApproval_Identifier_IS_OPTIONAL
+#define SCHEMA_IfcApproval_HAS_Name
+#define SCHEMA_IfcApproval_Name_IS_OPTIONAL
+#define SCHEMA_IfcApproval_HAS_Description
+#define SCHEMA_IfcApproval_Description_IS_OPTIONAL
+#define SCHEMA_IfcApproval_HAS_TimeOfApproval
+#define SCHEMA_IfcApproval_TimeOfApproval_IS_OPTIONAL
+#define SCHEMA_IfcApproval_HAS_Status
+#define SCHEMA_IfcApproval_Status_IS_OPTIONAL
+#define SCHEMA_IfcApproval_HAS_Level
+#define SCHEMA_IfcApproval_Level_IS_OPTIONAL
+#define SCHEMA_IfcApproval_HAS_Qualifier
+#define SCHEMA_IfcApproval_Qualifier_IS_OPTIONAL
+#define SCHEMA_IfcApproval_HAS_RequestingApproval
+#define SCHEMA_IfcApproval_RequestingApproval_IS_OPTIONAL
+#define SCHEMA_IfcApproval_HAS_GivingApproval
+#define SCHEMA_IfcApproval_GivingApproval_IS_OPTIONAL
+#define SCHEMA_IfcApproval_HAS_HasExternalReferences
+#define SCHEMA_IfcApproval_HAS_ApprovedObjects
+#define SCHEMA_IfcApproval_HAS_ApprovedResources
+#define SCHEMA_IfcApproval_HAS_IsRelatedWith
+#define SCHEMA_IfcApproval_HAS_Relates
+#define SCHEMA_HAS_IfcApprovalRelationship
+#define SCHEMA_IfcApprovalRelationship_HAS_RelatingApproval
+#define SCHEMA_IfcApprovalRelationship_HAS_RelatedApprovals
+#define SCHEMA_HAS_IfcArbitraryClosedProfileDef
+#define SCHEMA_IfcArbitraryClosedProfileDef_HAS_OuterCurve
+#define SCHEMA_HAS_IfcArbitraryOpenProfileDef
+#define SCHEMA_IfcArbitraryOpenProfileDef_HAS_Curve
+#define SCHEMA_HAS_IfcArbitraryProfileDefWithVoids
+#define SCHEMA_IfcArbitraryProfileDefWithVoids_HAS_InnerCurves
+#define SCHEMA_HAS_IfcAsset
+#define SCHEMA_IfcAsset_HAS_Identification
+#define SCHEMA_IfcAsset_Identification_IS_OPTIONAL
+#define SCHEMA_IfcAsset_HAS_OriginalValue
+#define SCHEMA_IfcAsset_OriginalValue_IS_OPTIONAL
+#define SCHEMA_IfcAsset_HAS_CurrentValue
+#define SCHEMA_IfcAsset_CurrentValue_IS_OPTIONAL
+#define SCHEMA_IfcAsset_HAS_TotalReplacementCost
+#define SCHEMA_IfcAsset_TotalReplacementCost_IS_OPTIONAL
+#define SCHEMA_IfcAsset_HAS_Owner
+#define SCHEMA_IfcAsset_Owner_IS_OPTIONAL
+#define SCHEMA_IfcAsset_HAS_User
+#define SCHEMA_IfcAsset_User_IS_OPTIONAL
+#define SCHEMA_IfcAsset_HAS_ResponsiblePerson
+#define SCHEMA_IfcAsset_ResponsiblePerson_IS_OPTIONAL
+#define SCHEMA_IfcAsset_HAS_IncorporationDate
+#define SCHEMA_IfcAsset_IncorporationDate_IS_OPTIONAL
+#define SCHEMA_IfcAsset_HAS_DepreciatedValue
+#define SCHEMA_IfcAsset_DepreciatedValue_IS_OPTIONAL
+#define SCHEMA_HAS_IfcAsymmetricIShapeProfileDef
+#define SCHEMA_IfcAsymmetricIShapeProfileDef_HAS_BottomFlangeWidth
+#define SCHEMA_IfcAsymmetricIShapeProfileDef_HAS_OverallDepth
+#define SCHEMA_IfcAsymmetricIShapeProfileDef_HAS_WebThickness
+#define SCHEMA_IfcAsymmetricIShapeProfileDef_HAS_BottomFlangeThickness
+#define SCHEMA_IfcAsymmetricIShapeProfileDef_HAS_BottomFlangeFilletRadius
+#define SCHEMA_IfcAsymmetricIShapeProfileDef_BottomFlangeFilletRadius_IS_OPTIONAL
+#define SCHEMA_IfcAsymmetricIShapeProfileDef_HAS_TopFlangeWidth
+#define SCHEMA_IfcAsymmetricIShapeProfileDef_HAS_TopFlangeThickness
+#define SCHEMA_IfcAsymmetricIShapeProfileDef_TopFlangeThickness_IS_OPTIONAL
+#define SCHEMA_IfcAsymmetricIShapeProfileDef_HAS_TopFlangeFilletRadius
+#define SCHEMA_IfcAsymmetricIShapeProfileDef_TopFlangeFilletRadius_IS_OPTIONAL
+#define SCHEMA_IfcAsymmetricIShapeProfileDef_HAS_BottomFlangeEdgeRadius
+#define SCHEMA_IfcAsymmetricIShapeProfileDef_BottomFlangeEdgeRadius_IS_OPTIONAL
+#define SCHEMA_IfcAsymmetricIShapeProfileDef_HAS_BottomFlangeSlope
+#define SCHEMA_IfcAsymmetricIShapeProfileDef_BottomFlangeSlope_IS_OPTIONAL
+#define SCHEMA_IfcAsymmetricIShapeProfileDef_HAS_TopFlangeEdgeRadius
+#define SCHEMA_IfcAsymmetricIShapeProfileDef_TopFlangeEdgeRadius_IS_OPTIONAL
+#define SCHEMA_IfcAsymmetricIShapeProfileDef_HAS_TopFlangeSlope
+#define SCHEMA_IfcAsymmetricIShapeProfileDef_TopFlangeSlope_IS_OPTIONAL
+#define SCHEMA_HAS_IfcAudioVisualAppliance
+#define SCHEMA_IfcAudioVisualAppliance_HAS_PredefinedType
+#define SCHEMA_IfcAudioVisualAppliance_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcAudioVisualApplianceType
+#define SCHEMA_IfcAudioVisualApplianceType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcAxis1Placement
+#define SCHEMA_IfcAxis1Placement_HAS_Axis
+#define SCHEMA_IfcAxis1Placement_Axis_IS_OPTIONAL
+#define SCHEMA_HAS_IfcAxis2Placement2D
+#define SCHEMA_IfcAxis2Placement2D_HAS_RefDirection
+#define SCHEMA_IfcAxis2Placement2D_RefDirection_IS_OPTIONAL
+#define SCHEMA_HAS_IfcAxis2Placement3D
+#define SCHEMA_IfcAxis2Placement3D_HAS_Axis
+#define SCHEMA_IfcAxis2Placement3D_Axis_IS_OPTIONAL
+#define SCHEMA_IfcAxis2Placement3D_HAS_RefDirection
+#define SCHEMA_IfcAxis2Placement3D_RefDirection_IS_OPTIONAL
+#define SCHEMA_HAS_IfcAxis2PlacementLinear
+#define SCHEMA_IfcAxis2PlacementLinear_HAS_Axis
+#define SCHEMA_IfcAxis2PlacementLinear_Axis_IS_OPTIONAL
+#define SCHEMA_IfcAxis2PlacementLinear_HAS_RefDirection
+#define SCHEMA_IfcAxis2PlacementLinear_RefDirection_IS_OPTIONAL
+#define SCHEMA_HAS_IfcBSplineCurve
+#define SCHEMA_IfcBSplineCurve_HAS_Degree
+#define SCHEMA_IfcBSplineCurve_HAS_ControlPointsList
+#define SCHEMA_IfcBSplineCurve_HAS_CurveForm
+#define SCHEMA_IfcBSplineCurve_HAS_ClosedCurve
+#define SCHEMA_IfcBSplineCurve_HAS_SelfIntersect
+#define SCHEMA_HAS_IfcBSplineCurveWithKnots
+#define SCHEMA_IfcBSplineCurveWithKnots_HAS_KnotMultiplicities
+#define SCHEMA_IfcBSplineCurveWithKnots_HAS_Knots
+#define SCHEMA_IfcBSplineCurveWithKnots_HAS_KnotSpec
+#define SCHEMA_HAS_IfcBSplineSurface
+#define SCHEMA_IfcBSplineSurface_HAS_UDegree
+#define SCHEMA_IfcBSplineSurface_HAS_VDegree
+#define SCHEMA_IfcBSplineSurface_HAS_ControlPointsList
+#define SCHEMA_IfcBSplineSurface_HAS_SurfaceForm
+#define SCHEMA_IfcBSplineSurface_HAS_UClosed
+#define SCHEMA_IfcBSplineSurface_HAS_VClosed
+#define SCHEMA_IfcBSplineSurface_HAS_SelfIntersect
+#define SCHEMA_HAS_IfcBSplineSurfaceWithKnots
+#define SCHEMA_IfcBSplineSurfaceWithKnots_HAS_UMultiplicities
+#define SCHEMA_IfcBSplineSurfaceWithKnots_HAS_VMultiplicities
+#define SCHEMA_IfcBSplineSurfaceWithKnots_HAS_UKnots
+#define SCHEMA_IfcBSplineSurfaceWithKnots_HAS_VKnots
+#define SCHEMA_IfcBSplineSurfaceWithKnots_HAS_KnotSpec
+#define SCHEMA_HAS_IfcBeam
+#define SCHEMA_IfcBeam_HAS_PredefinedType
+#define SCHEMA_IfcBeam_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcBeamType
+#define SCHEMA_IfcBeamType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcBearing
+#define SCHEMA_IfcBearing_HAS_PredefinedType
+#define SCHEMA_IfcBearing_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcBearingType
+#define SCHEMA_IfcBearingType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcBlobTexture
+#define SCHEMA_IfcBlobTexture_HAS_RasterFormat
+#define SCHEMA_IfcBlobTexture_HAS_RasterCode
+#define SCHEMA_HAS_IfcBlock
+#define SCHEMA_IfcBlock_HAS_XLength
+#define SCHEMA_IfcBlock_HAS_YLength
+#define SCHEMA_IfcBlock_HAS_ZLength
+#define SCHEMA_HAS_IfcBoiler
+#define SCHEMA_IfcBoiler_HAS_PredefinedType
+#define SCHEMA_IfcBoiler_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcBoilerType
+#define SCHEMA_IfcBoilerType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcBooleanClippingResult
+#define SCHEMA_HAS_IfcBooleanResult
+#define SCHEMA_IfcBooleanResult_HAS_Operator
+#define SCHEMA_IfcBooleanResult_HAS_FirstOperand
+#define SCHEMA_IfcBooleanResult_HAS_SecondOperand
+#define SCHEMA_HAS_IfcBorehole
+#define SCHEMA_HAS_IfcBoundaryCondition
+#define SCHEMA_IfcBoundaryCondition_HAS_Name
+#define SCHEMA_IfcBoundaryCondition_Name_IS_OPTIONAL
+#define SCHEMA_HAS_IfcBoundaryCurve
+#define SCHEMA_HAS_IfcBoundaryEdgeCondition
+#define SCHEMA_IfcBoundaryEdgeCondition_HAS_TranslationalStiffnessByLengthX
+#define SCHEMA_IfcBoundaryEdgeCondition_TranslationalStiffnessByLengthX_IS_OPTIONAL
+#define SCHEMA_IfcBoundaryEdgeCondition_HAS_TranslationalStiffnessByLengthY
+#define SCHEMA_IfcBoundaryEdgeCondition_TranslationalStiffnessByLengthY_IS_OPTIONAL
+#define SCHEMA_IfcBoundaryEdgeCondition_HAS_TranslationalStiffnessByLengthZ
+#define SCHEMA_IfcBoundaryEdgeCondition_TranslationalStiffnessByLengthZ_IS_OPTIONAL
+#define SCHEMA_IfcBoundaryEdgeCondition_HAS_RotationalStiffnessByLengthX
+#define SCHEMA_IfcBoundaryEdgeCondition_RotationalStiffnessByLengthX_IS_OPTIONAL
+#define SCHEMA_IfcBoundaryEdgeCondition_HAS_RotationalStiffnessByLengthY
+#define SCHEMA_IfcBoundaryEdgeCondition_RotationalStiffnessByLengthY_IS_OPTIONAL
+#define SCHEMA_IfcBoundaryEdgeCondition_HAS_RotationalStiffnessByLengthZ
+#define SCHEMA_IfcBoundaryEdgeCondition_RotationalStiffnessByLengthZ_IS_OPTIONAL
+#define SCHEMA_HAS_IfcBoundaryFaceCondition
+#define SCHEMA_IfcBoundaryFaceCondition_HAS_TranslationalStiffnessByAreaX
+#define SCHEMA_IfcBoundaryFaceCondition_TranslationalStiffnessByAreaX_IS_OPTIONAL
+#define SCHEMA_IfcBoundaryFaceCondition_HAS_TranslationalStiffnessByAreaY
+#define SCHEMA_IfcBoundaryFaceCondition_TranslationalStiffnessByAreaY_IS_OPTIONAL
+#define SCHEMA_IfcBoundaryFaceCondition_HAS_TranslationalStiffnessByAreaZ
+#define SCHEMA_IfcBoundaryFaceCondition_TranslationalStiffnessByAreaZ_IS_OPTIONAL
+#define SCHEMA_HAS_IfcBoundaryNodeCondition
+#define SCHEMA_IfcBoundaryNodeCondition_HAS_TranslationalStiffnessX
+#define SCHEMA_IfcBoundaryNodeCondition_TranslationalStiffnessX_IS_OPTIONAL
+#define SCHEMA_IfcBoundaryNodeCondition_HAS_TranslationalStiffnessY
+#define SCHEMA_IfcBoundaryNodeCondition_TranslationalStiffnessY_IS_OPTIONAL
+#define SCHEMA_IfcBoundaryNodeCondition_HAS_TranslationalStiffnessZ
+#define SCHEMA_IfcBoundaryNodeCondition_TranslationalStiffnessZ_IS_OPTIONAL
+#define SCHEMA_IfcBoundaryNodeCondition_HAS_RotationalStiffnessX
+#define SCHEMA_IfcBoundaryNodeCondition_RotationalStiffnessX_IS_OPTIONAL
+#define SCHEMA_IfcBoundaryNodeCondition_HAS_RotationalStiffnessY
+#define SCHEMA_IfcBoundaryNodeCondition_RotationalStiffnessY_IS_OPTIONAL
+#define SCHEMA_IfcBoundaryNodeCondition_HAS_RotationalStiffnessZ
+#define SCHEMA_IfcBoundaryNodeCondition_RotationalStiffnessZ_IS_OPTIONAL
+#define SCHEMA_HAS_IfcBoundaryNodeConditionWarping
+#define SCHEMA_IfcBoundaryNodeConditionWarping_HAS_WarpingStiffness
+#define SCHEMA_IfcBoundaryNodeConditionWarping_WarpingStiffness_IS_OPTIONAL
+#define SCHEMA_HAS_IfcBoundedCurve
+#define SCHEMA_HAS_IfcBoundedSurface
+#define SCHEMA_HAS_IfcBoundingBox
+#define SCHEMA_IfcBoundingBox_HAS_Corner
+#define SCHEMA_IfcBoundingBox_HAS_XDim
+#define SCHEMA_IfcBoundingBox_HAS_YDim
+#define SCHEMA_IfcBoundingBox_HAS_ZDim
+#define SCHEMA_HAS_IfcBoxedHalfSpace
+#define SCHEMA_IfcBoxedHalfSpace_HAS_Enclosure
+#define SCHEMA_HAS_IfcBridge
+#define SCHEMA_IfcBridge_HAS_PredefinedType
+#define SCHEMA_IfcBridge_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcBridgePart
+#define SCHEMA_IfcBridgePart_HAS_PredefinedType
+#define SCHEMA_IfcBridgePart_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcBuilding
+#define SCHEMA_IfcBuilding_HAS_ElevationOfRefHeight
+#define SCHEMA_IfcBuilding_ElevationOfRefHeight_IS_OPTIONAL
+#define SCHEMA_IfcBuilding_HAS_ElevationOfTerrain
+#define SCHEMA_IfcBuilding_ElevationOfTerrain_IS_OPTIONAL
+#define SCHEMA_IfcBuilding_HAS_BuildingAddress
+#define SCHEMA_IfcBuilding_BuildingAddress_IS_OPTIONAL
+#define SCHEMA_HAS_IfcBuildingElementPart
+#define SCHEMA_IfcBuildingElementPart_HAS_PredefinedType
+#define SCHEMA_IfcBuildingElementPart_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcBuildingElementPartType
+#define SCHEMA_IfcBuildingElementPartType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcBuildingElementProxy
+#define SCHEMA_IfcBuildingElementProxy_HAS_PredefinedType
+#define SCHEMA_IfcBuildingElementProxy_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcBuildingElementProxyType
+#define SCHEMA_IfcBuildingElementProxyType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcBuildingStorey
+#define SCHEMA_IfcBuildingStorey_HAS_Elevation
+#define SCHEMA_IfcBuildingStorey_Elevation_IS_OPTIONAL
+#define SCHEMA_HAS_IfcBuildingSystem
+#define SCHEMA_IfcBuildingSystem_HAS_PredefinedType
+#define SCHEMA_IfcBuildingSystem_PredefinedType_IS_OPTIONAL
+#define SCHEMA_IfcBuildingSystem_HAS_LongName
+#define SCHEMA_IfcBuildingSystem_LongName_IS_OPTIONAL
+#define SCHEMA_HAS_IfcBuiltElement
+#define SCHEMA_HAS_IfcBuiltElementType
+#define SCHEMA_HAS_IfcBuiltSystem
+#define SCHEMA_IfcBuiltSystem_HAS_PredefinedType
+#define SCHEMA_IfcBuiltSystem_PredefinedType_IS_OPTIONAL
+#define SCHEMA_IfcBuiltSystem_HAS_LongName
+#define SCHEMA_IfcBuiltSystem_LongName_IS_OPTIONAL
+#define SCHEMA_HAS_IfcBurner
+#define SCHEMA_IfcBurner_HAS_PredefinedType
+#define SCHEMA_IfcBurner_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcBurnerType
+#define SCHEMA_IfcBurnerType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcCShapeProfileDef
+#define SCHEMA_IfcCShapeProfileDef_HAS_Depth
+#define SCHEMA_IfcCShapeProfileDef_HAS_Width
+#define SCHEMA_IfcCShapeProfileDef_HAS_WallThickness
+#define SCHEMA_IfcCShapeProfileDef_HAS_Girth
+#define SCHEMA_IfcCShapeProfileDef_HAS_InternalFilletRadius
+#define SCHEMA_IfcCShapeProfileDef_InternalFilletRadius_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCableCarrierFitting
+#define SCHEMA_IfcCableCarrierFitting_HAS_PredefinedType
+#define SCHEMA_IfcCableCarrierFitting_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCableCarrierFittingType
+#define SCHEMA_IfcCableCarrierFittingType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcCableCarrierSegment
+#define SCHEMA_IfcCableCarrierSegment_HAS_PredefinedType
+#define SCHEMA_IfcCableCarrierSegment_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCableCarrierSegmentType
+#define SCHEMA_IfcCableCarrierSegmentType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcCableFitting
+#define SCHEMA_IfcCableFitting_HAS_PredefinedType
+#define SCHEMA_IfcCableFitting_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCableFittingType
+#define SCHEMA_IfcCableFittingType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcCableSegment
+#define SCHEMA_IfcCableSegment_HAS_PredefinedType
+#define SCHEMA_IfcCableSegment_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCableSegmentType
+#define SCHEMA_IfcCableSegmentType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcCaissonFoundation
+#define SCHEMA_IfcCaissonFoundation_HAS_PredefinedType
+#define SCHEMA_IfcCaissonFoundation_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCaissonFoundationType
+#define SCHEMA_IfcCaissonFoundationType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcCartesianPoint
+#define SCHEMA_IfcCartesianPoint_HAS_Coordinates
+#define SCHEMA_HAS_IfcCartesianPointList
+#define SCHEMA_HAS_IfcCartesianPointList2D
+#define SCHEMA_IfcCartesianPointList2D_HAS_CoordList
+#define SCHEMA_IfcCartesianPointList2D_HAS_TagList
+#define SCHEMA_IfcCartesianPointList2D_TagList_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCartesianPointList3D
+#define SCHEMA_IfcCartesianPointList3D_HAS_CoordList
+#define SCHEMA_IfcCartesianPointList3D_HAS_TagList
+#define SCHEMA_IfcCartesianPointList3D_TagList_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCartesianTransformationOperator
+#define SCHEMA_IfcCartesianTransformationOperator_HAS_Axis1
+#define SCHEMA_IfcCartesianTransformationOperator_Axis1_IS_OPTIONAL
+#define SCHEMA_IfcCartesianTransformationOperator_HAS_Axis2
+#define SCHEMA_IfcCartesianTransformationOperator_Axis2_IS_OPTIONAL
+#define SCHEMA_IfcCartesianTransformationOperator_HAS_LocalOrigin
+#define SCHEMA_IfcCartesianTransformationOperator_HAS_Scale
+#define SCHEMA_IfcCartesianTransformationOperator_Scale_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCartesianTransformationOperator2D
+#define SCHEMA_HAS_IfcCartesianTransformationOperator2DnonUniform
+#define SCHEMA_IfcCartesianTransformationOperator2DnonUniform_HAS_Scale2
+#define SCHEMA_IfcCartesianTransformationOperator2DnonUniform_Scale2_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCartesianTransformationOperator3D
+#define SCHEMA_IfcCartesianTransformationOperator3D_HAS_Axis3
+#define SCHEMA_IfcCartesianTransformationOperator3D_Axis3_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCartesianTransformationOperator3DnonUniform
+#define SCHEMA_IfcCartesianTransformationOperator3DnonUniform_HAS_Scale2
+#define SCHEMA_IfcCartesianTransformationOperator3DnonUniform_Scale2_IS_OPTIONAL
+#define SCHEMA_IfcCartesianTransformationOperator3DnonUniform_HAS_Scale3
+#define SCHEMA_IfcCartesianTransformationOperator3DnonUniform_Scale3_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCenterLineProfileDef
+#define SCHEMA_IfcCenterLineProfileDef_HAS_Thickness
+#define SCHEMA_HAS_IfcChiller
+#define SCHEMA_IfcChiller_HAS_PredefinedType
+#define SCHEMA_IfcChiller_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcChillerType
+#define SCHEMA_IfcChillerType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcChimney
+#define SCHEMA_IfcChimney_HAS_PredefinedType
+#define SCHEMA_IfcChimney_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcChimneyType
+#define SCHEMA_IfcChimneyType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcCircle
+#define SCHEMA_IfcCircle_HAS_Radius
+#define SCHEMA_HAS_IfcCircleHollowProfileDef
+#define SCHEMA_IfcCircleHollowProfileDef_HAS_WallThickness
+#define SCHEMA_HAS_IfcCircleProfileDef
+#define SCHEMA_IfcCircleProfileDef_HAS_Radius
+#define SCHEMA_HAS_IfcCivilElement
+#define SCHEMA_HAS_IfcCivilElementType
+#define SCHEMA_HAS_IfcClassification
+#define SCHEMA_IfcClassification_HAS_Source
+#define SCHEMA_IfcClassification_Source_IS_OPTIONAL
+#define SCHEMA_IfcClassification_HAS_Edition
+#define SCHEMA_IfcClassification_Edition_IS_OPTIONAL
+#define SCHEMA_IfcClassification_HAS_EditionDate
+#define SCHEMA_IfcClassification_EditionDate_IS_OPTIONAL
+#define SCHEMA_IfcClassification_HAS_Name
+#define SCHEMA_IfcClassification_HAS_Description
+#define SCHEMA_IfcClassification_Description_IS_OPTIONAL
+#define SCHEMA_IfcClassification_HAS_Specification
+#define SCHEMA_IfcClassification_Specification_IS_OPTIONAL
+#define SCHEMA_IfcClassification_HAS_ReferenceTokens
+#define SCHEMA_IfcClassification_ReferenceTokens_IS_OPTIONAL
+#define SCHEMA_IfcClassification_HAS_ClassificationForObjects
+#define SCHEMA_IfcClassification_HAS_HasReferences
+#define SCHEMA_HAS_IfcClassificationReference
+#define SCHEMA_IfcClassificationReference_HAS_ReferencedSource
+#define SCHEMA_IfcClassificationReference_ReferencedSource_IS_OPTIONAL
+#define SCHEMA_IfcClassificationReference_HAS_Description
+#define SCHEMA_IfcClassificationReference_Description_IS_OPTIONAL
+#define SCHEMA_IfcClassificationReference_HAS_Sort
+#define SCHEMA_IfcClassificationReference_Sort_IS_OPTIONAL
+#define SCHEMA_IfcClassificationReference_HAS_ClassificationRefForObjects
+#define SCHEMA_IfcClassificationReference_HAS_HasReferences
+#define SCHEMA_HAS_IfcClosedShell
+#define SCHEMA_HAS_IfcClothoid
+#define SCHEMA_IfcClothoid_HAS_ClothoidConstant
+#define SCHEMA_HAS_IfcCoil
+#define SCHEMA_IfcCoil_HAS_PredefinedType
+#define SCHEMA_IfcCoil_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCoilType
+#define SCHEMA_IfcCoilType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcColourRgb
+#define SCHEMA_IfcColourRgb_HAS_Red
+#define SCHEMA_IfcColourRgb_HAS_Green
+#define SCHEMA_IfcColourRgb_HAS_Blue
+#define SCHEMA_HAS_IfcColourRgbList
+#define SCHEMA_IfcColourRgbList_HAS_ColourList
+#define SCHEMA_HAS_IfcColourSpecification
+#define SCHEMA_IfcColourSpecification_HAS_Name
+#define SCHEMA_IfcColourSpecification_Name_IS_OPTIONAL
+#define SCHEMA_HAS_IfcColumn
+#define SCHEMA_IfcColumn_HAS_PredefinedType
+#define SCHEMA_IfcColumn_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcColumnType
+#define SCHEMA_IfcColumnType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcCommunicationsAppliance
+#define SCHEMA_IfcCommunicationsAppliance_HAS_PredefinedType
+#define SCHEMA_IfcCommunicationsAppliance_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCommunicationsApplianceType
+#define SCHEMA_IfcCommunicationsApplianceType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcComplexProperty
+#define SCHEMA_IfcComplexProperty_HAS_UsageName
+#define SCHEMA_IfcComplexProperty_HAS_HasProperties
+#define SCHEMA_HAS_IfcComplexPropertyTemplate
+#define SCHEMA_IfcComplexPropertyTemplate_HAS_UsageName
+#define SCHEMA_IfcComplexPropertyTemplate_UsageName_IS_OPTIONAL
+#define SCHEMA_IfcComplexPropertyTemplate_HAS_TemplateType
+#define SCHEMA_IfcComplexPropertyTemplate_TemplateType_IS_OPTIONAL
+#define SCHEMA_IfcComplexPropertyTemplate_HAS_HasPropertyTemplates
+#define SCHEMA_IfcComplexPropertyTemplate_HasPropertyTemplates_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCompositeCurve
+#define SCHEMA_IfcCompositeCurve_HAS_Segments
+#define SCHEMA_IfcCompositeCurve_HAS_SelfIntersect
+#define SCHEMA_HAS_IfcCompositeCurveOnSurface
+#define SCHEMA_HAS_IfcCompositeCurveSegment
+#define SCHEMA_IfcCompositeCurveSegment_HAS_SameSense
+#define SCHEMA_IfcCompositeCurveSegment_HAS_ParentCurve
+#define SCHEMA_HAS_IfcCompositeProfileDef
+#define SCHEMA_IfcCompositeProfileDef_HAS_Profiles
+#define SCHEMA_IfcCompositeProfileDef_HAS_Label
+#define SCHEMA_IfcCompositeProfileDef_Label_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCompressor
+#define SCHEMA_IfcCompressor_HAS_PredefinedType
+#define SCHEMA_IfcCompressor_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCompressorType
+#define SCHEMA_IfcCompressorType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcCondenser
+#define SCHEMA_IfcCondenser_HAS_PredefinedType
+#define SCHEMA_IfcCondenser_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCondenserType
+#define SCHEMA_IfcCondenserType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcConic
+#define SCHEMA_IfcConic_HAS_Position
+#define SCHEMA_HAS_IfcConnectedFaceSet
+#define SCHEMA_IfcConnectedFaceSet_HAS_CfsFaces
+#define SCHEMA_HAS_IfcConnectionCurveGeometry
+#define SCHEMA_IfcConnectionCurveGeometry_HAS_CurveOnRelatingElement
+#define SCHEMA_IfcConnectionCurveGeometry_HAS_CurveOnRelatedElement
+#define SCHEMA_IfcConnectionCurveGeometry_CurveOnRelatedElement_IS_OPTIONAL
+#define SCHEMA_HAS_IfcConnectionGeometry
+#define SCHEMA_HAS_IfcConnectionPointEccentricity
+#define SCHEMA_IfcConnectionPointEccentricity_HAS_EccentricityInX
+#define SCHEMA_IfcConnectionPointEccentricity_EccentricityInX_IS_OPTIONAL
+#define SCHEMA_IfcConnectionPointEccentricity_HAS_EccentricityInY
+#define SCHEMA_IfcConnectionPointEccentricity_EccentricityInY_IS_OPTIONAL
+#define SCHEMA_IfcConnectionPointEccentricity_HAS_EccentricityInZ
+#define SCHEMA_IfcConnectionPointEccentricity_EccentricityInZ_IS_OPTIONAL
+#define SCHEMA_HAS_IfcConnectionPointGeometry
+#define SCHEMA_IfcConnectionPointGeometry_HAS_PointOnRelatingElement
+#define SCHEMA_IfcConnectionPointGeometry_HAS_PointOnRelatedElement
+#define SCHEMA_IfcConnectionPointGeometry_PointOnRelatedElement_IS_OPTIONAL
+#define SCHEMA_HAS_IfcConnectionSurfaceGeometry
+#define SCHEMA_IfcConnectionSurfaceGeometry_HAS_SurfaceOnRelatingElement
+#define SCHEMA_IfcConnectionSurfaceGeometry_HAS_SurfaceOnRelatedElement
+#define SCHEMA_IfcConnectionSurfaceGeometry_SurfaceOnRelatedElement_IS_OPTIONAL
+#define SCHEMA_HAS_IfcConnectionVolumeGeometry
+#define SCHEMA_IfcConnectionVolumeGeometry_HAS_VolumeOnRelatingElement
+#define SCHEMA_IfcConnectionVolumeGeometry_HAS_VolumeOnRelatedElement
+#define SCHEMA_IfcConnectionVolumeGeometry_VolumeOnRelatedElement_IS_OPTIONAL
+#define SCHEMA_HAS_IfcConstraint
+#define SCHEMA_IfcConstraint_HAS_Name
+#define SCHEMA_IfcConstraint_HAS_Description
+#define SCHEMA_IfcConstraint_Description_IS_OPTIONAL
+#define SCHEMA_IfcConstraint_HAS_ConstraintGrade
+#define SCHEMA_IfcConstraint_HAS_ConstraintSource
+#define SCHEMA_IfcConstraint_ConstraintSource_IS_OPTIONAL
+#define SCHEMA_IfcConstraint_HAS_CreatingActor
+#define SCHEMA_IfcConstraint_CreatingActor_IS_OPTIONAL
+#define SCHEMA_IfcConstraint_HAS_CreationTime
+#define SCHEMA_IfcConstraint_CreationTime_IS_OPTIONAL
+#define SCHEMA_IfcConstraint_HAS_UserDefinedGrade
+#define SCHEMA_IfcConstraint_UserDefinedGrade_IS_OPTIONAL
+#define SCHEMA_IfcConstraint_HAS_HasExternalReferences
+#define SCHEMA_IfcConstraint_HAS_PropertiesForConstraint
+#define SCHEMA_HAS_IfcConstructionEquipmentResource
+#define SCHEMA_IfcConstructionEquipmentResource_HAS_PredefinedType
+#define SCHEMA_IfcConstructionEquipmentResource_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcConstructionEquipmentResourceType
+#define SCHEMA_IfcConstructionEquipmentResourceType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcConstructionMaterialResource
+#define SCHEMA_IfcConstructionMaterialResource_HAS_PredefinedType
+#define SCHEMA_IfcConstructionMaterialResource_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcConstructionMaterialResourceType
+#define SCHEMA_IfcConstructionMaterialResourceType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcConstructionProductResource
+#define SCHEMA_IfcConstructionProductResource_HAS_PredefinedType
+#define SCHEMA_IfcConstructionProductResource_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcConstructionProductResourceType
+#define SCHEMA_IfcConstructionProductResourceType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcConstructionResource
+#define SCHEMA_IfcConstructionResource_HAS_Usage
+#define SCHEMA_IfcConstructionResource_Usage_IS_OPTIONAL
+#define SCHEMA_IfcConstructionResource_HAS_BaseCosts
+#define SCHEMA_IfcConstructionResource_BaseCosts_IS_OPTIONAL
+#define SCHEMA_IfcConstructionResource_HAS_BaseQuantity
+#define SCHEMA_IfcConstructionResource_BaseQuantity_IS_OPTIONAL
+#define SCHEMA_HAS_IfcConstructionResourceType
+#define SCHEMA_IfcConstructionResourceType_HAS_BaseCosts
+#define SCHEMA_IfcConstructionResourceType_BaseCosts_IS_OPTIONAL
+#define SCHEMA_IfcConstructionResourceType_HAS_BaseQuantity
+#define SCHEMA_IfcConstructionResourceType_BaseQuantity_IS_OPTIONAL
+#define SCHEMA_HAS_IfcContext
+#define SCHEMA_IfcContext_HAS_ObjectType
+#define SCHEMA_IfcContext_ObjectType_IS_OPTIONAL
+#define SCHEMA_IfcContext_HAS_LongName
+#define SCHEMA_IfcContext_LongName_IS_OPTIONAL
+#define SCHEMA_IfcContext_HAS_Phase
+#define SCHEMA_IfcContext_Phase_IS_OPTIONAL
+#define SCHEMA_IfcContext_HAS_RepresentationContexts
+#define SCHEMA_IfcContext_RepresentationContexts_IS_OPTIONAL
+#define SCHEMA_IfcContext_HAS_UnitsInContext
+#define SCHEMA_IfcContext_UnitsInContext_IS_OPTIONAL
+#define SCHEMA_IfcContext_HAS_IsDefinedBy
+#define SCHEMA_IfcContext_HAS_Declares
+#define SCHEMA_HAS_IfcContextDependentUnit
+#define SCHEMA_IfcContextDependentUnit_HAS_Name
+#define SCHEMA_IfcContextDependentUnit_HAS_HasExternalReference
+#define SCHEMA_HAS_IfcControl
+#define SCHEMA_IfcControl_HAS_Identification
+#define SCHEMA_IfcControl_Identification_IS_OPTIONAL
+#define SCHEMA_IfcControl_HAS_Controls
+#define SCHEMA_HAS_IfcController
+#define SCHEMA_IfcController_HAS_PredefinedType
+#define SCHEMA_IfcController_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcControllerType
+#define SCHEMA_IfcControllerType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcConversionBasedUnit
+#define SCHEMA_IfcConversionBasedUnit_HAS_Name
+#define SCHEMA_IfcConversionBasedUnit_HAS_ConversionFactor
+#define SCHEMA_IfcConversionBasedUnit_HAS_HasExternalReference
+#define SCHEMA_HAS_IfcConversionBasedUnitWithOffset
+#define SCHEMA_IfcConversionBasedUnitWithOffset_HAS_ConversionOffset
+#define SCHEMA_HAS_IfcConveyorSegment
+#define SCHEMA_IfcConveyorSegment_HAS_PredefinedType
+#define SCHEMA_IfcConveyorSegment_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcConveyorSegmentType
+#define SCHEMA_IfcConveyorSegmentType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcCooledBeam
+#define SCHEMA_IfcCooledBeam_HAS_PredefinedType
+#define SCHEMA_IfcCooledBeam_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCooledBeamType
+#define SCHEMA_IfcCooledBeamType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcCoolingTower
+#define SCHEMA_IfcCoolingTower_HAS_PredefinedType
+#define SCHEMA_IfcCoolingTower_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCoolingTowerType
+#define SCHEMA_IfcCoolingTowerType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcCoordinateOperation
+#define SCHEMA_IfcCoordinateOperation_HAS_SourceCRS
+#define SCHEMA_IfcCoordinateOperation_HAS_TargetCRS
+#define SCHEMA_HAS_IfcCoordinateReferenceSystem
+#define SCHEMA_IfcCoordinateReferenceSystem_HAS_Name
+#define SCHEMA_IfcCoordinateReferenceSystem_Name_IS_OPTIONAL
+#define SCHEMA_IfcCoordinateReferenceSystem_HAS_Description
+#define SCHEMA_IfcCoordinateReferenceSystem_Description_IS_OPTIONAL
+#define SCHEMA_IfcCoordinateReferenceSystem_HAS_GeodeticDatum
+#define SCHEMA_IfcCoordinateReferenceSystem_GeodeticDatum_IS_OPTIONAL
+#define SCHEMA_IfcCoordinateReferenceSystem_HAS_HasCoordinateOperation
+#define SCHEMA_IfcCoordinateReferenceSystem_HAS_WellKnownText
+#define SCHEMA_HAS_IfcCosineSpiral
+#define SCHEMA_IfcCosineSpiral_HAS_CosineTerm
+#define SCHEMA_IfcCosineSpiral_HAS_ConstantTerm
+#define SCHEMA_IfcCosineSpiral_ConstantTerm_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCostItem
+#define SCHEMA_IfcCostItem_HAS_PredefinedType
+#define SCHEMA_IfcCostItem_PredefinedType_IS_OPTIONAL
+#define SCHEMA_IfcCostItem_HAS_CostValues
+#define SCHEMA_IfcCostItem_CostValues_IS_OPTIONAL
+#define SCHEMA_IfcCostItem_HAS_CostQuantities
+#define SCHEMA_IfcCostItem_CostQuantities_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCostSchedule
+#define SCHEMA_IfcCostSchedule_HAS_PredefinedType
+#define SCHEMA_IfcCostSchedule_PredefinedType_IS_OPTIONAL
+#define SCHEMA_IfcCostSchedule_HAS_Status
+#define SCHEMA_IfcCostSchedule_Status_IS_OPTIONAL
+#define SCHEMA_IfcCostSchedule_HAS_SubmittedOn
+#define SCHEMA_IfcCostSchedule_SubmittedOn_IS_OPTIONAL
+#define SCHEMA_IfcCostSchedule_HAS_UpdateDate
+#define SCHEMA_IfcCostSchedule_UpdateDate_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCostValue
+#define SCHEMA_HAS_IfcCourse
+#define SCHEMA_IfcCourse_HAS_PredefinedType
+#define SCHEMA_IfcCourse_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCourseType
+#define SCHEMA_IfcCourseType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcCovering
+#define SCHEMA_IfcCovering_HAS_PredefinedType
+#define SCHEMA_IfcCovering_PredefinedType_IS_OPTIONAL
+#define SCHEMA_IfcCovering_HAS_CoversSpaces
+#define SCHEMA_IfcCovering_HAS_CoversElements
+#define SCHEMA_HAS_IfcCoveringType
+#define SCHEMA_IfcCoveringType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcCrewResource
+#define SCHEMA_IfcCrewResource_HAS_PredefinedType
+#define SCHEMA_IfcCrewResource_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCrewResourceType
+#define SCHEMA_IfcCrewResourceType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcCsgPrimitive3D
+#define SCHEMA_IfcCsgPrimitive3D_HAS_Position
+#define SCHEMA_HAS_IfcCsgSolid
+#define SCHEMA_IfcCsgSolid_HAS_TreeRootExpression
+#define SCHEMA_HAS_IfcCurrencyRelationship
+#define SCHEMA_IfcCurrencyRelationship_HAS_RelatingMonetaryUnit
+#define SCHEMA_IfcCurrencyRelationship_HAS_RelatedMonetaryUnit
+#define SCHEMA_IfcCurrencyRelationship_HAS_ExchangeRate
+#define SCHEMA_IfcCurrencyRelationship_HAS_RateDateTime
+#define SCHEMA_IfcCurrencyRelationship_RateDateTime_IS_OPTIONAL
+#define SCHEMA_IfcCurrencyRelationship_HAS_RateSource
+#define SCHEMA_IfcCurrencyRelationship_RateSource_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCurtainWall
+#define SCHEMA_IfcCurtainWall_HAS_PredefinedType
+#define SCHEMA_IfcCurtainWall_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCurtainWallType
+#define SCHEMA_IfcCurtainWallType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcCurve
+#define SCHEMA_HAS_IfcCurveBoundedPlane
+#define SCHEMA_IfcCurveBoundedPlane_HAS_BasisSurface
+#define SCHEMA_IfcCurveBoundedPlane_HAS_OuterBoundary
+#define SCHEMA_IfcCurveBoundedPlane_HAS_InnerBoundaries
+#define SCHEMA_HAS_IfcCurveBoundedSurface
+#define SCHEMA_IfcCurveBoundedSurface_HAS_BasisSurface
+#define SCHEMA_IfcCurveBoundedSurface_HAS_Boundaries
+#define SCHEMA_IfcCurveBoundedSurface_HAS_ImplicitOuter
+#define SCHEMA_HAS_IfcCurveSegment
+#define SCHEMA_IfcCurveSegment_HAS_Placement
+#define SCHEMA_IfcCurveSegment_HAS_SegmentStart
+#define SCHEMA_IfcCurveSegment_HAS_SegmentLength
+#define SCHEMA_IfcCurveSegment_HAS_ParentCurve
+#define SCHEMA_HAS_IfcCurveStyle
+#define SCHEMA_IfcCurveStyle_HAS_CurveFont
+#define SCHEMA_IfcCurveStyle_CurveFont_IS_OPTIONAL
+#define SCHEMA_IfcCurveStyle_HAS_CurveWidth
+#define SCHEMA_IfcCurveStyle_CurveWidth_IS_OPTIONAL
+#define SCHEMA_IfcCurveStyle_HAS_CurveColour
+#define SCHEMA_IfcCurveStyle_CurveColour_IS_OPTIONAL
+#define SCHEMA_IfcCurveStyle_HAS_ModelOrDraughting
+#define SCHEMA_IfcCurveStyle_ModelOrDraughting_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCurveStyleFont
+#define SCHEMA_IfcCurveStyleFont_HAS_Name
+#define SCHEMA_IfcCurveStyleFont_Name_IS_OPTIONAL
+#define SCHEMA_IfcCurveStyleFont_HAS_PatternList
+#define SCHEMA_HAS_IfcCurveStyleFontAndScaling
+#define SCHEMA_IfcCurveStyleFontAndScaling_HAS_Name
+#define SCHEMA_IfcCurveStyleFontAndScaling_Name_IS_OPTIONAL
+#define SCHEMA_IfcCurveStyleFontAndScaling_HAS_CurveStyleFont
+#define SCHEMA_IfcCurveStyleFontAndScaling_HAS_CurveFontScaling
+#define SCHEMA_HAS_IfcCurveStyleFontPattern
+#define SCHEMA_IfcCurveStyleFontPattern_HAS_VisibleSegmentLength
+#define SCHEMA_IfcCurveStyleFontPattern_HAS_InvisibleSegmentLength
+#define SCHEMA_HAS_IfcCylindricalSurface
+#define SCHEMA_IfcCylindricalSurface_HAS_Radius
+#define SCHEMA_HAS_IfcDamper
+#define SCHEMA_IfcDamper_HAS_PredefinedType
+#define SCHEMA_IfcDamper_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcDamperType
+#define SCHEMA_IfcDamperType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcDeepFoundation
+#define SCHEMA_HAS_IfcDeepFoundationType
+#define SCHEMA_HAS_IfcDerivedProfileDef
+#define SCHEMA_IfcDerivedProfileDef_HAS_ParentProfile
+#define SCHEMA_IfcDerivedProfileDef_HAS_Operator
+#define SCHEMA_IfcDerivedProfileDef_HAS_Label
+#define SCHEMA_IfcDerivedProfileDef_Label_IS_OPTIONAL
+#define SCHEMA_HAS_IfcDerivedUnit
+#define SCHEMA_IfcDerivedUnit_HAS_Elements
+#define SCHEMA_IfcDerivedUnit_HAS_UnitType
+#define SCHEMA_IfcDerivedUnit_HAS_UserDefinedType
+#define SCHEMA_IfcDerivedUnit_UserDefinedType_IS_OPTIONAL
+#define SCHEMA_IfcDerivedUnit_HAS_Name
+#define SCHEMA_IfcDerivedUnit_Name_IS_OPTIONAL
+#define SCHEMA_HAS_IfcDerivedUnitElement
+#define SCHEMA_IfcDerivedUnitElement_HAS_Unit
+#define SCHEMA_IfcDerivedUnitElement_HAS_Exponent
+#define SCHEMA_HAS_IfcDimensionalExponents
+#define SCHEMA_IfcDimensionalExponents_HAS_LengthExponent
+#define SCHEMA_IfcDimensionalExponents_HAS_MassExponent
+#define SCHEMA_IfcDimensionalExponents_HAS_TimeExponent
+#define SCHEMA_IfcDimensionalExponents_HAS_ElectricCurrentExponent
+#define SCHEMA_IfcDimensionalExponents_HAS_ThermodynamicTemperatureExponent
+#define SCHEMA_IfcDimensionalExponents_HAS_AmountOfSubstanceExponent
+#define SCHEMA_IfcDimensionalExponents_HAS_LuminousIntensityExponent
+#define SCHEMA_HAS_IfcDirection
+#define SCHEMA_IfcDirection_HAS_DirectionRatios
+#define SCHEMA_HAS_IfcDirectrixCurveSweptAreaSolid
+#define SCHEMA_IfcDirectrixCurveSweptAreaSolid_HAS_Directrix
+#define SCHEMA_IfcDirectrixCurveSweptAreaSolid_HAS_StartParam
+#define SCHEMA_IfcDirectrixCurveSweptAreaSolid_StartParam_IS_OPTIONAL
+#define SCHEMA_IfcDirectrixCurveSweptAreaSolid_HAS_EndParam
+#define SCHEMA_IfcDirectrixCurveSweptAreaSolid_EndParam_IS_OPTIONAL
+#define SCHEMA_HAS_IfcDirectrixDerivedReferenceSweptAreaSolid
+#define SCHEMA_HAS_IfcDiscreteAccessory
+#define SCHEMA_IfcDiscreteAccessory_HAS_PredefinedType
+#define SCHEMA_IfcDiscreteAccessory_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcDiscreteAccessoryType
+#define SCHEMA_IfcDiscreteAccessoryType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcDistributionBoard
+#define SCHEMA_IfcDistributionBoard_HAS_PredefinedType
+#define SCHEMA_IfcDistributionBoard_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcDistributionBoardType
+#define SCHEMA_IfcDistributionBoardType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcDistributionChamberElement
+#define SCHEMA_IfcDistributionChamberElement_HAS_PredefinedType
+#define SCHEMA_IfcDistributionChamberElement_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcDistributionChamberElementType
+#define SCHEMA_IfcDistributionChamberElementType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcDistributionCircuit
+#define SCHEMA_HAS_IfcDistributionControlElement
+#define SCHEMA_IfcDistributionControlElement_HAS_AssignedToFlowElement
+#define SCHEMA_HAS_IfcDistributionControlElementType
+#define SCHEMA_HAS_IfcDistributionElement
+#define SCHEMA_IfcDistributionElement_HAS_HasPorts
+#define SCHEMA_HAS_IfcDistributionElementType
+#define SCHEMA_HAS_IfcDistributionFlowElement
+#define SCHEMA_IfcDistributionFlowElement_HAS_HasControlElements
+#define SCHEMA_HAS_IfcDistributionFlowElementType
+#define SCHEMA_HAS_IfcDistributionPort
+#define SCHEMA_IfcDistributionPort_HAS_FlowDirection
+#define SCHEMA_IfcDistributionPort_FlowDirection_IS_OPTIONAL
+#define SCHEMA_IfcDistributionPort_HAS_PredefinedType
+#define SCHEMA_IfcDistributionPort_PredefinedType_IS_OPTIONAL
+#define SCHEMA_IfcDistributionPort_HAS_SystemType
+#define SCHEMA_IfcDistributionPort_SystemType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcDistributionSystem
+#define SCHEMA_IfcDistributionSystem_HAS_LongName
+#define SCHEMA_IfcDistributionSystem_LongName_IS_OPTIONAL
+#define SCHEMA_IfcDistributionSystem_HAS_PredefinedType
+#define SCHEMA_IfcDistributionSystem_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcDocumentInformation
+#define SCHEMA_IfcDocumentInformation_HAS_Identification
+#define SCHEMA_IfcDocumentInformation_HAS_Name
+#define SCHEMA_IfcDocumentInformation_HAS_Description
+#define SCHEMA_IfcDocumentInformation_Description_IS_OPTIONAL
+#define SCHEMA_IfcDocumentInformation_HAS_Location
+#define SCHEMA_IfcDocumentInformation_Location_IS_OPTIONAL
+#define SCHEMA_IfcDocumentInformation_HAS_Purpose
+#define SCHEMA_IfcDocumentInformation_Purpose_IS_OPTIONAL
+#define SCHEMA_IfcDocumentInformation_HAS_IntendedUse
+#define SCHEMA_IfcDocumentInformation_IntendedUse_IS_OPTIONAL
+#define SCHEMA_IfcDocumentInformation_HAS_Scope
+#define SCHEMA_IfcDocumentInformation_Scope_IS_OPTIONAL
+#define SCHEMA_IfcDocumentInformation_HAS_Revision
+#define SCHEMA_IfcDocumentInformation_Revision_IS_OPTIONAL
+#define SCHEMA_IfcDocumentInformation_HAS_DocumentOwner
+#define SCHEMA_IfcDocumentInformation_DocumentOwner_IS_OPTIONAL
+#define SCHEMA_IfcDocumentInformation_HAS_Editors
+#define SCHEMA_IfcDocumentInformation_Editors_IS_OPTIONAL
+#define SCHEMA_IfcDocumentInformation_HAS_CreationTime
+#define SCHEMA_IfcDocumentInformation_CreationTime_IS_OPTIONAL
+#define SCHEMA_IfcDocumentInformation_HAS_LastRevisionTime
+#define SCHEMA_IfcDocumentInformation_LastRevisionTime_IS_OPTIONAL
+#define SCHEMA_IfcDocumentInformation_HAS_ElectronicFormat
+#define SCHEMA_IfcDocumentInformation_ElectronicFormat_IS_OPTIONAL
+#define SCHEMA_IfcDocumentInformation_HAS_ValidFrom
+#define SCHEMA_IfcDocumentInformation_ValidFrom_IS_OPTIONAL
+#define SCHEMA_IfcDocumentInformation_HAS_ValidUntil
+#define SCHEMA_IfcDocumentInformation_ValidUntil_IS_OPTIONAL
+#define SCHEMA_IfcDocumentInformation_HAS_Confidentiality
+#define SCHEMA_IfcDocumentInformation_Confidentiality_IS_OPTIONAL
+#define SCHEMA_IfcDocumentInformation_HAS_Status
+#define SCHEMA_IfcDocumentInformation_Status_IS_OPTIONAL
+#define SCHEMA_IfcDocumentInformation_HAS_DocumentInfoForObjects
+#define SCHEMA_IfcDocumentInformation_HAS_HasDocumentReferences
+#define SCHEMA_IfcDocumentInformation_HAS_IsPointedTo
+#define SCHEMA_IfcDocumentInformation_HAS_IsPointer
+#define SCHEMA_HAS_IfcDocumentInformationRelationship
+#define SCHEMA_IfcDocumentInformationRelationship_HAS_RelatingDocument
+#define SCHEMA_IfcDocumentInformationRelationship_HAS_RelatedDocuments
+#define SCHEMA_IfcDocumentInformationRelationship_HAS_RelationshipType
+#define SCHEMA_IfcDocumentInformationRelationship_RelationshipType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcDocumentReference
+#define SCHEMA_IfcDocumentReference_HAS_Description
+#define SCHEMA_IfcDocumentReference_Description_IS_OPTIONAL
+#define SCHEMA_IfcDocumentReference_HAS_ReferencedDocument
+#define SCHEMA_IfcDocumentReference_ReferencedDocument_IS_OPTIONAL
+#define SCHEMA_IfcDocumentReference_HAS_DocumentRefForObjects
+#define SCHEMA_HAS_IfcDoor
+#define SCHEMA_IfcDoor_HAS_OverallHeight
+#define SCHEMA_IfcDoor_OverallHeight_IS_OPTIONAL
+#define SCHEMA_IfcDoor_HAS_OverallWidth
+#define SCHEMA_IfcDoor_OverallWidth_IS_OPTIONAL
+#define SCHEMA_IfcDoor_HAS_PredefinedType
+#define SCHEMA_IfcDoor_PredefinedType_IS_OPTIONAL
+#define SCHEMA_IfcDoor_HAS_OperationType
+#define SCHEMA_IfcDoor_OperationType_IS_OPTIONAL
+#define SCHEMA_IfcDoor_HAS_UserDefinedOperationType
+#define SCHEMA_IfcDoor_UserDefinedOperationType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcDoorLiningProperties
+#define SCHEMA_IfcDoorLiningProperties_HAS_LiningDepth
+#define SCHEMA_IfcDoorLiningProperties_LiningDepth_IS_OPTIONAL
+#define SCHEMA_IfcDoorLiningProperties_HAS_LiningThickness
+#define SCHEMA_IfcDoorLiningProperties_LiningThickness_IS_OPTIONAL
+#define SCHEMA_IfcDoorLiningProperties_HAS_ThresholdDepth
+#define SCHEMA_IfcDoorLiningProperties_ThresholdDepth_IS_OPTIONAL
+#define SCHEMA_IfcDoorLiningProperties_HAS_ThresholdThickness
+#define SCHEMA_IfcDoorLiningProperties_ThresholdThickness_IS_OPTIONAL
+#define SCHEMA_IfcDoorLiningProperties_HAS_TransomThickness
+#define SCHEMA_IfcDoorLiningProperties_TransomThickness_IS_OPTIONAL
+#define SCHEMA_IfcDoorLiningProperties_HAS_TransomOffset
+#define SCHEMA_IfcDoorLiningProperties_TransomOffset_IS_OPTIONAL
+#define SCHEMA_IfcDoorLiningProperties_HAS_LiningOffset
+#define SCHEMA_IfcDoorLiningProperties_LiningOffset_IS_OPTIONAL
+#define SCHEMA_IfcDoorLiningProperties_HAS_ThresholdOffset
+#define SCHEMA_IfcDoorLiningProperties_ThresholdOffset_IS_OPTIONAL
+#define SCHEMA_IfcDoorLiningProperties_HAS_CasingThickness
+#define SCHEMA_IfcDoorLiningProperties_CasingThickness_IS_OPTIONAL
+#define SCHEMA_IfcDoorLiningProperties_HAS_CasingDepth
+#define SCHEMA_IfcDoorLiningProperties_CasingDepth_IS_OPTIONAL
+#define SCHEMA_IfcDoorLiningProperties_HAS_ShapeAspectStyle
+#define SCHEMA_IfcDoorLiningProperties_ShapeAspectStyle_IS_OPTIONAL
+#define SCHEMA_IfcDoorLiningProperties_HAS_LiningToPanelOffsetX
+#define SCHEMA_IfcDoorLiningProperties_LiningToPanelOffsetX_IS_OPTIONAL
+#define SCHEMA_IfcDoorLiningProperties_HAS_LiningToPanelOffsetY
+#define SCHEMA_IfcDoorLiningProperties_LiningToPanelOffsetY_IS_OPTIONAL
+#define SCHEMA_HAS_IfcDoorPanelProperties
+#define SCHEMA_IfcDoorPanelProperties_HAS_PanelDepth
+#define SCHEMA_IfcDoorPanelProperties_PanelDepth_IS_OPTIONAL
+#define SCHEMA_IfcDoorPanelProperties_HAS_PanelOperation
+#define SCHEMA_IfcDoorPanelProperties_HAS_PanelWidth
+#define SCHEMA_IfcDoorPanelProperties_PanelWidth_IS_OPTIONAL
+#define SCHEMA_IfcDoorPanelProperties_HAS_PanelPosition
+#define SCHEMA_IfcDoorPanelProperties_HAS_ShapeAspectStyle
+#define SCHEMA_IfcDoorPanelProperties_ShapeAspectStyle_IS_OPTIONAL
+#define SCHEMA_HAS_IfcDoorType
+#define SCHEMA_IfcDoorType_HAS_PredefinedType
+#define SCHEMA_IfcDoorType_HAS_OperationType
+#define SCHEMA_IfcDoorType_HAS_ParameterTakesPrecedence
+#define SCHEMA_IfcDoorType_ParameterTakesPrecedence_IS_OPTIONAL
+#define SCHEMA_IfcDoorType_HAS_UserDefinedOperationType
+#define SCHEMA_IfcDoorType_UserDefinedOperationType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcDraughtingPreDefinedColour
+#define SCHEMA_HAS_IfcDraughtingPreDefinedCurveFont
+#define SCHEMA_HAS_IfcDuctFitting
+#define SCHEMA_IfcDuctFitting_HAS_PredefinedType
+#define SCHEMA_IfcDuctFitting_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcDuctFittingType
+#define SCHEMA_IfcDuctFittingType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcDuctSegment
+#define SCHEMA_IfcDuctSegment_HAS_PredefinedType
+#define SCHEMA_IfcDuctSegment_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcDuctSegmentType
+#define SCHEMA_IfcDuctSegmentType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcDuctSilencer
+#define SCHEMA_IfcDuctSilencer_HAS_PredefinedType
+#define SCHEMA_IfcDuctSilencer_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcDuctSilencerType
+#define SCHEMA_IfcDuctSilencerType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcEarthworksCut
+#define SCHEMA_IfcEarthworksCut_HAS_PredefinedType
+#define SCHEMA_IfcEarthworksCut_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcEarthworksElement
+#define SCHEMA_HAS_IfcEarthworksFill
+#define SCHEMA_IfcEarthworksFill_HAS_PredefinedType
+#define SCHEMA_IfcEarthworksFill_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcEdge
+#define SCHEMA_IfcEdge_HAS_EdgeStart
+#define SCHEMA_IfcEdge_HAS_EdgeEnd
+#define SCHEMA_HAS_IfcEdgeCurve
+#define SCHEMA_IfcEdgeCurve_HAS_EdgeGeometry
+#define SCHEMA_IfcEdgeCurve_HAS_SameSense
+#define SCHEMA_HAS_IfcEdgeLoop
+#define SCHEMA_IfcEdgeLoop_HAS_EdgeList
+#define SCHEMA_HAS_IfcElectricAppliance
+#define SCHEMA_IfcElectricAppliance_HAS_PredefinedType
+#define SCHEMA_IfcElectricAppliance_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcElectricApplianceType
+#define SCHEMA_IfcElectricApplianceType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcElectricDistributionBoard
+#define SCHEMA_IfcElectricDistributionBoard_HAS_PredefinedType
+#define SCHEMA_IfcElectricDistributionBoard_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcElectricDistributionBoardType
+#define SCHEMA_IfcElectricDistributionBoardType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcElectricFlowStorageDevice
+#define SCHEMA_IfcElectricFlowStorageDevice_HAS_PredefinedType
+#define SCHEMA_IfcElectricFlowStorageDevice_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcElectricFlowStorageDeviceType
+#define SCHEMA_IfcElectricFlowStorageDeviceType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcElectricFlowTreatmentDevice
+#define SCHEMA_IfcElectricFlowTreatmentDevice_HAS_PredefinedType
+#define SCHEMA_IfcElectricFlowTreatmentDevice_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcElectricFlowTreatmentDeviceType
+#define SCHEMA_IfcElectricFlowTreatmentDeviceType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcElectricGenerator
+#define SCHEMA_IfcElectricGenerator_HAS_PredefinedType
+#define SCHEMA_IfcElectricGenerator_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcElectricGeneratorType
+#define SCHEMA_IfcElectricGeneratorType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcElectricMotor
+#define SCHEMA_IfcElectricMotor_HAS_PredefinedType
+#define SCHEMA_IfcElectricMotor_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcElectricMotorType
+#define SCHEMA_IfcElectricMotorType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcElectricTimeControl
+#define SCHEMA_IfcElectricTimeControl_HAS_PredefinedType
+#define SCHEMA_IfcElectricTimeControl_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcElectricTimeControlType
+#define SCHEMA_IfcElectricTimeControlType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcElement
+#define SCHEMA_IfcElement_HAS_Tag
+#define SCHEMA_IfcElement_Tag_IS_OPTIONAL
+#define SCHEMA_IfcElement_HAS_FillsVoids
+#define SCHEMA_IfcElement_HAS_ConnectedTo
+#define SCHEMA_IfcElement_HAS_IsInterferedByElements
+#define SCHEMA_IfcElement_HAS_InterferesElements
+#define SCHEMA_IfcElement_HAS_HasProjections
+#define SCHEMA_IfcElement_HAS_HasOpenings
+#define SCHEMA_IfcElement_HAS_IsConnectionRealization
+#define SCHEMA_IfcElement_HAS_ProvidesBoundaries
+#define SCHEMA_IfcElement_HAS_ConnectedFrom
+#define SCHEMA_IfcElement_HAS_ContainedInStructure
+#define SCHEMA_IfcElement_HAS_HasCoverings
+#define SCHEMA_IfcElement_HAS_HasSurfaceFeatures
+#define SCHEMA_HAS_IfcElementAssembly
+#define SCHEMA_IfcElementAssembly_HAS_AssemblyPlace
+#define SCHEMA_IfcElementAssembly_AssemblyPlace_IS_OPTIONAL
+#define SCHEMA_IfcElementAssembly_HAS_PredefinedType
+#define SCHEMA_IfcElementAssembly_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcElementAssemblyType
+#define SCHEMA_IfcElementAssemblyType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcElementComponent
+#define SCHEMA_HAS_IfcElementComponentType
+#define SCHEMA_HAS_IfcElementQuantity
+#define SCHEMA_IfcElementQuantity_HAS_MethodOfMeasurement
+#define SCHEMA_IfcElementQuantity_MethodOfMeasurement_IS_OPTIONAL
+#define SCHEMA_IfcElementQuantity_HAS_Quantities
+#define SCHEMA_HAS_IfcElementType
+#define SCHEMA_IfcElementType_HAS_ElementType
+#define SCHEMA_IfcElementType_ElementType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcElementarySurface
+#define SCHEMA_IfcElementarySurface_HAS_Position
+#define SCHEMA_HAS_IfcEllipse
+#define SCHEMA_IfcEllipse_HAS_SemiAxis1
+#define SCHEMA_IfcEllipse_HAS_SemiAxis2
+#define SCHEMA_HAS_IfcEllipseProfileDef
+#define SCHEMA_IfcEllipseProfileDef_HAS_SemiAxis1
+#define SCHEMA_IfcEllipseProfileDef_HAS_SemiAxis2
+#define SCHEMA_HAS_IfcEnergyConversionDevice
+#define SCHEMA_HAS_IfcEnergyConversionDeviceType
+#define SCHEMA_HAS_IfcEngine
+#define SCHEMA_IfcEngine_HAS_PredefinedType
+#define SCHEMA_IfcEngine_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcEngineType
+#define SCHEMA_IfcEngineType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcEvaporativeCooler
+#define SCHEMA_IfcEvaporativeCooler_HAS_PredefinedType
+#define SCHEMA_IfcEvaporativeCooler_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcEvaporativeCoolerType
+#define SCHEMA_IfcEvaporativeCoolerType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcEvaporator
+#define SCHEMA_IfcEvaporator_HAS_PredefinedType
+#define SCHEMA_IfcEvaporator_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcEvaporatorType
+#define SCHEMA_IfcEvaporatorType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcEvent
+#define SCHEMA_IfcEvent_HAS_PredefinedType
+#define SCHEMA_IfcEvent_PredefinedType_IS_OPTIONAL
+#define SCHEMA_IfcEvent_HAS_EventTriggerType
+#define SCHEMA_IfcEvent_EventTriggerType_IS_OPTIONAL
+#define SCHEMA_IfcEvent_HAS_UserDefinedEventTriggerType
+#define SCHEMA_IfcEvent_UserDefinedEventTriggerType_IS_OPTIONAL
+#define SCHEMA_IfcEvent_HAS_EventOccurenceTime
+#define SCHEMA_IfcEvent_EventOccurenceTime_IS_OPTIONAL
+#define SCHEMA_HAS_IfcEventTime
+#define SCHEMA_IfcEventTime_HAS_ActualDate
+#define SCHEMA_IfcEventTime_ActualDate_IS_OPTIONAL
+#define SCHEMA_IfcEventTime_HAS_EarlyDate
+#define SCHEMA_IfcEventTime_EarlyDate_IS_OPTIONAL
+#define SCHEMA_IfcEventTime_HAS_LateDate
+#define SCHEMA_IfcEventTime_LateDate_IS_OPTIONAL
+#define SCHEMA_IfcEventTime_HAS_ScheduleDate
+#define SCHEMA_IfcEventTime_ScheduleDate_IS_OPTIONAL
+#define SCHEMA_HAS_IfcEventType
+#define SCHEMA_IfcEventType_HAS_PredefinedType
+#define SCHEMA_IfcEventType_HAS_EventTriggerType
+#define SCHEMA_IfcEventType_HAS_UserDefinedEventTriggerType
+#define SCHEMA_IfcEventType_UserDefinedEventTriggerType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcExtendedProperties
+#define SCHEMA_IfcExtendedProperties_HAS_Name
+#define SCHEMA_IfcExtendedProperties_Name_IS_OPTIONAL
+#define SCHEMA_IfcExtendedProperties_HAS_Description
+#define SCHEMA_IfcExtendedProperties_Description_IS_OPTIONAL
+#define SCHEMA_IfcExtendedProperties_HAS_Properties
+#define SCHEMA_HAS_IfcExternalInformation
+#define SCHEMA_HAS_IfcExternalReference
+#define SCHEMA_IfcExternalReference_HAS_Location
+#define SCHEMA_IfcExternalReference_Location_IS_OPTIONAL
+#define SCHEMA_IfcExternalReference_HAS_Identification
+#define SCHEMA_IfcExternalReference_Identification_IS_OPTIONAL
+#define SCHEMA_IfcExternalReference_HAS_Name
+#define SCHEMA_IfcExternalReference_Name_IS_OPTIONAL
+#define SCHEMA_IfcExternalReference_HAS_ExternalReferenceForResources
+#define SCHEMA_HAS_IfcExternalReferenceRelationship
+#define SCHEMA_IfcExternalReferenceRelationship_HAS_RelatingReference
+#define SCHEMA_IfcExternalReferenceRelationship_HAS_RelatedResourceObjects
+#define SCHEMA_HAS_IfcExternalSpatialElement
+#define SCHEMA_IfcExternalSpatialElement_HAS_PredefinedType
+#define SCHEMA_IfcExternalSpatialElement_PredefinedType_IS_OPTIONAL
+#define SCHEMA_IfcExternalSpatialElement_HAS_BoundedBy
+#define SCHEMA_HAS_IfcExternalSpatialStructureElement
+#define SCHEMA_HAS_IfcExternallyDefinedHatchStyle
+#define SCHEMA_HAS_IfcExternallyDefinedSurfaceStyle
+#define SCHEMA_HAS_IfcExternallyDefinedTextFont
+#define SCHEMA_HAS_IfcExtrudedAreaSolid
+#define SCHEMA_IfcExtrudedAreaSolid_HAS_ExtrudedDirection
+#define SCHEMA_IfcExtrudedAreaSolid_HAS_Depth
+#define SCHEMA_HAS_IfcExtrudedAreaSolidTapered
+#define SCHEMA_IfcExtrudedAreaSolidTapered_HAS_EndSweptArea
+#define SCHEMA_HAS_IfcFace
+#define SCHEMA_IfcFace_HAS_Bounds
+#define SCHEMA_IfcFace_HAS_HasTextureMaps
+#define SCHEMA_HAS_IfcFaceBasedSurfaceModel
+#define SCHEMA_IfcFaceBasedSurfaceModel_HAS_FbsmFaces
+#define SCHEMA_HAS_IfcFaceBound
+#define SCHEMA_IfcFaceBound_HAS_Bound
+#define SCHEMA_IfcFaceBound_HAS_Orientation
+#define SCHEMA_HAS_IfcFaceOuterBound
+#define SCHEMA_HAS_IfcFaceSurface
+#define SCHEMA_IfcFaceSurface_HAS_FaceSurface
+#define SCHEMA_IfcFaceSurface_HAS_SameSense
+#define SCHEMA_HAS_IfcFacetedBrep
+#define SCHEMA_HAS_IfcFacetedBrepWithVoids
+#define SCHEMA_IfcFacetedBrepWithVoids_HAS_Voids
+#define SCHEMA_HAS_IfcFacility
+#define SCHEMA_HAS_IfcFacilityPart
+#define SCHEMA_IfcFacilityPart_HAS_UsageType
+#define SCHEMA_HAS_IfcFacilityPartCommon
+#define SCHEMA_IfcFacilityPartCommon_HAS_PredefinedType
+#define SCHEMA_IfcFacilityPartCommon_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcFailureConnectionCondition
+#define SCHEMA_IfcFailureConnectionCondition_HAS_TensionFailureX
+#define SCHEMA_IfcFailureConnectionCondition_TensionFailureX_IS_OPTIONAL
+#define SCHEMA_IfcFailureConnectionCondition_HAS_TensionFailureY
+#define SCHEMA_IfcFailureConnectionCondition_TensionFailureY_IS_OPTIONAL
+#define SCHEMA_IfcFailureConnectionCondition_HAS_TensionFailureZ
+#define SCHEMA_IfcFailureConnectionCondition_TensionFailureZ_IS_OPTIONAL
+#define SCHEMA_IfcFailureConnectionCondition_HAS_CompressionFailureX
+#define SCHEMA_IfcFailureConnectionCondition_CompressionFailureX_IS_OPTIONAL
+#define SCHEMA_IfcFailureConnectionCondition_HAS_CompressionFailureY
+#define SCHEMA_IfcFailureConnectionCondition_CompressionFailureY_IS_OPTIONAL
+#define SCHEMA_IfcFailureConnectionCondition_HAS_CompressionFailureZ
+#define SCHEMA_IfcFailureConnectionCondition_CompressionFailureZ_IS_OPTIONAL
+#define SCHEMA_HAS_IfcFan
+#define SCHEMA_IfcFan_HAS_PredefinedType
+#define SCHEMA_IfcFan_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcFanType
+#define SCHEMA_IfcFanType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcFastener
+#define SCHEMA_IfcFastener_HAS_PredefinedType
+#define SCHEMA_IfcFastener_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcFastenerType
+#define SCHEMA_IfcFastenerType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcFeatureElement
+#define SCHEMA_HAS_IfcFeatureElementAddition
+#define SCHEMA_IfcFeatureElementAddition_HAS_ProjectsElements
+#define SCHEMA_HAS_IfcFeatureElementSubtraction
+#define SCHEMA_IfcFeatureElementSubtraction_HAS_VoidsElements
+#define SCHEMA_HAS_IfcFillAreaStyle
+#define SCHEMA_IfcFillAreaStyle_HAS_FillStyles
+#define SCHEMA_IfcFillAreaStyle_HAS_ModelOrDraughting
+#define SCHEMA_IfcFillAreaStyle_ModelOrDraughting_IS_OPTIONAL
+#define SCHEMA_HAS_IfcFillAreaStyleHatching
+#define SCHEMA_IfcFillAreaStyleHatching_HAS_HatchLineAppearance
+#define SCHEMA_IfcFillAreaStyleHatching_HAS_StartOfNextHatchLine
+#define SCHEMA_IfcFillAreaStyleHatching_HAS_PointOfReferenceHatchLine
+#define SCHEMA_IfcFillAreaStyleHatching_PointOfReferenceHatchLine_IS_OPTIONAL
+#define SCHEMA_IfcFillAreaStyleHatching_HAS_PatternStart
+#define SCHEMA_IfcFillAreaStyleHatching_PatternStart_IS_OPTIONAL
+#define SCHEMA_IfcFillAreaStyleHatching_HAS_HatchLineAngle
+#define SCHEMA_HAS_IfcFillAreaStyleTiles
+#define SCHEMA_IfcFillAreaStyleTiles_HAS_TilingPattern
+#define SCHEMA_IfcFillAreaStyleTiles_HAS_Tiles
+#define SCHEMA_IfcFillAreaStyleTiles_HAS_TilingScale
+#define SCHEMA_HAS_IfcFilter
+#define SCHEMA_IfcFilter_HAS_PredefinedType
+#define SCHEMA_IfcFilter_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcFilterType
+#define SCHEMA_IfcFilterType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcFireSuppressionTerminal
+#define SCHEMA_IfcFireSuppressionTerminal_HAS_PredefinedType
+#define SCHEMA_IfcFireSuppressionTerminal_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcFireSuppressionTerminalType
+#define SCHEMA_IfcFireSuppressionTerminalType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcFixedReferenceSweptAreaSolid
+#define SCHEMA_IfcFixedReferenceSweptAreaSolid_HAS_FixedReference
+#define SCHEMA_HAS_IfcFlowController
+#define SCHEMA_HAS_IfcFlowControllerType
+#define SCHEMA_HAS_IfcFlowFitting
+#define SCHEMA_HAS_IfcFlowFittingType
+#define SCHEMA_HAS_IfcFlowInstrument
+#define SCHEMA_IfcFlowInstrument_HAS_PredefinedType
+#define SCHEMA_IfcFlowInstrument_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcFlowInstrumentType
+#define SCHEMA_IfcFlowInstrumentType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcFlowMeter
+#define SCHEMA_IfcFlowMeter_HAS_PredefinedType
+#define SCHEMA_IfcFlowMeter_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcFlowMeterType
+#define SCHEMA_IfcFlowMeterType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcFlowMovingDevice
+#define SCHEMA_HAS_IfcFlowMovingDeviceType
+#define SCHEMA_HAS_IfcFlowSegment
+#define SCHEMA_HAS_IfcFlowSegmentType
+#define SCHEMA_HAS_IfcFlowStorageDevice
+#define SCHEMA_HAS_IfcFlowStorageDeviceType
+#define SCHEMA_HAS_IfcFlowTerminal
+#define SCHEMA_HAS_IfcFlowTerminalType
+#define SCHEMA_HAS_IfcFlowTreatmentDevice
+#define SCHEMA_HAS_IfcFlowTreatmentDeviceType
+#define SCHEMA_HAS_IfcFooting
+#define SCHEMA_IfcFooting_HAS_PredefinedType
+#define SCHEMA_IfcFooting_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcFootingType
+#define SCHEMA_IfcFootingType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcFurnishingElement
+#define SCHEMA_HAS_IfcFurnishingElementType
+#define SCHEMA_HAS_IfcFurniture
+#define SCHEMA_IfcFurniture_HAS_PredefinedType
+#define SCHEMA_IfcFurniture_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcFurnitureType
+#define SCHEMA_IfcFurnitureType_HAS_AssemblyPlace
+#define SCHEMA_IfcFurnitureType_HAS_PredefinedType
+#define SCHEMA_IfcFurnitureType_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcGeographicCRS
+#define SCHEMA_IfcGeographicCRS_HAS_PrimeMeridian
+#define SCHEMA_IfcGeographicCRS_PrimeMeridian_IS_OPTIONAL
+#define SCHEMA_IfcGeographicCRS_HAS_AngleUnit
+#define SCHEMA_IfcGeographicCRS_AngleUnit_IS_OPTIONAL
+#define SCHEMA_IfcGeographicCRS_HAS_HeightUnit
+#define SCHEMA_IfcGeographicCRS_HeightUnit_IS_OPTIONAL
+#define SCHEMA_HAS_IfcGeographicElement
+#define SCHEMA_IfcGeographicElement_HAS_PredefinedType
+#define SCHEMA_IfcGeographicElement_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcGeographicElementType
+#define SCHEMA_IfcGeographicElementType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcGeometricCurveSet
+#define SCHEMA_HAS_IfcGeometricRepresentationContext
+#define SCHEMA_IfcGeometricRepresentationContext_HAS_CoordinateSpaceDimension
+#define SCHEMA_IfcGeometricRepresentationContext_HAS_Precision
+#define SCHEMA_IfcGeometricRepresentationContext_Precision_IS_OPTIONAL
+#define SCHEMA_IfcGeometricRepresentationContext_HAS_WorldCoordinateSystem
+#define SCHEMA_IfcGeometricRepresentationContext_HAS_TrueNorth
+#define SCHEMA_IfcGeometricRepresentationContext_TrueNorth_IS_OPTIONAL
+#define SCHEMA_IfcGeometricRepresentationContext_HAS_HasSubContexts
+#define SCHEMA_IfcGeometricRepresentationContext_HAS_HasCoordinateOperation
+#define SCHEMA_HAS_IfcGeometricRepresentationItem
+#define SCHEMA_HAS_IfcGeometricRepresentationSubContext
+#define SCHEMA_IfcGeometricRepresentationSubContext_HAS_ParentContext
+#define SCHEMA_IfcGeometricRepresentationSubContext_HAS_TargetScale
+#define SCHEMA_IfcGeometricRepresentationSubContext_TargetScale_IS_OPTIONAL
+#define SCHEMA_IfcGeometricRepresentationSubContext_HAS_TargetView
+#define SCHEMA_IfcGeometricRepresentationSubContext_HAS_UserDefinedTargetView
+#define SCHEMA_IfcGeometricRepresentationSubContext_UserDefinedTargetView_IS_OPTIONAL
+#define SCHEMA_HAS_IfcGeometricSet
+#define SCHEMA_IfcGeometricSet_HAS_Elements
+#define SCHEMA_HAS_IfcGeomodel
+#define SCHEMA_HAS_IfcGeoslice
+#define SCHEMA_HAS_IfcGeotechnicalAssembly
+#define SCHEMA_HAS_IfcGeotechnicalElement
+#define SCHEMA_HAS_IfcGeotechnicalStratum
+#define SCHEMA_IfcGeotechnicalStratum_HAS_PredefinedType
+#define SCHEMA_IfcGeotechnicalStratum_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcGradientCurve
+#define SCHEMA_IfcGradientCurve_HAS_BaseCurve
+#define SCHEMA_IfcGradientCurve_HAS_EndPoint
+#define SCHEMA_IfcGradientCurve_EndPoint_IS_OPTIONAL
+#define SCHEMA_HAS_IfcGrid
+#define SCHEMA_IfcGrid_HAS_UAxes
+#define SCHEMA_IfcGrid_HAS_VAxes
+#define SCHEMA_IfcGrid_HAS_WAxes
+#define SCHEMA_IfcGrid_WAxes_IS_OPTIONAL
+#define SCHEMA_IfcGrid_HAS_PredefinedType
+#define SCHEMA_IfcGrid_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcGridAxis
+#define SCHEMA_IfcGridAxis_HAS_AxisTag
+#define SCHEMA_IfcGridAxis_AxisTag_IS_OPTIONAL
+#define SCHEMA_IfcGridAxis_HAS_AxisCurve
+#define SCHEMA_IfcGridAxis_HAS_SameSense
+#define SCHEMA_IfcGridAxis_HAS_PartOfW
+#define SCHEMA_IfcGridAxis_HAS_PartOfV
+#define SCHEMA_IfcGridAxis_HAS_PartOfU
+#define SCHEMA_IfcGridAxis_HAS_HasIntersections
+#define SCHEMA_HAS_IfcGridPlacement
+#define SCHEMA_IfcGridPlacement_HAS_PlacementLocation
+#define SCHEMA_IfcGridPlacement_HAS_PlacementRefDirection
+#define SCHEMA_IfcGridPlacement_PlacementRefDirection_IS_OPTIONAL
+#define SCHEMA_HAS_IfcGroup
+#define SCHEMA_IfcGroup_HAS_IsGroupedBy
+#define SCHEMA_IfcGroup_HAS_ReferencedInStructures
+#define SCHEMA_HAS_IfcHalfSpaceSolid
+#define SCHEMA_IfcHalfSpaceSolid_HAS_BaseSurface
+#define SCHEMA_IfcHalfSpaceSolid_HAS_AgreementFlag
+#define SCHEMA_HAS_IfcHeatExchanger
+#define SCHEMA_IfcHeatExchanger_HAS_PredefinedType
+#define SCHEMA_IfcHeatExchanger_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcHeatExchangerType
+#define SCHEMA_IfcHeatExchangerType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcHumidifier
+#define SCHEMA_IfcHumidifier_HAS_PredefinedType
+#define SCHEMA_IfcHumidifier_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcHumidifierType
+#define SCHEMA_IfcHumidifierType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcIShapeProfileDef
+#define SCHEMA_IfcIShapeProfileDef_HAS_OverallWidth
+#define SCHEMA_IfcIShapeProfileDef_HAS_OverallDepth
+#define SCHEMA_IfcIShapeProfileDef_HAS_WebThickness
+#define SCHEMA_IfcIShapeProfileDef_HAS_FlangeThickness
+#define SCHEMA_IfcIShapeProfileDef_HAS_FilletRadius
+#define SCHEMA_IfcIShapeProfileDef_FilletRadius_IS_OPTIONAL
+#define SCHEMA_IfcIShapeProfileDef_HAS_FlangeEdgeRadius
+#define SCHEMA_IfcIShapeProfileDef_FlangeEdgeRadius_IS_OPTIONAL
+#define SCHEMA_IfcIShapeProfileDef_HAS_FlangeSlope
+#define SCHEMA_IfcIShapeProfileDef_FlangeSlope_IS_OPTIONAL
+#define SCHEMA_HAS_IfcImageTexture
+#define SCHEMA_IfcImageTexture_HAS_URLReference
+#define SCHEMA_HAS_IfcImpactProtectionDevice
+#define SCHEMA_IfcImpactProtectionDevice_HAS_PredefinedType
+#define SCHEMA_IfcImpactProtectionDevice_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcImpactProtectionDeviceType
+#define SCHEMA_IfcImpactProtectionDeviceType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcIndexedColourMap
+#define SCHEMA_IfcIndexedColourMap_HAS_MappedTo
+#define SCHEMA_IfcIndexedColourMap_HAS_Opacity
+#define SCHEMA_IfcIndexedColourMap_Opacity_IS_OPTIONAL
+#define SCHEMA_IfcIndexedColourMap_HAS_Colours
+#define SCHEMA_IfcIndexedColourMap_HAS_ColourIndex
+#define SCHEMA_HAS_IfcIndexedPolyCurve
+#define SCHEMA_IfcIndexedPolyCurve_HAS_Points
+#define SCHEMA_IfcIndexedPolyCurve_HAS_Segments
+#define SCHEMA_IfcIndexedPolyCurve_Segments_IS_OPTIONAL
+#define SCHEMA_IfcIndexedPolyCurve_HAS_SelfIntersect
+#define SCHEMA_IfcIndexedPolyCurve_SelfIntersect_IS_OPTIONAL
+#define SCHEMA_HAS_IfcIndexedPolygonalFace
+#define SCHEMA_IfcIndexedPolygonalFace_HAS_CoordIndex
+#define SCHEMA_IfcIndexedPolygonalFace_HAS_ToFaceSet
+#define SCHEMA_IfcIndexedPolygonalFace_HAS_HasTexCoords
+#define SCHEMA_HAS_IfcIndexedPolygonalFaceWithVoids
+#define SCHEMA_IfcIndexedPolygonalFaceWithVoids_HAS_InnerCoordIndices
+#define SCHEMA_HAS_IfcIndexedPolygonalTextureMap
+#define SCHEMA_IfcIndexedPolygonalTextureMap_HAS_TexCoordIndices
+#define SCHEMA_HAS_IfcIndexedTextureMap
+#define SCHEMA_IfcIndexedTextureMap_HAS_MappedTo
+#define SCHEMA_IfcIndexedTextureMap_HAS_TexCoords
+#define SCHEMA_HAS_IfcIndexedTriangleTextureMap
+#define SCHEMA_IfcIndexedTriangleTextureMap_HAS_TexCoordIndex
+#define SCHEMA_IfcIndexedTriangleTextureMap_TexCoordIndex_IS_OPTIONAL
+#define SCHEMA_HAS_IfcInterceptor
+#define SCHEMA_IfcInterceptor_HAS_PredefinedType
+#define SCHEMA_IfcInterceptor_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcInterceptorType
+#define SCHEMA_IfcInterceptorType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcIntersectionCurve
+#define SCHEMA_HAS_IfcInventory
+#define SCHEMA_IfcInventory_HAS_PredefinedType
+#define SCHEMA_IfcInventory_PredefinedType_IS_OPTIONAL
+#define SCHEMA_IfcInventory_HAS_Jurisdiction
+#define SCHEMA_IfcInventory_Jurisdiction_IS_OPTIONAL
+#define SCHEMA_IfcInventory_HAS_ResponsiblePersons
+#define SCHEMA_IfcInventory_ResponsiblePersons_IS_OPTIONAL
+#define SCHEMA_IfcInventory_HAS_LastUpdateDate
+#define SCHEMA_IfcInventory_LastUpdateDate_IS_OPTIONAL
+#define SCHEMA_IfcInventory_HAS_CurrentValue
+#define SCHEMA_IfcInventory_CurrentValue_IS_OPTIONAL
+#define SCHEMA_IfcInventory_HAS_OriginalValue
+#define SCHEMA_IfcInventory_OriginalValue_IS_OPTIONAL
+#define SCHEMA_HAS_IfcIrregularTimeSeries
+#define SCHEMA_IfcIrregularTimeSeries_HAS_Values
+#define SCHEMA_HAS_IfcIrregularTimeSeriesValue
+#define SCHEMA_IfcIrregularTimeSeriesValue_HAS_TimeStamp
+#define SCHEMA_IfcIrregularTimeSeriesValue_HAS_ListValues
+#define SCHEMA_HAS_IfcJunctionBox
+#define SCHEMA_IfcJunctionBox_HAS_PredefinedType
+#define SCHEMA_IfcJunctionBox_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcJunctionBoxType
+#define SCHEMA_IfcJunctionBoxType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcKerb
+#define SCHEMA_IfcKerb_HAS_PredefinedType
+#define SCHEMA_IfcKerb_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcKerbType
+#define SCHEMA_IfcKerbType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcLShapeProfileDef
+#define SCHEMA_IfcLShapeProfileDef_HAS_Depth
+#define SCHEMA_IfcLShapeProfileDef_HAS_Width
+#define SCHEMA_IfcLShapeProfileDef_Width_IS_OPTIONAL
+#define SCHEMA_IfcLShapeProfileDef_HAS_Thickness
+#define SCHEMA_IfcLShapeProfileDef_HAS_FilletRadius
+#define SCHEMA_IfcLShapeProfileDef_FilletRadius_IS_OPTIONAL
+#define SCHEMA_IfcLShapeProfileDef_HAS_EdgeRadius
+#define SCHEMA_IfcLShapeProfileDef_EdgeRadius_IS_OPTIONAL
+#define SCHEMA_IfcLShapeProfileDef_HAS_LegSlope
+#define SCHEMA_IfcLShapeProfileDef_LegSlope_IS_OPTIONAL
+#define SCHEMA_HAS_IfcLaborResource
+#define SCHEMA_IfcLaborResource_HAS_PredefinedType
+#define SCHEMA_IfcLaborResource_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcLaborResourceType
+#define SCHEMA_IfcLaborResourceType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcLagTime
+#define SCHEMA_IfcLagTime_HAS_LagValue
+#define SCHEMA_IfcLagTime_HAS_DurationType
+#define SCHEMA_HAS_IfcLamp
+#define SCHEMA_IfcLamp_HAS_PredefinedType
+#define SCHEMA_IfcLamp_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcLampType
+#define SCHEMA_IfcLampType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcLibraryInformation
+#define SCHEMA_IfcLibraryInformation_HAS_Name
+#define SCHEMA_IfcLibraryInformation_HAS_Version
+#define SCHEMA_IfcLibraryInformation_Version_IS_OPTIONAL
+#define SCHEMA_IfcLibraryInformation_HAS_Publisher
+#define SCHEMA_IfcLibraryInformation_Publisher_IS_OPTIONAL
+#define SCHEMA_IfcLibraryInformation_HAS_VersionDate
+#define SCHEMA_IfcLibraryInformation_VersionDate_IS_OPTIONAL
+#define SCHEMA_IfcLibraryInformation_HAS_Location
+#define SCHEMA_IfcLibraryInformation_Location_IS_OPTIONAL
+#define SCHEMA_IfcLibraryInformation_HAS_Description
+#define SCHEMA_IfcLibraryInformation_Description_IS_OPTIONAL
+#define SCHEMA_IfcLibraryInformation_HAS_LibraryInfoForObjects
+#define SCHEMA_IfcLibraryInformation_HAS_HasLibraryReferences
+#define SCHEMA_HAS_IfcLibraryReference
+#define SCHEMA_IfcLibraryReference_HAS_Description
+#define SCHEMA_IfcLibraryReference_Description_IS_OPTIONAL
+#define SCHEMA_IfcLibraryReference_HAS_Language
+#define SCHEMA_IfcLibraryReference_Language_IS_OPTIONAL
+#define SCHEMA_IfcLibraryReference_HAS_ReferencedLibrary
+#define SCHEMA_IfcLibraryReference_ReferencedLibrary_IS_OPTIONAL
+#define SCHEMA_IfcLibraryReference_HAS_LibraryRefForObjects
+#define SCHEMA_HAS_IfcLightDistributionData
+#define SCHEMA_IfcLightDistributionData_HAS_MainPlaneAngle
+#define SCHEMA_IfcLightDistributionData_HAS_SecondaryPlaneAngle
+#define SCHEMA_IfcLightDistributionData_HAS_LuminousIntensity
+#define SCHEMA_HAS_IfcLightFixture
+#define SCHEMA_IfcLightFixture_HAS_PredefinedType
+#define SCHEMA_IfcLightFixture_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcLightFixtureType
+#define SCHEMA_IfcLightFixtureType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcLightIntensityDistribution
+#define SCHEMA_IfcLightIntensityDistribution_HAS_LightDistributionCurve
+#define SCHEMA_IfcLightIntensityDistribution_HAS_DistributionData
+#define SCHEMA_HAS_IfcLightSource
+#define SCHEMA_IfcLightSource_HAS_Name
+#define SCHEMA_IfcLightSource_Name_IS_OPTIONAL
+#define SCHEMA_IfcLightSource_HAS_LightColour
+#define SCHEMA_IfcLightSource_HAS_AmbientIntensity
+#define SCHEMA_IfcLightSource_AmbientIntensity_IS_OPTIONAL
+#define SCHEMA_IfcLightSource_HAS_Intensity
+#define SCHEMA_IfcLightSource_Intensity_IS_OPTIONAL
+#define SCHEMA_HAS_IfcLightSourceAmbient
+#define SCHEMA_HAS_IfcLightSourceDirectional
+#define SCHEMA_IfcLightSourceDirectional_HAS_Orientation
+#define SCHEMA_HAS_IfcLightSourceGoniometric
+#define SCHEMA_IfcLightSourceGoniometric_HAS_Position
+#define SCHEMA_IfcLightSourceGoniometric_HAS_ColourAppearance
+#define SCHEMA_IfcLightSourceGoniometric_ColourAppearance_IS_OPTIONAL
+#define SCHEMA_IfcLightSourceGoniometric_HAS_ColourTemperature
+#define SCHEMA_IfcLightSourceGoniometric_HAS_LuminousFlux
+#define SCHEMA_IfcLightSourceGoniometric_HAS_LightEmissionSource
+#define SCHEMA_IfcLightSourceGoniometric_HAS_LightDistributionDataSource
+#define SCHEMA_HAS_IfcLightSourcePositional
+#define SCHEMA_IfcLightSourcePositional_HAS_Position
+#define SCHEMA_IfcLightSourcePositional_HAS_Radius
+#define SCHEMA_IfcLightSourcePositional_HAS_ConstantAttenuation
+#define SCHEMA_IfcLightSourcePositional_HAS_DistanceAttenuation
+#define SCHEMA_IfcLightSourcePositional_HAS_QuadricAttenuation
+#define SCHEMA_HAS_IfcLightSourceSpot
+#define SCHEMA_IfcLightSourceSpot_HAS_Orientation
+#define SCHEMA_IfcLightSourceSpot_HAS_ConcentrationExponent
+#define SCHEMA_IfcLightSourceSpot_ConcentrationExponent_IS_OPTIONAL
+#define SCHEMA_IfcLightSourceSpot_HAS_SpreadAngle
+#define SCHEMA_IfcLightSourceSpot_HAS_BeamWidthAngle
+#define SCHEMA_HAS_IfcLine
+#define SCHEMA_IfcLine_HAS_Pnt
+#define SCHEMA_IfcLine_HAS_Dir
+#define SCHEMA_HAS_IfcLinearElement
+#define SCHEMA_HAS_IfcLinearPlacement
+#define SCHEMA_IfcLinearPlacement_HAS_RelativePlacement
+#define SCHEMA_IfcLinearPlacement_HAS_CartesianPosition
+#define SCHEMA_IfcLinearPlacement_CartesianPosition_IS_OPTIONAL
+#define SCHEMA_HAS_IfcLinearPositioningElement
+#define SCHEMA_HAS_IfcLiquidTerminal
+#define SCHEMA_IfcLiquidTerminal_HAS_PredefinedType
+#define SCHEMA_IfcLiquidTerminal_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcLiquidTerminalType
+#define SCHEMA_IfcLiquidTerminalType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcLocalPlacement
+#define SCHEMA_IfcLocalPlacement_HAS_RelativePlacement
+#define SCHEMA_HAS_IfcLoop
+#define SCHEMA_HAS_IfcManifoldSolidBrep
+#define SCHEMA_IfcManifoldSolidBrep_HAS_Outer
+#define SCHEMA_HAS_IfcMapConversion
+#define SCHEMA_IfcMapConversion_HAS_Eastings
+#define SCHEMA_IfcMapConversion_HAS_Northings
+#define SCHEMA_IfcMapConversion_HAS_OrthogonalHeight
+#define SCHEMA_IfcMapConversion_HAS_XAxisAbscissa
+#define SCHEMA_IfcMapConversion_XAxisAbscissa_IS_OPTIONAL
+#define SCHEMA_IfcMapConversion_HAS_XAxisOrdinate
+#define SCHEMA_IfcMapConversion_XAxisOrdinate_IS_OPTIONAL
+#define SCHEMA_IfcMapConversion_HAS_Scale
+#define SCHEMA_IfcMapConversion_Scale_IS_OPTIONAL
+#define SCHEMA_HAS_IfcMapConversionScaled
+#define SCHEMA_IfcMapConversionScaled_HAS_FactorX
+#define SCHEMA_IfcMapConversionScaled_HAS_FactorY
+#define SCHEMA_IfcMapConversionScaled_HAS_FactorZ
+#define SCHEMA_HAS_IfcMappedItem
+#define SCHEMA_IfcMappedItem_HAS_MappingSource
+#define SCHEMA_IfcMappedItem_HAS_MappingTarget
+#define SCHEMA_HAS_IfcMarineFacility
+#define SCHEMA_IfcMarineFacility_HAS_PredefinedType
+#define SCHEMA_IfcMarineFacility_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcMarinePart
+#define SCHEMA_IfcMarinePart_HAS_PredefinedType
+#define SCHEMA_IfcMarinePart_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcMaterial
+#define SCHEMA_IfcMaterial_HAS_Name
+#define SCHEMA_IfcMaterial_HAS_Description
+#define SCHEMA_IfcMaterial_Description_IS_OPTIONAL
+#define SCHEMA_IfcMaterial_HAS_Category
+#define SCHEMA_IfcMaterial_Category_IS_OPTIONAL
+#define SCHEMA_IfcMaterial_HAS_HasRepresentation
+#define SCHEMA_IfcMaterial_HAS_IsRelatedWith
+#define SCHEMA_IfcMaterial_HAS_RelatesTo
+#define SCHEMA_HAS_IfcMaterialClassificationRelationship
+#define SCHEMA_IfcMaterialClassificationRelationship_HAS_MaterialClassifications
+#define SCHEMA_IfcMaterialClassificationRelationship_HAS_ClassifiedMaterial
+#define SCHEMA_HAS_IfcMaterialConstituent
+#define SCHEMA_IfcMaterialConstituent_HAS_Name
+#define SCHEMA_IfcMaterialConstituent_Name_IS_OPTIONAL
+#define SCHEMA_IfcMaterialConstituent_HAS_Description
+#define SCHEMA_IfcMaterialConstituent_Description_IS_OPTIONAL
+#define SCHEMA_IfcMaterialConstituent_HAS_Material
+#define SCHEMA_IfcMaterialConstituent_HAS_Fraction
+#define SCHEMA_IfcMaterialConstituent_Fraction_IS_OPTIONAL
+#define SCHEMA_IfcMaterialConstituent_HAS_Category
+#define SCHEMA_IfcMaterialConstituent_Category_IS_OPTIONAL
+#define SCHEMA_IfcMaterialConstituent_HAS_ToMaterialConstituentSet
+#define SCHEMA_HAS_IfcMaterialConstituentSet
+#define SCHEMA_IfcMaterialConstituentSet_HAS_Name
+#define SCHEMA_IfcMaterialConstituentSet_Name_IS_OPTIONAL
+#define SCHEMA_IfcMaterialConstituentSet_HAS_Description
+#define SCHEMA_IfcMaterialConstituentSet_Description_IS_OPTIONAL
+#define SCHEMA_IfcMaterialConstituentSet_HAS_MaterialConstituents
+#define SCHEMA_IfcMaterialConstituentSet_MaterialConstituents_IS_OPTIONAL
+#define SCHEMA_HAS_IfcMaterialDefinition
+#define SCHEMA_IfcMaterialDefinition_HAS_AssociatedTo
+#define SCHEMA_IfcMaterialDefinition_HAS_HasExternalReferences
+#define SCHEMA_IfcMaterialDefinition_HAS_HasProperties
+#define SCHEMA_HAS_IfcMaterialDefinitionRepresentation
+#define SCHEMA_IfcMaterialDefinitionRepresentation_HAS_RepresentedMaterial
+#define SCHEMA_HAS_IfcMaterialLayer
+#define SCHEMA_IfcMaterialLayer_HAS_Material
+#define SCHEMA_IfcMaterialLayer_Material_IS_OPTIONAL
+#define SCHEMA_IfcMaterialLayer_HAS_LayerThickness
+#define SCHEMA_IfcMaterialLayer_HAS_IsVentilated
+#define SCHEMA_IfcMaterialLayer_IsVentilated_IS_OPTIONAL
+#define SCHEMA_IfcMaterialLayer_HAS_Name
+#define SCHEMA_IfcMaterialLayer_Name_IS_OPTIONAL
+#define SCHEMA_IfcMaterialLayer_HAS_Description
+#define SCHEMA_IfcMaterialLayer_Description_IS_OPTIONAL
+#define SCHEMA_IfcMaterialLayer_HAS_Category
+#define SCHEMA_IfcMaterialLayer_Category_IS_OPTIONAL
+#define SCHEMA_IfcMaterialLayer_HAS_Priority
+#define SCHEMA_IfcMaterialLayer_Priority_IS_OPTIONAL
+#define SCHEMA_IfcMaterialLayer_HAS_ToMaterialLayerSet
+#define SCHEMA_HAS_IfcMaterialLayerSet
+#define SCHEMA_IfcMaterialLayerSet_HAS_MaterialLayers
+#define SCHEMA_IfcMaterialLayerSet_HAS_LayerSetName
+#define SCHEMA_IfcMaterialLayerSet_LayerSetName_IS_OPTIONAL
+#define SCHEMA_IfcMaterialLayerSet_HAS_Description
+#define SCHEMA_IfcMaterialLayerSet_Description_IS_OPTIONAL
+#define SCHEMA_HAS_IfcMaterialLayerSetUsage
+#define SCHEMA_IfcMaterialLayerSetUsage_HAS_ForLayerSet
+#define SCHEMA_IfcMaterialLayerSetUsage_HAS_LayerSetDirection
+#define SCHEMA_IfcMaterialLayerSetUsage_HAS_DirectionSense
+#define SCHEMA_IfcMaterialLayerSetUsage_HAS_OffsetFromReferenceLine
+#define SCHEMA_IfcMaterialLayerSetUsage_HAS_ReferenceExtent
+#define SCHEMA_IfcMaterialLayerSetUsage_ReferenceExtent_IS_OPTIONAL
+#define SCHEMA_HAS_IfcMaterialLayerWithOffsets
+#define SCHEMA_IfcMaterialLayerWithOffsets_HAS_OffsetDirection
+#define SCHEMA_IfcMaterialLayerWithOffsets_HAS_OffsetValues
+#define SCHEMA_HAS_IfcMaterialList
+#define SCHEMA_IfcMaterialList_HAS_Materials
+#define SCHEMA_HAS_IfcMaterialProfile
+#define SCHEMA_IfcMaterialProfile_HAS_Name
+#define SCHEMA_IfcMaterialProfile_Name_IS_OPTIONAL
+#define SCHEMA_IfcMaterialProfile_HAS_Description
+#define SCHEMA_IfcMaterialProfile_Description_IS_OPTIONAL
+#define SCHEMA_IfcMaterialProfile_HAS_Material
+#define SCHEMA_IfcMaterialProfile_Material_IS_OPTIONAL
+#define SCHEMA_IfcMaterialProfile_HAS_Profile
+#define SCHEMA_IfcMaterialProfile_HAS_Priority
+#define SCHEMA_IfcMaterialProfile_Priority_IS_OPTIONAL
+#define SCHEMA_IfcMaterialProfile_HAS_Category
+#define SCHEMA_IfcMaterialProfile_Category_IS_OPTIONAL
+#define SCHEMA_IfcMaterialProfile_HAS_ToMaterialProfileSet
+#define SCHEMA_HAS_IfcMaterialProfileSet
+#define SCHEMA_IfcMaterialProfileSet_HAS_Name
+#define SCHEMA_IfcMaterialProfileSet_Name_IS_OPTIONAL
+#define SCHEMA_IfcMaterialProfileSet_HAS_Description
+#define SCHEMA_IfcMaterialProfileSet_Description_IS_OPTIONAL
+#define SCHEMA_IfcMaterialProfileSet_HAS_MaterialProfiles
+#define SCHEMA_IfcMaterialProfileSet_HAS_CompositeProfile
+#define SCHEMA_IfcMaterialProfileSet_CompositeProfile_IS_OPTIONAL
+#define SCHEMA_HAS_IfcMaterialProfileSetUsage
+#define SCHEMA_IfcMaterialProfileSetUsage_HAS_ForProfileSet
+#define SCHEMA_IfcMaterialProfileSetUsage_HAS_CardinalPoint
+#define SCHEMA_IfcMaterialProfileSetUsage_CardinalPoint_IS_OPTIONAL
+#define SCHEMA_IfcMaterialProfileSetUsage_HAS_ReferenceExtent
+#define SCHEMA_IfcMaterialProfileSetUsage_ReferenceExtent_IS_OPTIONAL
+#define SCHEMA_HAS_IfcMaterialProfileSetUsageTapering
+#define SCHEMA_IfcMaterialProfileSetUsageTapering_HAS_ForProfileEndSet
+#define SCHEMA_IfcMaterialProfileSetUsageTapering_HAS_CardinalEndPoint
+#define SCHEMA_IfcMaterialProfileSetUsageTapering_CardinalEndPoint_IS_OPTIONAL
+#define SCHEMA_HAS_IfcMaterialProfileWithOffsets
+#define SCHEMA_IfcMaterialProfileWithOffsets_HAS_OffsetValues
+#define SCHEMA_HAS_IfcMaterialProperties
+#define SCHEMA_IfcMaterialProperties_HAS_Material
+#define SCHEMA_HAS_IfcMaterialRelationship
+#define SCHEMA_IfcMaterialRelationship_HAS_RelatingMaterial
+#define SCHEMA_IfcMaterialRelationship_HAS_RelatedMaterials
+#define SCHEMA_IfcMaterialRelationship_HAS_MaterialExpression
+#define SCHEMA_IfcMaterialRelationship_MaterialExpression_IS_OPTIONAL
+#define SCHEMA_HAS_IfcMaterialUsageDefinition
+#define SCHEMA_IfcMaterialUsageDefinition_HAS_AssociatedTo
+#define SCHEMA_HAS_IfcMeasureWithUnit
+#define SCHEMA_IfcMeasureWithUnit_HAS_ValueComponent
+#define SCHEMA_IfcMeasureWithUnit_HAS_UnitComponent
+#define SCHEMA_HAS_IfcMechanicalFastener
+#define SCHEMA_IfcMechanicalFastener_HAS_NominalDiameter
+#define SCHEMA_IfcMechanicalFastener_NominalDiameter_IS_OPTIONAL
+#define SCHEMA_IfcMechanicalFastener_HAS_NominalLength
+#define SCHEMA_IfcMechanicalFastener_NominalLength_IS_OPTIONAL
+#define SCHEMA_IfcMechanicalFastener_HAS_PredefinedType
+#define SCHEMA_IfcMechanicalFastener_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcMechanicalFastenerType
+#define SCHEMA_IfcMechanicalFastenerType_HAS_PredefinedType
+#define SCHEMA_IfcMechanicalFastenerType_HAS_NominalDiameter
+#define SCHEMA_IfcMechanicalFastenerType_NominalDiameter_IS_OPTIONAL
+#define SCHEMA_IfcMechanicalFastenerType_HAS_NominalLength
+#define SCHEMA_IfcMechanicalFastenerType_NominalLength_IS_OPTIONAL
+#define SCHEMA_HAS_IfcMedicalDevice
+#define SCHEMA_IfcMedicalDevice_HAS_PredefinedType
+#define SCHEMA_IfcMedicalDevice_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcMedicalDeviceType
+#define SCHEMA_IfcMedicalDeviceType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcMember
+#define SCHEMA_IfcMember_HAS_PredefinedType
+#define SCHEMA_IfcMember_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcMemberType
+#define SCHEMA_IfcMemberType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcMetric
+#define SCHEMA_IfcMetric_HAS_Benchmark
+#define SCHEMA_IfcMetric_HAS_ValueSource
+#define SCHEMA_IfcMetric_ValueSource_IS_OPTIONAL
+#define SCHEMA_IfcMetric_HAS_DataValue
+#define SCHEMA_IfcMetric_DataValue_IS_OPTIONAL
+#define SCHEMA_IfcMetric_HAS_ReferencePath
+#define SCHEMA_IfcMetric_ReferencePath_IS_OPTIONAL
+#define SCHEMA_HAS_IfcMirroredProfileDef
+#define SCHEMA_HAS_IfcMobileTelecommunicationsAppliance
+#define SCHEMA_IfcMobileTelecommunicationsAppliance_HAS_PredefinedType
+#define SCHEMA_IfcMobileTelecommunicationsAppliance_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcMobileTelecommunicationsApplianceType
+#define SCHEMA_IfcMobileTelecommunicationsApplianceType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcMonetaryUnit
+#define SCHEMA_IfcMonetaryUnit_HAS_Currency
+#define SCHEMA_HAS_IfcMooringDevice
+#define SCHEMA_IfcMooringDevice_HAS_PredefinedType
+#define SCHEMA_IfcMooringDevice_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcMooringDeviceType
+#define SCHEMA_IfcMooringDeviceType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcMotorConnection
+#define SCHEMA_IfcMotorConnection_HAS_PredefinedType
+#define SCHEMA_IfcMotorConnection_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcMotorConnectionType
+#define SCHEMA_IfcMotorConnectionType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcNamedUnit
+#define SCHEMA_IfcNamedUnit_HAS_Dimensions
+#define SCHEMA_IfcNamedUnit_HAS_UnitType
+#define SCHEMA_HAS_IfcNavigationElement
+#define SCHEMA_IfcNavigationElement_HAS_PredefinedType
+#define SCHEMA_IfcNavigationElement_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcNavigationElementType
+#define SCHEMA_IfcNavigationElementType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcObject
+#define SCHEMA_IfcObject_HAS_ObjectType
+#define SCHEMA_IfcObject_ObjectType_IS_OPTIONAL
+#define SCHEMA_IfcObject_HAS_IsDeclaredBy
+#define SCHEMA_IfcObject_HAS_Declares
+#define SCHEMA_IfcObject_HAS_IsTypedBy
+#define SCHEMA_IfcObject_HAS_IsDefinedBy
+#define SCHEMA_HAS_IfcObjectDefinition
+#define SCHEMA_IfcObjectDefinition_HAS_HasAssignments
+#define SCHEMA_IfcObjectDefinition_HAS_Nests
+#define SCHEMA_IfcObjectDefinition_HAS_IsNestedBy
+#define SCHEMA_IfcObjectDefinition_HAS_HasContext
+#define SCHEMA_IfcObjectDefinition_HAS_IsDecomposedBy
+#define SCHEMA_IfcObjectDefinition_HAS_Decomposes
+#define SCHEMA_IfcObjectDefinition_HAS_HasAssociations
+#define SCHEMA_HAS_IfcObjectPlacement
+#define SCHEMA_IfcObjectPlacement_HAS_PlacementRelTo
+#define SCHEMA_IfcObjectPlacement_PlacementRelTo_IS_OPTIONAL
+#define SCHEMA_IfcObjectPlacement_HAS_PlacesObject
+#define SCHEMA_IfcObjectPlacement_HAS_ReferencedByPlacements
+#define SCHEMA_HAS_IfcObjective
+#define SCHEMA_IfcObjective_HAS_BenchmarkValues
+#define SCHEMA_IfcObjective_BenchmarkValues_IS_OPTIONAL
+#define SCHEMA_IfcObjective_HAS_LogicalAggregator
+#define SCHEMA_IfcObjective_LogicalAggregator_IS_OPTIONAL
+#define SCHEMA_IfcObjective_HAS_ObjectiveQualifier
+#define SCHEMA_IfcObjective_HAS_UserDefinedQualifier
+#define SCHEMA_IfcObjective_UserDefinedQualifier_IS_OPTIONAL
+#define SCHEMA_HAS_IfcOccupant
+#define SCHEMA_IfcOccupant_HAS_PredefinedType
+#define SCHEMA_IfcOccupant_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcOffsetCurve
+#define SCHEMA_IfcOffsetCurve_HAS_BasisCurve
+#define SCHEMA_HAS_IfcOffsetCurve2D
+#define SCHEMA_IfcOffsetCurve2D_HAS_Distance
+#define SCHEMA_IfcOffsetCurve2D_HAS_SelfIntersect
+#define SCHEMA_HAS_IfcOffsetCurve3D
+#define SCHEMA_IfcOffsetCurve3D_HAS_Distance
+#define SCHEMA_IfcOffsetCurve3D_HAS_SelfIntersect
+#define SCHEMA_IfcOffsetCurve3D_HAS_RefDirection
+#define SCHEMA_HAS_IfcOffsetCurveByDistances
+#define SCHEMA_IfcOffsetCurveByDistances_HAS_OffsetValues
+#define SCHEMA_IfcOffsetCurveByDistances_HAS_Tag
+#define SCHEMA_IfcOffsetCurveByDistances_Tag_IS_OPTIONAL
+#define SCHEMA_HAS_IfcOpenCrossProfileDef
+#define SCHEMA_IfcOpenCrossProfileDef_HAS_HorizontalWidths
+#define SCHEMA_IfcOpenCrossProfileDef_HAS_Widths
+#define SCHEMA_IfcOpenCrossProfileDef_HAS_Slopes
+#define SCHEMA_IfcOpenCrossProfileDef_HAS_Tags
+#define SCHEMA_IfcOpenCrossProfileDef_Tags_IS_OPTIONAL
+#define SCHEMA_IfcOpenCrossProfileDef_HAS_OffsetPoint
+#define SCHEMA_IfcOpenCrossProfileDef_OffsetPoint_IS_OPTIONAL
+#define SCHEMA_HAS_IfcOpenShell
+#define SCHEMA_HAS_IfcOpeningElement
+#define SCHEMA_IfcOpeningElement_HAS_PredefinedType
+#define SCHEMA_IfcOpeningElement_PredefinedType_IS_OPTIONAL
+#define SCHEMA_IfcOpeningElement_HAS_HasFillings
+#define SCHEMA_HAS_IfcOrganization
+#define SCHEMA_IfcOrganization_HAS_Identification
+#define SCHEMA_IfcOrganization_Identification_IS_OPTIONAL
+#define SCHEMA_IfcOrganization_HAS_Name
+#define SCHEMA_IfcOrganization_HAS_Description
+#define SCHEMA_IfcOrganization_Description_IS_OPTIONAL
+#define SCHEMA_IfcOrganization_HAS_Roles
+#define SCHEMA_IfcOrganization_Roles_IS_OPTIONAL
+#define SCHEMA_IfcOrganization_HAS_Addresses
+#define SCHEMA_IfcOrganization_Addresses_IS_OPTIONAL
+#define SCHEMA_IfcOrganization_HAS_IsRelatedBy
+#define SCHEMA_IfcOrganization_HAS_Relates
+#define SCHEMA_IfcOrganization_HAS_Engages
+#define SCHEMA_HAS_IfcOrganizationRelationship
+#define SCHEMA_IfcOrganizationRelationship_HAS_RelatingOrganization
+#define SCHEMA_IfcOrganizationRelationship_HAS_RelatedOrganizations
+#define SCHEMA_HAS_IfcOrientedEdge
+#define SCHEMA_IfcOrientedEdge_HAS_EdgeElement
+#define SCHEMA_IfcOrientedEdge_HAS_Orientation
+#define SCHEMA_HAS_IfcOuterBoundaryCurve
+#define SCHEMA_HAS_IfcOutlet
+#define SCHEMA_IfcOutlet_HAS_PredefinedType
+#define SCHEMA_IfcOutlet_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcOutletType
+#define SCHEMA_IfcOutletType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcOwnerHistory
+#define SCHEMA_IfcOwnerHistory_HAS_OwningUser
+#define SCHEMA_IfcOwnerHistory_HAS_OwningApplication
+#define SCHEMA_IfcOwnerHistory_HAS_State
+#define SCHEMA_IfcOwnerHistory_State_IS_OPTIONAL
+#define SCHEMA_IfcOwnerHistory_HAS_ChangeAction
+#define SCHEMA_IfcOwnerHistory_ChangeAction_IS_OPTIONAL
+#define SCHEMA_IfcOwnerHistory_HAS_LastModifiedDate
+#define SCHEMA_IfcOwnerHistory_LastModifiedDate_IS_OPTIONAL
+#define SCHEMA_IfcOwnerHistory_HAS_LastModifyingUser
+#define SCHEMA_IfcOwnerHistory_LastModifyingUser_IS_OPTIONAL
+#define SCHEMA_IfcOwnerHistory_HAS_LastModifyingApplication
+#define SCHEMA_IfcOwnerHistory_LastModifyingApplication_IS_OPTIONAL
+#define SCHEMA_IfcOwnerHistory_HAS_CreationDate
+#define SCHEMA_HAS_IfcParameterizedProfileDef
+#define SCHEMA_IfcParameterizedProfileDef_HAS_Position
+#define SCHEMA_IfcParameterizedProfileDef_Position_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPath
+#define SCHEMA_IfcPath_HAS_EdgeList
+#define SCHEMA_HAS_IfcPavement
+#define SCHEMA_IfcPavement_HAS_PredefinedType
+#define SCHEMA_IfcPavement_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPavementType
+#define SCHEMA_IfcPavementType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcPcurve
+#define SCHEMA_IfcPcurve_HAS_BasisSurface
+#define SCHEMA_IfcPcurve_HAS_ReferenceCurve
+#define SCHEMA_HAS_IfcPerformanceHistory
+#define SCHEMA_IfcPerformanceHistory_HAS_LifeCyclePhase
+#define SCHEMA_IfcPerformanceHistory_HAS_PredefinedType
+#define SCHEMA_IfcPerformanceHistory_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPermeableCoveringProperties
+#define SCHEMA_IfcPermeableCoveringProperties_HAS_OperationType
+#define SCHEMA_IfcPermeableCoveringProperties_HAS_PanelPosition
+#define SCHEMA_IfcPermeableCoveringProperties_HAS_FrameDepth
+#define SCHEMA_IfcPermeableCoveringProperties_FrameDepth_IS_OPTIONAL
+#define SCHEMA_IfcPermeableCoveringProperties_HAS_FrameThickness
+#define SCHEMA_IfcPermeableCoveringProperties_FrameThickness_IS_OPTIONAL
+#define SCHEMA_IfcPermeableCoveringProperties_HAS_ShapeAspectStyle
+#define SCHEMA_IfcPermeableCoveringProperties_ShapeAspectStyle_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPermit
+#define SCHEMA_IfcPermit_HAS_PredefinedType
+#define SCHEMA_IfcPermit_PredefinedType_IS_OPTIONAL
+#define SCHEMA_IfcPermit_HAS_Status
+#define SCHEMA_IfcPermit_Status_IS_OPTIONAL
+#define SCHEMA_IfcPermit_HAS_LongDescription
+#define SCHEMA_IfcPermit_LongDescription_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPerson
+#define SCHEMA_IfcPerson_HAS_Identification
+#define SCHEMA_IfcPerson_Identification_IS_OPTIONAL
+#define SCHEMA_IfcPerson_HAS_FamilyName
+#define SCHEMA_IfcPerson_FamilyName_IS_OPTIONAL
+#define SCHEMA_IfcPerson_HAS_GivenName
+#define SCHEMA_IfcPerson_GivenName_IS_OPTIONAL
+#define SCHEMA_IfcPerson_HAS_MiddleNames
+#define SCHEMA_IfcPerson_MiddleNames_IS_OPTIONAL
+#define SCHEMA_IfcPerson_HAS_PrefixTitles
+#define SCHEMA_IfcPerson_PrefixTitles_IS_OPTIONAL
+#define SCHEMA_IfcPerson_HAS_SuffixTitles
+#define SCHEMA_IfcPerson_SuffixTitles_IS_OPTIONAL
+#define SCHEMA_IfcPerson_HAS_Roles
+#define SCHEMA_IfcPerson_Roles_IS_OPTIONAL
+#define SCHEMA_IfcPerson_HAS_Addresses
+#define SCHEMA_IfcPerson_Addresses_IS_OPTIONAL
+#define SCHEMA_IfcPerson_HAS_EngagedIn
+#define SCHEMA_HAS_IfcPersonAndOrganization
+#define SCHEMA_IfcPersonAndOrganization_HAS_ThePerson
+#define SCHEMA_IfcPersonAndOrganization_HAS_TheOrganization
+#define SCHEMA_IfcPersonAndOrganization_HAS_Roles
+#define SCHEMA_IfcPersonAndOrganization_Roles_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPhysicalComplexQuantity
+#define SCHEMA_IfcPhysicalComplexQuantity_HAS_HasQuantities
+#define SCHEMA_IfcPhysicalComplexQuantity_HAS_Discrimination
+#define SCHEMA_IfcPhysicalComplexQuantity_HAS_Quality
+#define SCHEMA_IfcPhysicalComplexQuantity_Quality_IS_OPTIONAL
+#define SCHEMA_IfcPhysicalComplexQuantity_HAS_Usage
+#define SCHEMA_IfcPhysicalComplexQuantity_Usage_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPhysicalQuantity
+#define SCHEMA_IfcPhysicalQuantity_HAS_Name
+#define SCHEMA_IfcPhysicalQuantity_HAS_Description
+#define SCHEMA_IfcPhysicalQuantity_Description_IS_OPTIONAL
+#define SCHEMA_IfcPhysicalQuantity_HAS_HasExternalReferences
+#define SCHEMA_IfcPhysicalQuantity_HAS_PartOfComplex
+#define SCHEMA_HAS_IfcPhysicalSimpleQuantity
+#define SCHEMA_IfcPhysicalSimpleQuantity_HAS_Unit
+#define SCHEMA_IfcPhysicalSimpleQuantity_Unit_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPile
+#define SCHEMA_IfcPile_HAS_PredefinedType
+#define SCHEMA_IfcPile_PredefinedType_IS_OPTIONAL
+#define SCHEMA_IfcPile_HAS_ConstructionType
+#define SCHEMA_IfcPile_ConstructionType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPileType
+#define SCHEMA_IfcPileType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcPipeFitting
+#define SCHEMA_IfcPipeFitting_HAS_PredefinedType
+#define SCHEMA_IfcPipeFitting_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPipeFittingType
+#define SCHEMA_IfcPipeFittingType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcPipeSegment
+#define SCHEMA_IfcPipeSegment_HAS_PredefinedType
+#define SCHEMA_IfcPipeSegment_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPipeSegmentType
+#define SCHEMA_IfcPipeSegmentType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcPixelTexture
+#define SCHEMA_IfcPixelTexture_HAS_Width
+#define SCHEMA_IfcPixelTexture_HAS_Height
+#define SCHEMA_IfcPixelTexture_HAS_ColourComponents
+#define SCHEMA_IfcPixelTexture_HAS_Pixel
+#define SCHEMA_HAS_IfcPlacement
+#define SCHEMA_IfcPlacement_HAS_Location
+#define SCHEMA_HAS_IfcPlanarBox
+#define SCHEMA_IfcPlanarBox_HAS_Placement
+#define SCHEMA_HAS_IfcPlanarExtent
+#define SCHEMA_IfcPlanarExtent_HAS_SizeInX
+#define SCHEMA_IfcPlanarExtent_HAS_SizeInY
+#define SCHEMA_HAS_IfcPlane
+#define SCHEMA_HAS_IfcPlate
+#define SCHEMA_IfcPlate_HAS_PredefinedType
+#define SCHEMA_IfcPlate_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPlateType
+#define SCHEMA_IfcPlateType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcPoint
+#define SCHEMA_HAS_IfcPointByDistanceExpression
+#define SCHEMA_IfcPointByDistanceExpression_HAS_DistanceAlong
+#define SCHEMA_IfcPointByDistanceExpression_HAS_OffsetLateral
+#define SCHEMA_IfcPointByDistanceExpression_OffsetLateral_IS_OPTIONAL
+#define SCHEMA_IfcPointByDistanceExpression_HAS_OffsetVertical
+#define SCHEMA_IfcPointByDistanceExpression_OffsetVertical_IS_OPTIONAL
+#define SCHEMA_IfcPointByDistanceExpression_HAS_OffsetLongitudinal
+#define SCHEMA_IfcPointByDistanceExpression_OffsetLongitudinal_IS_OPTIONAL
+#define SCHEMA_IfcPointByDistanceExpression_HAS_BasisCurve
+#define SCHEMA_HAS_IfcPointOnCurve
+#define SCHEMA_IfcPointOnCurve_HAS_BasisCurve
+#define SCHEMA_IfcPointOnCurve_HAS_PointParameter
+#define SCHEMA_HAS_IfcPointOnSurface
+#define SCHEMA_IfcPointOnSurface_HAS_BasisSurface
+#define SCHEMA_IfcPointOnSurface_HAS_PointParameterU
+#define SCHEMA_IfcPointOnSurface_HAS_PointParameterV
+#define SCHEMA_HAS_IfcPolyLoop
+#define SCHEMA_IfcPolyLoop_HAS_Polygon
+#define SCHEMA_HAS_IfcPolygonalBoundedHalfSpace
+#define SCHEMA_IfcPolygonalBoundedHalfSpace_HAS_Position
+#define SCHEMA_IfcPolygonalBoundedHalfSpace_HAS_PolygonalBoundary
+#define SCHEMA_HAS_IfcPolygonalFaceSet
+#define SCHEMA_IfcPolygonalFaceSet_HAS_Closed
+#define SCHEMA_IfcPolygonalFaceSet_Closed_IS_OPTIONAL
+#define SCHEMA_IfcPolygonalFaceSet_HAS_Faces
+#define SCHEMA_IfcPolygonalFaceSet_HAS_PnIndex
+#define SCHEMA_IfcPolygonalFaceSet_PnIndex_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPolyline
+#define SCHEMA_IfcPolyline_HAS_Points
+#define SCHEMA_HAS_IfcPolynomialCurve
+#define SCHEMA_IfcPolynomialCurve_HAS_Position
+#define SCHEMA_IfcPolynomialCurve_HAS_CoefficientsX
+#define SCHEMA_IfcPolynomialCurve_CoefficientsX_IS_OPTIONAL
+#define SCHEMA_IfcPolynomialCurve_HAS_CoefficientsY
+#define SCHEMA_IfcPolynomialCurve_CoefficientsY_IS_OPTIONAL
+#define SCHEMA_IfcPolynomialCurve_HAS_CoefficientsZ
+#define SCHEMA_IfcPolynomialCurve_CoefficientsZ_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPort
+#define SCHEMA_IfcPort_HAS_ContainedIn
+#define SCHEMA_IfcPort_HAS_ConnectedFrom
+#define SCHEMA_IfcPort_HAS_ConnectedTo
+#define SCHEMA_HAS_IfcPositioningElement
+#define SCHEMA_IfcPositioningElement_HAS_ContainedInStructure
+#define SCHEMA_IfcPositioningElement_HAS_Positions
+#define SCHEMA_HAS_IfcPostalAddress
+#define SCHEMA_IfcPostalAddress_HAS_InternalLocation
+#define SCHEMA_IfcPostalAddress_InternalLocation_IS_OPTIONAL
+#define SCHEMA_IfcPostalAddress_HAS_AddressLines
+#define SCHEMA_IfcPostalAddress_AddressLines_IS_OPTIONAL
+#define SCHEMA_IfcPostalAddress_HAS_PostalBox
+#define SCHEMA_IfcPostalAddress_PostalBox_IS_OPTIONAL
+#define SCHEMA_IfcPostalAddress_HAS_Town
+#define SCHEMA_IfcPostalAddress_Town_IS_OPTIONAL
+#define SCHEMA_IfcPostalAddress_HAS_Region
+#define SCHEMA_IfcPostalAddress_Region_IS_OPTIONAL
+#define SCHEMA_IfcPostalAddress_HAS_PostalCode
+#define SCHEMA_IfcPostalAddress_PostalCode_IS_OPTIONAL
+#define SCHEMA_IfcPostalAddress_HAS_Country
+#define SCHEMA_IfcPostalAddress_Country_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPreDefinedColour
+#define SCHEMA_HAS_IfcPreDefinedCurveFont
+#define SCHEMA_HAS_IfcPreDefinedItem
+#define SCHEMA_IfcPreDefinedItem_HAS_Name
+#define SCHEMA_HAS_IfcPreDefinedProperties
+#define SCHEMA_HAS_IfcPreDefinedPropertySet
+#define SCHEMA_HAS_IfcPreDefinedTextFont
+#define SCHEMA_HAS_IfcPresentationItem
+#define SCHEMA_HAS_IfcPresentationLayerAssignment
+#define SCHEMA_IfcPresentationLayerAssignment_HAS_Name
+#define SCHEMA_IfcPresentationLayerAssignment_HAS_Description
+#define SCHEMA_IfcPresentationLayerAssignment_Description_IS_OPTIONAL
+#define SCHEMA_IfcPresentationLayerAssignment_HAS_AssignedItems
+#define SCHEMA_IfcPresentationLayerAssignment_HAS_Identifier
+#define SCHEMA_IfcPresentationLayerAssignment_Identifier_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPresentationLayerWithStyle
+#define SCHEMA_IfcPresentationLayerWithStyle_HAS_LayerOn
+#define SCHEMA_IfcPresentationLayerWithStyle_HAS_LayerFrozen
+#define SCHEMA_IfcPresentationLayerWithStyle_HAS_LayerBlocked
+#define SCHEMA_IfcPresentationLayerWithStyle_HAS_LayerStyles
+#define SCHEMA_HAS_IfcPresentationStyle
+#define SCHEMA_IfcPresentationStyle_HAS_Name
+#define SCHEMA_IfcPresentationStyle_Name_IS_OPTIONAL
+#define SCHEMA_HAS_IfcProcedure
+#define SCHEMA_IfcProcedure_HAS_PredefinedType
+#define SCHEMA_IfcProcedure_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcProcedureType
+#define SCHEMA_IfcProcedureType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcProcess
+#define SCHEMA_IfcProcess_HAS_Identification
+#define SCHEMA_IfcProcess_Identification_IS_OPTIONAL
+#define SCHEMA_IfcProcess_HAS_LongDescription
+#define SCHEMA_IfcProcess_LongDescription_IS_OPTIONAL
+#define SCHEMA_IfcProcess_HAS_IsPredecessorTo
+#define SCHEMA_IfcProcess_HAS_IsSuccessorFrom
+#define SCHEMA_IfcProcess_HAS_OperatesOn
+#define SCHEMA_HAS_IfcProduct
+#define SCHEMA_IfcProduct_HAS_ObjectPlacement
+#define SCHEMA_IfcProduct_ObjectPlacement_IS_OPTIONAL
+#define SCHEMA_IfcProduct_HAS_Representation
+#define SCHEMA_IfcProduct_Representation_IS_OPTIONAL
+#define SCHEMA_IfcProduct_HAS_ReferencedBy
+#define SCHEMA_IfcProduct_HAS_PositionedRelativeTo
+#define SCHEMA_IfcProduct_HAS_ReferencedInStructures
+#define SCHEMA_HAS_IfcProductDefinitionShape
+#define SCHEMA_IfcProductDefinitionShape_HAS_ShapeOfProduct
+#define SCHEMA_IfcProductDefinitionShape_HAS_HasShapeAspects
+#define SCHEMA_HAS_IfcProductRepresentation
+#define SCHEMA_IfcProductRepresentation_HAS_Name
+#define SCHEMA_IfcProductRepresentation_Name_IS_OPTIONAL
+#define SCHEMA_IfcProductRepresentation_HAS_Description
+#define SCHEMA_IfcProductRepresentation_Description_IS_OPTIONAL
+#define SCHEMA_IfcProductRepresentation_HAS_Representations
+#define SCHEMA_HAS_IfcProfileDef
+#define SCHEMA_IfcProfileDef_HAS_ProfileType
+#define SCHEMA_IfcProfileDef_HAS_ProfileName
+#define SCHEMA_IfcProfileDef_ProfileName_IS_OPTIONAL
+#define SCHEMA_IfcProfileDef_HAS_HasExternalReference
+#define SCHEMA_IfcProfileDef_HAS_HasProperties
+#define SCHEMA_HAS_IfcProfileProperties
+#define SCHEMA_IfcProfileProperties_HAS_ProfileDefinition
+#define SCHEMA_HAS_IfcProject
+#define SCHEMA_HAS_IfcProjectLibrary
+#define SCHEMA_HAS_IfcProjectOrder
+#define SCHEMA_IfcProjectOrder_HAS_PredefinedType
+#define SCHEMA_IfcProjectOrder_PredefinedType_IS_OPTIONAL
+#define SCHEMA_IfcProjectOrder_HAS_Status
+#define SCHEMA_IfcProjectOrder_Status_IS_OPTIONAL
+#define SCHEMA_IfcProjectOrder_HAS_LongDescription
+#define SCHEMA_IfcProjectOrder_LongDescription_IS_OPTIONAL
+#define SCHEMA_HAS_IfcProjectedCRS
+#define SCHEMA_IfcProjectedCRS_HAS_VerticalDatum
+#define SCHEMA_IfcProjectedCRS_VerticalDatum_IS_OPTIONAL
+#define SCHEMA_IfcProjectedCRS_HAS_MapProjection
+#define SCHEMA_IfcProjectedCRS_MapProjection_IS_OPTIONAL
+#define SCHEMA_IfcProjectedCRS_HAS_MapZone
+#define SCHEMA_IfcProjectedCRS_MapZone_IS_OPTIONAL
+#define SCHEMA_IfcProjectedCRS_HAS_MapUnit
+#define SCHEMA_IfcProjectedCRS_MapUnit_IS_OPTIONAL
+#define SCHEMA_HAS_IfcProjectionElement
+#define SCHEMA_IfcProjectionElement_HAS_PredefinedType
+#define SCHEMA_IfcProjectionElement_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcProperty
+#define SCHEMA_IfcProperty_HAS_Name
+#define SCHEMA_IfcProperty_HAS_Specification
+#define SCHEMA_IfcProperty_Specification_IS_OPTIONAL
+#define SCHEMA_IfcProperty_HAS_PartOfPset
+#define SCHEMA_IfcProperty_HAS_PropertyForDependance
+#define SCHEMA_IfcProperty_HAS_PropertyDependsOn
+#define SCHEMA_IfcProperty_HAS_PartOfComplex
+#define SCHEMA_IfcProperty_HAS_HasConstraints
+#define SCHEMA_IfcProperty_HAS_HasApprovals
+#define SCHEMA_HAS_IfcPropertyAbstraction
+#define SCHEMA_IfcPropertyAbstraction_HAS_HasExternalReferences
+#define SCHEMA_HAS_IfcPropertyBoundedValue
+#define SCHEMA_IfcPropertyBoundedValue_HAS_UpperBoundValue
+#define SCHEMA_IfcPropertyBoundedValue_UpperBoundValue_IS_OPTIONAL
+#define SCHEMA_IfcPropertyBoundedValue_HAS_LowerBoundValue
+#define SCHEMA_IfcPropertyBoundedValue_LowerBoundValue_IS_OPTIONAL
+#define SCHEMA_IfcPropertyBoundedValue_HAS_Unit
+#define SCHEMA_IfcPropertyBoundedValue_Unit_IS_OPTIONAL
+#define SCHEMA_IfcPropertyBoundedValue_HAS_SetPointValue
+#define SCHEMA_IfcPropertyBoundedValue_SetPointValue_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPropertyDefinition
+#define SCHEMA_IfcPropertyDefinition_HAS_HasContext
+#define SCHEMA_IfcPropertyDefinition_HAS_HasAssociations
+#define SCHEMA_HAS_IfcPropertyDependencyRelationship
+#define SCHEMA_IfcPropertyDependencyRelationship_HAS_DependingProperty
+#define SCHEMA_IfcPropertyDependencyRelationship_HAS_DependantProperty
+#define SCHEMA_IfcPropertyDependencyRelationship_HAS_Expression
+#define SCHEMA_IfcPropertyDependencyRelationship_Expression_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPropertyEnumeratedValue
+#define SCHEMA_IfcPropertyEnumeratedValue_HAS_EnumerationValues
+#define SCHEMA_IfcPropertyEnumeratedValue_EnumerationValues_IS_OPTIONAL
+#define SCHEMA_IfcPropertyEnumeratedValue_HAS_EnumerationReference
+#define SCHEMA_IfcPropertyEnumeratedValue_EnumerationReference_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPropertyEnumeration
+#define SCHEMA_IfcPropertyEnumeration_HAS_Name
+#define SCHEMA_IfcPropertyEnumeration_HAS_EnumerationValues
+#define SCHEMA_IfcPropertyEnumeration_HAS_Unit
+#define SCHEMA_IfcPropertyEnumeration_Unit_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPropertyListValue
+#define SCHEMA_IfcPropertyListValue_HAS_ListValues
+#define SCHEMA_IfcPropertyListValue_ListValues_IS_OPTIONAL
+#define SCHEMA_IfcPropertyListValue_HAS_Unit
+#define SCHEMA_IfcPropertyListValue_Unit_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPropertyReferenceValue
+#define SCHEMA_IfcPropertyReferenceValue_HAS_UsageName
+#define SCHEMA_IfcPropertyReferenceValue_UsageName_IS_OPTIONAL
+#define SCHEMA_IfcPropertyReferenceValue_HAS_PropertyReference
+#define SCHEMA_IfcPropertyReferenceValue_PropertyReference_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPropertySet
+#define SCHEMA_IfcPropertySet_HAS_HasProperties
+#define SCHEMA_HAS_IfcPropertySetDefinition
+#define SCHEMA_IfcPropertySetDefinition_HAS_DefinesType
+#define SCHEMA_IfcPropertySetDefinition_HAS_IsDefinedBy
+#define SCHEMA_IfcPropertySetDefinition_HAS_DefinesOccurrence
+#define SCHEMA_HAS_IfcPropertySetTemplate
+#define SCHEMA_IfcPropertySetTemplate_HAS_TemplateType
+#define SCHEMA_IfcPropertySetTemplate_TemplateType_IS_OPTIONAL
+#define SCHEMA_IfcPropertySetTemplate_HAS_ApplicableEntity
+#define SCHEMA_IfcPropertySetTemplate_ApplicableEntity_IS_OPTIONAL
+#define SCHEMA_IfcPropertySetTemplate_HAS_HasPropertyTemplates
+#define SCHEMA_IfcPropertySetTemplate_HAS_Defines
+#define SCHEMA_HAS_IfcPropertySingleValue
+#define SCHEMA_IfcPropertySingleValue_HAS_NominalValue
+#define SCHEMA_IfcPropertySingleValue_NominalValue_IS_OPTIONAL
+#define SCHEMA_IfcPropertySingleValue_HAS_Unit
+#define SCHEMA_IfcPropertySingleValue_Unit_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPropertyTableValue
+#define SCHEMA_IfcPropertyTableValue_HAS_DefiningValues
+#define SCHEMA_IfcPropertyTableValue_DefiningValues_IS_OPTIONAL
+#define SCHEMA_IfcPropertyTableValue_HAS_DefinedValues
+#define SCHEMA_IfcPropertyTableValue_DefinedValues_IS_OPTIONAL
+#define SCHEMA_IfcPropertyTableValue_HAS_Expression
+#define SCHEMA_IfcPropertyTableValue_Expression_IS_OPTIONAL
+#define SCHEMA_IfcPropertyTableValue_HAS_DefiningUnit
+#define SCHEMA_IfcPropertyTableValue_DefiningUnit_IS_OPTIONAL
+#define SCHEMA_IfcPropertyTableValue_HAS_DefinedUnit
+#define SCHEMA_IfcPropertyTableValue_DefinedUnit_IS_OPTIONAL
+#define SCHEMA_IfcPropertyTableValue_HAS_CurveInterpolation
+#define SCHEMA_IfcPropertyTableValue_CurveInterpolation_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPropertyTemplate
+#define SCHEMA_IfcPropertyTemplate_HAS_PartOfComplexTemplate
+#define SCHEMA_IfcPropertyTemplate_HAS_PartOfPsetTemplate
+#define SCHEMA_HAS_IfcPropertyTemplateDefinition
+#define SCHEMA_HAS_IfcProtectiveDevice
+#define SCHEMA_IfcProtectiveDevice_HAS_PredefinedType
+#define SCHEMA_IfcProtectiveDevice_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcProtectiveDeviceTrippingUnit
+#define SCHEMA_IfcProtectiveDeviceTrippingUnit_HAS_PredefinedType
+#define SCHEMA_IfcProtectiveDeviceTrippingUnit_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcProtectiveDeviceTrippingUnitType
+#define SCHEMA_IfcProtectiveDeviceTrippingUnitType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcProtectiveDeviceType
+#define SCHEMA_IfcProtectiveDeviceType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcPump
+#define SCHEMA_IfcPump_HAS_PredefinedType
+#define SCHEMA_IfcPump_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPumpType
+#define SCHEMA_IfcPumpType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcQuantityArea
+#define SCHEMA_IfcQuantityArea_HAS_AreaValue
+#define SCHEMA_IfcQuantityArea_HAS_Formula
+#define SCHEMA_IfcQuantityArea_Formula_IS_OPTIONAL
+#define SCHEMA_HAS_IfcQuantityCount
+#define SCHEMA_IfcQuantityCount_HAS_CountValue
+#define SCHEMA_IfcQuantityCount_HAS_Formula
+#define SCHEMA_IfcQuantityCount_Formula_IS_OPTIONAL
+#define SCHEMA_HAS_IfcQuantityLength
+#define SCHEMA_IfcQuantityLength_HAS_LengthValue
+#define SCHEMA_IfcQuantityLength_HAS_Formula
+#define SCHEMA_IfcQuantityLength_Formula_IS_OPTIONAL
+#define SCHEMA_HAS_IfcQuantityNumber
+#define SCHEMA_IfcQuantityNumber_HAS_NumberValue
+#define SCHEMA_IfcQuantityNumber_HAS_Formula
+#define SCHEMA_IfcQuantityNumber_Formula_IS_OPTIONAL
+#define SCHEMA_HAS_IfcQuantitySet
+#define SCHEMA_HAS_IfcQuantityTime
+#define SCHEMA_IfcQuantityTime_HAS_TimeValue
+#define SCHEMA_IfcQuantityTime_HAS_Formula
+#define SCHEMA_IfcQuantityTime_Formula_IS_OPTIONAL
+#define SCHEMA_HAS_IfcQuantityVolume
+#define SCHEMA_IfcQuantityVolume_HAS_VolumeValue
+#define SCHEMA_IfcQuantityVolume_HAS_Formula
+#define SCHEMA_IfcQuantityVolume_Formula_IS_OPTIONAL
+#define SCHEMA_HAS_IfcQuantityWeight
+#define SCHEMA_IfcQuantityWeight_HAS_WeightValue
+#define SCHEMA_IfcQuantityWeight_HAS_Formula
+#define SCHEMA_IfcQuantityWeight_Formula_IS_OPTIONAL
+#define SCHEMA_HAS_IfcRail
+#define SCHEMA_IfcRail_HAS_PredefinedType
+#define SCHEMA_IfcRail_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcRailType
+#define SCHEMA_IfcRailType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcRailing
+#define SCHEMA_IfcRailing_HAS_PredefinedType
+#define SCHEMA_IfcRailing_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcRailingType
+#define SCHEMA_IfcRailingType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcRailway
+#define SCHEMA_IfcRailway_HAS_PredefinedType
+#define SCHEMA_IfcRailway_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcRailwayPart
+#define SCHEMA_IfcRailwayPart_HAS_PredefinedType
+#define SCHEMA_IfcRailwayPart_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcRamp
+#define SCHEMA_IfcRamp_HAS_PredefinedType
+#define SCHEMA_IfcRamp_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcRampFlight
+#define SCHEMA_IfcRampFlight_HAS_PredefinedType
+#define SCHEMA_IfcRampFlight_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcRampFlightType
+#define SCHEMA_IfcRampFlightType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcRampType
+#define SCHEMA_IfcRampType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcRationalBSplineCurveWithKnots
+#define SCHEMA_IfcRationalBSplineCurveWithKnots_HAS_WeightsData
+#define SCHEMA_HAS_IfcRationalBSplineSurfaceWithKnots
+#define SCHEMA_IfcRationalBSplineSurfaceWithKnots_HAS_WeightsData
+#define SCHEMA_HAS_IfcRectangleHollowProfileDef
+#define SCHEMA_IfcRectangleHollowProfileDef_HAS_WallThickness
+#define SCHEMA_IfcRectangleHollowProfileDef_HAS_InnerFilletRadius
+#define SCHEMA_IfcRectangleHollowProfileDef_InnerFilletRadius_IS_OPTIONAL
+#define SCHEMA_IfcRectangleHollowProfileDef_HAS_OuterFilletRadius
+#define SCHEMA_IfcRectangleHollowProfileDef_OuterFilletRadius_IS_OPTIONAL
+#define SCHEMA_HAS_IfcRectangleProfileDef
+#define SCHEMA_IfcRectangleProfileDef_HAS_XDim
+#define SCHEMA_IfcRectangleProfileDef_HAS_YDim
+#define SCHEMA_HAS_IfcRectangularPyramid
+#define SCHEMA_IfcRectangularPyramid_HAS_XLength
+#define SCHEMA_IfcRectangularPyramid_HAS_YLength
+#define SCHEMA_IfcRectangularPyramid_HAS_Height
+#define SCHEMA_HAS_IfcRectangularTrimmedSurface
+#define SCHEMA_IfcRectangularTrimmedSurface_HAS_BasisSurface
+#define SCHEMA_IfcRectangularTrimmedSurface_HAS_U1
+#define SCHEMA_IfcRectangularTrimmedSurface_HAS_V1
+#define SCHEMA_IfcRectangularTrimmedSurface_HAS_U2
+#define SCHEMA_IfcRectangularTrimmedSurface_HAS_V2
+#define SCHEMA_IfcRectangularTrimmedSurface_HAS_Usense
+#define SCHEMA_IfcRectangularTrimmedSurface_HAS_Vsense
+#define SCHEMA_HAS_IfcRecurrencePattern
+#define SCHEMA_IfcRecurrencePattern_HAS_RecurrenceType
+#define SCHEMA_IfcRecurrencePattern_HAS_DayComponent
+#define SCHEMA_IfcRecurrencePattern_DayComponent_IS_OPTIONAL
+#define SCHEMA_IfcRecurrencePattern_HAS_WeekdayComponent
+#define SCHEMA_IfcRecurrencePattern_WeekdayComponent_IS_OPTIONAL
+#define SCHEMA_IfcRecurrencePattern_HAS_MonthComponent
+#define SCHEMA_IfcRecurrencePattern_MonthComponent_IS_OPTIONAL
+#define SCHEMA_IfcRecurrencePattern_HAS_Position
+#define SCHEMA_IfcRecurrencePattern_Position_IS_OPTIONAL
+#define SCHEMA_IfcRecurrencePattern_HAS_Interval
+#define SCHEMA_IfcRecurrencePattern_Interval_IS_OPTIONAL
+#define SCHEMA_IfcRecurrencePattern_HAS_Occurrences
+#define SCHEMA_IfcRecurrencePattern_Occurrences_IS_OPTIONAL
+#define SCHEMA_IfcRecurrencePattern_HAS_TimePeriods
+#define SCHEMA_IfcRecurrencePattern_TimePeriods_IS_OPTIONAL
+#define SCHEMA_HAS_IfcReference
+#define SCHEMA_IfcReference_HAS_TypeIdentifier
+#define SCHEMA_IfcReference_TypeIdentifier_IS_OPTIONAL
+#define SCHEMA_IfcReference_HAS_AttributeIdentifier
+#define SCHEMA_IfcReference_AttributeIdentifier_IS_OPTIONAL
+#define SCHEMA_IfcReference_HAS_InstanceName
+#define SCHEMA_IfcReference_InstanceName_IS_OPTIONAL
+#define SCHEMA_IfcReference_HAS_ListPositions
+#define SCHEMA_IfcReference_ListPositions_IS_OPTIONAL
+#define SCHEMA_IfcReference_HAS_InnerReference
+#define SCHEMA_IfcReference_InnerReference_IS_OPTIONAL
+#define SCHEMA_HAS_IfcReferent
+#define SCHEMA_IfcReferent_HAS_PredefinedType
+#define SCHEMA_IfcReferent_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcRegularTimeSeries
+#define SCHEMA_IfcRegularTimeSeries_HAS_TimeStep
+#define SCHEMA_IfcRegularTimeSeries_HAS_Values
+#define SCHEMA_HAS_IfcReinforcedSoil
+#define SCHEMA_IfcReinforcedSoil_HAS_PredefinedType
+#define SCHEMA_IfcReinforcedSoil_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcReinforcementBarProperties
+#define SCHEMA_IfcReinforcementBarProperties_HAS_TotalCrossSectionArea
+#define SCHEMA_IfcReinforcementBarProperties_HAS_SteelGrade
+#define SCHEMA_IfcReinforcementBarProperties_HAS_BarSurface
+#define SCHEMA_IfcReinforcementBarProperties_BarSurface_IS_OPTIONAL
+#define SCHEMA_IfcReinforcementBarProperties_HAS_EffectiveDepth
+#define SCHEMA_IfcReinforcementBarProperties_EffectiveDepth_IS_OPTIONAL
+#define SCHEMA_IfcReinforcementBarProperties_HAS_NominalBarDiameter
+#define SCHEMA_IfcReinforcementBarProperties_NominalBarDiameter_IS_OPTIONAL
+#define SCHEMA_IfcReinforcementBarProperties_HAS_BarCount
+#define SCHEMA_IfcReinforcementBarProperties_BarCount_IS_OPTIONAL
+#define SCHEMA_HAS_IfcReinforcementDefinitionProperties
+#define SCHEMA_IfcReinforcementDefinitionProperties_HAS_DefinitionType
+#define SCHEMA_IfcReinforcementDefinitionProperties_DefinitionType_IS_OPTIONAL
+#define SCHEMA_IfcReinforcementDefinitionProperties_HAS_ReinforcementSectionDefinitions
+#define SCHEMA_HAS_IfcReinforcingBar
+#define SCHEMA_IfcReinforcingBar_HAS_NominalDiameter
+#define SCHEMA_IfcReinforcingBar_NominalDiameter_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingBar_HAS_CrossSectionArea
+#define SCHEMA_IfcReinforcingBar_CrossSectionArea_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingBar_HAS_BarLength
+#define SCHEMA_IfcReinforcingBar_BarLength_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingBar_HAS_PredefinedType
+#define SCHEMA_IfcReinforcingBar_PredefinedType_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingBar_HAS_BarSurface
+#define SCHEMA_IfcReinforcingBar_BarSurface_IS_OPTIONAL
+#define SCHEMA_HAS_IfcReinforcingBarType
+#define SCHEMA_IfcReinforcingBarType_HAS_PredefinedType
+#define SCHEMA_IfcReinforcingBarType_HAS_NominalDiameter
+#define SCHEMA_IfcReinforcingBarType_NominalDiameter_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingBarType_HAS_CrossSectionArea
+#define SCHEMA_IfcReinforcingBarType_CrossSectionArea_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingBarType_HAS_BarLength
+#define SCHEMA_IfcReinforcingBarType_BarLength_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingBarType_HAS_BarSurface
+#define SCHEMA_IfcReinforcingBarType_BarSurface_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingBarType_HAS_BendingShapeCode
+#define SCHEMA_IfcReinforcingBarType_BendingShapeCode_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingBarType_HAS_BendingParameters
+#define SCHEMA_IfcReinforcingBarType_BendingParameters_IS_OPTIONAL
+#define SCHEMA_HAS_IfcReinforcingElement
+#define SCHEMA_IfcReinforcingElement_HAS_SteelGrade
+#define SCHEMA_IfcReinforcingElement_SteelGrade_IS_OPTIONAL
+#define SCHEMA_HAS_IfcReinforcingElementType
+#define SCHEMA_HAS_IfcReinforcingMesh
+#define SCHEMA_IfcReinforcingMesh_HAS_MeshLength
+#define SCHEMA_IfcReinforcingMesh_MeshLength_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingMesh_HAS_MeshWidth
+#define SCHEMA_IfcReinforcingMesh_MeshWidth_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingMesh_HAS_LongitudinalBarNominalDiameter
+#define SCHEMA_IfcReinforcingMesh_LongitudinalBarNominalDiameter_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingMesh_HAS_TransverseBarNominalDiameter
+#define SCHEMA_IfcReinforcingMesh_TransverseBarNominalDiameter_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingMesh_HAS_LongitudinalBarCrossSectionArea
+#define SCHEMA_IfcReinforcingMesh_LongitudinalBarCrossSectionArea_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingMesh_HAS_TransverseBarCrossSectionArea
+#define SCHEMA_IfcReinforcingMesh_TransverseBarCrossSectionArea_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingMesh_HAS_LongitudinalBarSpacing
+#define SCHEMA_IfcReinforcingMesh_LongitudinalBarSpacing_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingMesh_HAS_TransverseBarSpacing
+#define SCHEMA_IfcReinforcingMesh_TransverseBarSpacing_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingMesh_HAS_PredefinedType
+#define SCHEMA_IfcReinforcingMesh_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcReinforcingMeshType
+#define SCHEMA_IfcReinforcingMeshType_HAS_PredefinedType
+#define SCHEMA_IfcReinforcingMeshType_HAS_MeshLength
+#define SCHEMA_IfcReinforcingMeshType_MeshLength_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingMeshType_HAS_MeshWidth
+#define SCHEMA_IfcReinforcingMeshType_MeshWidth_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingMeshType_HAS_LongitudinalBarNominalDiameter
+#define SCHEMA_IfcReinforcingMeshType_LongitudinalBarNominalDiameter_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingMeshType_HAS_TransverseBarNominalDiameter
+#define SCHEMA_IfcReinforcingMeshType_TransverseBarNominalDiameter_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingMeshType_HAS_LongitudinalBarCrossSectionArea
+#define SCHEMA_IfcReinforcingMeshType_LongitudinalBarCrossSectionArea_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingMeshType_HAS_TransverseBarCrossSectionArea
+#define SCHEMA_IfcReinforcingMeshType_TransverseBarCrossSectionArea_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingMeshType_HAS_LongitudinalBarSpacing
+#define SCHEMA_IfcReinforcingMeshType_LongitudinalBarSpacing_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingMeshType_HAS_TransverseBarSpacing
+#define SCHEMA_IfcReinforcingMeshType_TransverseBarSpacing_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingMeshType_HAS_BendingShapeCode
+#define SCHEMA_IfcReinforcingMeshType_BendingShapeCode_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingMeshType_HAS_BendingParameters
+#define SCHEMA_IfcReinforcingMeshType_BendingParameters_IS_OPTIONAL
+#define SCHEMA_HAS_IfcRelAdheresToElement
+#define SCHEMA_IfcRelAdheresToElement_HAS_RelatingElement
+#define SCHEMA_IfcRelAdheresToElement_HAS_RelatedSurfaceFeatures
+#define SCHEMA_HAS_IfcRelAggregates
+#define SCHEMA_IfcRelAggregates_HAS_RelatingObject
+#define SCHEMA_IfcRelAggregates_HAS_RelatedObjects
+#define SCHEMA_HAS_IfcRelAssigns
+#define SCHEMA_IfcRelAssigns_HAS_RelatedObjects
+#define SCHEMA_IfcRelAssigns_HAS_RelatedObjectsType
+#define SCHEMA_IfcRelAssigns_RelatedObjectsType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcRelAssignsToActor
+#define SCHEMA_IfcRelAssignsToActor_HAS_RelatingActor
+#define SCHEMA_IfcRelAssignsToActor_HAS_ActingRole
+#define SCHEMA_IfcRelAssignsToActor_ActingRole_IS_OPTIONAL
+#define SCHEMA_HAS_IfcRelAssignsToControl
+#define SCHEMA_IfcRelAssignsToControl_HAS_RelatingControl
+#define SCHEMA_HAS_IfcRelAssignsToGroup
+#define SCHEMA_IfcRelAssignsToGroup_HAS_RelatingGroup
+#define SCHEMA_HAS_IfcRelAssignsToGroupByFactor
+#define SCHEMA_IfcRelAssignsToGroupByFactor_HAS_Factor
+#define SCHEMA_HAS_IfcRelAssignsToProcess
+#define SCHEMA_IfcRelAssignsToProcess_HAS_RelatingProcess
+#define SCHEMA_IfcRelAssignsToProcess_HAS_QuantityInProcess
+#define SCHEMA_IfcRelAssignsToProcess_QuantityInProcess_IS_OPTIONAL
+#define SCHEMA_HAS_IfcRelAssignsToProduct
+#define SCHEMA_IfcRelAssignsToProduct_HAS_RelatingProduct
+#define SCHEMA_HAS_IfcRelAssignsToResource
+#define SCHEMA_IfcRelAssignsToResource_HAS_RelatingResource
+#define SCHEMA_HAS_IfcRelAssociates
+#define SCHEMA_IfcRelAssociates_HAS_RelatedObjects
+#define SCHEMA_HAS_IfcRelAssociatesApproval
+#define SCHEMA_IfcRelAssociatesApproval_HAS_RelatingApproval
+#define SCHEMA_HAS_IfcRelAssociatesClassification
+#define SCHEMA_IfcRelAssociatesClassification_HAS_RelatingClassification
+#define SCHEMA_HAS_IfcRelAssociatesConstraint
+#define SCHEMA_IfcRelAssociatesConstraint_HAS_Intent
+#define SCHEMA_IfcRelAssociatesConstraint_Intent_IS_OPTIONAL
+#define SCHEMA_IfcRelAssociatesConstraint_HAS_RelatingConstraint
+#define SCHEMA_HAS_IfcRelAssociatesDocument
+#define SCHEMA_IfcRelAssociatesDocument_HAS_RelatingDocument
+#define SCHEMA_HAS_IfcRelAssociatesLibrary
+#define SCHEMA_IfcRelAssociatesLibrary_HAS_RelatingLibrary
+#define SCHEMA_HAS_IfcRelAssociatesMaterial
+#define SCHEMA_IfcRelAssociatesMaterial_HAS_RelatingMaterial
+#define SCHEMA_HAS_IfcRelAssociatesProfileDef
+#define SCHEMA_IfcRelAssociatesProfileDef_HAS_RelatingProfileDef
+#define SCHEMA_HAS_IfcRelConnects
+#define SCHEMA_HAS_IfcRelConnectsElements
+#define SCHEMA_IfcRelConnectsElements_HAS_ConnectionGeometry
+#define SCHEMA_IfcRelConnectsElements_ConnectionGeometry_IS_OPTIONAL
+#define SCHEMA_IfcRelConnectsElements_HAS_RelatingElement
+#define SCHEMA_IfcRelConnectsElements_HAS_RelatedElement
+#define SCHEMA_HAS_IfcRelConnectsPathElements
+#define SCHEMA_IfcRelConnectsPathElements_HAS_RelatingPriorities
+#define SCHEMA_IfcRelConnectsPathElements_HAS_RelatedPriorities
+#define SCHEMA_IfcRelConnectsPathElements_HAS_RelatedConnectionType
+#define SCHEMA_IfcRelConnectsPathElements_HAS_RelatingConnectionType
+#define SCHEMA_HAS_IfcRelConnectsPortToElement
+#define SCHEMA_IfcRelConnectsPortToElement_HAS_RelatingPort
+#define SCHEMA_IfcRelConnectsPortToElement_HAS_RelatedElement
+#define SCHEMA_HAS_IfcRelConnectsPorts
+#define SCHEMA_IfcRelConnectsPorts_HAS_RelatingPort
+#define SCHEMA_IfcRelConnectsPorts_HAS_RelatedPort
+#define SCHEMA_IfcRelConnectsPorts_HAS_RealizingElement
+#define SCHEMA_IfcRelConnectsPorts_RealizingElement_IS_OPTIONAL
+#define SCHEMA_HAS_IfcRelConnectsStructuralActivity
+#define SCHEMA_IfcRelConnectsStructuralActivity_HAS_RelatingElement
+#define SCHEMA_IfcRelConnectsStructuralActivity_HAS_RelatedStructuralActivity
+#define SCHEMA_HAS_IfcRelConnectsStructuralMember
+#define SCHEMA_IfcRelConnectsStructuralMember_HAS_RelatingStructuralMember
+#define SCHEMA_IfcRelConnectsStructuralMember_HAS_RelatedStructuralConnection
+#define SCHEMA_IfcRelConnectsStructuralMember_HAS_AppliedCondition
+#define SCHEMA_IfcRelConnectsStructuralMember_AppliedCondition_IS_OPTIONAL
+#define SCHEMA_IfcRelConnectsStructuralMember_HAS_AdditionalConditions
+#define SCHEMA_IfcRelConnectsStructuralMember_AdditionalConditions_IS_OPTIONAL
+#define SCHEMA_IfcRelConnectsStructuralMember_HAS_SupportedLength
+#define SCHEMA_IfcRelConnectsStructuralMember_SupportedLength_IS_OPTIONAL
+#define SCHEMA_IfcRelConnectsStructuralMember_HAS_ConditionCoordinateSystem
+#define SCHEMA_IfcRelConnectsStructuralMember_ConditionCoordinateSystem_IS_OPTIONAL
+#define SCHEMA_HAS_IfcRelConnectsWithEccentricity
+#define SCHEMA_IfcRelConnectsWithEccentricity_HAS_ConnectionConstraint
+#define SCHEMA_HAS_IfcRelConnectsWithRealizingElements
+#define SCHEMA_IfcRelConnectsWithRealizingElements_HAS_RealizingElements
+#define SCHEMA_IfcRelConnectsWithRealizingElements_HAS_ConnectionType
+#define SCHEMA_IfcRelConnectsWithRealizingElements_ConnectionType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcRelContainedInSpatialStructure
+#define SCHEMA_IfcRelContainedInSpatialStructure_HAS_RelatedElements
+#define SCHEMA_IfcRelContainedInSpatialStructure_HAS_RelatingStructure
+#define SCHEMA_HAS_IfcRelCoversBldgElements
+#define SCHEMA_IfcRelCoversBldgElements_HAS_RelatingBuildingElement
+#define SCHEMA_IfcRelCoversBldgElements_HAS_RelatedCoverings
+#define SCHEMA_HAS_IfcRelCoversSpaces
+#define SCHEMA_IfcRelCoversSpaces_HAS_RelatingSpace
+#define SCHEMA_IfcRelCoversSpaces_HAS_RelatedCoverings
+#define SCHEMA_HAS_IfcRelDeclares
+#define SCHEMA_IfcRelDeclares_HAS_RelatingContext
+#define SCHEMA_IfcRelDeclares_HAS_RelatedDefinitions
+#define SCHEMA_HAS_IfcRelDecomposes
+#define SCHEMA_HAS_IfcRelDefines
+#define SCHEMA_HAS_IfcRelDefinesByObject
+#define SCHEMA_IfcRelDefinesByObject_HAS_RelatedObjects
+#define SCHEMA_IfcRelDefinesByObject_HAS_RelatingObject
+#define SCHEMA_HAS_IfcRelDefinesByProperties
+#define SCHEMA_IfcRelDefinesByProperties_HAS_RelatedObjects
+#define SCHEMA_IfcRelDefinesByProperties_HAS_RelatingPropertyDefinition
+#define SCHEMA_HAS_IfcRelDefinesByTemplate
+#define SCHEMA_IfcRelDefinesByTemplate_HAS_RelatedPropertySets
+#define SCHEMA_IfcRelDefinesByTemplate_HAS_RelatingTemplate
+#define SCHEMA_HAS_IfcRelDefinesByType
+#define SCHEMA_IfcRelDefinesByType_HAS_RelatedObjects
+#define SCHEMA_IfcRelDefinesByType_HAS_RelatingType
+#define SCHEMA_HAS_IfcRelFillsElement
+#define SCHEMA_IfcRelFillsElement_HAS_RelatingOpeningElement
+#define SCHEMA_IfcRelFillsElement_HAS_RelatedBuildingElement
+#define SCHEMA_HAS_IfcRelFlowControlElements
+#define SCHEMA_IfcRelFlowControlElements_HAS_RelatedControlElements
+#define SCHEMA_IfcRelFlowControlElements_HAS_RelatingFlowElement
+#define SCHEMA_HAS_IfcRelInterferesElements
+#define SCHEMA_IfcRelInterferesElements_HAS_RelatingElement
+#define SCHEMA_IfcRelInterferesElements_HAS_RelatedElement
+#define SCHEMA_IfcRelInterferesElements_HAS_InterferenceGeometry
+#define SCHEMA_IfcRelInterferesElements_InterferenceGeometry_IS_OPTIONAL
+#define SCHEMA_IfcRelInterferesElements_HAS_InterferenceType
+#define SCHEMA_IfcRelInterferesElements_InterferenceType_IS_OPTIONAL
+#define SCHEMA_IfcRelInterferesElements_HAS_ImpliedOrder
+#define SCHEMA_IfcRelInterferesElements_HAS_InterferenceSpace
+#define SCHEMA_IfcRelInterferesElements_InterferenceSpace_IS_OPTIONAL
+#define SCHEMA_HAS_IfcRelNests
+#define SCHEMA_IfcRelNests_HAS_RelatingObject
+#define SCHEMA_IfcRelNests_HAS_RelatedObjects
+#define SCHEMA_HAS_IfcRelPositions
+#define SCHEMA_IfcRelPositions_HAS_RelatingPositioningElement
+#define SCHEMA_IfcRelPositions_HAS_RelatedProducts
+#define SCHEMA_HAS_IfcRelProjectsElement
+#define SCHEMA_IfcRelProjectsElement_HAS_RelatingElement
+#define SCHEMA_IfcRelProjectsElement_HAS_RelatedFeatureElement
+#define SCHEMA_HAS_IfcRelReferencedInSpatialStructure
+#define SCHEMA_IfcRelReferencedInSpatialStructure_HAS_RelatedElements
+#define SCHEMA_IfcRelReferencedInSpatialStructure_HAS_RelatingStructure
+#define SCHEMA_HAS_IfcRelSequence
+#define SCHEMA_IfcRelSequence_HAS_RelatingProcess
+#define SCHEMA_IfcRelSequence_HAS_RelatedProcess
+#define SCHEMA_IfcRelSequence_HAS_TimeLag
+#define SCHEMA_IfcRelSequence_TimeLag_IS_OPTIONAL
+#define SCHEMA_IfcRelSequence_HAS_SequenceType
+#define SCHEMA_IfcRelSequence_SequenceType_IS_OPTIONAL
+#define SCHEMA_IfcRelSequence_HAS_UserDefinedSequenceType
+#define SCHEMA_IfcRelSequence_UserDefinedSequenceType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcRelServicesBuildings
+#define SCHEMA_IfcRelServicesBuildings_HAS_RelatingSystem
+#define SCHEMA_IfcRelServicesBuildings_HAS_RelatedBuildings
+#define SCHEMA_HAS_IfcRelSpaceBoundary
+#define SCHEMA_IfcRelSpaceBoundary_HAS_RelatingSpace
+#define SCHEMA_IfcRelSpaceBoundary_HAS_RelatedBuildingElement
+#define SCHEMA_IfcRelSpaceBoundary_HAS_ConnectionGeometry
+#define SCHEMA_IfcRelSpaceBoundary_ConnectionGeometry_IS_OPTIONAL
+#define SCHEMA_IfcRelSpaceBoundary_HAS_PhysicalOrVirtualBoundary
+#define SCHEMA_IfcRelSpaceBoundary_HAS_InternalOrExternalBoundary
+#define SCHEMA_HAS_IfcRelSpaceBoundary1stLevel
+#define SCHEMA_IfcRelSpaceBoundary1stLevel_HAS_ParentBoundary
+#define SCHEMA_IfcRelSpaceBoundary1stLevel_ParentBoundary_IS_OPTIONAL
+#define SCHEMA_IfcRelSpaceBoundary1stLevel_HAS_InnerBoundaries
+#define SCHEMA_HAS_IfcRelSpaceBoundary2ndLevel
+#define SCHEMA_IfcRelSpaceBoundary2ndLevel_HAS_CorrespondingBoundary
+#define SCHEMA_IfcRelSpaceBoundary2ndLevel_CorrespondingBoundary_IS_OPTIONAL
+#define SCHEMA_IfcRelSpaceBoundary2ndLevel_HAS_Corresponds
+#define SCHEMA_HAS_IfcRelVoidsElement
+#define SCHEMA_IfcRelVoidsElement_HAS_RelatingBuildingElement
+#define SCHEMA_IfcRelVoidsElement_HAS_RelatedOpeningElement
+#define SCHEMA_HAS_IfcRelationship
+#define SCHEMA_HAS_IfcReparametrisedCompositeCurveSegment
+#define SCHEMA_IfcReparametrisedCompositeCurveSegment_HAS_ParamLength
+#define SCHEMA_HAS_IfcRepresentation
+#define SCHEMA_IfcRepresentation_HAS_ContextOfItems
+#define SCHEMA_IfcRepresentation_HAS_RepresentationIdentifier
+#define SCHEMA_IfcRepresentation_RepresentationIdentifier_IS_OPTIONAL
+#define SCHEMA_IfcRepresentation_HAS_RepresentationType
+#define SCHEMA_IfcRepresentation_RepresentationType_IS_OPTIONAL
+#define SCHEMA_IfcRepresentation_HAS_Items
+#define SCHEMA_IfcRepresentation_HAS_RepresentationMap
+#define SCHEMA_IfcRepresentation_HAS_LayerAssignments
+#define SCHEMA_IfcRepresentation_HAS_OfProductRepresentation
+#define SCHEMA_HAS_IfcRepresentationContext
+#define SCHEMA_IfcRepresentationContext_HAS_ContextIdentifier
+#define SCHEMA_IfcRepresentationContext_ContextIdentifier_IS_OPTIONAL
+#define SCHEMA_IfcRepresentationContext_HAS_ContextType
+#define SCHEMA_IfcRepresentationContext_ContextType_IS_OPTIONAL
+#define SCHEMA_IfcRepresentationContext_HAS_RepresentationsInContext
+#define SCHEMA_HAS_IfcRepresentationItem
+#define SCHEMA_IfcRepresentationItem_HAS_LayerAssignment
+#define SCHEMA_IfcRepresentationItem_HAS_StyledByItem
+#define SCHEMA_HAS_IfcRepresentationMap
+#define SCHEMA_IfcRepresentationMap_HAS_MappingOrigin
+#define SCHEMA_IfcRepresentationMap_HAS_MappedRepresentation
+#define SCHEMA_IfcRepresentationMap_HAS_HasShapeAspects
+#define SCHEMA_IfcRepresentationMap_HAS_MapUsage
+#define SCHEMA_HAS_IfcResource
+#define SCHEMA_IfcResource_HAS_Identification
+#define SCHEMA_IfcResource_Identification_IS_OPTIONAL
+#define SCHEMA_IfcResource_HAS_LongDescription
+#define SCHEMA_IfcResource_LongDescription_IS_OPTIONAL
+#define SCHEMA_IfcResource_HAS_ResourceOf
+#define SCHEMA_HAS_IfcResourceApprovalRelationship
+#define SCHEMA_IfcResourceApprovalRelationship_HAS_RelatedResourceObjects
+#define SCHEMA_IfcResourceApprovalRelationship_HAS_RelatingApproval
+#define SCHEMA_HAS_IfcResourceConstraintRelationship
+#define SCHEMA_IfcResourceConstraintRelationship_HAS_RelatingConstraint
+#define SCHEMA_IfcResourceConstraintRelationship_HAS_RelatedResourceObjects
+#define SCHEMA_HAS_IfcResourceLevelRelationship
+#define SCHEMA_IfcResourceLevelRelationship_HAS_Name
+#define SCHEMA_IfcResourceLevelRelationship_Name_IS_OPTIONAL
+#define SCHEMA_IfcResourceLevelRelationship_HAS_Description
+#define SCHEMA_IfcResourceLevelRelationship_Description_IS_OPTIONAL
+#define SCHEMA_HAS_IfcResourceTime
+#define SCHEMA_IfcResourceTime_HAS_ScheduleWork
+#define SCHEMA_IfcResourceTime_ScheduleWork_IS_OPTIONAL
+#define SCHEMA_IfcResourceTime_HAS_ScheduleUsage
+#define SCHEMA_IfcResourceTime_ScheduleUsage_IS_OPTIONAL
+#define SCHEMA_IfcResourceTime_HAS_ScheduleStart
+#define SCHEMA_IfcResourceTime_ScheduleStart_IS_OPTIONAL
+#define SCHEMA_IfcResourceTime_HAS_ScheduleFinish
+#define SCHEMA_IfcResourceTime_ScheduleFinish_IS_OPTIONAL
+#define SCHEMA_IfcResourceTime_HAS_ScheduleContour
+#define SCHEMA_IfcResourceTime_ScheduleContour_IS_OPTIONAL
+#define SCHEMA_IfcResourceTime_HAS_LevelingDelay
+#define SCHEMA_IfcResourceTime_LevelingDelay_IS_OPTIONAL
+#define SCHEMA_IfcResourceTime_HAS_IsOverAllocated
+#define SCHEMA_IfcResourceTime_IsOverAllocated_IS_OPTIONAL
+#define SCHEMA_IfcResourceTime_HAS_StatusTime
+#define SCHEMA_IfcResourceTime_StatusTime_IS_OPTIONAL
+#define SCHEMA_IfcResourceTime_HAS_ActualWork
+#define SCHEMA_IfcResourceTime_ActualWork_IS_OPTIONAL
+#define SCHEMA_IfcResourceTime_HAS_ActualUsage
+#define SCHEMA_IfcResourceTime_ActualUsage_IS_OPTIONAL
+#define SCHEMA_IfcResourceTime_HAS_ActualStart
+#define SCHEMA_IfcResourceTime_ActualStart_IS_OPTIONAL
+#define SCHEMA_IfcResourceTime_HAS_ActualFinish
+#define SCHEMA_IfcResourceTime_ActualFinish_IS_OPTIONAL
+#define SCHEMA_IfcResourceTime_HAS_RemainingWork
+#define SCHEMA_IfcResourceTime_RemainingWork_IS_OPTIONAL
+#define SCHEMA_IfcResourceTime_HAS_RemainingUsage
+#define SCHEMA_IfcResourceTime_RemainingUsage_IS_OPTIONAL
+#define SCHEMA_IfcResourceTime_HAS_Completion
+#define SCHEMA_IfcResourceTime_Completion_IS_OPTIONAL
+#define SCHEMA_HAS_IfcRevolvedAreaSolid
+#define SCHEMA_IfcRevolvedAreaSolid_HAS_Axis
+#define SCHEMA_IfcRevolvedAreaSolid_HAS_Angle
+#define SCHEMA_HAS_IfcRevolvedAreaSolidTapered
+#define SCHEMA_IfcRevolvedAreaSolidTapered_HAS_EndSweptArea
+#define SCHEMA_HAS_IfcRightCircularCone
+#define SCHEMA_IfcRightCircularCone_HAS_Height
+#define SCHEMA_IfcRightCircularCone_HAS_BottomRadius
+#define SCHEMA_HAS_IfcRightCircularCylinder
+#define SCHEMA_IfcRightCircularCylinder_HAS_Height
+#define SCHEMA_IfcRightCircularCylinder_HAS_Radius
+#define SCHEMA_HAS_IfcRigidOperation
+#define SCHEMA_IfcRigidOperation_HAS_FirstCoordinate
+#define SCHEMA_IfcRigidOperation_HAS_SecondCoordinate
+#define SCHEMA_IfcRigidOperation_HAS_Height
+#define SCHEMA_IfcRigidOperation_Height_IS_OPTIONAL
+#define SCHEMA_HAS_IfcRoad
+#define SCHEMA_IfcRoad_HAS_PredefinedType
+#define SCHEMA_IfcRoad_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcRoadPart
+#define SCHEMA_IfcRoadPart_HAS_PredefinedType
+#define SCHEMA_IfcRoadPart_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcRoof
+#define SCHEMA_IfcRoof_HAS_PredefinedType
+#define SCHEMA_IfcRoof_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcRoofType
+#define SCHEMA_IfcRoofType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcRoot
+#define SCHEMA_IfcRoot_HAS_GlobalId
+#define SCHEMA_IfcRoot_HAS_OwnerHistory
+#define SCHEMA_IfcRoot_OwnerHistory_IS_OPTIONAL
+#define SCHEMA_IfcRoot_HAS_Name
+#define SCHEMA_IfcRoot_Name_IS_OPTIONAL
+#define SCHEMA_IfcRoot_HAS_Description
+#define SCHEMA_IfcRoot_Description_IS_OPTIONAL
+#define SCHEMA_HAS_IfcRoundedRectangleProfileDef
+#define SCHEMA_IfcRoundedRectangleProfileDef_HAS_RoundingRadius
+#define SCHEMA_HAS_IfcSIUnit
+#define SCHEMA_IfcSIUnit_HAS_Prefix
+#define SCHEMA_IfcSIUnit_Prefix_IS_OPTIONAL
+#define SCHEMA_IfcSIUnit_HAS_Name
+#define SCHEMA_HAS_IfcSanitaryTerminal
+#define SCHEMA_IfcSanitaryTerminal_HAS_PredefinedType
+#define SCHEMA_IfcSanitaryTerminal_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSanitaryTerminalType
+#define SCHEMA_IfcSanitaryTerminalType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcSchedulingTime
+#define SCHEMA_IfcSchedulingTime_HAS_Name
+#define SCHEMA_IfcSchedulingTime_Name_IS_OPTIONAL
+#define SCHEMA_IfcSchedulingTime_HAS_DataOrigin
+#define SCHEMA_IfcSchedulingTime_DataOrigin_IS_OPTIONAL
+#define SCHEMA_IfcSchedulingTime_HAS_UserDefinedDataOrigin
+#define SCHEMA_IfcSchedulingTime_UserDefinedDataOrigin_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSeamCurve
+#define SCHEMA_HAS_IfcSecondOrderPolynomialSpiral
+#define SCHEMA_IfcSecondOrderPolynomialSpiral_HAS_QuadraticTerm
+#define SCHEMA_IfcSecondOrderPolynomialSpiral_HAS_LinearTerm
+#define SCHEMA_IfcSecondOrderPolynomialSpiral_LinearTerm_IS_OPTIONAL
+#define SCHEMA_IfcSecondOrderPolynomialSpiral_HAS_ConstantTerm
+#define SCHEMA_IfcSecondOrderPolynomialSpiral_ConstantTerm_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSectionProperties
+#define SCHEMA_IfcSectionProperties_HAS_SectionType
+#define SCHEMA_IfcSectionProperties_HAS_StartProfile
+#define SCHEMA_IfcSectionProperties_HAS_EndProfile
+#define SCHEMA_IfcSectionProperties_EndProfile_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSectionReinforcementProperties
+#define SCHEMA_IfcSectionReinforcementProperties_HAS_LongitudinalStartPosition
+#define SCHEMA_IfcSectionReinforcementProperties_HAS_LongitudinalEndPosition
+#define SCHEMA_IfcSectionReinforcementProperties_HAS_TransversePosition
+#define SCHEMA_IfcSectionReinforcementProperties_TransversePosition_IS_OPTIONAL
+#define SCHEMA_IfcSectionReinforcementProperties_HAS_ReinforcementRole
+#define SCHEMA_IfcSectionReinforcementProperties_HAS_SectionDefinition
+#define SCHEMA_IfcSectionReinforcementProperties_HAS_CrossSectionReinforcementDefinitions
+#define SCHEMA_HAS_IfcSectionedSolid
+#define SCHEMA_IfcSectionedSolid_HAS_Directrix
+#define SCHEMA_IfcSectionedSolid_HAS_CrossSections
+#define SCHEMA_HAS_IfcSectionedSolidHorizontal
+#define SCHEMA_IfcSectionedSolidHorizontal_HAS_CrossSectionPositions
+#define SCHEMA_HAS_IfcSectionedSpine
+#define SCHEMA_IfcSectionedSpine_HAS_SpineCurve
+#define SCHEMA_IfcSectionedSpine_HAS_CrossSections
+#define SCHEMA_IfcSectionedSpine_HAS_CrossSectionPositions
+#define SCHEMA_HAS_IfcSectionedSurface
+#define SCHEMA_IfcSectionedSurface_HAS_Directrix
+#define SCHEMA_IfcSectionedSurface_HAS_CrossSectionPositions
+#define SCHEMA_IfcSectionedSurface_HAS_CrossSections
+#define SCHEMA_HAS_IfcSegment
+#define SCHEMA_IfcSegment_HAS_Transition
+#define SCHEMA_IfcSegment_HAS_UsingCurves
+#define SCHEMA_HAS_IfcSegmentedReferenceCurve
+#define SCHEMA_IfcSegmentedReferenceCurve_HAS_BaseCurve
+#define SCHEMA_IfcSegmentedReferenceCurve_HAS_EndPoint
+#define SCHEMA_IfcSegmentedReferenceCurve_EndPoint_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSensor
+#define SCHEMA_IfcSensor_HAS_PredefinedType
+#define SCHEMA_IfcSensor_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSensorType
+#define SCHEMA_IfcSensorType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcSeventhOrderPolynomialSpiral
+#define SCHEMA_IfcSeventhOrderPolynomialSpiral_HAS_SepticTerm
+#define SCHEMA_IfcSeventhOrderPolynomialSpiral_HAS_SexticTerm
+#define SCHEMA_IfcSeventhOrderPolynomialSpiral_SexticTerm_IS_OPTIONAL
+#define SCHEMA_IfcSeventhOrderPolynomialSpiral_HAS_QuinticTerm
+#define SCHEMA_IfcSeventhOrderPolynomialSpiral_QuinticTerm_IS_OPTIONAL
+#define SCHEMA_IfcSeventhOrderPolynomialSpiral_HAS_QuarticTerm
+#define SCHEMA_IfcSeventhOrderPolynomialSpiral_QuarticTerm_IS_OPTIONAL
+#define SCHEMA_IfcSeventhOrderPolynomialSpiral_HAS_CubicTerm
+#define SCHEMA_IfcSeventhOrderPolynomialSpiral_CubicTerm_IS_OPTIONAL
+#define SCHEMA_IfcSeventhOrderPolynomialSpiral_HAS_QuadraticTerm
+#define SCHEMA_IfcSeventhOrderPolynomialSpiral_QuadraticTerm_IS_OPTIONAL
+#define SCHEMA_IfcSeventhOrderPolynomialSpiral_HAS_LinearTerm
+#define SCHEMA_IfcSeventhOrderPolynomialSpiral_LinearTerm_IS_OPTIONAL
+#define SCHEMA_IfcSeventhOrderPolynomialSpiral_HAS_ConstantTerm
+#define SCHEMA_IfcSeventhOrderPolynomialSpiral_ConstantTerm_IS_OPTIONAL
+#define SCHEMA_HAS_IfcShadingDevice
+#define SCHEMA_IfcShadingDevice_HAS_PredefinedType
+#define SCHEMA_IfcShadingDevice_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcShadingDeviceType
+#define SCHEMA_IfcShadingDeviceType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcShapeAspect
+#define SCHEMA_IfcShapeAspect_HAS_ShapeRepresentations
+#define SCHEMA_IfcShapeAspect_HAS_Name
+#define SCHEMA_IfcShapeAspect_Name_IS_OPTIONAL
+#define SCHEMA_IfcShapeAspect_HAS_Description
+#define SCHEMA_IfcShapeAspect_Description_IS_OPTIONAL
+#define SCHEMA_IfcShapeAspect_HAS_ProductDefinitional
+#define SCHEMA_IfcShapeAspect_HAS_PartOfProductDefinitionShape
+#define SCHEMA_IfcShapeAspect_PartOfProductDefinitionShape_IS_OPTIONAL
+#define SCHEMA_IfcShapeAspect_HAS_HasExternalReferences
+#define SCHEMA_HAS_IfcShapeModel
+#define SCHEMA_IfcShapeModel_HAS_OfShapeAspect
+#define SCHEMA_HAS_IfcShapeRepresentation
+#define SCHEMA_HAS_IfcShellBasedSurfaceModel
+#define SCHEMA_IfcShellBasedSurfaceModel_HAS_SbsmBoundary
+#define SCHEMA_HAS_IfcSign
+#define SCHEMA_IfcSign_HAS_PredefinedType
+#define SCHEMA_IfcSign_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSignType
+#define SCHEMA_IfcSignType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcSignal
+#define SCHEMA_IfcSignal_HAS_PredefinedType
+#define SCHEMA_IfcSignal_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSignalType
+#define SCHEMA_IfcSignalType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcSimpleProperty
+#define SCHEMA_HAS_IfcSimplePropertyTemplate
+#define SCHEMA_IfcSimplePropertyTemplate_HAS_TemplateType
+#define SCHEMA_IfcSimplePropertyTemplate_TemplateType_IS_OPTIONAL
+#define SCHEMA_IfcSimplePropertyTemplate_HAS_PrimaryMeasureType
+#define SCHEMA_IfcSimplePropertyTemplate_PrimaryMeasureType_IS_OPTIONAL
+#define SCHEMA_IfcSimplePropertyTemplate_HAS_SecondaryMeasureType
+#define SCHEMA_IfcSimplePropertyTemplate_SecondaryMeasureType_IS_OPTIONAL
+#define SCHEMA_IfcSimplePropertyTemplate_HAS_Enumerators
+#define SCHEMA_IfcSimplePropertyTemplate_Enumerators_IS_OPTIONAL
+#define SCHEMA_IfcSimplePropertyTemplate_HAS_PrimaryUnit
+#define SCHEMA_IfcSimplePropertyTemplate_PrimaryUnit_IS_OPTIONAL
+#define SCHEMA_IfcSimplePropertyTemplate_HAS_SecondaryUnit
+#define SCHEMA_IfcSimplePropertyTemplate_SecondaryUnit_IS_OPTIONAL
+#define SCHEMA_IfcSimplePropertyTemplate_HAS_Expression
+#define SCHEMA_IfcSimplePropertyTemplate_Expression_IS_OPTIONAL
+#define SCHEMA_IfcSimplePropertyTemplate_HAS_AccessState
+#define SCHEMA_IfcSimplePropertyTemplate_AccessState_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSineSpiral
+#define SCHEMA_IfcSineSpiral_HAS_SineTerm
+#define SCHEMA_IfcSineSpiral_HAS_LinearTerm
+#define SCHEMA_IfcSineSpiral_LinearTerm_IS_OPTIONAL
+#define SCHEMA_IfcSineSpiral_HAS_ConstantTerm
+#define SCHEMA_IfcSineSpiral_ConstantTerm_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSite
+#define SCHEMA_IfcSite_HAS_RefLatitude
+#define SCHEMA_IfcSite_RefLatitude_IS_OPTIONAL
+#define SCHEMA_IfcSite_HAS_RefLongitude
+#define SCHEMA_IfcSite_RefLongitude_IS_OPTIONAL
+#define SCHEMA_IfcSite_HAS_RefElevation
+#define SCHEMA_IfcSite_RefElevation_IS_OPTIONAL
+#define SCHEMA_IfcSite_HAS_LandTitleNumber
+#define SCHEMA_IfcSite_LandTitleNumber_IS_OPTIONAL
+#define SCHEMA_IfcSite_HAS_SiteAddress
+#define SCHEMA_IfcSite_SiteAddress_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSlab
+#define SCHEMA_IfcSlab_HAS_PredefinedType
+#define SCHEMA_IfcSlab_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSlabType
+#define SCHEMA_IfcSlabType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcSlippageConnectionCondition
+#define SCHEMA_IfcSlippageConnectionCondition_HAS_SlippageX
+#define SCHEMA_IfcSlippageConnectionCondition_SlippageX_IS_OPTIONAL
+#define SCHEMA_IfcSlippageConnectionCondition_HAS_SlippageY
+#define SCHEMA_IfcSlippageConnectionCondition_SlippageY_IS_OPTIONAL
+#define SCHEMA_IfcSlippageConnectionCondition_HAS_SlippageZ
+#define SCHEMA_IfcSlippageConnectionCondition_SlippageZ_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSolarDevice
+#define SCHEMA_IfcSolarDevice_HAS_PredefinedType
+#define SCHEMA_IfcSolarDevice_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSolarDeviceType
+#define SCHEMA_IfcSolarDeviceType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcSolidModel
+#define SCHEMA_HAS_IfcSpace
+#define SCHEMA_IfcSpace_HAS_PredefinedType
+#define SCHEMA_IfcSpace_PredefinedType_IS_OPTIONAL
+#define SCHEMA_IfcSpace_HAS_ElevationWithFlooring
+#define SCHEMA_IfcSpace_ElevationWithFlooring_IS_OPTIONAL
+#define SCHEMA_IfcSpace_HAS_HasCoverings
+#define SCHEMA_IfcSpace_HAS_BoundedBy
+#define SCHEMA_HAS_IfcSpaceHeater
+#define SCHEMA_IfcSpaceHeater_HAS_PredefinedType
+#define SCHEMA_IfcSpaceHeater_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSpaceHeaterType
+#define SCHEMA_IfcSpaceHeaterType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcSpaceType
+#define SCHEMA_IfcSpaceType_HAS_PredefinedType
+#define SCHEMA_IfcSpaceType_HAS_LongName
+#define SCHEMA_IfcSpaceType_LongName_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSpatialElement
+#define SCHEMA_IfcSpatialElement_HAS_LongName
+#define SCHEMA_IfcSpatialElement_LongName_IS_OPTIONAL
+#define SCHEMA_IfcSpatialElement_HAS_ContainsElements
+#define SCHEMA_IfcSpatialElement_HAS_ServicedBySystems
+#define SCHEMA_IfcSpatialElement_HAS_ReferencesElements
+#define SCHEMA_IfcSpatialElement_HAS_IsInterferedByElements
+#define SCHEMA_IfcSpatialElement_HAS_InterferesElements
+#define SCHEMA_HAS_IfcSpatialElementType
+#define SCHEMA_IfcSpatialElementType_HAS_ElementType
+#define SCHEMA_IfcSpatialElementType_ElementType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSpatialStructureElement
+#define SCHEMA_IfcSpatialStructureElement_HAS_CompositionType
+#define SCHEMA_IfcSpatialStructureElement_CompositionType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSpatialStructureElementType
+#define SCHEMA_HAS_IfcSpatialZone
+#define SCHEMA_IfcSpatialZone_HAS_PredefinedType
+#define SCHEMA_IfcSpatialZone_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSpatialZoneType
+#define SCHEMA_IfcSpatialZoneType_HAS_PredefinedType
+#define SCHEMA_IfcSpatialZoneType_HAS_LongName
+#define SCHEMA_IfcSpatialZoneType_LongName_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSphere
+#define SCHEMA_IfcSphere_HAS_Radius
+#define SCHEMA_HAS_IfcSphericalSurface
+#define SCHEMA_IfcSphericalSurface_HAS_Radius
+#define SCHEMA_HAS_IfcSpiral
+#define SCHEMA_IfcSpiral_HAS_Position
+#define SCHEMA_HAS_IfcStackTerminal
+#define SCHEMA_IfcStackTerminal_HAS_PredefinedType
+#define SCHEMA_IfcStackTerminal_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcStackTerminalType
+#define SCHEMA_IfcStackTerminalType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcStair
+#define SCHEMA_IfcStair_HAS_PredefinedType
+#define SCHEMA_IfcStair_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcStairFlight
+#define SCHEMA_IfcStairFlight_HAS_NumberOfRisers
+#define SCHEMA_IfcStairFlight_NumberOfRisers_IS_OPTIONAL
+#define SCHEMA_IfcStairFlight_HAS_NumberOfTreads
+#define SCHEMA_IfcStairFlight_NumberOfTreads_IS_OPTIONAL
+#define SCHEMA_IfcStairFlight_HAS_RiserHeight
+#define SCHEMA_IfcStairFlight_RiserHeight_IS_OPTIONAL
+#define SCHEMA_IfcStairFlight_HAS_TreadLength
+#define SCHEMA_IfcStairFlight_TreadLength_IS_OPTIONAL
+#define SCHEMA_IfcStairFlight_HAS_PredefinedType
+#define SCHEMA_IfcStairFlight_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcStairFlightType
+#define SCHEMA_IfcStairFlightType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcStairType
+#define SCHEMA_IfcStairType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcStructuralAction
+#define SCHEMA_IfcStructuralAction_HAS_DestabilizingLoad
+#define SCHEMA_IfcStructuralAction_DestabilizingLoad_IS_OPTIONAL
+#define SCHEMA_HAS_IfcStructuralActivity
+#define SCHEMA_IfcStructuralActivity_HAS_AppliedLoad
+#define SCHEMA_IfcStructuralActivity_HAS_GlobalOrLocal
+#define SCHEMA_IfcStructuralActivity_HAS_AssignedToStructuralItem
+#define SCHEMA_HAS_IfcStructuralAnalysisModel
+#define SCHEMA_IfcStructuralAnalysisModel_HAS_PredefinedType
+#define SCHEMA_IfcStructuralAnalysisModel_HAS_OrientationOf2DPlane
+#define SCHEMA_IfcStructuralAnalysisModel_OrientationOf2DPlane_IS_OPTIONAL
+#define SCHEMA_IfcStructuralAnalysisModel_HAS_LoadedBy
+#define SCHEMA_IfcStructuralAnalysisModel_LoadedBy_IS_OPTIONAL
+#define SCHEMA_IfcStructuralAnalysisModel_HAS_HasResults
+#define SCHEMA_IfcStructuralAnalysisModel_HasResults_IS_OPTIONAL
+#define SCHEMA_IfcStructuralAnalysisModel_HAS_SharedPlacement
+#define SCHEMA_IfcStructuralAnalysisModel_SharedPlacement_IS_OPTIONAL
+#define SCHEMA_HAS_IfcStructuralConnection
+#define SCHEMA_IfcStructuralConnection_HAS_AppliedCondition
+#define SCHEMA_IfcStructuralConnection_AppliedCondition_IS_OPTIONAL
+#define SCHEMA_IfcStructuralConnection_HAS_ConnectsStructuralMembers
+#define SCHEMA_HAS_IfcStructuralConnectionCondition
+#define SCHEMA_IfcStructuralConnectionCondition_HAS_Name
+#define SCHEMA_IfcStructuralConnectionCondition_Name_IS_OPTIONAL
+#define SCHEMA_HAS_IfcStructuralCurveAction
+#define SCHEMA_IfcStructuralCurveAction_HAS_ProjectedOrTrue
+#define SCHEMA_IfcStructuralCurveAction_ProjectedOrTrue_IS_OPTIONAL
+#define SCHEMA_IfcStructuralCurveAction_HAS_PredefinedType
+#define SCHEMA_HAS_IfcStructuralCurveConnection
+#define SCHEMA_IfcStructuralCurveConnection_HAS_AxisDirection
+#define SCHEMA_HAS_IfcStructuralCurveMember
+#define SCHEMA_IfcStructuralCurveMember_HAS_PredefinedType
+#define SCHEMA_IfcStructuralCurveMember_HAS_Axis
+#define SCHEMA_HAS_IfcStructuralCurveMemberVarying
+#define SCHEMA_HAS_IfcStructuralCurveReaction
+#define SCHEMA_IfcStructuralCurveReaction_HAS_PredefinedType
+#define SCHEMA_HAS_IfcStructuralItem
+#define SCHEMA_IfcStructuralItem_HAS_AssignedStructuralActivity
+#define SCHEMA_HAS_IfcStructuralLinearAction
+#define SCHEMA_HAS_IfcStructuralLoad
+#define SCHEMA_IfcStructuralLoad_HAS_Name
+#define SCHEMA_IfcStructuralLoad_Name_IS_OPTIONAL
+#define SCHEMA_HAS_IfcStructuralLoadCase
+#define SCHEMA_IfcStructuralLoadCase_HAS_SelfWeightCoefficients
+#define SCHEMA_IfcStructuralLoadCase_SelfWeightCoefficients_IS_OPTIONAL
+#define SCHEMA_HAS_IfcStructuralLoadConfiguration
+#define SCHEMA_IfcStructuralLoadConfiguration_HAS_Values
+#define SCHEMA_IfcStructuralLoadConfiguration_HAS_Locations
+#define SCHEMA_IfcStructuralLoadConfiguration_Locations_IS_OPTIONAL
+#define SCHEMA_HAS_IfcStructuralLoadGroup
+#define SCHEMA_IfcStructuralLoadGroup_HAS_PredefinedType
+#define SCHEMA_IfcStructuralLoadGroup_HAS_ActionType
+#define SCHEMA_IfcStructuralLoadGroup_HAS_ActionSource
+#define SCHEMA_IfcStructuralLoadGroup_HAS_Coefficient
+#define SCHEMA_IfcStructuralLoadGroup_Coefficient_IS_OPTIONAL
+#define SCHEMA_IfcStructuralLoadGroup_HAS_Purpose
+#define SCHEMA_IfcStructuralLoadGroup_Purpose_IS_OPTIONAL
+#define SCHEMA_IfcStructuralLoadGroup_HAS_SourceOfResultGroup
+#define SCHEMA_IfcStructuralLoadGroup_HAS_LoadGroupFor
+#define SCHEMA_HAS_IfcStructuralLoadLinearForce
+#define SCHEMA_IfcStructuralLoadLinearForce_HAS_LinearForceX
+#define SCHEMA_IfcStructuralLoadLinearForce_LinearForceX_IS_OPTIONAL
+#define SCHEMA_IfcStructuralLoadLinearForce_HAS_LinearForceY
+#define SCHEMA_IfcStructuralLoadLinearForce_LinearForceY_IS_OPTIONAL
+#define SCHEMA_IfcStructuralLoadLinearForce_HAS_LinearForceZ
+#define SCHEMA_IfcStructuralLoadLinearForce_LinearForceZ_IS_OPTIONAL
+#define SCHEMA_IfcStructuralLoadLinearForce_HAS_LinearMomentX
+#define SCHEMA_IfcStructuralLoadLinearForce_LinearMomentX_IS_OPTIONAL
+#define SCHEMA_IfcStructuralLoadLinearForce_HAS_LinearMomentY
+#define SCHEMA_IfcStructuralLoadLinearForce_LinearMomentY_IS_OPTIONAL
+#define SCHEMA_IfcStructuralLoadLinearForce_HAS_LinearMomentZ
+#define SCHEMA_IfcStructuralLoadLinearForce_LinearMomentZ_IS_OPTIONAL
+#define SCHEMA_HAS_IfcStructuralLoadOrResult
+#define SCHEMA_HAS_IfcStructuralLoadPlanarForce
+#define SCHEMA_IfcStructuralLoadPlanarForce_HAS_PlanarForceX
+#define SCHEMA_IfcStructuralLoadPlanarForce_PlanarForceX_IS_OPTIONAL
+#define SCHEMA_IfcStructuralLoadPlanarForce_HAS_PlanarForceY
+#define SCHEMA_IfcStructuralLoadPlanarForce_PlanarForceY_IS_OPTIONAL
+#define SCHEMA_IfcStructuralLoadPlanarForce_HAS_PlanarForceZ
+#define SCHEMA_IfcStructuralLoadPlanarForce_PlanarForceZ_IS_OPTIONAL
+#define SCHEMA_HAS_IfcStructuralLoadSingleDisplacement
+#define SCHEMA_IfcStructuralLoadSingleDisplacement_HAS_DisplacementX
+#define SCHEMA_IfcStructuralLoadSingleDisplacement_DisplacementX_IS_OPTIONAL
+#define SCHEMA_IfcStructuralLoadSingleDisplacement_HAS_DisplacementY
+#define SCHEMA_IfcStructuralLoadSingleDisplacement_DisplacementY_IS_OPTIONAL
+#define SCHEMA_IfcStructuralLoadSingleDisplacement_HAS_DisplacementZ
+#define SCHEMA_IfcStructuralLoadSingleDisplacement_DisplacementZ_IS_OPTIONAL
+#define SCHEMA_IfcStructuralLoadSingleDisplacement_HAS_RotationalDisplacementRX
+#define SCHEMA_IfcStructuralLoadSingleDisplacement_RotationalDisplacementRX_IS_OPTIONAL
+#define SCHEMA_IfcStructuralLoadSingleDisplacement_HAS_RotationalDisplacementRY
+#define SCHEMA_IfcStructuralLoadSingleDisplacement_RotationalDisplacementRY_IS_OPTIONAL
+#define SCHEMA_IfcStructuralLoadSingleDisplacement_HAS_RotationalDisplacementRZ
+#define SCHEMA_IfcStructuralLoadSingleDisplacement_RotationalDisplacementRZ_IS_OPTIONAL
+#define SCHEMA_HAS_IfcStructuralLoadSingleDisplacementDistortion
+#define SCHEMA_IfcStructuralLoadSingleDisplacementDistortion_HAS_Distortion
+#define SCHEMA_IfcStructuralLoadSingleDisplacementDistortion_Distortion_IS_OPTIONAL
+#define SCHEMA_HAS_IfcStructuralLoadSingleForce
+#define SCHEMA_IfcStructuralLoadSingleForce_HAS_ForceX
+#define SCHEMA_IfcStructuralLoadSingleForce_ForceX_IS_OPTIONAL
+#define SCHEMA_IfcStructuralLoadSingleForce_HAS_ForceY
+#define SCHEMA_IfcStructuralLoadSingleForce_ForceY_IS_OPTIONAL
+#define SCHEMA_IfcStructuralLoadSingleForce_HAS_ForceZ
+#define SCHEMA_IfcStructuralLoadSingleForce_ForceZ_IS_OPTIONAL
+#define SCHEMA_IfcStructuralLoadSingleForce_HAS_MomentX
+#define SCHEMA_IfcStructuralLoadSingleForce_MomentX_IS_OPTIONAL
+#define SCHEMA_IfcStructuralLoadSingleForce_HAS_MomentY
+#define SCHEMA_IfcStructuralLoadSingleForce_MomentY_IS_OPTIONAL
+#define SCHEMA_IfcStructuralLoadSingleForce_HAS_MomentZ
+#define SCHEMA_IfcStructuralLoadSingleForce_MomentZ_IS_OPTIONAL
+#define SCHEMA_HAS_IfcStructuralLoadSingleForceWarping
+#define SCHEMA_IfcStructuralLoadSingleForceWarping_HAS_WarpingMoment
+#define SCHEMA_IfcStructuralLoadSingleForceWarping_WarpingMoment_IS_OPTIONAL
+#define SCHEMA_HAS_IfcStructuralLoadStatic
+#define SCHEMA_HAS_IfcStructuralLoadTemperature
+#define SCHEMA_IfcStructuralLoadTemperature_HAS_DeltaTConstant
+#define SCHEMA_IfcStructuralLoadTemperature_DeltaTConstant_IS_OPTIONAL
+#define SCHEMA_IfcStructuralLoadTemperature_HAS_DeltaTY
+#define SCHEMA_IfcStructuralLoadTemperature_DeltaTY_IS_OPTIONAL
+#define SCHEMA_IfcStructuralLoadTemperature_HAS_DeltaTZ
+#define SCHEMA_IfcStructuralLoadTemperature_DeltaTZ_IS_OPTIONAL
+#define SCHEMA_HAS_IfcStructuralMember
+#define SCHEMA_IfcStructuralMember_HAS_ConnectedBy
+#define SCHEMA_HAS_IfcStructuralPlanarAction
+#define SCHEMA_HAS_IfcStructuralPointAction
+#define SCHEMA_HAS_IfcStructuralPointConnection
+#define SCHEMA_IfcStructuralPointConnection_HAS_ConditionCoordinateSystem
+#define SCHEMA_IfcStructuralPointConnection_ConditionCoordinateSystem_IS_OPTIONAL
+#define SCHEMA_HAS_IfcStructuralPointReaction
+#define SCHEMA_HAS_IfcStructuralReaction
+#define SCHEMA_HAS_IfcStructuralResultGroup
+#define SCHEMA_IfcStructuralResultGroup_HAS_TheoryType
+#define SCHEMA_IfcStructuralResultGroup_HAS_ResultForLoadGroup
+#define SCHEMA_IfcStructuralResultGroup_ResultForLoadGroup_IS_OPTIONAL
+#define SCHEMA_IfcStructuralResultGroup_HAS_IsLinear
+#define SCHEMA_IfcStructuralResultGroup_HAS_ResultGroupFor
+#define SCHEMA_HAS_IfcStructuralSurfaceAction
+#define SCHEMA_IfcStructuralSurfaceAction_HAS_ProjectedOrTrue
+#define SCHEMA_IfcStructuralSurfaceAction_ProjectedOrTrue_IS_OPTIONAL
+#define SCHEMA_IfcStructuralSurfaceAction_HAS_PredefinedType
+#define SCHEMA_HAS_IfcStructuralSurfaceConnection
+#define SCHEMA_HAS_IfcStructuralSurfaceMember
+#define SCHEMA_IfcStructuralSurfaceMember_HAS_PredefinedType
+#define SCHEMA_IfcStructuralSurfaceMember_HAS_Thickness
+#define SCHEMA_IfcStructuralSurfaceMember_Thickness_IS_OPTIONAL
+#define SCHEMA_HAS_IfcStructuralSurfaceMemberVarying
+#define SCHEMA_HAS_IfcStructuralSurfaceReaction
+#define SCHEMA_IfcStructuralSurfaceReaction_HAS_PredefinedType
+#define SCHEMA_HAS_IfcStyleModel
+#define SCHEMA_HAS_IfcStyledItem
+#define SCHEMA_IfcStyledItem_HAS_Item
+#define SCHEMA_IfcStyledItem_Item_IS_OPTIONAL
+#define SCHEMA_IfcStyledItem_HAS_Styles
+#define SCHEMA_IfcStyledItem_HAS_Name
+#define SCHEMA_IfcStyledItem_Name_IS_OPTIONAL
+#define SCHEMA_HAS_IfcStyledRepresentation
+#define SCHEMA_HAS_IfcSubContractResource
+#define SCHEMA_IfcSubContractResource_HAS_PredefinedType
+#define SCHEMA_IfcSubContractResource_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSubContractResourceType
+#define SCHEMA_IfcSubContractResourceType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcSubedge
+#define SCHEMA_IfcSubedge_HAS_ParentEdge
+#define SCHEMA_HAS_IfcSurface
+#define SCHEMA_HAS_IfcSurfaceCurve
+#define SCHEMA_IfcSurfaceCurve_HAS_Curve3D
+#define SCHEMA_IfcSurfaceCurve_HAS_AssociatedGeometry
+#define SCHEMA_IfcSurfaceCurve_HAS_MasterRepresentation
+#define SCHEMA_HAS_IfcSurfaceCurveSweptAreaSolid
+#define SCHEMA_IfcSurfaceCurveSweptAreaSolid_HAS_ReferenceSurface
+#define SCHEMA_HAS_IfcSurfaceFeature
+#define SCHEMA_IfcSurfaceFeature_HAS_PredefinedType
+#define SCHEMA_IfcSurfaceFeature_PredefinedType_IS_OPTIONAL
+#define SCHEMA_IfcSurfaceFeature_HAS_AdheresToElement
+#define SCHEMA_HAS_IfcSurfaceOfLinearExtrusion
+#define SCHEMA_IfcSurfaceOfLinearExtrusion_HAS_ExtrudedDirection
+#define SCHEMA_IfcSurfaceOfLinearExtrusion_HAS_Depth
+#define SCHEMA_HAS_IfcSurfaceOfRevolution
+#define SCHEMA_IfcSurfaceOfRevolution_HAS_AxisPosition
+#define SCHEMA_HAS_IfcSurfaceReinforcementArea
+#define SCHEMA_IfcSurfaceReinforcementArea_HAS_SurfaceReinforcement1
+#define SCHEMA_IfcSurfaceReinforcementArea_SurfaceReinforcement1_IS_OPTIONAL
+#define SCHEMA_IfcSurfaceReinforcementArea_HAS_SurfaceReinforcement2
+#define SCHEMA_IfcSurfaceReinforcementArea_SurfaceReinforcement2_IS_OPTIONAL
+#define SCHEMA_IfcSurfaceReinforcementArea_HAS_ShearReinforcement
+#define SCHEMA_IfcSurfaceReinforcementArea_ShearReinforcement_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSurfaceStyle
+#define SCHEMA_IfcSurfaceStyle_HAS_Side
+#define SCHEMA_IfcSurfaceStyle_HAS_Styles
+#define SCHEMA_HAS_IfcSurfaceStyleLighting
+#define SCHEMA_IfcSurfaceStyleLighting_HAS_DiffuseTransmissionColour
+#define SCHEMA_IfcSurfaceStyleLighting_HAS_DiffuseReflectionColour
+#define SCHEMA_IfcSurfaceStyleLighting_HAS_TransmissionColour
+#define SCHEMA_IfcSurfaceStyleLighting_HAS_ReflectanceColour
+#define SCHEMA_HAS_IfcSurfaceStyleRefraction
+#define SCHEMA_IfcSurfaceStyleRefraction_HAS_RefractionIndex
+#define SCHEMA_IfcSurfaceStyleRefraction_RefractionIndex_IS_OPTIONAL
+#define SCHEMA_IfcSurfaceStyleRefraction_HAS_DispersionFactor
+#define SCHEMA_IfcSurfaceStyleRefraction_DispersionFactor_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSurfaceStyleRendering
+#define SCHEMA_IfcSurfaceStyleRendering_HAS_DiffuseColour
+#define SCHEMA_IfcSurfaceStyleRendering_DiffuseColour_IS_OPTIONAL
+#define SCHEMA_IfcSurfaceStyleRendering_HAS_TransmissionColour
+#define SCHEMA_IfcSurfaceStyleRendering_TransmissionColour_IS_OPTIONAL
+#define SCHEMA_IfcSurfaceStyleRendering_HAS_DiffuseTransmissionColour
+#define SCHEMA_IfcSurfaceStyleRendering_DiffuseTransmissionColour_IS_OPTIONAL
+#define SCHEMA_IfcSurfaceStyleRendering_HAS_ReflectionColour
+#define SCHEMA_IfcSurfaceStyleRendering_ReflectionColour_IS_OPTIONAL
+#define SCHEMA_IfcSurfaceStyleRendering_HAS_SpecularColour
+#define SCHEMA_IfcSurfaceStyleRendering_SpecularColour_IS_OPTIONAL
+#define SCHEMA_IfcSurfaceStyleRendering_HAS_SpecularHighlight
+#define SCHEMA_IfcSurfaceStyleRendering_SpecularHighlight_IS_OPTIONAL
+#define SCHEMA_IfcSurfaceStyleRendering_HAS_ReflectanceMethod
+#define SCHEMA_HAS_IfcSurfaceStyleShading
+#define SCHEMA_IfcSurfaceStyleShading_HAS_SurfaceColour
+#define SCHEMA_IfcSurfaceStyleShading_HAS_Transparency
+#define SCHEMA_IfcSurfaceStyleShading_Transparency_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSurfaceStyleWithTextures
+#define SCHEMA_IfcSurfaceStyleWithTextures_HAS_Textures
+#define SCHEMA_HAS_IfcSurfaceTexture
+#define SCHEMA_IfcSurfaceTexture_HAS_RepeatS
+#define SCHEMA_IfcSurfaceTexture_HAS_RepeatT
+#define SCHEMA_IfcSurfaceTexture_HAS_Mode
+#define SCHEMA_IfcSurfaceTexture_Mode_IS_OPTIONAL
+#define SCHEMA_IfcSurfaceTexture_HAS_TextureTransform
+#define SCHEMA_IfcSurfaceTexture_TextureTransform_IS_OPTIONAL
+#define SCHEMA_IfcSurfaceTexture_HAS_Parameter
+#define SCHEMA_IfcSurfaceTexture_Parameter_IS_OPTIONAL
+#define SCHEMA_IfcSurfaceTexture_HAS_IsMappedBy
+#define SCHEMA_IfcSurfaceTexture_HAS_UsedInStyles
+#define SCHEMA_HAS_IfcSweptAreaSolid
+#define SCHEMA_IfcSweptAreaSolid_HAS_SweptArea
+#define SCHEMA_IfcSweptAreaSolid_HAS_Position
+#define SCHEMA_IfcSweptAreaSolid_Position_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSweptDiskSolid
+#define SCHEMA_IfcSweptDiskSolid_HAS_Directrix
+#define SCHEMA_IfcSweptDiskSolid_HAS_Radius
+#define SCHEMA_IfcSweptDiskSolid_HAS_InnerRadius
+#define SCHEMA_IfcSweptDiskSolid_InnerRadius_IS_OPTIONAL
+#define SCHEMA_IfcSweptDiskSolid_HAS_StartParam
+#define SCHEMA_IfcSweptDiskSolid_StartParam_IS_OPTIONAL
+#define SCHEMA_IfcSweptDiskSolid_HAS_EndParam
+#define SCHEMA_IfcSweptDiskSolid_EndParam_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSweptDiskSolidPolygonal
+#define SCHEMA_IfcSweptDiskSolidPolygonal_HAS_FilletRadius
+#define SCHEMA_IfcSweptDiskSolidPolygonal_FilletRadius_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSweptSurface
+#define SCHEMA_IfcSweptSurface_HAS_SweptCurve
+#define SCHEMA_IfcSweptSurface_HAS_Position
+#define SCHEMA_IfcSweptSurface_Position_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSwitchingDevice
+#define SCHEMA_IfcSwitchingDevice_HAS_PredefinedType
+#define SCHEMA_IfcSwitchingDevice_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSwitchingDeviceType
+#define SCHEMA_IfcSwitchingDeviceType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcSystem
+#define SCHEMA_IfcSystem_HAS_ServicesBuildings
+#define SCHEMA_IfcSystem_HAS_ServicesFacilities
+#define SCHEMA_HAS_IfcSystemFurnitureElement
+#define SCHEMA_IfcSystemFurnitureElement_HAS_PredefinedType
+#define SCHEMA_IfcSystemFurnitureElement_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSystemFurnitureElementType
+#define SCHEMA_IfcSystemFurnitureElementType_HAS_PredefinedType
+#define SCHEMA_IfcSystemFurnitureElementType_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcTShapeProfileDef
+#define SCHEMA_IfcTShapeProfileDef_HAS_Depth
+#define SCHEMA_IfcTShapeProfileDef_HAS_FlangeWidth
+#define SCHEMA_IfcTShapeProfileDef_HAS_WebThickness
+#define SCHEMA_IfcTShapeProfileDef_HAS_FlangeThickness
+#define SCHEMA_IfcTShapeProfileDef_HAS_FilletRadius
+#define SCHEMA_IfcTShapeProfileDef_FilletRadius_IS_OPTIONAL
+#define SCHEMA_IfcTShapeProfileDef_HAS_FlangeEdgeRadius
+#define SCHEMA_IfcTShapeProfileDef_FlangeEdgeRadius_IS_OPTIONAL
+#define SCHEMA_IfcTShapeProfileDef_HAS_WebEdgeRadius
+#define SCHEMA_IfcTShapeProfileDef_WebEdgeRadius_IS_OPTIONAL
+#define SCHEMA_IfcTShapeProfileDef_HAS_WebSlope
+#define SCHEMA_IfcTShapeProfileDef_WebSlope_IS_OPTIONAL
+#define SCHEMA_IfcTShapeProfileDef_HAS_FlangeSlope
+#define SCHEMA_IfcTShapeProfileDef_FlangeSlope_IS_OPTIONAL
+#define SCHEMA_HAS_IfcTable
+#define SCHEMA_IfcTable_HAS_Name
+#define SCHEMA_IfcTable_Name_IS_OPTIONAL
+#define SCHEMA_IfcTable_HAS_Rows
+#define SCHEMA_IfcTable_Rows_IS_OPTIONAL
+#define SCHEMA_IfcTable_HAS_Columns
+#define SCHEMA_IfcTable_Columns_IS_OPTIONAL
+#define SCHEMA_HAS_IfcTableColumn
+#define SCHEMA_IfcTableColumn_HAS_Identifier
+#define SCHEMA_IfcTableColumn_Identifier_IS_OPTIONAL
+#define SCHEMA_IfcTableColumn_HAS_Name
+#define SCHEMA_IfcTableColumn_Name_IS_OPTIONAL
+#define SCHEMA_IfcTableColumn_HAS_Description
+#define SCHEMA_IfcTableColumn_Description_IS_OPTIONAL
+#define SCHEMA_IfcTableColumn_HAS_Unit
+#define SCHEMA_IfcTableColumn_Unit_IS_OPTIONAL
+#define SCHEMA_IfcTableColumn_HAS_ReferencePath
+#define SCHEMA_IfcTableColumn_ReferencePath_IS_OPTIONAL
+#define SCHEMA_HAS_IfcTableRow
+#define SCHEMA_IfcTableRow_HAS_RowCells
+#define SCHEMA_IfcTableRow_RowCells_IS_OPTIONAL
+#define SCHEMA_IfcTableRow_HAS_IsHeading
+#define SCHEMA_IfcTableRow_IsHeading_IS_OPTIONAL
+#define SCHEMA_HAS_IfcTank
+#define SCHEMA_IfcTank_HAS_PredefinedType
+#define SCHEMA_IfcTank_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcTankType
+#define SCHEMA_IfcTankType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcTask
+#define SCHEMA_IfcTask_HAS_Status
+#define SCHEMA_IfcTask_Status_IS_OPTIONAL
+#define SCHEMA_IfcTask_HAS_WorkMethod
+#define SCHEMA_IfcTask_WorkMethod_IS_OPTIONAL
+#define SCHEMA_IfcTask_HAS_IsMilestone
+#define SCHEMA_IfcTask_HAS_Priority
+#define SCHEMA_IfcTask_Priority_IS_OPTIONAL
+#define SCHEMA_IfcTask_HAS_TaskTime
+#define SCHEMA_IfcTask_TaskTime_IS_OPTIONAL
+#define SCHEMA_IfcTask_HAS_PredefinedType
+#define SCHEMA_IfcTask_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcTaskTime
+#define SCHEMA_IfcTaskTime_HAS_DurationType
+#define SCHEMA_IfcTaskTime_DurationType_IS_OPTIONAL
+#define SCHEMA_IfcTaskTime_HAS_ScheduleDuration
+#define SCHEMA_IfcTaskTime_ScheduleDuration_IS_OPTIONAL
+#define SCHEMA_IfcTaskTime_HAS_ScheduleStart
+#define SCHEMA_IfcTaskTime_ScheduleStart_IS_OPTIONAL
+#define SCHEMA_IfcTaskTime_HAS_ScheduleFinish
+#define SCHEMA_IfcTaskTime_ScheduleFinish_IS_OPTIONAL
+#define SCHEMA_IfcTaskTime_HAS_EarlyStart
+#define SCHEMA_IfcTaskTime_EarlyStart_IS_OPTIONAL
+#define SCHEMA_IfcTaskTime_HAS_EarlyFinish
+#define SCHEMA_IfcTaskTime_EarlyFinish_IS_OPTIONAL
+#define SCHEMA_IfcTaskTime_HAS_LateStart
+#define SCHEMA_IfcTaskTime_LateStart_IS_OPTIONAL
+#define SCHEMA_IfcTaskTime_HAS_LateFinish
+#define SCHEMA_IfcTaskTime_LateFinish_IS_OPTIONAL
+#define SCHEMA_IfcTaskTime_HAS_FreeFloat
+#define SCHEMA_IfcTaskTime_FreeFloat_IS_OPTIONAL
+#define SCHEMA_IfcTaskTime_HAS_TotalFloat
+#define SCHEMA_IfcTaskTime_TotalFloat_IS_OPTIONAL
+#define SCHEMA_IfcTaskTime_HAS_IsCritical
+#define SCHEMA_IfcTaskTime_IsCritical_IS_OPTIONAL
+#define SCHEMA_IfcTaskTime_HAS_StatusTime
+#define SCHEMA_IfcTaskTime_StatusTime_IS_OPTIONAL
+#define SCHEMA_IfcTaskTime_HAS_ActualDuration
+#define SCHEMA_IfcTaskTime_ActualDuration_IS_OPTIONAL
+#define SCHEMA_IfcTaskTime_HAS_ActualStart
+#define SCHEMA_IfcTaskTime_ActualStart_IS_OPTIONAL
+#define SCHEMA_IfcTaskTime_HAS_ActualFinish
+#define SCHEMA_IfcTaskTime_ActualFinish_IS_OPTIONAL
+#define SCHEMA_IfcTaskTime_HAS_RemainingTime
+#define SCHEMA_IfcTaskTime_RemainingTime_IS_OPTIONAL
+#define SCHEMA_IfcTaskTime_HAS_Completion
+#define SCHEMA_IfcTaskTime_Completion_IS_OPTIONAL
+#define SCHEMA_HAS_IfcTaskTimeRecurring
+#define SCHEMA_IfcTaskTimeRecurring_HAS_Recurrence
+#define SCHEMA_HAS_IfcTaskType
+#define SCHEMA_IfcTaskType_HAS_PredefinedType
+#define SCHEMA_IfcTaskType_HAS_WorkMethod
+#define SCHEMA_IfcTaskType_WorkMethod_IS_OPTIONAL
+#define SCHEMA_HAS_IfcTelecomAddress
+#define SCHEMA_IfcTelecomAddress_HAS_TelephoneNumbers
+#define SCHEMA_IfcTelecomAddress_TelephoneNumbers_IS_OPTIONAL
+#define SCHEMA_IfcTelecomAddress_HAS_FacsimileNumbers
+#define SCHEMA_IfcTelecomAddress_FacsimileNumbers_IS_OPTIONAL
+#define SCHEMA_IfcTelecomAddress_HAS_PagerNumber
+#define SCHEMA_IfcTelecomAddress_PagerNumber_IS_OPTIONAL
+#define SCHEMA_IfcTelecomAddress_HAS_ElectronicMailAddresses
+#define SCHEMA_IfcTelecomAddress_ElectronicMailAddresses_IS_OPTIONAL
+#define SCHEMA_IfcTelecomAddress_HAS_WWWHomePageURL
+#define SCHEMA_IfcTelecomAddress_WWWHomePageURL_IS_OPTIONAL
+#define SCHEMA_IfcTelecomAddress_HAS_MessagingIDs
+#define SCHEMA_IfcTelecomAddress_MessagingIDs_IS_OPTIONAL
+#define SCHEMA_HAS_IfcTendon
+#define SCHEMA_IfcTendon_HAS_PredefinedType
+#define SCHEMA_IfcTendon_PredefinedType_IS_OPTIONAL
+#define SCHEMA_IfcTendon_HAS_NominalDiameter
+#define SCHEMA_IfcTendon_NominalDiameter_IS_OPTIONAL
+#define SCHEMA_IfcTendon_HAS_CrossSectionArea
+#define SCHEMA_IfcTendon_CrossSectionArea_IS_OPTIONAL
+#define SCHEMA_IfcTendon_HAS_TensionForce
+#define SCHEMA_IfcTendon_TensionForce_IS_OPTIONAL
+#define SCHEMA_IfcTendon_HAS_PreStress
+#define SCHEMA_IfcTendon_PreStress_IS_OPTIONAL
+#define SCHEMA_IfcTendon_HAS_FrictionCoefficient
+#define SCHEMA_IfcTendon_FrictionCoefficient_IS_OPTIONAL
+#define SCHEMA_IfcTendon_HAS_AnchorageSlip
+#define SCHEMA_IfcTendon_AnchorageSlip_IS_OPTIONAL
+#define SCHEMA_IfcTendon_HAS_MinCurvatureRadius
+#define SCHEMA_IfcTendon_MinCurvatureRadius_IS_OPTIONAL
+#define SCHEMA_HAS_IfcTendonAnchor
+#define SCHEMA_IfcTendonAnchor_HAS_PredefinedType
+#define SCHEMA_IfcTendonAnchor_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcTendonAnchorType
+#define SCHEMA_IfcTendonAnchorType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcTendonConduit
+#define SCHEMA_IfcTendonConduit_HAS_PredefinedType
+#define SCHEMA_IfcTendonConduit_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcTendonConduitType
+#define SCHEMA_IfcTendonConduitType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcTendonType
+#define SCHEMA_IfcTendonType_HAS_PredefinedType
+#define SCHEMA_IfcTendonType_HAS_NominalDiameter
+#define SCHEMA_IfcTendonType_NominalDiameter_IS_OPTIONAL
+#define SCHEMA_IfcTendonType_HAS_CrossSectionArea
+#define SCHEMA_IfcTendonType_CrossSectionArea_IS_OPTIONAL
+#define SCHEMA_IfcTendonType_HAS_SheathDiameter
+#define SCHEMA_IfcTendonType_SheathDiameter_IS_OPTIONAL
+#define SCHEMA_HAS_IfcTessellatedFaceSet
+#define SCHEMA_IfcTessellatedFaceSet_HAS_Coordinates
+#define SCHEMA_IfcTessellatedFaceSet_HAS_HasColours
+#define SCHEMA_IfcTessellatedFaceSet_HAS_HasTextures
+#define SCHEMA_HAS_IfcTessellatedItem
+#define SCHEMA_HAS_IfcTextLiteral
+#define SCHEMA_IfcTextLiteral_HAS_Literal
+#define SCHEMA_IfcTextLiteral_HAS_Placement
+#define SCHEMA_IfcTextLiteral_HAS_Path
+#define SCHEMA_HAS_IfcTextLiteralWithExtent
+#define SCHEMA_IfcTextLiteralWithExtent_HAS_Extent
+#define SCHEMA_IfcTextLiteralWithExtent_HAS_BoxAlignment
+#define SCHEMA_HAS_IfcTextStyle
+#define SCHEMA_IfcTextStyle_HAS_TextCharacterAppearance
+#define SCHEMA_IfcTextStyle_TextCharacterAppearance_IS_OPTIONAL
+#define SCHEMA_IfcTextStyle_HAS_TextStyle
+#define SCHEMA_IfcTextStyle_TextStyle_IS_OPTIONAL
+#define SCHEMA_IfcTextStyle_HAS_TextFontStyle
+#define SCHEMA_IfcTextStyle_HAS_ModelOrDraughting
+#define SCHEMA_IfcTextStyle_ModelOrDraughting_IS_OPTIONAL
+#define SCHEMA_HAS_IfcTextStyleFontModel
+#define SCHEMA_IfcTextStyleFontModel_HAS_FontFamily
+#define SCHEMA_IfcTextStyleFontModel_HAS_FontStyle
+#define SCHEMA_IfcTextStyleFontModel_FontStyle_IS_OPTIONAL
+#define SCHEMA_IfcTextStyleFontModel_HAS_FontVariant
+#define SCHEMA_IfcTextStyleFontModel_FontVariant_IS_OPTIONAL
+#define SCHEMA_IfcTextStyleFontModel_HAS_FontWeight
+#define SCHEMA_IfcTextStyleFontModel_FontWeight_IS_OPTIONAL
+#define SCHEMA_IfcTextStyleFontModel_HAS_FontSize
+#define SCHEMA_HAS_IfcTextStyleForDefinedFont
+#define SCHEMA_IfcTextStyleForDefinedFont_HAS_Colour
+#define SCHEMA_IfcTextStyleForDefinedFont_HAS_BackgroundColour
+#define SCHEMA_IfcTextStyleForDefinedFont_BackgroundColour_IS_OPTIONAL
+#define SCHEMA_HAS_IfcTextStyleTextModel
+#define SCHEMA_IfcTextStyleTextModel_HAS_TextIndent
+#define SCHEMA_IfcTextStyleTextModel_TextIndent_IS_OPTIONAL
+#define SCHEMA_IfcTextStyleTextModel_HAS_TextAlign
+#define SCHEMA_IfcTextStyleTextModel_TextAlign_IS_OPTIONAL
+#define SCHEMA_IfcTextStyleTextModel_HAS_TextDecoration
+#define SCHEMA_IfcTextStyleTextModel_TextDecoration_IS_OPTIONAL
+#define SCHEMA_IfcTextStyleTextModel_HAS_LetterSpacing
+#define SCHEMA_IfcTextStyleTextModel_LetterSpacing_IS_OPTIONAL
+#define SCHEMA_IfcTextStyleTextModel_HAS_WordSpacing
+#define SCHEMA_IfcTextStyleTextModel_WordSpacing_IS_OPTIONAL
+#define SCHEMA_IfcTextStyleTextModel_HAS_TextTransform
+#define SCHEMA_IfcTextStyleTextModel_TextTransform_IS_OPTIONAL
+#define SCHEMA_IfcTextStyleTextModel_HAS_LineHeight
+#define SCHEMA_IfcTextStyleTextModel_LineHeight_IS_OPTIONAL
+#define SCHEMA_HAS_IfcTextureCoordinate
+#define SCHEMA_IfcTextureCoordinate_HAS_Maps
+#define SCHEMA_HAS_IfcTextureCoordinateGenerator
+#define SCHEMA_IfcTextureCoordinateGenerator_HAS_Mode
+#define SCHEMA_IfcTextureCoordinateGenerator_HAS_Parameter
+#define SCHEMA_IfcTextureCoordinateGenerator_Parameter_IS_OPTIONAL
+#define SCHEMA_HAS_IfcTextureCoordinateIndices
+#define SCHEMA_IfcTextureCoordinateIndices_HAS_TexCoordIndex
+#define SCHEMA_IfcTextureCoordinateIndices_HAS_TexCoordsOf
+#define SCHEMA_IfcTextureCoordinateIndices_HAS_ToTexMap
+#define SCHEMA_HAS_IfcTextureCoordinateIndicesWithVoids
+#define SCHEMA_IfcTextureCoordinateIndicesWithVoids_HAS_InnerTexCoordIndices
+#define SCHEMA_HAS_IfcTextureMap
+#define SCHEMA_IfcTextureMap_HAS_Vertices
+#define SCHEMA_IfcTextureMap_HAS_MappedTo
+#define SCHEMA_HAS_IfcTextureVertex
+#define SCHEMA_IfcTextureVertex_HAS_Coordinates
+#define SCHEMA_HAS_IfcTextureVertexList
+#define SCHEMA_IfcTextureVertexList_HAS_TexCoordsList
+#define SCHEMA_HAS_IfcThirdOrderPolynomialSpiral
+#define SCHEMA_IfcThirdOrderPolynomialSpiral_HAS_CubicTerm
+#define SCHEMA_IfcThirdOrderPolynomialSpiral_HAS_QuadraticTerm
+#define SCHEMA_IfcThirdOrderPolynomialSpiral_QuadraticTerm_IS_OPTIONAL
+#define SCHEMA_IfcThirdOrderPolynomialSpiral_HAS_LinearTerm
+#define SCHEMA_IfcThirdOrderPolynomialSpiral_LinearTerm_IS_OPTIONAL
+#define SCHEMA_IfcThirdOrderPolynomialSpiral_HAS_ConstantTerm
+#define SCHEMA_IfcThirdOrderPolynomialSpiral_ConstantTerm_IS_OPTIONAL
+#define SCHEMA_HAS_IfcTimePeriod
+#define SCHEMA_IfcTimePeriod_HAS_StartTime
+#define SCHEMA_IfcTimePeriod_HAS_EndTime
+#define SCHEMA_HAS_IfcTimeSeries
+#define SCHEMA_IfcTimeSeries_HAS_Name
+#define SCHEMA_IfcTimeSeries_HAS_Description
+#define SCHEMA_IfcTimeSeries_Description_IS_OPTIONAL
+#define SCHEMA_IfcTimeSeries_HAS_StartTime
+#define SCHEMA_IfcTimeSeries_HAS_EndTime
+#define SCHEMA_IfcTimeSeries_HAS_TimeSeriesDataType
+#define SCHEMA_IfcTimeSeries_HAS_DataOrigin
+#define SCHEMA_IfcTimeSeries_HAS_UserDefinedDataOrigin
+#define SCHEMA_IfcTimeSeries_UserDefinedDataOrigin_IS_OPTIONAL
+#define SCHEMA_IfcTimeSeries_HAS_Unit
+#define SCHEMA_IfcTimeSeries_Unit_IS_OPTIONAL
+#define SCHEMA_IfcTimeSeries_HAS_HasExternalReference
+#define SCHEMA_HAS_IfcTimeSeriesValue
+#define SCHEMA_IfcTimeSeriesValue_HAS_ListValues
+#define SCHEMA_HAS_IfcTopologicalRepresentationItem
+#define SCHEMA_HAS_IfcTopologyRepresentation
+#define SCHEMA_HAS_IfcToroidalSurface
+#define SCHEMA_IfcToroidalSurface_HAS_MajorRadius
+#define SCHEMA_IfcToroidalSurface_HAS_MinorRadius
+#define SCHEMA_HAS_IfcTrackElement
+#define SCHEMA_IfcTrackElement_HAS_PredefinedType
+#define SCHEMA_IfcTrackElement_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcTrackElementType
+#define SCHEMA_IfcTrackElementType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcTransformer
+#define SCHEMA_IfcTransformer_HAS_PredefinedType
+#define SCHEMA_IfcTransformer_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcTransformerType
+#define SCHEMA_IfcTransformerType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcTransportElement
+#define SCHEMA_IfcTransportElement_HAS_PredefinedType
+#define SCHEMA_IfcTransportElement_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcTransportElementType
+#define SCHEMA_IfcTransportElementType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcTransportationDevice
+#define SCHEMA_HAS_IfcTransportationDeviceType
+#define SCHEMA_HAS_IfcTrapeziumProfileDef
+#define SCHEMA_IfcTrapeziumProfileDef_HAS_BottomXDim
+#define SCHEMA_IfcTrapeziumProfileDef_HAS_TopXDim
+#define SCHEMA_IfcTrapeziumProfileDef_HAS_YDim
+#define SCHEMA_IfcTrapeziumProfileDef_HAS_TopXOffset
+#define SCHEMA_HAS_IfcTriangulatedFaceSet
+#define SCHEMA_IfcTriangulatedFaceSet_HAS_Normals
+#define SCHEMA_IfcTriangulatedFaceSet_Normals_IS_OPTIONAL
+#define SCHEMA_IfcTriangulatedFaceSet_HAS_Closed
+#define SCHEMA_IfcTriangulatedFaceSet_Closed_IS_OPTIONAL
+#define SCHEMA_IfcTriangulatedFaceSet_HAS_CoordIndex
+#define SCHEMA_IfcTriangulatedFaceSet_HAS_PnIndex
+#define SCHEMA_IfcTriangulatedFaceSet_PnIndex_IS_OPTIONAL
+#define SCHEMA_HAS_IfcTriangulatedIrregularNetwork
+#define SCHEMA_IfcTriangulatedIrregularNetwork_HAS_Flags
+#define SCHEMA_HAS_IfcTrimmedCurve
+#define SCHEMA_IfcTrimmedCurve_HAS_BasisCurve
+#define SCHEMA_IfcTrimmedCurve_HAS_Trim1
+#define SCHEMA_IfcTrimmedCurve_HAS_Trim2
+#define SCHEMA_IfcTrimmedCurve_HAS_SenseAgreement
+#define SCHEMA_IfcTrimmedCurve_HAS_MasterRepresentation
+#define SCHEMA_HAS_IfcTubeBundle
+#define SCHEMA_IfcTubeBundle_HAS_PredefinedType
+#define SCHEMA_IfcTubeBundle_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcTubeBundleType
+#define SCHEMA_IfcTubeBundleType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcTypeObject
+#define SCHEMA_IfcTypeObject_HAS_ApplicableOccurrence
+#define SCHEMA_IfcTypeObject_ApplicableOccurrence_IS_OPTIONAL
+#define SCHEMA_IfcTypeObject_HAS_HasPropertySets
+#define SCHEMA_IfcTypeObject_HasPropertySets_IS_OPTIONAL
+#define SCHEMA_IfcTypeObject_HAS_Types
+#define SCHEMA_HAS_IfcTypeProcess
+#define SCHEMA_IfcTypeProcess_HAS_Identification
+#define SCHEMA_IfcTypeProcess_Identification_IS_OPTIONAL
+#define SCHEMA_IfcTypeProcess_HAS_LongDescription
+#define SCHEMA_IfcTypeProcess_LongDescription_IS_OPTIONAL
+#define SCHEMA_IfcTypeProcess_HAS_ProcessType
+#define SCHEMA_IfcTypeProcess_ProcessType_IS_OPTIONAL
+#define SCHEMA_IfcTypeProcess_HAS_OperatesOn
+#define SCHEMA_HAS_IfcTypeProduct
+#define SCHEMA_IfcTypeProduct_HAS_RepresentationMaps
+#define SCHEMA_IfcTypeProduct_RepresentationMaps_IS_OPTIONAL
+#define SCHEMA_IfcTypeProduct_HAS_Tag
+#define SCHEMA_IfcTypeProduct_Tag_IS_OPTIONAL
+#define SCHEMA_IfcTypeProduct_HAS_ReferencedBy
+#define SCHEMA_HAS_IfcTypeResource
+#define SCHEMA_IfcTypeResource_HAS_Identification
+#define SCHEMA_IfcTypeResource_Identification_IS_OPTIONAL
+#define SCHEMA_IfcTypeResource_HAS_LongDescription
+#define SCHEMA_IfcTypeResource_LongDescription_IS_OPTIONAL
+#define SCHEMA_IfcTypeResource_HAS_ResourceType
+#define SCHEMA_IfcTypeResource_ResourceType_IS_OPTIONAL
+#define SCHEMA_IfcTypeResource_HAS_ResourceOf
+#define SCHEMA_HAS_IfcUShapeProfileDef
+#define SCHEMA_IfcUShapeProfileDef_HAS_Depth
+#define SCHEMA_IfcUShapeProfileDef_HAS_FlangeWidth
+#define SCHEMA_IfcUShapeProfileDef_HAS_WebThickness
+#define SCHEMA_IfcUShapeProfileDef_HAS_FlangeThickness
+#define SCHEMA_IfcUShapeProfileDef_HAS_FilletRadius
+#define SCHEMA_IfcUShapeProfileDef_FilletRadius_IS_OPTIONAL
+#define SCHEMA_IfcUShapeProfileDef_HAS_EdgeRadius
+#define SCHEMA_IfcUShapeProfileDef_EdgeRadius_IS_OPTIONAL
+#define SCHEMA_IfcUShapeProfileDef_HAS_FlangeSlope
+#define SCHEMA_IfcUShapeProfileDef_FlangeSlope_IS_OPTIONAL
+#define SCHEMA_HAS_IfcUnitAssignment
+#define SCHEMA_IfcUnitAssignment_HAS_Units
+#define SCHEMA_HAS_IfcUnitaryControlElement
+#define SCHEMA_IfcUnitaryControlElement_HAS_PredefinedType
+#define SCHEMA_IfcUnitaryControlElement_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcUnitaryControlElementType
+#define SCHEMA_IfcUnitaryControlElementType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcUnitaryEquipment
+#define SCHEMA_IfcUnitaryEquipment_HAS_PredefinedType
+#define SCHEMA_IfcUnitaryEquipment_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcUnitaryEquipmentType
+#define SCHEMA_IfcUnitaryEquipmentType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcValve
+#define SCHEMA_IfcValve_HAS_PredefinedType
+#define SCHEMA_IfcValve_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcValveType
+#define SCHEMA_IfcValveType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcVector
+#define SCHEMA_IfcVector_HAS_Orientation
+#define SCHEMA_IfcVector_HAS_Magnitude
+#define SCHEMA_HAS_IfcVehicle
+#define SCHEMA_IfcVehicle_HAS_PredefinedType
+#define SCHEMA_IfcVehicle_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcVehicleType
+#define SCHEMA_IfcVehicleType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcVertex
+#define SCHEMA_HAS_IfcVertexLoop
+#define SCHEMA_IfcVertexLoop_HAS_LoopVertex
+#define SCHEMA_HAS_IfcVertexPoint
+#define SCHEMA_IfcVertexPoint_HAS_VertexGeometry
+#define SCHEMA_HAS_IfcVibrationDamper
+#define SCHEMA_IfcVibrationDamper_HAS_PredefinedType
+#define SCHEMA_IfcVibrationDamper_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcVibrationDamperType
+#define SCHEMA_IfcVibrationDamperType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcVibrationIsolator
+#define SCHEMA_IfcVibrationIsolator_HAS_PredefinedType
+#define SCHEMA_IfcVibrationIsolator_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcVibrationIsolatorType
+#define SCHEMA_IfcVibrationIsolatorType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcVirtualElement
+#define SCHEMA_IfcVirtualElement_HAS_PredefinedType
+#define SCHEMA_IfcVirtualElement_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcVirtualGridIntersection
+#define SCHEMA_IfcVirtualGridIntersection_HAS_IntersectingAxes
+#define SCHEMA_IfcVirtualGridIntersection_HAS_OffsetDistances
+#define SCHEMA_HAS_IfcVoidingFeature
+#define SCHEMA_IfcVoidingFeature_HAS_PredefinedType
+#define SCHEMA_IfcVoidingFeature_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcWall
+#define SCHEMA_IfcWall_HAS_PredefinedType
+#define SCHEMA_IfcWall_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcWallStandardCase
+#define SCHEMA_HAS_IfcWallType
+#define SCHEMA_IfcWallType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcWasteTerminal
+#define SCHEMA_IfcWasteTerminal_HAS_PredefinedType
+#define SCHEMA_IfcWasteTerminal_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcWasteTerminalType
+#define SCHEMA_IfcWasteTerminalType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcWellKnownText
+#define SCHEMA_IfcWellKnownText_HAS_WellKnownText
+#define SCHEMA_IfcWellKnownText_HAS_CoordinateReferenceSystem
+#define SCHEMA_HAS_IfcWindow
+#define SCHEMA_IfcWindow_HAS_OverallHeight
+#define SCHEMA_IfcWindow_OverallHeight_IS_OPTIONAL
+#define SCHEMA_IfcWindow_HAS_OverallWidth
+#define SCHEMA_IfcWindow_OverallWidth_IS_OPTIONAL
+#define SCHEMA_IfcWindow_HAS_PredefinedType
+#define SCHEMA_IfcWindow_PredefinedType_IS_OPTIONAL
+#define SCHEMA_IfcWindow_HAS_PartitioningType
+#define SCHEMA_IfcWindow_PartitioningType_IS_OPTIONAL
+#define SCHEMA_IfcWindow_HAS_UserDefinedPartitioningType
+#define SCHEMA_IfcWindow_UserDefinedPartitioningType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcWindowLiningProperties
+#define SCHEMA_IfcWindowLiningProperties_HAS_LiningDepth
+#define SCHEMA_IfcWindowLiningProperties_LiningDepth_IS_OPTIONAL
+#define SCHEMA_IfcWindowLiningProperties_HAS_LiningThickness
+#define SCHEMA_IfcWindowLiningProperties_LiningThickness_IS_OPTIONAL
+#define SCHEMA_IfcWindowLiningProperties_HAS_TransomThickness
+#define SCHEMA_IfcWindowLiningProperties_TransomThickness_IS_OPTIONAL
+#define SCHEMA_IfcWindowLiningProperties_HAS_MullionThickness
+#define SCHEMA_IfcWindowLiningProperties_MullionThickness_IS_OPTIONAL
+#define SCHEMA_IfcWindowLiningProperties_HAS_FirstTransomOffset
+#define SCHEMA_IfcWindowLiningProperties_FirstTransomOffset_IS_OPTIONAL
+#define SCHEMA_IfcWindowLiningProperties_HAS_SecondTransomOffset
+#define SCHEMA_IfcWindowLiningProperties_SecondTransomOffset_IS_OPTIONAL
+#define SCHEMA_IfcWindowLiningProperties_HAS_FirstMullionOffset
+#define SCHEMA_IfcWindowLiningProperties_FirstMullionOffset_IS_OPTIONAL
+#define SCHEMA_IfcWindowLiningProperties_HAS_SecondMullionOffset
+#define SCHEMA_IfcWindowLiningProperties_SecondMullionOffset_IS_OPTIONAL
+#define SCHEMA_IfcWindowLiningProperties_HAS_ShapeAspectStyle
+#define SCHEMA_IfcWindowLiningProperties_ShapeAspectStyle_IS_OPTIONAL
+#define SCHEMA_IfcWindowLiningProperties_HAS_LiningOffset
+#define SCHEMA_IfcWindowLiningProperties_LiningOffset_IS_OPTIONAL
+#define SCHEMA_IfcWindowLiningProperties_HAS_LiningToPanelOffsetX
+#define SCHEMA_IfcWindowLiningProperties_LiningToPanelOffsetX_IS_OPTIONAL
+#define SCHEMA_IfcWindowLiningProperties_HAS_LiningToPanelOffsetY
+#define SCHEMA_IfcWindowLiningProperties_LiningToPanelOffsetY_IS_OPTIONAL
+#define SCHEMA_HAS_IfcWindowPanelProperties
+#define SCHEMA_IfcWindowPanelProperties_HAS_OperationType
+#define SCHEMA_IfcWindowPanelProperties_HAS_PanelPosition
+#define SCHEMA_IfcWindowPanelProperties_HAS_FrameDepth
+#define SCHEMA_IfcWindowPanelProperties_FrameDepth_IS_OPTIONAL
+#define SCHEMA_IfcWindowPanelProperties_HAS_FrameThickness
+#define SCHEMA_IfcWindowPanelProperties_FrameThickness_IS_OPTIONAL
+#define SCHEMA_IfcWindowPanelProperties_HAS_ShapeAspectStyle
+#define SCHEMA_IfcWindowPanelProperties_ShapeAspectStyle_IS_OPTIONAL
+#define SCHEMA_HAS_IfcWindowType
+#define SCHEMA_IfcWindowType_HAS_PredefinedType
+#define SCHEMA_IfcWindowType_HAS_PartitioningType
+#define SCHEMA_IfcWindowType_HAS_ParameterTakesPrecedence
+#define SCHEMA_IfcWindowType_ParameterTakesPrecedence_IS_OPTIONAL
+#define SCHEMA_IfcWindowType_HAS_UserDefinedPartitioningType
+#define SCHEMA_IfcWindowType_UserDefinedPartitioningType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcWorkCalendar
+#define SCHEMA_IfcWorkCalendar_HAS_WorkingTimes
+#define SCHEMA_IfcWorkCalendar_WorkingTimes_IS_OPTIONAL
+#define SCHEMA_IfcWorkCalendar_HAS_ExceptionTimes
+#define SCHEMA_IfcWorkCalendar_ExceptionTimes_IS_OPTIONAL
+#define SCHEMA_IfcWorkCalendar_HAS_PredefinedType
+#define SCHEMA_IfcWorkCalendar_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcWorkControl
+#define SCHEMA_IfcWorkControl_HAS_CreationDate
+#define SCHEMA_IfcWorkControl_HAS_Creators
+#define SCHEMA_IfcWorkControl_Creators_IS_OPTIONAL
+#define SCHEMA_IfcWorkControl_HAS_Purpose
+#define SCHEMA_IfcWorkControl_Purpose_IS_OPTIONAL
+#define SCHEMA_IfcWorkControl_HAS_Duration
+#define SCHEMA_IfcWorkControl_Duration_IS_OPTIONAL
+#define SCHEMA_IfcWorkControl_HAS_TotalFloat
+#define SCHEMA_IfcWorkControl_TotalFloat_IS_OPTIONAL
+#define SCHEMA_IfcWorkControl_HAS_StartTime
+#define SCHEMA_IfcWorkControl_HAS_FinishTime
+#define SCHEMA_IfcWorkControl_FinishTime_IS_OPTIONAL
+#define SCHEMA_HAS_IfcWorkPlan
+#define SCHEMA_IfcWorkPlan_HAS_PredefinedType
+#define SCHEMA_IfcWorkPlan_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcWorkSchedule
+#define SCHEMA_IfcWorkSchedule_HAS_PredefinedType
+#define SCHEMA_IfcWorkSchedule_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcWorkTime
+#define SCHEMA_IfcWorkTime_HAS_RecurrencePattern
+#define SCHEMA_IfcWorkTime_RecurrencePattern_IS_OPTIONAL
+#define SCHEMA_IfcWorkTime_HAS_StartDate
+#define SCHEMA_IfcWorkTime_StartDate_IS_OPTIONAL
+#define SCHEMA_IfcWorkTime_HAS_FinishDate
+#define SCHEMA_IfcWorkTime_FinishDate_IS_OPTIONAL
+#define SCHEMA_HAS_IfcZShapeProfileDef
+#define SCHEMA_IfcZShapeProfileDef_HAS_Depth
+#define SCHEMA_IfcZShapeProfileDef_HAS_FlangeWidth
+#define SCHEMA_IfcZShapeProfileDef_HAS_WebThickness
+#define SCHEMA_IfcZShapeProfileDef_HAS_FlangeThickness
+#define SCHEMA_IfcZShapeProfileDef_HAS_FilletRadius
+#define SCHEMA_IfcZShapeProfileDef_FilletRadius_IS_OPTIONAL
+#define SCHEMA_IfcZShapeProfileDef_HAS_EdgeRadius
+#define SCHEMA_IfcZShapeProfileDef_EdgeRadius_IS_OPTIONAL
+#define SCHEMA_HAS_IfcZone
+#define SCHEMA_IfcZone_HAS_LongName
+#define SCHEMA_IfcZone_LongName_IS_OPTIONAL
+#define SCHEMA_HAS_IfcRepresentationContextSameWCS
+#define SCHEMA_HAS_IfcSingleProjectInstance
+#define SCHEMA_HAS_IfcAssociatedSurface
+#define SCHEMA_HAS_IfcBaseAxis
+#define SCHEMA_HAS_IfcBooleanChoose
+#define SCHEMA_HAS_IfcBuild2Axes
+#define SCHEMA_HAS_IfcBuildAxes
+#define SCHEMA_HAS_IfcConsecutiveSegments
+#define SCHEMA_HAS_IfcConstraintsParamBSpline
+#define SCHEMA_HAS_IfcConvertDirectionInto2D
+#define SCHEMA_HAS_IfcCorrectDimensions
+#define SCHEMA_HAS_IfcCorrectFillAreaStyle
+#define SCHEMA_HAS_IfcCorrectLocalPlacement
+#define SCHEMA_HAS_IfcCorrectUnitAssignment
+#define SCHEMA_HAS_IfcCrossProduct
+#define SCHEMA_HAS_IfcCurveDim
+#define SCHEMA_HAS_IfcCurveWeightsPositive
+#define SCHEMA_HAS_IfcDeriveDimensionalExponents
+#define SCHEMA_HAS_IfcDimensionsForSIUnit
+#define SCHEMA_HAS_IfcDotProduct
+#define SCHEMA_HAS_IfcFirstProjAxis
+#define SCHEMA_HAS_IfcGetBasisSurface
+#define SCHEMA_HAS_IfcListToArray
+#define SCHEMA_HAS_IfcLoopHeadToTail
+#define SCHEMA_HAS_IfcMakeArrayOfArray
+#define SCHEMA_HAS_IfcMlsTotalThickness
+#define SCHEMA_HAS_IfcNormalise
+#define SCHEMA_HAS_IfcOrthogonalComplement
+#define SCHEMA_HAS_IfcPathHeadToTail
+#define SCHEMA_HAS_IfcPointDim
+#define SCHEMA_HAS_IfcPointListDim
+#define SCHEMA_HAS_IfcSameAxis2Placement
+#define SCHEMA_HAS_IfcSameCartesianPoint
+#define SCHEMA_HAS_IfcSameDirection
+#define SCHEMA_HAS_IfcSameValidPrecision
+#define SCHEMA_HAS_IfcSameValue
+#define SCHEMA_HAS_IfcScalarTimesVector
+#define SCHEMA_HAS_IfcSecondProjAxis
+#define SCHEMA_HAS_IfcSegmentDim
+#define SCHEMA_HAS_IfcShapeRepresentationTypes
+#define SCHEMA_HAS_IfcSurfaceWeightsPositive
+#define SCHEMA_HAS_IfcTaperedSweptAreaProfiles
+#define SCHEMA_HAS_IfcTopologyRepresentationTypes
+#define SCHEMA_HAS_IfcUniqueDefinitionNames
+#define SCHEMA_HAS_IfcUniquePropertyName
+#define SCHEMA_HAS_IfcUniquePropertySetNames
+#define SCHEMA_HAS_IfcUniquePropertyTemplateNames
+#define SCHEMA_HAS_IfcUniqueQuantityNames
+#define SCHEMA_HAS_IfcVectorDifference
+#define SCHEMA_HAS_IfcVectorSum
diff --git a/src/ifcparse/Ifc4x3_add2-schema.cpp b/src/ifcparse/Ifc4x3_add2-schema.cpp
new file mode 100644
index 0000000000..ab711ee6ea
--- /dev/null
+++ b/src/ifcparse/Ifc4x3_add2-schema.cpp
@@ -0,0 +1,17085 @@
+/********************************************************************************
+ * *
+ * This file is part of IfcOpenShell. *
+ * *
+ * IfcOpenShell is free software: you can redistribute it and/or modify *
+ * it under the terms of the Lesser GNU General Public License as published by *
+ * the Free Software Foundation, either version 3.0 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * IfcOpenShell is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * Lesser GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the Lesser GNU General Public License *
+ * along with this program. If not, see . *
+ * *
+ ********************************************************************************/
+
+/********************************************************************************
+ * *
+ * This file has been generated from IFC4X3_ADD2.exp. Do not make modifications *
+ * but instead modify the python script that has been used to generate this. *
+ * *
+ ********************************************************************************/
+
+#include "../ifcparse/IfcSchema.h"
+#include "../ifcparse/Ifc4x3_add2.h"
+
+using namespace IfcParse;
+
+entity* IFC4X3_ADD2_IfcActionRequest_type = 0;
+entity* IFC4X3_ADD2_IfcActor_type = 0;
+entity* IFC4X3_ADD2_IfcActorRole_type = 0;
+entity* IFC4X3_ADD2_IfcActuator_type = 0;
+entity* IFC4X3_ADD2_IfcActuatorType_type = 0;
+entity* IFC4X3_ADD2_IfcAddress_type = 0;
+entity* IFC4X3_ADD2_IfcAdvancedBrep_type = 0;
+entity* IFC4X3_ADD2_IfcAdvancedBrepWithVoids_type = 0;
+entity* IFC4X3_ADD2_IfcAdvancedFace_type = 0;
+entity* IFC4X3_ADD2_IfcAirTerminal_type = 0;
+entity* IFC4X3_ADD2_IfcAirTerminalBox_type = 0;
+entity* IFC4X3_ADD2_IfcAirTerminalBoxType_type = 0;
+entity* IFC4X3_ADD2_IfcAirTerminalType_type = 0;
+entity* IFC4X3_ADD2_IfcAirToAirHeatRecovery_type = 0;
+entity* IFC4X3_ADD2_IfcAirToAirHeatRecoveryType_type = 0;
+entity* IFC4X3_ADD2_IfcAlarm_type = 0;
+entity* IFC4X3_ADD2_IfcAlarmType_type = 0;
+entity* IFC4X3_ADD2_IfcAlignment_type = 0;
+entity* IFC4X3_ADD2_IfcAlignmentCant_type = 0;
+entity* IFC4X3_ADD2_IfcAlignmentCantSegment_type = 0;
+entity* IFC4X3_ADD2_IfcAlignmentHorizontal_type = 0;
+entity* IFC4X3_ADD2_IfcAlignmentHorizontalSegment_type = 0;
+entity* IFC4X3_ADD2_IfcAlignmentParameterSegment_type = 0;
+entity* IFC4X3_ADD2_IfcAlignmentSegment_type = 0;
+entity* IFC4X3_ADD2_IfcAlignmentVertical_type = 0;
+entity* IFC4X3_ADD2_IfcAlignmentVerticalSegment_type = 0;
+entity* IFC4X3_ADD2_IfcAnnotation_type = 0;
+entity* IFC4X3_ADD2_IfcAnnotationFillArea_type = 0;
+entity* IFC4X3_ADD2_IfcApplication_type = 0;
+entity* IFC4X3_ADD2_IfcAppliedValue_type = 0;
+entity* IFC4X3_ADD2_IfcApproval_type = 0;
+entity* IFC4X3_ADD2_IfcApprovalRelationship_type = 0;
+entity* IFC4X3_ADD2_IfcArbitraryClosedProfileDef_type = 0;
+entity* IFC4X3_ADD2_IfcArbitraryOpenProfileDef_type = 0;
+entity* IFC4X3_ADD2_IfcArbitraryProfileDefWithVoids_type = 0;
+entity* IFC4X3_ADD2_IfcAsset_type = 0;
+entity* IFC4X3_ADD2_IfcAsymmetricIShapeProfileDef_type = 0;
+entity* IFC4X3_ADD2_IfcAudioVisualAppliance_type = 0;
+entity* IFC4X3_ADD2_IfcAudioVisualApplianceType_type = 0;
+entity* IFC4X3_ADD2_IfcAxis1Placement_type = 0;
+entity* IFC4X3_ADD2_IfcAxis2Placement2D_type = 0;
+entity* IFC4X3_ADD2_IfcAxis2Placement3D_type = 0;
+entity* IFC4X3_ADD2_IfcAxis2PlacementLinear_type = 0;
+entity* IFC4X3_ADD2_IfcBSplineCurve_type = 0;
+entity* IFC4X3_ADD2_IfcBSplineCurveWithKnots_type = 0;
+entity* IFC4X3_ADD2_IfcBSplineSurface_type = 0;
+entity* IFC4X3_ADD2_IfcBSplineSurfaceWithKnots_type = 0;
+entity* IFC4X3_ADD2_IfcBeam_type = 0;
+entity* IFC4X3_ADD2_IfcBeamType_type = 0;
+entity* IFC4X3_ADD2_IfcBearing_type = 0;
+entity* IFC4X3_ADD2_IfcBearingType_type = 0;
+entity* IFC4X3_ADD2_IfcBlobTexture_type = 0;
+entity* IFC4X3_ADD2_IfcBlock_type = 0;
+entity* IFC4X3_ADD2_IfcBoiler_type = 0;
+entity* IFC4X3_ADD2_IfcBoilerType_type = 0;
+entity* IFC4X3_ADD2_IfcBooleanClippingResult_type = 0;
+entity* IFC4X3_ADD2_IfcBooleanResult_type = 0;
+entity* IFC4X3_ADD2_IfcBorehole_type = 0;
+entity* IFC4X3_ADD2_IfcBoundaryCondition_type = 0;
+entity* IFC4X3_ADD2_IfcBoundaryCurve_type = 0;
+entity* IFC4X3_ADD2_IfcBoundaryEdgeCondition_type = 0;
+entity* IFC4X3_ADD2_IfcBoundaryFaceCondition_type = 0;
+entity* IFC4X3_ADD2_IfcBoundaryNodeCondition_type = 0;
+entity* IFC4X3_ADD2_IfcBoundaryNodeConditionWarping_type = 0;
+entity* IFC4X3_ADD2_IfcBoundedCurve_type = 0;
+entity* IFC4X3_ADD2_IfcBoundedSurface_type = 0;
+entity* IFC4X3_ADD2_IfcBoundingBox_type = 0;
+entity* IFC4X3_ADD2_IfcBoxedHalfSpace_type = 0;
+entity* IFC4X3_ADD2_IfcBridge_type = 0;
+entity* IFC4X3_ADD2_IfcBridgePart_type = 0;
+entity* IFC4X3_ADD2_IfcBuilding_type = 0;
+entity* IFC4X3_ADD2_IfcBuildingElementPart_type = 0;
+entity* IFC4X3_ADD2_IfcBuildingElementPartType_type = 0;
+entity* IFC4X3_ADD2_IfcBuildingElementProxy_type = 0;
+entity* IFC4X3_ADD2_IfcBuildingElementProxyType_type = 0;
+entity* IFC4X3_ADD2_IfcBuildingStorey_type = 0;
+entity* IFC4X3_ADD2_IfcBuildingSystem_type = 0;
+entity* IFC4X3_ADD2_IfcBuiltElement_type = 0;
+entity* IFC4X3_ADD2_IfcBuiltElementType_type = 0;
+entity* IFC4X3_ADD2_IfcBuiltSystem_type = 0;
+entity* IFC4X3_ADD2_IfcBurner_type = 0;
+entity* IFC4X3_ADD2_IfcBurnerType_type = 0;
+entity* IFC4X3_ADD2_IfcCShapeProfileDef_type = 0;
+entity* IFC4X3_ADD2_IfcCableCarrierFitting_type = 0;
+entity* IFC4X3_ADD2_IfcCableCarrierFittingType_type = 0;
+entity* IFC4X3_ADD2_IfcCableCarrierSegment_type = 0;
+entity* IFC4X3_ADD2_IfcCableCarrierSegmentType_type = 0;
+entity* IFC4X3_ADD2_IfcCableFitting_type = 0;
+entity* IFC4X3_ADD2_IfcCableFittingType_type = 0;
+entity* IFC4X3_ADD2_IfcCableSegment_type = 0;
+entity* IFC4X3_ADD2_IfcCableSegmentType_type = 0;
+entity* IFC4X3_ADD2_IfcCaissonFoundation_type = 0;
+entity* IFC4X3_ADD2_IfcCaissonFoundationType_type = 0;
+entity* IFC4X3_ADD2_IfcCartesianPoint_type = 0;
+entity* IFC4X3_ADD2_IfcCartesianPointList_type = 0;
+entity* IFC4X3_ADD2_IfcCartesianPointList2D_type = 0;
+entity* IFC4X3_ADD2_IfcCartesianPointList3D_type = 0;
+entity* IFC4X3_ADD2_IfcCartesianTransformationOperator_type = 0;
+entity* IFC4X3_ADD2_IfcCartesianTransformationOperator2D_type = 0;
+entity* IFC4X3_ADD2_IfcCartesianTransformationOperator2DnonUniform_type = 0;
+entity* IFC4X3_ADD2_IfcCartesianTransformationOperator3D_type = 0;
+entity* IFC4X3_ADD2_IfcCartesianTransformationOperator3DnonUniform_type = 0;
+entity* IFC4X3_ADD2_IfcCenterLineProfileDef_type = 0;
+entity* IFC4X3_ADD2_IfcChiller_type = 0;
+entity* IFC4X3_ADD2_IfcChillerType_type = 0;
+entity* IFC4X3_ADD2_IfcChimney_type = 0;
+entity* IFC4X3_ADD2_IfcChimneyType_type = 0;
+entity* IFC4X3_ADD2_IfcCircle_type = 0;
+entity* IFC4X3_ADD2_IfcCircleHollowProfileDef_type = 0;
+entity* IFC4X3_ADD2_IfcCircleProfileDef_type = 0;
+entity* IFC4X3_ADD2_IfcCivilElement_type = 0;
+entity* IFC4X3_ADD2_IfcCivilElementType_type = 0;
+entity* IFC4X3_ADD2_IfcClassification_type = 0;
+entity* IFC4X3_ADD2_IfcClassificationReference_type = 0;
+entity* IFC4X3_ADD2_IfcClosedShell_type = 0;
+entity* IFC4X3_ADD2_IfcClothoid_type = 0;
+entity* IFC4X3_ADD2_IfcCoil_type = 0;
+entity* IFC4X3_ADD2_IfcCoilType_type = 0;
+entity* IFC4X3_ADD2_IfcColourRgb_type = 0;
+entity* IFC4X3_ADD2_IfcColourRgbList_type = 0;
+entity* IFC4X3_ADD2_IfcColourSpecification_type = 0;
+entity* IFC4X3_ADD2_IfcColumn_type = 0;
+entity* IFC4X3_ADD2_IfcColumnType_type = 0;
+entity* IFC4X3_ADD2_IfcCommunicationsAppliance_type = 0;
+entity* IFC4X3_ADD2_IfcCommunicationsApplianceType_type = 0;
+entity* IFC4X3_ADD2_IfcComplexProperty_type = 0;
+entity* IFC4X3_ADD2_IfcComplexPropertyTemplate_type = 0;
+entity* IFC4X3_ADD2_IfcCompositeCurve_type = 0;
+entity* IFC4X3_ADD2_IfcCompositeCurveOnSurface_type = 0;
+entity* IFC4X3_ADD2_IfcCompositeCurveSegment_type = 0;
+entity* IFC4X3_ADD2_IfcCompositeProfileDef_type = 0;
+entity* IFC4X3_ADD2_IfcCompressor_type = 0;
+entity* IFC4X3_ADD2_IfcCompressorType_type = 0;
+entity* IFC4X3_ADD2_IfcCondenser_type = 0;
+entity* IFC4X3_ADD2_IfcCondenserType_type = 0;
+entity* IFC4X3_ADD2_IfcConic_type = 0;
+entity* IFC4X3_ADD2_IfcConnectedFaceSet_type = 0;
+entity* IFC4X3_ADD2_IfcConnectionCurveGeometry_type = 0;
+entity* IFC4X3_ADD2_IfcConnectionGeometry_type = 0;
+entity* IFC4X3_ADD2_IfcConnectionPointEccentricity_type = 0;
+entity* IFC4X3_ADD2_IfcConnectionPointGeometry_type = 0;
+entity* IFC4X3_ADD2_IfcConnectionSurfaceGeometry_type = 0;
+entity* IFC4X3_ADD2_IfcConnectionVolumeGeometry_type = 0;
+entity* IFC4X3_ADD2_IfcConstraint_type = 0;
+entity* IFC4X3_ADD2_IfcConstructionEquipmentResource_type = 0;
+entity* IFC4X3_ADD2_IfcConstructionEquipmentResourceType_type = 0;
+entity* IFC4X3_ADD2_IfcConstructionMaterialResource_type = 0;
+entity* IFC4X3_ADD2_IfcConstructionMaterialResourceType_type = 0;
+entity* IFC4X3_ADD2_IfcConstructionProductResource_type = 0;
+entity* IFC4X3_ADD2_IfcConstructionProductResourceType_type = 0;
+entity* IFC4X3_ADD2_IfcConstructionResource_type = 0;
+entity* IFC4X3_ADD2_IfcConstructionResourceType_type = 0;
+entity* IFC4X3_ADD2_IfcContext_type = 0;
+entity* IFC4X3_ADD2_IfcContextDependentUnit_type = 0;
+entity* IFC4X3_ADD2_IfcControl_type = 0;
+entity* IFC4X3_ADD2_IfcController_type = 0;
+entity* IFC4X3_ADD2_IfcControllerType_type = 0;
+entity* IFC4X3_ADD2_IfcConversionBasedUnit_type = 0;
+entity* IFC4X3_ADD2_IfcConversionBasedUnitWithOffset_type = 0;
+entity* IFC4X3_ADD2_IfcConveyorSegment_type = 0;
+entity* IFC4X3_ADD2_IfcConveyorSegmentType_type = 0;
+entity* IFC4X3_ADD2_IfcCooledBeam_type = 0;
+entity* IFC4X3_ADD2_IfcCooledBeamType_type = 0;
+entity* IFC4X3_ADD2_IfcCoolingTower_type = 0;
+entity* IFC4X3_ADD2_IfcCoolingTowerType_type = 0;
+entity* IFC4X3_ADD2_IfcCoordinateOperation_type = 0;
+entity* IFC4X3_ADD2_IfcCoordinateReferenceSystem_type = 0;
+entity* IFC4X3_ADD2_IfcCosineSpiral_type = 0;
+entity* IFC4X3_ADD2_IfcCostItem_type = 0;
+entity* IFC4X3_ADD2_IfcCostSchedule_type = 0;
+entity* IFC4X3_ADD2_IfcCostValue_type = 0;
+entity* IFC4X3_ADD2_IfcCourse_type = 0;
+entity* IFC4X3_ADD2_IfcCourseType_type = 0;
+entity* IFC4X3_ADD2_IfcCovering_type = 0;
+entity* IFC4X3_ADD2_IfcCoveringType_type = 0;
+entity* IFC4X3_ADD2_IfcCrewResource_type = 0;
+entity* IFC4X3_ADD2_IfcCrewResourceType_type = 0;
+entity* IFC4X3_ADD2_IfcCsgPrimitive3D_type = 0;
+entity* IFC4X3_ADD2_IfcCsgSolid_type = 0;
+entity* IFC4X3_ADD2_IfcCurrencyRelationship_type = 0;
+entity* IFC4X3_ADD2_IfcCurtainWall_type = 0;
+entity* IFC4X3_ADD2_IfcCurtainWallType_type = 0;
+entity* IFC4X3_ADD2_IfcCurve_type = 0;
+entity* IFC4X3_ADD2_IfcCurveBoundedPlane_type = 0;
+entity* IFC4X3_ADD2_IfcCurveBoundedSurface_type = 0;
+entity* IFC4X3_ADD2_IfcCurveSegment_type = 0;
+entity* IFC4X3_ADD2_IfcCurveStyle_type = 0;
+entity* IFC4X3_ADD2_IfcCurveStyleFont_type = 0;
+entity* IFC4X3_ADD2_IfcCurveStyleFontAndScaling_type = 0;
+entity* IFC4X3_ADD2_IfcCurveStyleFontPattern_type = 0;
+entity* IFC4X3_ADD2_IfcCylindricalSurface_type = 0;
+entity* IFC4X3_ADD2_IfcDamper_type = 0;
+entity* IFC4X3_ADD2_IfcDamperType_type = 0;
+entity* IFC4X3_ADD2_IfcDeepFoundation_type = 0;
+entity* IFC4X3_ADD2_IfcDeepFoundationType_type = 0;
+entity* IFC4X3_ADD2_IfcDerivedProfileDef_type = 0;
+entity* IFC4X3_ADD2_IfcDerivedUnit_type = 0;
+entity* IFC4X3_ADD2_IfcDerivedUnitElement_type = 0;
+entity* IFC4X3_ADD2_IfcDimensionalExponents_type = 0;
+entity* IFC4X3_ADD2_IfcDirection_type = 0;
+entity* IFC4X3_ADD2_IfcDirectrixCurveSweptAreaSolid_type = 0;
+entity* IFC4X3_ADD2_IfcDirectrixDerivedReferenceSweptAreaSolid_type = 0;
+entity* IFC4X3_ADD2_IfcDiscreteAccessory_type = 0;
+entity* IFC4X3_ADD2_IfcDiscreteAccessoryType_type = 0;
+entity* IFC4X3_ADD2_IfcDistributionBoard_type = 0;
+entity* IFC4X3_ADD2_IfcDistributionBoardType_type = 0;
+entity* IFC4X3_ADD2_IfcDistributionChamberElement_type = 0;
+entity* IFC4X3_ADD2_IfcDistributionChamberElementType_type = 0;
+entity* IFC4X3_ADD2_IfcDistributionCircuit_type = 0;
+entity* IFC4X3_ADD2_IfcDistributionControlElement_type = 0;
+entity* IFC4X3_ADD2_IfcDistributionControlElementType_type = 0;
+entity* IFC4X3_ADD2_IfcDistributionElement_type = 0;
+entity* IFC4X3_ADD2_IfcDistributionElementType_type = 0;
+entity* IFC4X3_ADD2_IfcDistributionFlowElement_type = 0;
+entity* IFC4X3_ADD2_IfcDistributionFlowElementType_type = 0;
+entity* IFC4X3_ADD2_IfcDistributionPort_type = 0;
+entity* IFC4X3_ADD2_IfcDistributionSystem_type = 0;
+entity* IFC4X3_ADD2_IfcDocumentInformation_type = 0;
+entity* IFC4X3_ADD2_IfcDocumentInformationRelationship_type = 0;
+entity* IFC4X3_ADD2_IfcDocumentReference_type = 0;
+entity* IFC4X3_ADD2_IfcDoor_type = 0;
+entity* IFC4X3_ADD2_IfcDoorLiningProperties_type = 0;
+entity* IFC4X3_ADD2_IfcDoorPanelProperties_type = 0;
+entity* IFC4X3_ADD2_IfcDoorType_type = 0;
+entity* IFC4X3_ADD2_IfcDraughtingPreDefinedColour_type = 0;
+entity* IFC4X3_ADD2_IfcDraughtingPreDefinedCurveFont_type = 0;
+entity* IFC4X3_ADD2_IfcDuctFitting_type = 0;
+entity* IFC4X3_ADD2_IfcDuctFittingType_type = 0;
+entity* IFC4X3_ADD2_IfcDuctSegment_type = 0;
+entity* IFC4X3_ADD2_IfcDuctSegmentType_type = 0;
+entity* IFC4X3_ADD2_IfcDuctSilencer_type = 0;
+entity* IFC4X3_ADD2_IfcDuctSilencerType_type = 0;
+entity* IFC4X3_ADD2_IfcEarthworksCut_type = 0;
+entity* IFC4X3_ADD2_IfcEarthworksElement_type = 0;
+entity* IFC4X3_ADD2_IfcEarthworksFill_type = 0;
+entity* IFC4X3_ADD2_IfcEdge_type = 0;
+entity* IFC4X3_ADD2_IfcEdgeCurve_type = 0;
+entity* IFC4X3_ADD2_IfcEdgeLoop_type = 0;
+entity* IFC4X3_ADD2_IfcElectricAppliance_type = 0;
+entity* IFC4X3_ADD2_IfcElectricApplianceType_type = 0;
+entity* IFC4X3_ADD2_IfcElectricDistributionBoard_type = 0;
+entity* IFC4X3_ADD2_IfcElectricDistributionBoardType_type = 0;
+entity* IFC4X3_ADD2_IfcElectricFlowStorageDevice_type = 0;
+entity* IFC4X3_ADD2_IfcElectricFlowStorageDeviceType_type = 0;
+entity* IFC4X3_ADD2_IfcElectricFlowTreatmentDevice_type = 0;
+entity* IFC4X3_ADD2_IfcElectricFlowTreatmentDeviceType_type = 0;
+entity* IFC4X3_ADD2_IfcElectricGenerator_type = 0;
+entity* IFC4X3_ADD2_IfcElectricGeneratorType_type = 0;
+entity* IFC4X3_ADD2_IfcElectricMotor_type = 0;
+entity* IFC4X3_ADD2_IfcElectricMotorType_type = 0;
+entity* IFC4X3_ADD2_IfcElectricTimeControl_type = 0;
+entity* IFC4X3_ADD2_IfcElectricTimeControlType_type = 0;
+entity* IFC4X3_ADD2_IfcElement_type = 0;
+entity* IFC4X3_ADD2_IfcElementAssembly_type = 0;
+entity* IFC4X3_ADD2_IfcElementAssemblyType_type = 0;
+entity* IFC4X3_ADD2_IfcElementComponent_type = 0;
+entity* IFC4X3_ADD2_IfcElementComponentType_type = 0;
+entity* IFC4X3_ADD2_IfcElementQuantity_type = 0;
+entity* IFC4X3_ADD2_IfcElementType_type = 0;
+entity* IFC4X3_ADD2_IfcElementarySurface_type = 0;
+entity* IFC4X3_ADD2_IfcEllipse_type = 0;
+entity* IFC4X3_ADD2_IfcEllipseProfileDef_type = 0;
+entity* IFC4X3_ADD2_IfcEnergyConversionDevice_type = 0;
+entity* IFC4X3_ADD2_IfcEnergyConversionDeviceType_type = 0;
+entity* IFC4X3_ADD2_IfcEngine_type = 0;
+entity* IFC4X3_ADD2_IfcEngineType_type = 0;
+entity* IFC4X3_ADD2_IfcEvaporativeCooler_type = 0;
+entity* IFC4X3_ADD2_IfcEvaporativeCoolerType_type = 0;
+entity* IFC4X3_ADD2_IfcEvaporator_type = 0;
+entity* IFC4X3_ADD2_IfcEvaporatorType_type = 0;
+entity* IFC4X3_ADD2_IfcEvent_type = 0;
+entity* IFC4X3_ADD2_IfcEventTime_type = 0;
+entity* IFC4X3_ADD2_IfcEventType_type = 0;
+entity* IFC4X3_ADD2_IfcExtendedProperties_type = 0;
+entity* IFC4X3_ADD2_IfcExternalInformation_type = 0;
+entity* IFC4X3_ADD2_IfcExternalReference_type = 0;
+entity* IFC4X3_ADD2_IfcExternalReferenceRelationship_type = 0;
+entity* IFC4X3_ADD2_IfcExternalSpatialElement_type = 0;
+entity* IFC4X3_ADD2_IfcExternalSpatialStructureElement_type = 0;
+entity* IFC4X3_ADD2_IfcExternallyDefinedHatchStyle_type = 0;
+entity* IFC4X3_ADD2_IfcExternallyDefinedSurfaceStyle_type = 0;
+entity* IFC4X3_ADD2_IfcExternallyDefinedTextFont_type = 0;
+entity* IFC4X3_ADD2_IfcExtrudedAreaSolid_type = 0;
+entity* IFC4X3_ADD2_IfcExtrudedAreaSolidTapered_type = 0;
+entity* IFC4X3_ADD2_IfcFace_type = 0;
+entity* IFC4X3_ADD2_IfcFaceBasedSurfaceModel_type = 0;
+entity* IFC4X3_ADD2_IfcFaceBound_type = 0;
+entity* IFC4X3_ADD2_IfcFaceOuterBound_type = 0;
+entity* IFC4X3_ADD2_IfcFaceSurface_type = 0;
+entity* IFC4X3_ADD2_IfcFacetedBrep_type = 0;
+entity* IFC4X3_ADD2_IfcFacetedBrepWithVoids_type = 0;
+entity* IFC4X3_ADD2_IfcFacility_type = 0;
+entity* IFC4X3_ADD2_IfcFacilityPart_type = 0;
+entity* IFC4X3_ADD2_IfcFacilityPartCommon_type = 0;
+entity* IFC4X3_ADD2_IfcFailureConnectionCondition_type = 0;
+entity* IFC4X3_ADD2_IfcFan_type = 0;
+entity* IFC4X3_ADD2_IfcFanType_type = 0;
+entity* IFC4X3_ADD2_IfcFastener_type = 0;
+entity* IFC4X3_ADD2_IfcFastenerType_type = 0;
+entity* IFC4X3_ADD2_IfcFeatureElement_type = 0;
+entity* IFC4X3_ADD2_IfcFeatureElementAddition_type = 0;
+entity* IFC4X3_ADD2_IfcFeatureElementSubtraction_type = 0;
+entity* IFC4X3_ADD2_IfcFillAreaStyle_type = 0;
+entity* IFC4X3_ADD2_IfcFillAreaStyleHatching_type = 0;
+entity* IFC4X3_ADD2_IfcFillAreaStyleTiles_type = 0;
+entity* IFC4X3_ADD2_IfcFilter_type = 0;
+entity* IFC4X3_ADD2_IfcFilterType_type = 0;
+entity* IFC4X3_ADD2_IfcFireSuppressionTerminal_type = 0;
+entity* IFC4X3_ADD2_IfcFireSuppressionTerminalType_type = 0;
+entity* IFC4X3_ADD2_IfcFixedReferenceSweptAreaSolid_type = 0;
+entity* IFC4X3_ADD2_IfcFlowController_type = 0;
+entity* IFC4X3_ADD2_IfcFlowControllerType_type = 0;
+entity* IFC4X3_ADD2_IfcFlowFitting_type = 0;
+entity* IFC4X3_ADD2_IfcFlowFittingType_type = 0;
+entity* IFC4X3_ADD2_IfcFlowInstrument_type = 0;
+entity* IFC4X3_ADD2_IfcFlowInstrumentType_type = 0;
+entity* IFC4X3_ADD2_IfcFlowMeter_type = 0;
+entity* IFC4X3_ADD2_IfcFlowMeterType_type = 0;
+entity* IFC4X3_ADD2_IfcFlowMovingDevice_type = 0;
+entity* IFC4X3_ADD2_IfcFlowMovingDeviceType_type = 0;
+entity* IFC4X3_ADD2_IfcFlowSegment_type = 0;
+entity* IFC4X3_ADD2_IfcFlowSegmentType_type = 0;
+entity* IFC4X3_ADD2_IfcFlowStorageDevice_type = 0;
+entity* IFC4X3_ADD2_IfcFlowStorageDeviceType_type = 0;
+entity* IFC4X3_ADD2_IfcFlowTerminal_type = 0;
+entity* IFC4X3_ADD2_IfcFlowTerminalType_type = 0;
+entity* IFC4X3_ADD2_IfcFlowTreatmentDevice_type = 0;
+entity* IFC4X3_ADD2_IfcFlowTreatmentDeviceType_type = 0;
+entity* IFC4X3_ADD2_IfcFooting_type = 0;
+entity* IFC4X3_ADD2_IfcFootingType_type = 0;
+entity* IFC4X3_ADD2_IfcFurnishingElement_type = 0;
+entity* IFC4X3_ADD2_IfcFurnishingElementType_type = 0;
+entity* IFC4X3_ADD2_IfcFurniture_type = 0;
+entity* IFC4X3_ADD2_IfcFurnitureType_type = 0;
+entity* IFC4X3_ADD2_IfcGeographicCRS_type = 0;
+entity* IFC4X3_ADD2_IfcGeographicElement_type = 0;
+entity* IFC4X3_ADD2_IfcGeographicElementType_type = 0;
+entity* IFC4X3_ADD2_IfcGeometricCurveSet_type = 0;
+entity* IFC4X3_ADD2_IfcGeometricRepresentationContext_type = 0;
+entity* IFC4X3_ADD2_IfcGeometricRepresentationItem_type = 0;
+entity* IFC4X3_ADD2_IfcGeometricRepresentationSubContext_type = 0;
+entity* IFC4X3_ADD2_IfcGeometricSet_type = 0;
+entity* IFC4X3_ADD2_IfcGeomodel_type = 0;
+entity* IFC4X3_ADD2_IfcGeoslice_type = 0;
+entity* IFC4X3_ADD2_IfcGeotechnicalAssembly_type = 0;
+entity* IFC4X3_ADD2_IfcGeotechnicalElement_type = 0;
+entity* IFC4X3_ADD2_IfcGeotechnicalStratum_type = 0;
+entity* IFC4X3_ADD2_IfcGradientCurve_type = 0;
+entity* IFC4X3_ADD2_IfcGrid_type = 0;
+entity* IFC4X3_ADD2_IfcGridAxis_type = 0;
+entity* IFC4X3_ADD2_IfcGridPlacement_type = 0;
+entity* IFC4X3_ADD2_IfcGroup_type = 0;
+entity* IFC4X3_ADD2_IfcHalfSpaceSolid_type = 0;
+entity* IFC4X3_ADD2_IfcHeatExchanger_type = 0;
+entity* IFC4X3_ADD2_IfcHeatExchangerType_type = 0;
+entity* IFC4X3_ADD2_IfcHumidifier_type = 0;
+entity* IFC4X3_ADD2_IfcHumidifierType_type = 0;
+entity* IFC4X3_ADD2_IfcIShapeProfileDef_type = 0;
+entity* IFC4X3_ADD2_IfcImageTexture_type = 0;
+entity* IFC4X3_ADD2_IfcImpactProtectionDevice_type = 0;
+entity* IFC4X3_ADD2_IfcImpactProtectionDeviceType_type = 0;
+entity* IFC4X3_ADD2_IfcIndexedColourMap_type = 0;
+entity* IFC4X3_ADD2_IfcIndexedPolyCurve_type = 0;
+entity* IFC4X3_ADD2_IfcIndexedPolygonalFace_type = 0;
+entity* IFC4X3_ADD2_IfcIndexedPolygonalFaceWithVoids_type = 0;
+entity* IFC4X3_ADD2_IfcIndexedPolygonalTextureMap_type = 0;
+entity* IFC4X3_ADD2_IfcIndexedTextureMap_type = 0;
+entity* IFC4X3_ADD2_IfcIndexedTriangleTextureMap_type = 0;
+entity* IFC4X3_ADD2_IfcInterceptor_type = 0;
+entity* IFC4X3_ADD2_IfcInterceptorType_type = 0;
+entity* IFC4X3_ADD2_IfcIntersectionCurve_type = 0;
+entity* IFC4X3_ADD2_IfcInventory_type = 0;
+entity* IFC4X3_ADD2_IfcIrregularTimeSeries_type = 0;
+entity* IFC4X3_ADD2_IfcIrregularTimeSeriesValue_type = 0;
+entity* IFC4X3_ADD2_IfcJunctionBox_type = 0;
+entity* IFC4X3_ADD2_IfcJunctionBoxType_type = 0;
+entity* IFC4X3_ADD2_IfcKerb_type = 0;
+entity* IFC4X3_ADD2_IfcKerbType_type = 0;
+entity* IFC4X3_ADD2_IfcLShapeProfileDef_type = 0;
+entity* IFC4X3_ADD2_IfcLaborResource_type = 0;
+entity* IFC4X3_ADD2_IfcLaborResourceType_type = 0;
+entity* IFC4X3_ADD2_IfcLagTime_type = 0;
+entity* IFC4X3_ADD2_IfcLamp_type = 0;
+entity* IFC4X3_ADD2_IfcLampType_type = 0;
+entity* IFC4X3_ADD2_IfcLibraryInformation_type = 0;
+entity* IFC4X3_ADD2_IfcLibraryReference_type = 0;
+entity* IFC4X3_ADD2_IfcLightDistributionData_type = 0;
+entity* IFC4X3_ADD2_IfcLightFixture_type = 0;
+entity* IFC4X3_ADD2_IfcLightFixtureType_type = 0;
+entity* IFC4X3_ADD2_IfcLightIntensityDistribution_type = 0;
+entity* IFC4X3_ADD2_IfcLightSource_type = 0;
+entity* IFC4X3_ADD2_IfcLightSourceAmbient_type = 0;
+entity* IFC4X3_ADD2_IfcLightSourceDirectional_type = 0;
+entity* IFC4X3_ADD2_IfcLightSourceGoniometric_type = 0;
+entity* IFC4X3_ADD2_IfcLightSourcePositional_type = 0;
+entity* IFC4X3_ADD2_IfcLightSourceSpot_type = 0;
+entity* IFC4X3_ADD2_IfcLine_type = 0;
+entity* IFC4X3_ADD2_IfcLinearElement_type = 0;
+entity* IFC4X3_ADD2_IfcLinearPlacement_type = 0;
+entity* IFC4X3_ADD2_IfcLinearPositioningElement_type = 0;
+entity* IFC4X3_ADD2_IfcLiquidTerminal_type = 0;
+entity* IFC4X3_ADD2_IfcLiquidTerminalType_type = 0;
+entity* IFC4X3_ADD2_IfcLocalPlacement_type = 0;
+entity* IFC4X3_ADD2_IfcLoop_type = 0;
+entity* IFC4X3_ADD2_IfcManifoldSolidBrep_type = 0;
+entity* IFC4X3_ADD2_IfcMapConversion_type = 0;
+entity* IFC4X3_ADD2_IfcMapConversionScaled_type = 0;
+entity* IFC4X3_ADD2_IfcMappedItem_type = 0;
+entity* IFC4X3_ADD2_IfcMarineFacility_type = 0;
+entity* IFC4X3_ADD2_IfcMarinePart_type = 0;
+entity* IFC4X3_ADD2_IfcMaterial_type = 0;
+entity* IFC4X3_ADD2_IfcMaterialClassificationRelationship_type = 0;
+entity* IFC4X3_ADD2_IfcMaterialConstituent_type = 0;
+entity* IFC4X3_ADD2_IfcMaterialConstituentSet_type = 0;
+entity* IFC4X3_ADD2_IfcMaterialDefinition_type = 0;
+entity* IFC4X3_ADD2_IfcMaterialDefinitionRepresentation_type = 0;
+entity* IFC4X3_ADD2_IfcMaterialLayer_type = 0;
+entity* IFC4X3_ADD2_IfcMaterialLayerSet_type = 0;
+entity* IFC4X3_ADD2_IfcMaterialLayerSetUsage_type = 0;
+entity* IFC4X3_ADD2_IfcMaterialLayerWithOffsets_type = 0;
+entity* IFC4X3_ADD2_IfcMaterialList_type = 0;
+entity* IFC4X3_ADD2_IfcMaterialProfile_type = 0;
+entity* IFC4X3_ADD2_IfcMaterialProfileSet_type = 0;
+entity* IFC4X3_ADD2_IfcMaterialProfileSetUsage_type = 0;
+entity* IFC4X3_ADD2_IfcMaterialProfileSetUsageTapering_type = 0;
+entity* IFC4X3_ADD2_IfcMaterialProfileWithOffsets_type = 0;
+entity* IFC4X3_ADD2_IfcMaterialProperties_type = 0;
+entity* IFC4X3_ADD2_IfcMaterialRelationship_type = 0;
+entity* IFC4X3_ADD2_IfcMaterialUsageDefinition_type = 0;
+entity* IFC4X3_ADD2_IfcMeasureWithUnit_type = 0;
+entity* IFC4X3_ADD2_IfcMechanicalFastener_type = 0;
+entity* IFC4X3_ADD2_IfcMechanicalFastenerType_type = 0;
+entity* IFC4X3_ADD2_IfcMedicalDevice_type = 0;
+entity* IFC4X3_ADD2_IfcMedicalDeviceType_type = 0;
+entity* IFC4X3_ADD2_IfcMember_type = 0;
+entity* IFC4X3_ADD2_IfcMemberType_type = 0;
+entity* IFC4X3_ADD2_IfcMetric_type = 0;
+entity* IFC4X3_ADD2_IfcMirroredProfileDef_type = 0;
+entity* IFC4X3_ADD2_IfcMobileTelecommunicationsAppliance_type = 0;
+entity* IFC4X3_ADD2_IfcMobileTelecommunicationsApplianceType_type = 0;
+entity* IFC4X3_ADD2_IfcMonetaryUnit_type = 0;
+entity* IFC4X3_ADD2_IfcMooringDevice_type = 0;
+entity* IFC4X3_ADD2_IfcMooringDeviceType_type = 0;
+entity* IFC4X3_ADD2_IfcMotorConnection_type = 0;
+entity* IFC4X3_ADD2_IfcMotorConnectionType_type = 0;
+entity* IFC4X3_ADD2_IfcNamedUnit_type = 0;
+entity* IFC4X3_ADD2_IfcNavigationElement_type = 0;
+entity* IFC4X3_ADD2_IfcNavigationElementType_type = 0;
+entity* IFC4X3_ADD2_IfcObject_type = 0;
+entity* IFC4X3_ADD2_IfcObjectDefinition_type = 0;
+entity* IFC4X3_ADD2_IfcObjectPlacement_type = 0;
+entity* IFC4X3_ADD2_IfcObjective_type = 0;
+entity* IFC4X3_ADD2_IfcOccupant_type = 0;
+entity* IFC4X3_ADD2_IfcOffsetCurve_type = 0;
+entity* IFC4X3_ADD2_IfcOffsetCurve2D_type = 0;
+entity* IFC4X3_ADD2_IfcOffsetCurve3D_type = 0;
+entity* IFC4X3_ADD2_IfcOffsetCurveByDistances_type = 0;
+entity* IFC4X3_ADD2_IfcOpenCrossProfileDef_type = 0;
+entity* IFC4X3_ADD2_IfcOpenShell_type = 0;
+entity* IFC4X3_ADD2_IfcOpeningElement_type = 0;
+entity* IFC4X3_ADD2_IfcOrganization_type = 0;
+entity* IFC4X3_ADD2_IfcOrganizationRelationship_type = 0;
+entity* IFC4X3_ADD2_IfcOrientedEdge_type = 0;
+entity* IFC4X3_ADD2_IfcOuterBoundaryCurve_type = 0;
+entity* IFC4X3_ADD2_IfcOutlet_type = 0;
+entity* IFC4X3_ADD2_IfcOutletType_type = 0;
+entity* IFC4X3_ADD2_IfcOwnerHistory_type = 0;
+entity* IFC4X3_ADD2_IfcParameterizedProfileDef_type = 0;
+entity* IFC4X3_ADD2_IfcPath_type = 0;
+entity* IFC4X3_ADD2_IfcPavement_type = 0;
+entity* IFC4X3_ADD2_IfcPavementType_type = 0;
+entity* IFC4X3_ADD2_IfcPcurve_type = 0;
+entity* IFC4X3_ADD2_IfcPerformanceHistory_type = 0;
+entity* IFC4X3_ADD2_IfcPermeableCoveringProperties_type = 0;
+entity* IFC4X3_ADD2_IfcPermit_type = 0;
+entity* IFC4X3_ADD2_IfcPerson_type = 0;
+entity* IFC4X3_ADD2_IfcPersonAndOrganization_type = 0;
+entity* IFC4X3_ADD2_IfcPhysicalComplexQuantity_type = 0;
+entity* IFC4X3_ADD2_IfcPhysicalQuantity_type = 0;
+entity* IFC4X3_ADD2_IfcPhysicalSimpleQuantity_type = 0;
+entity* IFC4X3_ADD2_IfcPile_type = 0;
+entity* IFC4X3_ADD2_IfcPileType_type = 0;
+entity* IFC4X3_ADD2_IfcPipeFitting_type = 0;
+entity* IFC4X3_ADD2_IfcPipeFittingType_type = 0;
+entity* IFC4X3_ADD2_IfcPipeSegment_type = 0;
+entity* IFC4X3_ADD2_IfcPipeSegmentType_type = 0;
+entity* IFC4X3_ADD2_IfcPixelTexture_type = 0;
+entity* IFC4X3_ADD2_IfcPlacement_type = 0;
+entity* IFC4X3_ADD2_IfcPlanarBox_type = 0;
+entity* IFC4X3_ADD2_IfcPlanarExtent_type = 0;
+entity* IFC4X3_ADD2_IfcPlane_type = 0;
+entity* IFC4X3_ADD2_IfcPlate_type = 0;
+entity* IFC4X3_ADD2_IfcPlateType_type = 0;
+entity* IFC4X3_ADD2_IfcPoint_type = 0;
+entity* IFC4X3_ADD2_IfcPointByDistanceExpression_type = 0;
+entity* IFC4X3_ADD2_IfcPointOnCurve_type = 0;
+entity* IFC4X3_ADD2_IfcPointOnSurface_type = 0;
+entity* IFC4X3_ADD2_IfcPolyLoop_type = 0;
+entity* IFC4X3_ADD2_IfcPolygonalBoundedHalfSpace_type = 0;
+entity* IFC4X3_ADD2_IfcPolygonalFaceSet_type = 0;
+entity* IFC4X3_ADD2_IfcPolyline_type = 0;
+entity* IFC4X3_ADD2_IfcPolynomialCurve_type = 0;
+entity* IFC4X3_ADD2_IfcPort_type = 0;
+entity* IFC4X3_ADD2_IfcPositioningElement_type = 0;
+entity* IFC4X3_ADD2_IfcPostalAddress_type = 0;
+entity* IFC4X3_ADD2_IfcPreDefinedColour_type = 0;
+entity* IFC4X3_ADD2_IfcPreDefinedCurveFont_type = 0;
+entity* IFC4X3_ADD2_IfcPreDefinedItem_type = 0;
+entity* IFC4X3_ADD2_IfcPreDefinedProperties_type = 0;
+entity* IFC4X3_ADD2_IfcPreDefinedPropertySet_type = 0;
+entity* IFC4X3_ADD2_IfcPreDefinedTextFont_type = 0;
+entity* IFC4X3_ADD2_IfcPresentationItem_type = 0;
+entity* IFC4X3_ADD2_IfcPresentationLayerAssignment_type = 0;
+entity* IFC4X3_ADD2_IfcPresentationLayerWithStyle_type = 0;
+entity* IFC4X3_ADD2_IfcPresentationStyle_type = 0;
+entity* IFC4X3_ADD2_IfcProcedure_type = 0;
+entity* IFC4X3_ADD2_IfcProcedureType_type = 0;
+entity* IFC4X3_ADD2_IfcProcess_type = 0;
+entity* IFC4X3_ADD2_IfcProduct_type = 0;
+entity* IFC4X3_ADD2_IfcProductDefinitionShape_type = 0;
+entity* IFC4X3_ADD2_IfcProductRepresentation_type = 0;
+entity* IFC4X3_ADD2_IfcProfileDef_type = 0;
+entity* IFC4X3_ADD2_IfcProfileProperties_type = 0;
+entity* IFC4X3_ADD2_IfcProject_type = 0;
+entity* IFC4X3_ADD2_IfcProjectLibrary_type = 0;
+entity* IFC4X3_ADD2_IfcProjectOrder_type = 0;
+entity* IFC4X3_ADD2_IfcProjectedCRS_type = 0;
+entity* IFC4X3_ADD2_IfcProjectionElement_type = 0;
+entity* IFC4X3_ADD2_IfcProperty_type = 0;
+entity* IFC4X3_ADD2_IfcPropertyAbstraction_type = 0;
+entity* IFC4X3_ADD2_IfcPropertyBoundedValue_type = 0;
+entity* IFC4X3_ADD2_IfcPropertyDefinition_type = 0;
+entity* IFC4X3_ADD2_IfcPropertyDependencyRelationship_type = 0;
+entity* IFC4X3_ADD2_IfcPropertyEnumeratedValue_type = 0;
+entity* IFC4X3_ADD2_IfcPropertyEnumeration_type = 0;
+entity* IFC4X3_ADD2_IfcPropertyListValue_type = 0;
+entity* IFC4X3_ADD2_IfcPropertyReferenceValue_type = 0;
+entity* IFC4X3_ADD2_IfcPropertySet_type = 0;
+entity* IFC4X3_ADD2_IfcPropertySetDefinition_type = 0;
+entity* IFC4X3_ADD2_IfcPropertySetTemplate_type = 0;
+entity* IFC4X3_ADD2_IfcPropertySingleValue_type = 0;
+entity* IFC4X3_ADD2_IfcPropertyTableValue_type = 0;
+entity* IFC4X3_ADD2_IfcPropertyTemplate_type = 0;
+entity* IFC4X3_ADD2_IfcPropertyTemplateDefinition_type = 0;
+entity* IFC4X3_ADD2_IfcProtectiveDevice_type = 0;
+entity* IFC4X3_ADD2_IfcProtectiveDeviceTrippingUnit_type = 0;
+entity* IFC4X3_ADD2_IfcProtectiveDeviceTrippingUnitType_type = 0;
+entity* IFC4X3_ADD2_IfcProtectiveDeviceType_type = 0;
+entity* IFC4X3_ADD2_IfcPump_type = 0;
+entity* IFC4X3_ADD2_IfcPumpType_type = 0;
+entity* IFC4X3_ADD2_IfcQuantityArea_type = 0;
+entity* IFC4X3_ADD2_IfcQuantityCount_type = 0;
+entity* IFC4X3_ADD2_IfcQuantityLength_type = 0;
+entity* IFC4X3_ADD2_IfcQuantityNumber_type = 0;
+entity* IFC4X3_ADD2_IfcQuantitySet_type = 0;
+entity* IFC4X3_ADD2_IfcQuantityTime_type = 0;
+entity* IFC4X3_ADD2_IfcQuantityVolume_type = 0;
+entity* IFC4X3_ADD2_IfcQuantityWeight_type = 0;
+entity* IFC4X3_ADD2_IfcRail_type = 0;
+entity* IFC4X3_ADD2_IfcRailType_type = 0;
+entity* IFC4X3_ADD2_IfcRailing_type = 0;
+entity* IFC4X3_ADD2_IfcRailingType_type = 0;
+entity* IFC4X3_ADD2_IfcRailway_type = 0;
+entity* IFC4X3_ADD2_IfcRailwayPart_type = 0;
+entity* IFC4X3_ADD2_IfcRamp_type = 0;
+entity* IFC4X3_ADD2_IfcRampFlight_type = 0;
+entity* IFC4X3_ADD2_IfcRampFlightType_type = 0;
+entity* IFC4X3_ADD2_IfcRampType_type = 0;
+entity* IFC4X3_ADD2_IfcRationalBSplineCurveWithKnots_type = 0;
+entity* IFC4X3_ADD2_IfcRationalBSplineSurfaceWithKnots_type = 0;
+entity* IFC4X3_ADD2_IfcRectangleHollowProfileDef_type = 0;
+entity* IFC4X3_ADD2_IfcRectangleProfileDef_type = 0;
+entity* IFC4X3_ADD2_IfcRectangularPyramid_type = 0;
+entity* IFC4X3_ADD2_IfcRectangularTrimmedSurface_type = 0;
+entity* IFC4X3_ADD2_IfcRecurrencePattern_type = 0;
+entity* IFC4X3_ADD2_IfcReference_type = 0;
+entity* IFC4X3_ADD2_IfcReferent_type = 0;
+entity* IFC4X3_ADD2_IfcRegularTimeSeries_type = 0;
+entity* IFC4X3_ADD2_IfcReinforcedSoil_type = 0;
+entity* IFC4X3_ADD2_IfcReinforcementBarProperties_type = 0;
+entity* IFC4X3_ADD2_IfcReinforcementDefinitionProperties_type = 0;
+entity* IFC4X3_ADD2_IfcReinforcingBar_type = 0;
+entity* IFC4X3_ADD2_IfcReinforcingBarType_type = 0;
+entity* IFC4X3_ADD2_IfcReinforcingElement_type = 0;
+entity* IFC4X3_ADD2_IfcReinforcingElementType_type = 0;
+entity* IFC4X3_ADD2_IfcReinforcingMesh_type = 0;
+entity* IFC4X3_ADD2_IfcReinforcingMeshType_type = 0;
+entity* IFC4X3_ADD2_IfcRelAdheresToElement_type = 0;
+entity* IFC4X3_ADD2_IfcRelAggregates_type = 0;
+entity* IFC4X3_ADD2_IfcRelAssigns_type = 0;
+entity* IFC4X3_ADD2_IfcRelAssignsToActor_type = 0;
+entity* IFC4X3_ADD2_IfcRelAssignsToControl_type = 0;
+entity* IFC4X3_ADD2_IfcRelAssignsToGroup_type = 0;
+entity* IFC4X3_ADD2_IfcRelAssignsToGroupByFactor_type = 0;
+entity* IFC4X3_ADD2_IfcRelAssignsToProcess_type = 0;
+entity* IFC4X3_ADD2_IfcRelAssignsToProduct_type = 0;
+entity* IFC4X3_ADD2_IfcRelAssignsToResource_type = 0;
+entity* IFC4X3_ADD2_IfcRelAssociates_type = 0;
+entity* IFC4X3_ADD2_IfcRelAssociatesApproval_type = 0;
+entity* IFC4X3_ADD2_IfcRelAssociatesClassification_type = 0;
+entity* IFC4X3_ADD2_IfcRelAssociatesConstraint_type = 0;
+entity* IFC4X3_ADD2_IfcRelAssociatesDocument_type = 0;
+entity* IFC4X3_ADD2_IfcRelAssociatesLibrary_type = 0;
+entity* IFC4X3_ADD2_IfcRelAssociatesMaterial_type = 0;
+entity* IFC4X3_ADD2_IfcRelAssociatesProfileDef_type = 0;
+entity* IFC4X3_ADD2_IfcRelConnects_type = 0;
+entity* IFC4X3_ADD2_IfcRelConnectsElements_type = 0;
+entity* IFC4X3_ADD2_IfcRelConnectsPathElements_type = 0;
+entity* IFC4X3_ADD2_IfcRelConnectsPortToElement_type = 0;
+entity* IFC4X3_ADD2_IfcRelConnectsPorts_type = 0;
+entity* IFC4X3_ADD2_IfcRelConnectsStructuralActivity_type = 0;
+entity* IFC4X3_ADD2_IfcRelConnectsStructuralMember_type = 0;
+entity* IFC4X3_ADD2_IfcRelConnectsWithEccentricity_type = 0;
+entity* IFC4X3_ADD2_IfcRelConnectsWithRealizingElements_type = 0;
+entity* IFC4X3_ADD2_IfcRelContainedInSpatialStructure_type = 0;
+entity* IFC4X3_ADD2_IfcRelCoversBldgElements_type = 0;
+entity* IFC4X3_ADD2_IfcRelCoversSpaces_type = 0;
+entity* IFC4X3_ADD2_IfcRelDeclares_type = 0;
+entity* IFC4X3_ADD2_IfcRelDecomposes_type = 0;
+entity* IFC4X3_ADD2_IfcRelDefines_type = 0;
+entity* IFC4X3_ADD2_IfcRelDefinesByObject_type = 0;
+entity* IFC4X3_ADD2_IfcRelDefinesByProperties_type = 0;
+entity* IFC4X3_ADD2_IfcRelDefinesByTemplate_type = 0;
+entity* IFC4X3_ADD2_IfcRelDefinesByType_type = 0;
+entity* IFC4X3_ADD2_IfcRelFillsElement_type = 0;
+entity* IFC4X3_ADD2_IfcRelFlowControlElements_type = 0;
+entity* IFC4X3_ADD2_IfcRelInterferesElements_type = 0;
+entity* IFC4X3_ADD2_IfcRelNests_type = 0;
+entity* IFC4X3_ADD2_IfcRelPositions_type = 0;
+entity* IFC4X3_ADD2_IfcRelProjectsElement_type = 0;
+entity* IFC4X3_ADD2_IfcRelReferencedInSpatialStructure_type = 0;
+entity* IFC4X3_ADD2_IfcRelSequence_type = 0;
+entity* IFC4X3_ADD2_IfcRelServicesBuildings_type = 0;
+entity* IFC4X3_ADD2_IfcRelSpaceBoundary_type = 0;
+entity* IFC4X3_ADD2_IfcRelSpaceBoundary1stLevel_type = 0;
+entity* IFC4X3_ADD2_IfcRelSpaceBoundary2ndLevel_type = 0;
+entity* IFC4X3_ADD2_IfcRelVoidsElement_type = 0;
+entity* IFC4X3_ADD2_IfcRelationship_type = 0;
+entity* IFC4X3_ADD2_IfcReparametrisedCompositeCurveSegment_type = 0;
+entity* IFC4X3_ADD2_IfcRepresentation_type = 0;
+entity* IFC4X3_ADD2_IfcRepresentationContext_type = 0;
+entity* IFC4X3_ADD2_IfcRepresentationItem_type = 0;
+entity* IFC4X3_ADD2_IfcRepresentationMap_type = 0;
+entity* IFC4X3_ADD2_IfcResource_type = 0;
+entity* IFC4X3_ADD2_IfcResourceApprovalRelationship_type = 0;
+entity* IFC4X3_ADD2_IfcResourceConstraintRelationship_type = 0;
+entity* IFC4X3_ADD2_IfcResourceLevelRelationship_type = 0;
+entity* IFC4X3_ADD2_IfcResourceTime_type = 0;
+entity* IFC4X3_ADD2_IfcRevolvedAreaSolid_type = 0;
+entity* IFC4X3_ADD2_IfcRevolvedAreaSolidTapered_type = 0;
+entity* IFC4X3_ADD2_IfcRightCircularCone_type = 0;
+entity* IFC4X3_ADD2_IfcRightCircularCylinder_type = 0;
+entity* IFC4X3_ADD2_IfcRigidOperation_type = 0;
+entity* IFC4X3_ADD2_IfcRoad_type = 0;
+entity* IFC4X3_ADD2_IfcRoadPart_type = 0;
+entity* IFC4X3_ADD2_IfcRoof_type = 0;
+entity* IFC4X3_ADD2_IfcRoofType_type = 0;
+entity* IFC4X3_ADD2_IfcRoot_type = 0;
+entity* IFC4X3_ADD2_IfcRoundedRectangleProfileDef_type = 0;
+entity* IFC4X3_ADD2_IfcSIUnit_type = 0;
+entity* IFC4X3_ADD2_IfcSanitaryTerminal_type = 0;
+entity* IFC4X3_ADD2_IfcSanitaryTerminalType_type = 0;
+entity* IFC4X3_ADD2_IfcSchedulingTime_type = 0;
+entity* IFC4X3_ADD2_IfcSeamCurve_type = 0;
+entity* IFC4X3_ADD2_IfcSecondOrderPolynomialSpiral_type = 0;
+entity* IFC4X3_ADD2_IfcSectionProperties_type = 0;
+entity* IFC4X3_ADD2_IfcSectionReinforcementProperties_type = 0;
+entity* IFC4X3_ADD2_IfcSectionedSolid_type = 0;
+entity* IFC4X3_ADD2_IfcSectionedSolidHorizontal_type = 0;
+entity* IFC4X3_ADD2_IfcSectionedSpine_type = 0;
+entity* IFC4X3_ADD2_IfcSectionedSurface_type = 0;
+entity* IFC4X3_ADD2_IfcSegment_type = 0;
+entity* IFC4X3_ADD2_IfcSegmentedReferenceCurve_type = 0;
+entity* IFC4X3_ADD2_IfcSensor_type = 0;
+entity* IFC4X3_ADD2_IfcSensorType_type = 0;
+entity* IFC4X3_ADD2_IfcSeventhOrderPolynomialSpiral_type = 0;
+entity* IFC4X3_ADD2_IfcShadingDevice_type = 0;
+entity* IFC4X3_ADD2_IfcShadingDeviceType_type = 0;
+entity* IFC4X3_ADD2_IfcShapeAspect_type = 0;
+entity* IFC4X3_ADD2_IfcShapeModel_type = 0;
+entity* IFC4X3_ADD2_IfcShapeRepresentation_type = 0;
+entity* IFC4X3_ADD2_IfcShellBasedSurfaceModel_type = 0;
+entity* IFC4X3_ADD2_IfcSign_type = 0;
+entity* IFC4X3_ADD2_IfcSignType_type = 0;
+entity* IFC4X3_ADD2_IfcSignal_type = 0;
+entity* IFC4X3_ADD2_IfcSignalType_type = 0;
+entity* IFC4X3_ADD2_IfcSimpleProperty_type = 0;
+entity* IFC4X3_ADD2_IfcSimplePropertyTemplate_type = 0;
+entity* IFC4X3_ADD2_IfcSineSpiral_type = 0;
+entity* IFC4X3_ADD2_IfcSite_type = 0;
+entity* IFC4X3_ADD2_IfcSlab_type = 0;
+entity* IFC4X3_ADD2_IfcSlabType_type = 0;
+entity* IFC4X3_ADD2_IfcSlippageConnectionCondition_type = 0;
+entity* IFC4X3_ADD2_IfcSolarDevice_type = 0;
+entity* IFC4X3_ADD2_IfcSolarDeviceType_type = 0;
+entity* IFC4X3_ADD2_IfcSolidModel_type = 0;
+entity* IFC4X3_ADD2_IfcSpace_type = 0;
+entity* IFC4X3_ADD2_IfcSpaceHeater_type = 0;
+entity* IFC4X3_ADD2_IfcSpaceHeaterType_type = 0;
+entity* IFC4X3_ADD2_IfcSpaceType_type = 0;
+entity* IFC4X3_ADD2_IfcSpatialElement_type = 0;
+entity* IFC4X3_ADD2_IfcSpatialElementType_type = 0;
+entity* IFC4X3_ADD2_IfcSpatialStructureElement_type = 0;
+entity* IFC4X3_ADD2_IfcSpatialStructureElementType_type = 0;
+entity* IFC4X3_ADD2_IfcSpatialZone_type = 0;
+entity* IFC4X3_ADD2_IfcSpatialZoneType_type = 0;
+entity* IFC4X3_ADD2_IfcSphere_type = 0;
+entity* IFC4X3_ADD2_IfcSphericalSurface_type = 0;
+entity* IFC4X3_ADD2_IfcSpiral_type = 0;
+entity* IFC4X3_ADD2_IfcStackTerminal_type = 0;
+entity* IFC4X3_ADD2_IfcStackTerminalType_type = 0;
+entity* IFC4X3_ADD2_IfcStair_type = 0;
+entity* IFC4X3_ADD2_IfcStairFlight_type = 0;
+entity* IFC4X3_ADD2_IfcStairFlightType_type = 0;
+entity* IFC4X3_ADD2_IfcStairType_type = 0;
+entity* IFC4X3_ADD2_IfcStructuralAction_type = 0;
+entity* IFC4X3_ADD2_IfcStructuralActivity_type = 0;
+entity* IFC4X3_ADD2_IfcStructuralAnalysisModel_type = 0;
+entity* IFC4X3_ADD2_IfcStructuralConnection_type = 0;
+entity* IFC4X3_ADD2_IfcStructuralConnectionCondition_type = 0;
+entity* IFC4X3_ADD2_IfcStructuralCurveAction_type = 0;
+entity* IFC4X3_ADD2_IfcStructuralCurveConnection_type = 0;
+entity* IFC4X3_ADD2_IfcStructuralCurveMember_type = 0;
+entity* IFC4X3_ADD2_IfcStructuralCurveMemberVarying_type = 0;
+entity* IFC4X3_ADD2_IfcStructuralCurveReaction_type = 0;
+entity* IFC4X3_ADD2_IfcStructuralItem_type = 0;
+entity* IFC4X3_ADD2_IfcStructuralLinearAction_type = 0;
+entity* IFC4X3_ADD2_IfcStructuralLoad_type = 0;
+entity* IFC4X3_ADD2_IfcStructuralLoadCase_type = 0;
+entity* IFC4X3_ADD2_IfcStructuralLoadConfiguration_type = 0;
+entity* IFC4X3_ADD2_IfcStructuralLoadGroup_type = 0;
+entity* IFC4X3_ADD2_IfcStructuralLoadLinearForce_type = 0;
+entity* IFC4X3_ADD2_IfcStructuralLoadOrResult_type = 0;
+entity* IFC4X3_ADD2_IfcStructuralLoadPlanarForce_type = 0;
+entity* IFC4X3_ADD2_IfcStructuralLoadSingleDisplacement_type = 0;
+entity* IFC4X3_ADD2_IfcStructuralLoadSingleDisplacementDistortion_type = 0;
+entity* IFC4X3_ADD2_IfcStructuralLoadSingleForce_type = 0;
+entity* IFC4X3_ADD2_IfcStructuralLoadSingleForceWarping_type = 0;
+entity* IFC4X3_ADD2_IfcStructuralLoadStatic_type = 0;
+entity* IFC4X3_ADD2_IfcStructuralLoadTemperature_type = 0;
+entity* IFC4X3_ADD2_IfcStructuralMember_type = 0;
+entity* IFC4X3_ADD2_IfcStructuralPlanarAction_type = 0;
+entity* IFC4X3_ADD2_IfcStructuralPointAction_type = 0;
+entity* IFC4X3_ADD2_IfcStructuralPointConnection_type = 0;
+entity* IFC4X3_ADD2_IfcStructuralPointReaction_type = 0;
+entity* IFC4X3_ADD2_IfcStructuralReaction_type = 0;
+entity* IFC4X3_ADD2_IfcStructuralResultGroup_type = 0;
+entity* IFC4X3_ADD2_IfcStructuralSurfaceAction_type = 0;
+entity* IFC4X3_ADD2_IfcStructuralSurfaceConnection_type = 0;
+entity* IFC4X3_ADD2_IfcStructuralSurfaceMember_type = 0;
+entity* IFC4X3_ADD2_IfcStructuralSurfaceMemberVarying_type = 0;
+entity* IFC4X3_ADD2_IfcStructuralSurfaceReaction_type = 0;
+entity* IFC4X3_ADD2_IfcStyleModel_type = 0;
+entity* IFC4X3_ADD2_IfcStyledItem_type = 0;
+entity* IFC4X3_ADD2_IfcStyledRepresentation_type = 0;
+entity* IFC4X3_ADD2_IfcSubContractResource_type = 0;
+entity* IFC4X3_ADD2_IfcSubContractResourceType_type = 0;
+entity* IFC4X3_ADD2_IfcSubedge_type = 0;
+entity* IFC4X3_ADD2_IfcSurface_type = 0;
+entity* IFC4X3_ADD2_IfcSurfaceCurve_type = 0;
+entity* IFC4X3_ADD2_IfcSurfaceCurveSweptAreaSolid_type = 0;
+entity* IFC4X3_ADD2_IfcSurfaceFeature_type = 0;
+entity* IFC4X3_ADD2_IfcSurfaceOfLinearExtrusion_type = 0;
+entity* IFC4X3_ADD2_IfcSurfaceOfRevolution_type = 0;
+entity* IFC4X3_ADD2_IfcSurfaceReinforcementArea_type = 0;
+entity* IFC4X3_ADD2_IfcSurfaceStyle_type = 0;
+entity* IFC4X3_ADD2_IfcSurfaceStyleLighting_type = 0;
+entity* IFC4X3_ADD2_IfcSurfaceStyleRefraction_type = 0;
+entity* IFC4X3_ADD2_IfcSurfaceStyleRendering_type = 0;
+entity* IFC4X3_ADD2_IfcSurfaceStyleShading_type = 0;
+entity* IFC4X3_ADD2_IfcSurfaceStyleWithTextures_type = 0;
+entity* IFC4X3_ADD2_IfcSurfaceTexture_type = 0;
+entity* IFC4X3_ADD2_IfcSweptAreaSolid_type = 0;
+entity* IFC4X3_ADD2_IfcSweptDiskSolid_type = 0;
+entity* IFC4X3_ADD2_IfcSweptDiskSolidPolygonal_type = 0;
+entity* IFC4X3_ADD2_IfcSweptSurface_type = 0;
+entity* IFC4X3_ADD2_IfcSwitchingDevice_type = 0;
+entity* IFC4X3_ADD2_IfcSwitchingDeviceType_type = 0;
+entity* IFC4X3_ADD2_IfcSystem_type = 0;
+entity* IFC4X3_ADD2_IfcSystemFurnitureElement_type = 0;
+entity* IFC4X3_ADD2_IfcSystemFurnitureElementType_type = 0;
+entity* IFC4X3_ADD2_IfcTShapeProfileDef_type = 0;
+entity* IFC4X3_ADD2_IfcTable_type = 0;
+entity* IFC4X3_ADD2_IfcTableColumn_type = 0;
+entity* IFC4X3_ADD2_IfcTableRow_type = 0;
+entity* IFC4X3_ADD2_IfcTank_type = 0;
+entity* IFC4X3_ADD2_IfcTankType_type = 0;
+entity* IFC4X3_ADD2_IfcTask_type = 0;
+entity* IFC4X3_ADD2_IfcTaskTime_type = 0;
+entity* IFC4X3_ADD2_IfcTaskTimeRecurring_type = 0;
+entity* IFC4X3_ADD2_IfcTaskType_type = 0;
+entity* IFC4X3_ADD2_IfcTelecomAddress_type = 0;
+entity* IFC4X3_ADD2_IfcTendon_type = 0;
+entity* IFC4X3_ADD2_IfcTendonAnchor_type = 0;
+entity* IFC4X3_ADD2_IfcTendonAnchorType_type = 0;
+entity* IFC4X3_ADD2_IfcTendonConduit_type = 0;
+entity* IFC4X3_ADD2_IfcTendonConduitType_type = 0;
+entity* IFC4X3_ADD2_IfcTendonType_type = 0;
+entity* IFC4X3_ADD2_IfcTessellatedFaceSet_type = 0;
+entity* IFC4X3_ADD2_IfcTessellatedItem_type = 0;
+entity* IFC4X3_ADD2_IfcTextLiteral_type = 0;
+entity* IFC4X3_ADD2_IfcTextLiteralWithExtent_type = 0;
+entity* IFC4X3_ADD2_IfcTextStyle_type = 0;
+entity* IFC4X3_ADD2_IfcTextStyleFontModel_type = 0;
+entity* IFC4X3_ADD2_IfcTextStyleForDefinedFont_type = 0;
+entity* IFC4X3_ADD2_IfcTextStyleTextModel_type = 0;
+entity* IFC4X3_ADD2_IfcTextureCoordinate_type = 0;
+entity* IFC4X3_ADD2_IfcTextureCoordinateGenerator_type = 0;
+entity* IFC4X3_ADD2_IfcTextureCoordinateIndices_type = 0;
+entity* IFC4X3_ADD2_IfcTextureCoordinateIndicesWithVoids_type = 0;
+entity* IFC4X3_ADD2_IfcTextureMap_type = 0;
+entity* IFC4X3_ADD2_IfcTextureVertex_type = 0;
+entity* IFC4X3_ADD2_IfcTextureVertexList_type = 0;
+entity* IFC4X3_ADD2_IfcThirdOrderPolynomialSpiral_type = 0;
+entity* IFC4X3_ADD2_IfcTimePeriod_type = 0;
+entity* IFC4X3_ADD2_IfcTimeSeries_type = 0;
+entity* IFC4X3_ADD2_IfcTimeSeriesValue_type = 0;
+entity* IFC4X3_ADD2_IfcTopologicalRepresentationItem_type = 0;
+entity* IFC4X3_ADD2_IfcTopologyRepresentation_type = 0;
+entity* IFC4X3_ADD2_IfcToroidalSurface_type = 0;
+entity* IFC4X3_ADD2_IfcTrackElement_type = 0;
+entity* IFC4X3_ADD2_IfcTrackElementType_type = 0;
+entity* IFC4X3_ADD2_IfcTransformer_type = 0;
+entity* IFC4X3_ADD2_IfcTransformerType_type = 0;
+entity* IFC4X3_ADD2_IfcTransportElement_type = 0;
+entity* IFC4X3_ADD2_IfcTransportElementType_type = 0;
+entity* IFC4X3_ADD2_IfcTransportationDevice_type = 0;
+entity* IFC4X3_ADD2_IfcTransportationDeviceType_type = 0;
+entity* IFC4X3_ADD2_IfcTrapeziumProfileDef_type = 0;
+entity* IFC4X3_ADD2_IfcTriangulatedFaceSet_type = 0;
+entity* IFC4X3_ADD2_IfcTriangulatedIrregularNetwork_type = 0;
+entity* IFC4X3_ADD2_IfcTrimmedCurve_type = 0;
+entity* IFC4X3_ADD2_IfcTubeBundle_type = 0;
+entity* IFC4X3_ADD2_IfcTubeBundleType_type = 0;
+entity* IFC4X3_ADD2_IfcTypeObject_type = 0;
+entity* IFC4X3_ADD2_IfcTypeProcess_type = 0;
+entity* IFC4X3_ADD2_IfcTypeProduct_type = 0;
+entity* IFC4X3_ADD2_IfcTypeResource_type = 0;
+entity* IFC4X3_ADD2_IfcUShapeProfileDef_type = 0;
+entity* IFC4X3_ADD2_IfcUnitAssignment_type = 0;
+entity* IFC4X3_ADD2_IfcUnitaryControlElement_type = 0;
+entity* IFC4X3_ADD2_IfcUnitaryControlElementType_type = 0;
+entity* IFC4X3_ADD2_IfcUnitaryEquipment_type = 0;
+entity* IFC4X3_ADD2_IfcUnitaryEquipmentType_type = 0;
+entity* IFC4X3_ADD2_IfcValve_type = 0;
+entity* IFC4X3_ADD2_IfcValveType_type = 0;
+entity* IFC4X3_ADD2_IfcVector_type = 0;
+entity* IFC4X3_ADD2_IfcVehicle_type = 0;
+entity* IFC4X3_ADD2_IfcVehicleType_type = 0;
+entity* IFC4X3_ADD2_IfcVertex_type = 0;
+entity* IFC4X3_ADD2_IfcVertexLoop_type = 0;
+entity* IFC4X3_ADD2_IfcVertexPoint_type = 0;
+entity* IFC4X3_ADD2_IfcVibrationDamper_type = 0;
+entity* IFC4X3_ADD2_IfcVibrationDamperType_type = 0;
+entity* IFC4X3_ADD2_IfcVibrationIsolator_type = 0;
+entity* IFC4X3_ADD2_IfcVibrationIsolatorType_type = 0;
+entity* IFC4X3_ADD2_IfcVirtualElement_type = 0;
+entity* IFC4X3_ADD2_IfcVirtualGridIntersection_type = 0;
+entity* IFC4X3_ADD2_IfcVoidingFeature_type = 0;
+entity* IFC4X3_ADD2_IfcWall_type = 0;
+entity* IFC4X3_ADD2_IfcWallStandardCase_type = 0;
+entity* IFC4X3_ADD2_IfcWallType_type = 0;
+entity* IFC4X3_ADD2_IfcWasteTerminal_type = 0;
+entity* IFC4X3_ADD2_IfcWasteTerminalType_type = 0;
+entity* IFC4X3_ADD2_IfcWellKnownText_type = 0;
+entity* IFC4X3_ADD2_IfcWindow_type = 0;
+entity* IFC4X3_ADD2_IfcWindowLiningProperties_type = 0;
+entity* IFC4X3_ADD2_IfcWindowPanelProperties_type = 0;
+entity* IFC4X3_ADD2_IfcWindowType_type = 0;
+entity* IFC4X3_ADD2_IfcWorkCalendar_type = 0;
+entity* IFC4X3_ADD2_IfcWorkControl_type = 0;
+entity* IFC4X3_ADD2_IfcWorkPlan_type = 0;
+entity* IFC4X3_ADD2_IfcWorkSchedule_type = 0;
+entity* IFC4X3_ADD2_IfcWorkTime_type = 0;
+entity* IFC4X3_ADD2_IfcZShapeProfileDef_type = 0;
+entity* IFC4X3_ADD2_IfcZone_type = 0;
+type_declaration* IFC4X3_ADD2_IfcAbsorbedDoseMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcAccelerationMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcAmountOfSubstanceMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcAngularVelocityMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcArcIndex_type = 0;
+type_declaration* IFC4X3_ADD2_IfcAreaDensityMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcAreaMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcBinary_type = 0;
+type_declaration* IFC4X3_ADD2_IfcBoolean_type = 0;
+type_declaration* IFC4X3_ADD2_IfcBoxAlignment_type = 0;
+type_declaration* IFC4X3_ADD2_IfcCardinalPointReference_type = 0;
+type_declaration* IFC4X3_ADD2_IfcComplexNumber_type = 0;
+type_declaration* IFC4X3_ADD2_IfcCompoundPlaneAngleMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcContextDependentMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcCountMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcCurvatureMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcDate_type = 0;
+type_declaration* IFC4X3_ADD2_IfcDateTime_type = 0;
+type_declaration* IFC4X3_ADD2_IfcDayInMonthNumber_type = 0;
+type_declaration* IFC4X3_ADD2_IfcDayInWeekNumber_type = 0;
+type_declaration* IFC4X3_ADD2_IfcDescriptiveMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcDimensionCount_type = 0;
+type_declaration* IFC4X3_ADD2_IfcDoseEquivalentMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcDuration_type = 0;
+type_declaration* IFC4X3_ADD2_IfcDynamicViscosityMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcElectricCapacitanceMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcElectricChargeMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcElectricConductanceMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcElectricCurrentMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcElectricResistanceMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcElectricVoltageMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcEnergyMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcFontStyle_type = 0;
+type_declaration* IFC4X3_ADD2_IfcFontVariant_type = 0;
+type_declaration* IFC4X3_ADD2_IfcFontWeight_type = 0;
+type_declaration* IFC4X3_ADD2_IfcForceMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcFrequencyMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcGloballyUniqueId_type = 0;
+type_declaration* IFC4X3_ADD2_IfcHeatFluxDensityMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcHeatingValueMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcIdentifier_type = 0;
+type_declaration* IFC4X3_ADD2_IfcIlluminanceMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcInductanceMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcInteger_type = 0;
+type_declaration* IFC4X3_ADD2_IfcIntegerCountRateMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcIonConcentrationMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcIsothermalMoistureCapacityMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcKinematicViscosityMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcLabel_type = 0;
+type_declaration* IFC4X3_ADD2_IfcLanguageId_type = 0;
+type_declaration* IFC4X3_ADD2_IfcLengthMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcLineIndex_type = 0;
+type_declaration* IFC4X3_ADD2_IfcLinearForceMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcLinearMomentMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcLinearStiffnessMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcLinearVelocityMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcLogical_type = 0;
+type_declaration* IFC4X3_ADD2_IfcLuminousFluxMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcLuminousIntensityDistributionMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcLuminousIntensityMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcMagneticFluxDensityMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcMagneticFluxMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcMassDensityMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcMassFlowRateMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcMassMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcMassPerLengthMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcModulusOfElasticityMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcModulusOfLinearSubgradeReactionMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcModulusOfRotationalSubgradeReactionMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcModulusOfSubgradeReactionMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcMoistureDiffusivityMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcMolecularWeightMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcMomentOfInertiaMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcMonetaryMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcMonthInYearNumber_type = 0;
+type_declaration* IFC4X3_ADD2_IfcNonNegativeLengthMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcNormalisedRatioMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcNumericMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcPHMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcParameterValue_type = 0;
+type_declaration* IFC4X3_ADD2_IfcPlanarForceMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcPlaneAngleMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcPositiveInteger_type = 0;
+type_declaration* IFC4X3_ADD2_IfcPositiveLengthMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcPositivePlaneAngleMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcPositiveRatioMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcPowerMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcPresentableText_type = 0;
+type_declaration* IFC4X3_ADD2_IfcPressureMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcPropertySetDefinitionSet_type = 0;
+type_declaration* IFC4X3_ADD2_IfcRadioActivityMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcRatioMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcReal_type = 0;
+type_declaration* IFC4X3_ADD2_IfcRotationalFrequencyMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcRotationalMassMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcRotationalStiffnessMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcSectionModulusMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcSectionalAreaIntegralMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcShearModulusMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcSolidAngleMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcSoundPowerLevelMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcSoundPowerMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcSoundPressureLevelMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcSoundPressureMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcSpecificHeatCapacityMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcSpecularExponent_type = 0;
+type_declaration* IFC4X3_ADD2_IfcSpecularRoughness_type = 0;
+type_declaration* IFC4X3_ADD2_IfcStrippedOptional_type = 0;
+type_declaration* IFC4X3_ADD2_IfcTemperatureGradientMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcTemperatureRateOfChangeMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcText_type = 0;
+type_declaration* IFC4X3_ADD2_IfcTextAlignment_type = 0;
+type_declaration* IFC4X3_ADD2_IfcTextDecoration_type = 0;
+type_declaration* IFC4X3_ADD2_IfcTextFontName_type = 0;
+type_declaration* IFC4X3_ADD2_IfcTextTransformation_type = 0;
+type_declaration* IFC4X3_ADD2_IfcThermalAdmittanceMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcThermalConductivityMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcThermalExpansionCoefficientMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcThermalResistanceMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcThermalTransmittanceMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcThermodynamicTemperatureMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcTime_type = 0;
+type_declaration* IFC4X3_ADD2_IfcTimeMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcTimeStamp_type = 0;
+type_declaration* IFC4X3_ADD2_IfcTorqueMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcURIReference_type = 0;
+type_declaration* IFC4X3_ADD2_IfcVaporPermeabilityMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcVolumeMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcVolumetricFlowRateMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcWarpingConstantMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcWarpingMomentMeasure_type = 0;
+type_declaration* IFC4X3_ADD2_IfcWellKnownTextLiteral_type = 0;
+select_type* IFC4X3_ADD2_IfcActorSelect_type = 0;
+select_type* IFC4X3_ADD2_IfcAppliedValueSelect_type = 0;
+select_type* IFC4X3_ADD2_IfcAxis2Placement_type = 0;
+select_type* IFC4X3_ADD2_IfcBendingParameterSelect_type = 0;
+select_type* IFC4X3_ADD2_IfcBooleanOperand_type = 0;
+select_type* IFC4X3_ADD2_IfcClassificationReferenceSelect_type = 0;
+select_type* IFC4X3_ADD2_IfcClassificationSelect_type = 0;
+select_type* IFC4X3_ADD2_IfcColour_type = 0;
+select_type* IFC4X3_ADD2_IfcColourOrFactor_type = 0;
+select_type* IFC4X3_ADD2_IfcCoordinateReferenceSystemSelect_type = 0;
+select_type* IFC4X3_ADD2_IfcCsgSelect_type = 0;
+select_type* IFC4X3_ADD2_IfcCurveFontOrScaledCurveFontSelect_type = 0;
+select_type* IFC4X3_ADD2_IfcCurveMeasureSelect_type = 0;
+select_type* IFC4X3_ADD2_IfcCurveOnSurface_type = 0;
+select_type* IFC4X3_ADD2_IfcCurveOrEdgeCurve_type = 0;
+select_type* IFC4X3_ADD2_IfcCurveStyleFontSelect_type = 0;
+select_type* IFC4X3_ADD2_IfcDefinitionSelect_type = 0;
+select_type* IFC4X3_ADD2_IfcDerivedMeasureValue_type = 0;
+select_type* IFC4X3_ADD2_IfcDocumentSelect_type = 0;
+select_type* IFC4X3_ADD2_IfcFillStyleSelect_type = 0;
+select_type* IFC4X3_ADD2_IfcGeometricSetSelect_type = 0;
+select_type* IFC4X3_ADD2_IfcGridPlacementDirectionSelect_type = 0;
+select_type* IFC4X3_ADD2_IfcHatchLineDistanceSelect_type = 0;
+select_type* IFC4X3_ADD2_IfcInterferenceSelect_type = 0;
+select_type* IFC4X3_ADD2_IfcLayeredItem_type = 0;
+select_type* IFC4X3_ADD2_IfcLibrarySelect_type = 0;
+select_type* IFC4X3_ADD2_IfcLightDistributionDataSourceSelect_type = 0;
+select_type* IFC4X3_ADD2_IfcMaterialSelect_type = 0;
+select_type* IFC4X3_ADD2_IfcMeasureValue_type = 0;
+select_type* IFC4X3_ADD2_IfcMetricValueSelect_type = 0;
+select_type* IFC4X3_ADD2_IfcModulusOfRotationalSubgradeReactionSelect_type = 0;
+select_type* IFC4X3_ADD2_IfcModulusOfSubgradeReactionSelect_type = 0;
+select_type* IFC4X3_ADD2_IfcModulusOfTranslationalSubgradeReactionSelect_type = 0;
+select_type* IFC4X3_ADD2_IfcObjectReferenceSelect_type = 0;
+select_type* IFC4X3_ADD2_IfcPointOrVertexPoint_type = 0;
+select_type* IFC4X3_ADD2_IfcProcessSelect_type = 0;
+select_type* IFC4X3_ADD2_IfcProductRepresentationSelect_type = 0;
+select_type* IFC4X3_ADD2_IfcProductSelect_type = 0;
+select_type* IFC4X3_ADD2_IfcPropertySetDefinitionSelect_type = 0;
+select_type* IFC4X3_ADD2_IfcResourceObjectSelect_type = 0;
+select_type* IFC4X3_ADD2_IfcResourceSelect_type = 0;
+select_type* IFC4X3_ADD2_IfcRotationalStiffnessSelect_type = 0;
+select_type* IFC4X3_ADD2_IfcSegmentIndexSelect_type = 0;
+select_type* IFC4X3_ADD2_IfcShell_type = 0;
+select_type* IFC4X3_ADD2_IfcSimpleValue_type = 0;
+select_type* IFC4X3_ADD2_IfcSizeSelect_type = 0;
+select_type* IFC4X3_ADD2_IfcSolidOrShell_type = 0;
+select_type* IFC4X3_ADD2_IfcSpaceBoundarySelect_type = 0;
+select_type* IFC4X3_ADD2_IfcSpatialReferenceSelect_type = 0;
+select_type* IFC4X3_ADD2_IfcSpecularHighlightSelect_type = 0;
+select_type* IFC4X3_ADD2_IfcStructuralActivityAssignmentSelect_type = 0;
+select_type* IFC4X3_ADD2_IfcSurfaceOrFaceSurface_type = 0;
+select_type* IFC4X3_ADD2_IfcSurfaceStyleElementSelect_type = 0;
+select_type* IFC4X3_ADD2_IfcTextFontSelect_type = 0;
+select_type* IFC4X3_ADD2_IfcTimeOrRatioSelect_type = 0;
+select_type* IFC4X3_ADD2_IfcTranslationalStiffnessSelect_type = 0;
+select_type* IFC4X3_ADD2_IfcTrimmingSelect_type = 0;
+select_type* IFC4X3_ADD2_IfcUnit_type = 0;
+select_type* IFC4X3_ADD2_IfcValue_type = 0;
+select_type* IFC4X3_ADD2_IfcVectorOrDirection_type = 0;
+select_type* IFC4X3_ADD2_IfcWarpingStiffnessSelect_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcActionRequestTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcActionSourceTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcActionTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcActuatorTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcAddressTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcAirTerminalBoxTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcAirTerminalTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcAirToAirHeatRecoveryTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcAlarmTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcAlignmentCantSegmentTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcAlignmentHorizontalSegmentTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcAlignmentTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcAlignmentVerticalSegmentTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcAnalysisModelTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcAnalysisTheoryTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcAnnotationTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcArithmeticOperatorEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcAssemblyPlaceEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcAudioVisualApplianceTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcBSplineCurveForm_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcBSplineSurfaceForm_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcBeamTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcBearingTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcBenchmarkEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcBoilerTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcBooleanOperator_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcBridgePartTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcBridgeTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcBuildingElementPartTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcBuildingElementProxyTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcBuildingSystemTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcBuiltSystemTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcBurnerTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcCableCarrierFittingTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcCableCarrierSegmentTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcCableFittingTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcCableSegmentTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcCaissonFoundationTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcChangeActionEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcChillerTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcChimneyTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcCoilTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcColumnTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcCommunicationsApplianceTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcComplexPropertyTemplateTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcCompressorTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcCondenserTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcConnectionTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcConstraintEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcConstructionEquipmentResourceTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcConstructionMaterialResourceTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcConstructionProductResourceTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcControllerTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcConveyorSegmentTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcCooledBeamTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcCoolingTowerTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcCostItemTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcCostScheduleTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcCourseTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcCoveringTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcCrewResourceTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcCurtainWallTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcCurveInterpolationEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcDamperTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcDataOriginEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcDerivedUnitEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcDirectionSenseEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcDiscreteAccessoryTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcDistributionBoardTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcDistributionChamberElementTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcDistributionPortTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcDistributionSystemEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcDocumentConfidentialityEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcDocumentStatusEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcDoorPanelOperationEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcDoorPanelPositionEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcDoorTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcDoorTypeOperationEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcDuctFittingTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcDuctSegmentTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcDuctSilencerTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcEarthworksCutTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcEarthworksFillTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcElectricApplianceTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcElectricDistributionBoardTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcElectricFlowStorageDeviceTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcElectricFlowTreatmentDeviceTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcElectricGeneratorTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcElectricMotorTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcElectricTimeControlTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcElementAssemblyTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcElementCompositionEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcEngineTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcEvaporativeCoolerTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcEvaporatorTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcEventTriggerTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcEventTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcExternalSpatialElementTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcFacilityPartCommonTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcFacilityUsageEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcFanTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcFastenerTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcFilterTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcFireSuppressionTerminalTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcFlowDirectionEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcFlowInstrumentTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcFlowMeterTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcFootingTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcFurnitureTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcGeographicElementTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcGeometricProjectionEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcGeotechnicalStratumTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcGlobalOrLocalEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcGridTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcHeatExchangerTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcHumidifierTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcImpactProtectionDeviceTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcInterceptorTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcInternalOrExternalEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcInventoryTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcJunctionBoxTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcKerbTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcKnotType_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcLaborResourceTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcLampTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcLayerSetDirectionEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcLightDistributionCurveEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcLightEmissionSourceEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcLightFixtureTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcLiquidTerminalTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcLoadGroupTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcLogicalOperatorEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcMarineFacilityTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcMarinePartTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcMechanicalFastenerTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcMedicalDeviceTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcMemberTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcMobileTelecommunicationsApplianceTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcMooringDeviceTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcMotorConnectionTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcNavigationElementTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcObjectiveEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcOccupantTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcOpeningElementTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcOutletTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcPavementTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcPerformanceHistoryTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcPermeableCoveringOperationEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcPermitTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcPhysicalOrVirtualEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcPileConstructionEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcPileTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcPipeFittingTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcPipeSegmentTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcPlateTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcPreferredSurfaceCurveRepresentation_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcProcedureTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcProfileTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcProjectOrderTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcProjectedOrTrueLengthEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcProjectionElementTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcPropertySetTemplateTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcProtectiveDeviceTrippingUnitTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcProtectiveDeviceTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcPumpTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcRailTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcRailingTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcRailwayPartTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcRailwayTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcRampFlightTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcRampTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcRecurrenceTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcReferentTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcReflectanceMethodEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcReinforcedSoilTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcReinforcingBarRoleEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcReinforcingBarSurfaceEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcReinforcingBarTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcReinforcingMeshTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcRoadPartTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcRoadTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcRoleEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcRoofTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcSIPrefix_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcSIUnitName_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcSanitaryTerminalTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcSectionTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcSensorTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcSequenceEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcShadingDeviceTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcSignTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcSignalTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcSimplePropertyTemplateTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcSlabTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcSolarDeviceTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcSpaceHeaterTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcSpaceTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcSpatialZoneTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcStackTerminalTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcStairFlightTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcStairTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcStateEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcStructuralCurveActivityTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcStructuralCurveMemberTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcStructuralSurfaceActivityTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcStructuralSurfaceMemberTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcSubContractResourceTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcSurfaceFeatureTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcSurfaceSide_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcSwitchingDeviceTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcSystemFurnitureElementTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcTankTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcTaskDurationEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcTaskTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcTendonAnchorTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcTendonConduitTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcTendonTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcTextPath_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcTimeSeriesDataTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcTrackElementTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcTransformerTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcTransitionCode_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcTransportElementTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcTrimmingPreference_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcTubeBundleTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcUnitEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcUnitaryControlElementTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcUnitaryEquipmentTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcValveTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcVehicleTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcVibrationDamperTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcVibrationIsolatorTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcVirtualElementTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcVoidingFeatureTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcWallTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcWasteTerminalTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcWindowPanelOperationEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcWindowPanelPositionEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcWindowTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcWindowTypePartitioningEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcWorkCalendarTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcWorkPlanTypeEnum_type = 0;
+enumeration_type* IFC4X3_ADD2_IfcWorkScheduleTypeEnum_type = 0;
+
+class IFC4X3_ADD2_instance_factory : public IfcParse::instance_factory {
+ virtual IfcUtil::IfcBaseClass* operator()(IfcEntityInstanceData* data) const {
+ switch(data->type()->index_in_schema()) {
+ case 0: return new ::Ifc4x3_add2::IfcAbsorbedDoseMeasure(data);
+ case 1: return new ::Ifc4x3_add2::IfcAccelerationMeasure(data);
+ case 2: return new ::Ifc4x3_add2::IfcActionRequest(data);
+ case 3: return new ::Ifc4x3_add2::IfcActionRequestTypeEnum(data);
+ case 4: return new ::Ifc4x3_add2::IfcActionSourceTypeEnum(data);
+ case 5: return new ::Ifc4x3_add2::IfcActionTypeEnum(data);
+ case 6: return new ::Ifc4x3_add2::IfcActor(data);
+ case 7: return new ::Ifc4x3_add2::IfcActorRole(data);
+ case 9: return new ::Ifc4x3_add2::IfcActuator(data);
+ case 10: return new ::Ifc4x3_add2::IfcActuatorType(data);
+ case 11: return new ::Ifc4x3_add2::IfcActuatorTypeEnum(data);
+ case 12: return new ::Ifc4x3_add2::IfcAddress(data);
+ case 13: return new ::Ifc4x3_add2::IfcAddressTypeEnum(data);
+ case 14: return new ::Ifc4x3_add2::IfcAdvancedBrep(data);
+ case 15: return new ::Ifc4x3_add2::IfcAdvancedBrepWithVoids(data);
+ case 16: return new ::Ifc4x3_add2::IfcAdvancedFace(data);
+ case 17: return new ::Ifc4x3_add2::IfcAirTerminal(data);
+ case 18: return new ::Ifc4x3_add2::IfcAirTerminalBox(data);
+ case 19: return new ::Ifc4x3_add2::IfcAirTerminalBoxType(data);
+ case 20: return new ::Ifc4x3_add2::IfcAirTerminalBoxTypeEnum(data);
+ case 21: return new ::Ifc4x3_add2::IfcAirTerminalType(data);
+ case 22: return new ::Ifc4x3_add2::IfcAirTerminalTypeEnum(data);
+ case 23: return new ::Ifc4x3_add2::IfcAirToAirHeatRecovery(data);
+ case 24: return new ::Ifc4x3_add2::IfcAirToAirHeatRecoveryType(data);
+ case 25: return new ::Ifc4x3_add2::IfcAirToAirHeatRecoveryTypeEnum(data);
+ case 26: return new ::Ifc4x3_add2::IfcAlarm(data);
+ case 27: return new ::Ifc4x3_add2::IfcAlarmType(data);
+ case 28: return new ::Ifc4x3_add2::IfcAlarmTypeEnum(data);
+ case 29: return new ::Ifc4x3_add2::IfcAlignment(data);
+ case 30: return new ::Ifc4x3_add2::IfcAlignmentCant(data);
+ case 31: return new ::Ifc4x3_add2::IfcAlignmentCantSegment(data);
+ case 32: return new ::Ifc4x3_add2::IfcAlignmentCantSegmentTypeEnum(data);
+ case 33: return new ::Ifc4x3_add2::IfcAlignmentHorizontal(data);
+ case 34: return new ::Ifc4x3_add2::IfcAlignmentHorizontalSegment(data);
+ case 35: return new ::Ifc4x3_add2::IfcAlignmentHorizontalSegmentTypeEnum(data);
+ case 36: return new ::Ifc4x3_add2::IfcAlignmentParameterSegment(data);
+ case 37: return new ::Ifc4x3_add2::IfcAlignmentSegment(data);
+ case 38: return new ::Ifc4x3_add2::IfcAlignmentTypeEnum(data);
+ case 39: return new ::Ifc4x3_add2::IfcAlignmentVertical(data);
+ case 40: return new ::Ifc4x3_add2::IfcAlignmentVerticalSegment(data);
+ case 41: return new ::Ifc4x3_add2::IfcAlignmentVerticalSegmentTypeEnum(data);
+ case 42: return new ::Ifc4x3_add2::IfcAmountOfSubstanceMeasure(data);
+ case 43: return new ::Ifc4x3_add2::IfcAnalysisModelTypeEnum(data);
+ case 44: return new ::Ifc4x3_add2::IfcAnalysisTheoryTypeEnum(data);
+ case 45: return new ::Ifc4x3_add2::IfcAngularVelocityMeasure(data);
+ case 46: return new ::Ifc4x3_add2::IfcAnnotation(data);
+ case 47: return new ::Ifc4x3_add2::IfcAnnotationFillArea(data);
+ case 48: return new ::Ifc4x3_add2::IfcAnnotationTypeEnum(data);
+ case 49: return new ::Ifc4x3_add2::IfcApplication(data);
+ case 50: return new ::Ifc4x3_add2::IfcAppliedValue(data);
+ case 52: return new ::Ifc4x3_add2::IfcApproval(data);
+ case 53: return new ::Ifc4x3_add2::IfcApprovalRelationship(data);
+ case 54: return new ::Ifc4x3_add2::IfcArbitraryClosedProfileDef(data);
+ case 55: return new ::Ifc4x3_add2::IfcArbitraryOpenProfileDef(data);
+ case 56: return new ::Ifc4x3_add2::IfcArbitraryProfileDefWithVoids(data);
+ case 57: return new ::Ifc4x3_add2::IfcArcIndex(data);
+ case 58: return new ::Ifc4x3_add2::IfcAreaDensityMeasure(data);
+ case 59: return new ::Ifc4x3_add2::IfcAreaMeasure(data);
+ case 60: return new ::Ifc4x3_add2::IfcArithmeticOperatorEnum(data);
+ case 61: return new ::Ifc4x3_add2::IfcAssemblyPlaceEnum(data);
+ case 62: return new ::Ifc4x3_add2::IfcAsset(data);
+ case 63: return new ::Ifc4x3_add2::IfcAsymmetricIShapeProfileDef(data);
+ case 64: return new ::Ifc4x3_add2::IfcAudioVisualAppliance(data);
+ case 65: return new ::Ifc4x3_add2::IfcAudioVisualApplianceType(data);
+ case 66: return new ::Ifc4x3_add2::IfcAudioVisualApplianceTypeEnum(data);
+ case 67: return new ::Ifc4x3_add2::IfcAxis1Placement(data);
+ case 69: return new ::Ifc4x3_add2::IfcAxis2Placement2D(data);
+ case 70: return new ::Ifc4x3_add2::IfcAxis2Placement3D(data);
+ case 71: return new ::Ifc4x3_add2::IfcAxis2PlacementLinear(data);
+ case 72: return new ::Ifc4x3_add2::IfcBeam(data);
+ case 73: return new ::Ifc4x3_add2::IfcBeamType(data);
+ case 74: return new ::Ifc4x3_add2::IfcBeamTypeEnum(data);
+ case 75: return new ::Ifc4x3_add2::IfcBearing(data);
+ case 76: return new ::Ifc4x3_add2::IfcBearingType(data);
+ case 77: return new ::Ifc4x3_add2::IfcBearingTypeEnum(data);
+ case 78: return new ::Ifc4x3_add2::IfcBenchmarkEnum(data);
+ case 80: return new ::Ifc4x3_add2::IfcBinary(data);
+ case 81: return new ::Ifc4x3_add2::IfcBlobTexture(data);
+ case 82: return new ::Ifc4x3_add2::IfcBlock(data);
+ case 83: return new ::Ifc4x3_add2::IfcBoiler(data);
+ case 84: return new ::Ifc4x3_add2::IfcBoilerType(data);
+ case 85: return new ::Ifc4x3_add2::IfcBoilerTypeEnum(data);
+ case 86: return new ::Ifc4x3_add2::IfcBoolean(data);
+ case 87: return new ::Ifc4x3_add2::IfcBooleanClippingResult(data);
+ case 89: return new ::Ifc4x3_add2::IfcBooleanOperator(data);
+ case 90: return new ::Ifc4x3_add2::IfcBooleanResult(data);
+ case 91: return new ::Ifc4x3_add2::IfcBorehole(data);
+ case 92: return new ::Ifc4x3_add2::IfcBoundaryCondition(data);
+ case 93: return new ::Ifc4x3_add2::IfcBoundaryCurve(data);
+ case 94: return new ::Ifc4x3_add2::IfcBoundaryEdgeCondition(data);
+ case 95: return new ::Ifc4x3_add2::IfcBoundaryFaceCondition(data);
+ case 96: return new ::Ifc4x3_add2::IfcBoundaryNodeCondition(data);
+ case 97: return new ::Ifc4x3_add2::IfcBoundaryNodeConditionWarping(data);
+ case 98: return new ::Ifc4x3_add2::IfcBoundedCurve(data);
+ case 99: return new ::Ifc4x3_add2::IfcBoundedSurface(data);
+ case 100: return new ::Ifc4x3_add2::IfcBoundingBox(data);
+ case 101: return new ::Ifc4x3_add2::IfcBoxAlignment(data);
+ case 102: return new ::Ifc4x3_add2::IfcBoxedHalfSpace(data);
+ case 103: return new ::Ifc4x3_add2::IfcBridge(data);
+ case 104: return new ::Ifc4x3_add2::IfcBridgePart(data);
+ case 105: return new ::Ifc4x3_add2::IfcBridgePartTypeEnum(data);
+ case 106: return new ::Ifc4x3_add2::IfcBridgeTypeEnum(data);
+ case 107: return new ::Ifc4x3_add2::IfcBSplineCurve(data);
+ case 108: return new ::Ifc4x3_add2::IfcBSplineCurveForm(data);
+ case 109: return new ::Ifc4x3_add2::IfcBSplineCurveWithKnots(data);
+ case 110: return new ::Ifc4x3_add2::IfcBSplineSurface(data);
+ case 111: return new ::Ifc4x3_add2::IfcBSplineSurfaceForm(data);
+ case 112: return new ::Ifc4x3_add2::IfcBSplineSurfaceWithKnots(data);
+ case 113: return new ::Ifc4x3_add2::IfcBuilding(data);
+ case 114: return new ::Ifc4x3_add2::IfcBuildingElementPart(data);
+ case 115: return new ::Ifc4x3_add2::IfcBuildingElementPartType(data);
+ case 116: return new ::Ifc4x3_add2::IfcBuildingElementPartTypeEnum(data);
+ case 117: return new ::Ifc4x3_add2::IfcBuildingElementProxy(data);
+ case 118: return new ::Ifc4x3_add2::IfcBuildingElementProxyType(data);
+ case 119: return new ::Ifc4x3_add2::IfcBuildingElementProxyTypeEnum(data);
+ case 120: return new ::Ifc4x3_add2::IfcBuildingStorey(data);
+ case 121: return new ::Ifc4x3_add2::IfcBuildingSystem(data);
+ case 122: return new ::Ifc4x3_add2::IfcBuildingSystemTypeEnum(data);
+ case 123: return new ::Ifc4x3_add2::IfcBuiltElement(data);
+ case 124: return new ::Ifc4x3_add2::IfcBuiltElementType(data);
+ case 125: return new ::Ifc4x3_add2::IfcBuiltSystem(data);
+ case 126: return new ::Ifc4x3_add2::IfcBuiltSystemTypeEnum(data);
+ case 127: return new ::Ifc4x3_add2::IfcBurner(data);
+ case 128: return new ::Ifc4x3_add2::IfcBurnerType(data);
+ case 129: return new ::Ifc4x3_add2::IfcBurnerTypeEnum(data);
+ case 130: return new ::Ifc4x3_add2::IfcCableCarrierFitting(data);
+ case 131: return new ::Ifc4x3_add2::IfcCableCarrierFittingType(data);
+ case 132: return new ::Ifc4x3_add2::IfcCableCarrierFittingTypeEnum(data);
+ case 133: return new ::Ifc4x3_add2::IfcCableCarrierSegment(data);
+ case 134: return new ::Ifc4x3_add2::IfcCableCarrierSegmentType(data);
+ case 135: return new ::Ifc4x3_add2::IfcCableCarrierSegmentTypeEnum(data);
+ case 136: return new ::Ifc4x3_add2::IfcCableFitting(data);
+ case 137: return new ::Ifc4x3_add2::IfcCableFittingType(data);
+ case 138: return new ::Ifc4x3_add2::IfcCableFittingTypeEnum(data);
+ case 139: return new ::Ifc4x3_add2::IfcCableSegment(data);
+ case 140: return new ::Ifc4x3_add2::IfcCableSegmentType(data);
+ case 141: return new ::Ifc4x3_add2::IfcCableSegmentTypeEnum(data);
+ case 142: return new ::Ifc4x3_add2::IfcCaissonFoundation(data);
+ case 143: return new ::Ifc4x3_add2::IfcCaissonFoundationType(data);
+ case 144: return new ::Ifc4x3_add2::IfcCaissonFoundationTypeEnum(data);
+ case 145: return new ::Ifc4x3_add2::IfcCardinalPointReference(data);
+ case 146: return new ::Ifc4x3_add2::IfcCartesianPoint(data);
+ case 147: return new ::Ifc4x3_add2::IfcCartesianPointList(data);
+ case 148: return new ::Ifc4x3_add2::IfcCartesianPointList2D(data);
+ case 149: return new ::Ifc4x3_add2::IfcCartesianPointList3D(data);
+ case 150: return new ::Ifc4x3_add2::IfcCartesianTransformationOperator(data);
+ case 151: return new ::Ifc4x3_add2::IfcCartesianTransformationOperator2D(data);
+ case 152: return new ::Ifc4x3_add2::IfcCartesianTransformationOperator2DnonUniform(data);
+ case 153: return new ::Ifc4x3_add2::IfcCartesianTransformationOperator3D(data);
+ case 154: return new ::Ifc4x3_add2::IfcCartesianTransformationOperator3DnonUniform(data);
+ case 155: return new ::Ifc4x3_add2::IfcCenterLineProfileDef(data);
+ case 156: return new ::Ifc4x3_add2::IfcChangeActionEnum(data);
+ case 157: return new ::Ifc4x3_add2::IfcChiller(data);
+ case 158: return new ::Ifc4x3_add2::IfcChillerType(data);
+ case 159: return new ::Ifc4x3_add2::IfcChillerTypeEnum(data);
+ case 160: return new ::Ifc4x3_add2::IfcChimney(data);
+ case 161: return new ::Ifc4x3_add2::IfcChimneyType(data);
+ case 162: return new ::Ifc4x3_add2::IfcChimneyTypeEnum(data);
+ case 163: return new ::Ifc4x3_add2::IfcCircle(data);
+ case 164: return new ::Ifc4x3_add2::IfcCircleHollowProfileDef(data);
+ case 165: return new ::Ifc4x3_add2::IfcCircleProfileDef(data);
+ case 166: return new ::Ifc4x3_add2::IfcCivilElement(data);
+ case 167: return new ::Ifc4x3_add2::IfcCivilElementType(data);
+ case 168: return new ::Ifc4x3_add2::IfcClassification(data);
+ case 169: return new ::Ifc4x3_add2::IfcClassificationReference(data);
+ case 172: return new ::Ifc4x3_add2::IfcClosedShell(data);
+ case 173: return new ::Ifc4x3_add2::IfcClothoid(data);
+ case 174: return new ::Ifc4x3_add2::IfcCoil(data);
+ case 175: return new ::Ifc4x3_add2::IfcCoilType(data);
+ case 176: return new ::Ifc4x3_add2::IfcCoilTypeEnum(data);
+ case 179: return new ::Ifc4x3_add2::IfcColourRgb(data);
+ case 180: return new ::Ifc4x3_add2::IfcColourRgbList(data);
+ case 181: return new ::Ifc4x3_add2::IfcColourSpecification(data);
+ case 182: return new ::Ifc4x3_add2::IfcColumn(data);
+ case 183: return new ::Ifc4x3_add2::IfcColumnType(data);
+ case 184: return new ::Ifc4x3_add2::IfcColumnTypeEnum(data);
+ case 185: return new ::Ifc4x3_add2::IfcCommunicationsAppliance(data);
+ case 186: return new ::Ifc4x3_add2::IfcCommunicationsApplianceType(data);
+ case 187: return new ::Ifc4x3_add2::IfcCommunicationsApplianceTypeEnum(data);
+ case 188: return new ::Ifc4x3_add2::IfcComplexNumber(data);
+ case 189: return new ::Ifc4x3_add2::IfcComplexProperty(data);
+ case 190: return new ::Ifc4x3_add2::IfcComplexPropertyTemplate(data);
+ case 191: return new ::Ifc4x3_add2::IfcComplexPropertyTemplateTypeEnum(data);
+ case 192: return new ::Ifc4x3_add2::IfcCompositeCurve(data);
+ case 193: return new ::Ifc4x3_add2::IfcCompositeCurveOnSurface(data);
+ case 194: return new ::Ifc4x3_add2::IfcCompositeCurveSegment(data);
+ case 195: return new ::Ifc4x3_add2::IfcCompositeProfileDef(data);
+ case 196: return new ::Ifc4x3_add2::IfcCompoundPlaneAngleMeasure(data);
+ case 197: return new ::Ifc4x3_add2::IfcCompressor(data);
+ case 198: return new ::Ifc4x3_add2::IfcCompressorType(data);
+ case 199: return new ::Ifc4x3_add2::IfcCompressorTypeEnum(data);
+ case 200: return new ::Ifc4x3_add2::IfcCondenser(data);
+ case 201: return new ::Ifc4x3_add2::IfcCondenserType(data);
+ case 202: return new ::Ifc4x3_add2::IfcCondenserTypeEnum(data);
+ case 203: return new ::Ifc4x3_add2::IfcConic(data);
+ case 204: return new ::Ifc4x3_add2::IfcConnectedFaceSet(data);
+ case 205: return new ::Ifc4x3_add2::IfcConnectionCurveGeometry(data);
+ case 206: return new ::Ifc4x3_add2::IfcConnectionGeometry(data);
+ case 207: return new ::Ifc4x3_add2::IfcConnectionPointEccentricity(data);
+ case 208: return new ::Ifc4x3_add2::IfcConnectionPointGeometry(data);
+ case 209: return new ::Ifc4x3_add2::IfcConnectionSurfaceGeometry(data);
+ case 210: return new ::Ifc4x3_add2::IfcConnectionTypeEnum(data);
+ case 211: return new ::Ifc4x3_add2::IfcConnectionVolumeGeometry(data);
+ case 212: return new ::Ifc4x3_add2::IfcConstraint(data);
+ case 213: return new ::Ifc4x3_add2::IfcConstraintEnum(data);
+ case 214: return new ::Ifc4x3_add2::IfcConstructionEquipmentResource(data);
+ case 215: return new ::Ifc4x3_add2::IfcConstructionEquipmentResourceType(data);
+ case 216: return new ::Ifc4x3_add2::IfcConstructionEquipmentResourceTypeEnum(data);
+ case 217: return new ::Ifc4x3_add2::IfcConstructionMaterialResource(data);
+ case 218: return new ::Ifc4x3_add2::IfcConstructionMaterialResourceType(data);
+ case 219: return new ::Ifc4x3_add2::IfcConstructionMaterialResourceTypeEnum(data);
+ case 220: return new ::Ifc4x3_add2::IfcConstructionProductResource(data);
+ case 221: return new ::Ifc4x3_add2::IfcConstructionProductResourceType(data);
+ case 222: return new ::Ifc4x3_add2::IfcConstructionProductResourceTypeEnum(data);
+ case 223: return new ::Ifc4x3_add2::IfcConstructionResource(data);
+ case 224: return new ::Ifc4x3_add2::IfcConstructionResourceType(data);
+ case 225: return new ::Ifc4x3_add2::IfcContext(data);
+ case 226: return new ::Ifc4x3_add2::IfcContextDependentMeasure(data);
+ case 227: return new ::Ifc4x3_add2::IfcContextDependentUnit(data);
+ case 228: return new ::Ifc4x3_add2::IfcControl(data);
+ case 229: return new ::Ifc4x3_add2::IfcController(data);
+ case 230: return new ::Ifc4x3_add2::IfcControllerType(data);
+ case 231: return new ::Ifc4x3_add2::IfcControllerTypeEnum(data);
+ case 232: return new ::Ifc4x3_add2::IfcConversionBasedUnit(data);
+ case 233: return new ::Ifc4x3_add2::IfcConversionBasedUnitWithOffset(data);
+ case 234: return new ::Ifc4x3_add2::IfcConveyorSegment(data);
+ case 235: return new ::Ifc4x3_add2::IfcConveyorSegmentType(data);
+ case 236: return new ::Ifc4x3_add2::IfcConveyorSegmentTypeEnum(data);
+ case 237: return new ::Ifc4x3_add2::IfcCooledBeam(data);
+ case 238: return new ::Ifc4x3_add2::IfcCooledBeamType(data);
+ case 239: return new ::Ifc4x3_add2::IfcCooledBeamTypeEnum(data);
+ case 240: return new ::Ifc4x3_add2::IfcCoolingTower(data);
+ case 241: return new ::Ifc4x3_add2::IfcCoolingTowerType(data);
+ case 242: return new ::Ifc4x3_add2::IfcCoolingTowerTypeEnum(data);
+ case 243: return new ::Ifc4x3_add2::IfcCoordinateOperation(data);
+ case 244: return new ::Ifc4x3_add2::IfcCoordinateReferenceSystem(data);
+ case 246: return new ::Ifc4x3_add2::IfcCosineSpiral(data);
+ case 247: return new ::Ifc4x3_add2::IfcCostItem(data);
+ case 248: return new ::Ifc4x3_add2::IfcCostItemTypeEnum(data);
+ case 249: return new ::Ifc4x3_add2::IfcCostSchedule(data);
+ case 250: return new ::Ifc4x3_add2::IfcCostScheduleTypeEnum(data);
+ case 251: return new ::Ifc4x3_add2::IfcCostValue(data);
+ case 252: return new ::Ifc4x3_add2::IfcCountMeasure(data);
+ case 253: return new ::Ifc4x3_add2::IfcCourse(data);
+ case 254: return new ::Ifc4x3_add2::IfcCourseType(data);
+ case 255: return new ::Ifc4x3_add2::IfcCourseTypeEnum(data);
+ case 256: return new ::Ifc4x3_add2::IfcCovering(data);
+ case 257: return new ::Ifc4x3_add2::IfcCoveringType(data);
+ case 258: return new ::Ifc4x3_add2::IfcCoveringTypeEnum(data);
+ case 259: return new ::Ifc4x3_add2::IfcCrewResource(data);
+ case 260: return new ::Ifc4x3_add2::IfcCrewResourceType(data);
+ case 261: return new ::Ifc4x3_add2::IfcCrewResourceTypeEnum(data);
+ case 262: return new ::Ifc4x3_add2::IfcCsgPrimitive3D(data);
+ case 264: return new ::Ifc4x3_add2::IfcCsgSolid(data);
+ case 265: return new ::Ifc4x3_add2::IfcCShapeProfileDef(data);
+ case 266: return new ::Ifc4x3_add2::IfcCurrencyRelationship(data);
+ case 267: return new ::Ifc4x3_add2::IfcCurtainWall(data);
+ case 268: return new ::Ifc4x3_add2::IfcCurtainWallType(data);
+ case 269: return new ::Ifc4x3_add2::IfcCurtainWallTypeEnum(data);
+ case 270: return new ::Ifc4x3_add2::IfcCurvatureMeasure(data);
+ case 271: return new ::Ifc4x3_add2::IfcCurve(data);
+ case 272: return new ::Ifc4x3_add2::IfcCurveBoundedPlane(data);
+ case 273: return new ::Ifc4x3_add2::IfcCurveBoundedSurface(data);
+ case 275: return new ::Ifc4x3_add2::IfcCurveInterpolationEnum(data);
+ case 279: return new ::Ifc4x3_add2::IfcCurveSegment(data);
+ case 280: return new ::Ifc4x3_add2::IfcCurveStyle(data);
+ case 281: return new ::Ifc4x3_add2::IfcCurveStyleFont(data);
+ case 282: return new ::Ifc4x3_add2::IfcCurveStyleFontAndScaling(data);
+ case 283: return new ::Ifc4x3_add2::IfcCurveStyleFontPattern(data);
+ case 285: return new ::Ifc4x3_add2::IfcCylindricalSurface(data);
+ case 286: return new ::Ifc4x3_add2::IfcDamper(data);
+ case 287: return new ::Ifc4x3_add2::IfcDamperType(data);
+ case 288: return new ::Ifc4x3_add2::IfcDamperTypeEnum(data);
+ case 289: return new ::Ifc4x3_add2::IfcDataOriginEnum(data);
+ case 290: return new ::Ifc4x3_add2::IfcDate(data);
+ case 291: return new ::Ifc4x3_add2::IfcDateTime(data);
+ case 292: return new ::Ifc4x3_add2::IfcDayInMonthNumber(data);
+ case 293: return new ::Ifc4x3_add2::IfcDayInWeekNumber(data);
+ case 294: return new ::Ifc4x3_add2::IfcDeepFoundation(data);
+ case 295: return new ::Ifc4x3_add2::IfcDeepFoundationType(data);
+ case 298: return new ::Ifc4x3_add2::IfcDerivedProfileDef(data);
+ case 299: return new ::Ifc4x3_add2::IfcDerivedUnit(data);
+ case 300: return new ::Ifc4x3_add2::IfcDerivedUnitElement(data);
+ case 301: return new ::Ifc4x3_add2::IfcDerivedUnitEnum(data);
+ case 302: return new ::Ifc4x3_add2::IfcDescriptiveMeasure(data);
+ case 303: return new ::Ifc4x3_add2::IfcDimensionalExponents(data);
+ case 304: return new ::Ifc4x3_add2::IfcDimensionCount(data);
+ case 305: return new ::Ifc4x3_add2::IfcDirection(data);
+ case 306: return new ::Ifc4x3_add2::IfcDirectionSenseEnum(data);
+ case 307: return new ::Ifc4x3_add2::IfcDirectrixCurveSweptAreaSolid(data);
+ case 308: return new ::Ifc4x3_add2::IfcDirectrixDerivedReferenceSweptAreaSolid(data);
+ case 309: return new ::Ifc4x3_add2::IfcDiscreteAccessory(data);
+ case 310: return new ::Ifc4x3_add2::IfcDiscreteAccessoryType(data);
+ case 311: return new ::Ifc4x3_add2::IfcDiscreteAccessoryTypeEnum(data);
+ case 312: return new ::Ifc4x3_add2::IfcDistributionBoard(data);
+ case 313: return new ::Ifc4x3_add2::IfcDistributionBoardType(data);
+ case 314: return new ::Ifc4x3_add2::IfcDistributionBoardTypeEnum(data);
+ case 315: return new ::Ifc4x3_add2::IfcDistributionChamberElement(data);
+ case 316: return new ::Ifc4x3_add2::IfcDistributionChamberElementType(data);
+ case 317: return new ::Ifc4x3_add2::IfcDistributionChamberElementTypeEnum(data);
+ case 318: return new ::Ifc4x3_add2::IfcDistributionCircuit(data);
+ case 319: return new ::Ifc4x3_add2::IfcDistributionControlElement(data);
+ case 320: return new ::Ifc4x3_add2::IfcDistributionControlElementType(data);
+ case 321: return new ::Ifc4x3_add2::IfcDistributionElement(data);
+ case 322: return new ::Ifc4x3_add2::IfcDistributionElementType(data);
+ case 323: return new ::Ifc4x3_add2::IfcDistributionFlowElement(data);
+ case 324: return new ::Ifc4x3_add2::IfcDistributionFlowElementType(data);
+ case 325: return new ::Ifc4x3_add2::IfcDistributionPort(data);
+ case 326: return new ::Ifc4x3_add2::IfcDistributionPortTypeEnum(data);
+ case 327: return new ::Ifc4x3_add2::IfcDistributionSystem(data);
+ case 328: return new ::Ifc4x3_add2::IfcDistributionSystemEnum(data);
+ case 329: return new ::Ifc4x3_add2::IfcDocumentConfidentialityEnum(data);
+ case 330: return new ::Ifc4x3_add2::IfcDocumentInformation(data);
+ case 331: return new ::Ifc4x3_add2::IfcDocumentInformationRelationship(data);
+ case 332: return new ::Ifc4x3_add2::IfcDocumentReference(data);
+ case 334: return new ::Ifc4x3_add2::IfcDocumentStatusEnum(data);
+ case 335: return new ::Ifc4x3_add2::IfcDoor(data);
+ case 336: return new ::Ifc4x3_add2::IfcDoorLiningProperties(data);
+ case 337: return new ::Ifc4x3_add2::IfcDoorPanelOperationEnum(data);
+ case 338: return new ::Ifc4x3_add2::IfcDoorPanelPositionEnum(data);
+ case 339: return new ::Ifc4x3_add2::IfcDoorPanelProperties(data);
+ case 340: return new ::Ifc4x3_add2::IfcDoorType(data);
+ case 341: return new ::Ifc4x3_add2::IfcDoorTypeEnum(data);
+ case 342: return new ::Ifc4x3_add2::IfcDoorTypeOperationEnum(data);
+ case 343: return new ::Ifc4x3_add2::IfcDoseEquivalentMeasure(data);
+ case 344: return new ::Ifc4x3_add2::IfcDraughtingPreDefinedColour(data);
+ case 345: return new ::Ifc4x3_add2::IfcDraughtingPreDefinedCurveFont(data);
+ case 346: return new ::Ifc4x3_add2::IfcDuctFitting(data);
+ case 347: return new ::Ifc4x3_add2::IfcDuctFittingType(data);
+ case 348: return new ::Ifc4x3_add2::IfcDuctFittingTypeEnum(data);
+ case 349: return new ::Ifc4x3_add2::IfcDuctSegment(data);
+ case 350: return new ::Ifc4x3_add2::IfcDuctSegmentType(data);
+ case 351: return new ::Ifc4x3_add2::IfcDuctSegmentTypeEnum(data);
+ case 352: return new ::Ifc4x3_add2::IfcDuctSilencer(data);
+ case 353: return new ::Ifc4x3_add2::IfcDuctSilencerType(data);
+ case 354: return new ::Ifc4x3_add2::IfcDuctSilencerTypeEnum(data);
+ case 355: return new ::Ifc4x3_add2::IfcDuration(data);
+ case 356: return new ::Ifc4x3_add2::IfcDynamicViscosityMeasure(data);
+ case 357: return new ::Ifc4x3_add2::IfcEarthworksCut(data);
+ case 358: return new ::Ifc4x3_add2::IfcEarthworksCutTypeEnum(data);
+ case 359: return new ::Ifc4x3_add2::IfcEarthworksElement(data);
+ case 360: return new ::Ifc4x3_add2::IfcEarthworksFill(data);
+ case 361: return new ::Ifc4x3_add2::IfcEarthworksFillTypeEnum(data);
+ case 362: return new ::Ifc4x3_add2::IfcEdge(data);
+ case 363: return new ::Ifc4x3_add2::IfcEdgeCurve(data);
+ case 364: return new ::Ifc4x3_add2::IfcEdgeLoop(data);
+ case 365: return new ::Ifc4x3_add2::IfcElectricAppliance(data);
+ case 366: return new ::Ifc4x3_add2::IfcElectricApplianceType(data);
+ case 367: return new ::Ifc4x3_add2::IfcElectricApplianceTypeEnum(data);
+ case 368: return new ::Ifc4x3_add2::IfcElectricCapacitanceMeasure(data);
+ case 369: return new ::Ifc4x3_add2::IfcElectricChargeMeasure(data);
+ case 370: return new ::Ifc4x3_add2::IfcElectricConductanceMeasure(data);
+ case 371: return new ::Ifc4x3_add2::IfcElectricCurrentMeasure(data);
+ case 372: return new ::Ifc4x3_add2::IfcElectricDistributionBoard(data);
+ case 373: return new ::Ifc4x3_add2::IfcElectricDistributionBoardType(data);
+ case 374: return new ::Ifc4x3_add2::IfcElectricDistributionBoardTypeEnum(data);
+ case 375: return new ::Ifc4x3_add2::IfcElectricFlowStorageDevice(data);
+ case 376: return new ::Ifc4x3_add2::IfcElectricFlowStorageDeviceType(data);
+ case 377: return new ::Ifc4x3_add2::IfcElectricFlowStorageDeviceTypeEnum(data);
+ case 378: return new ::Ifc4x3_add2::IfcElectricFlowTreatmentDevice(data);
+ case 379: return new ::Ifc4x3_add2::IfcElectricFlowTreatmentDeviceType(data);
+ case 380: return new ::Ifc4x3_add2::IfcElectricFlowTreatmentDeviceTypeEnum(data);
+ case 381: return new ::Ifc4x3_add2::IfcElectricGenerator(data);
+ case 382: return new ::Ifc4x3_add2::IfcElectricGeneratorType(data);
+ case 383: return new ::Ifc4x3_add2::IfcElectricGeneratorTypeEnum(data);
+ case 384: return new ::Ifc4x3_add2::IfcElectricMotor(data);
+ case 385: return new ::Ifc4x3_add2::IfcElectricMotorType(data);
+ case 386: return new ::Ifc4x3_add2::IfcElectricMotorTypeEnum(data);
+ case 387: return new ::Ifc4x3_add2::IfcElectricResistanceMeasure(data);
+ case 388: return new ::Ifc4x3_add2::IfcElectricTimeControl(data);
+ case 389: return new ::Ifc4x3_add2::IfcElectricTimeControlType(data);
+ case 390: return new ::Ifc4x3_add2::IfcElectricTimeControlTypeEnum(data);
+ case 391: return new ::Ifc4x3_add2::IfcElectricVoltageMeasure(data);
+ case 392: return new ::Ifc4x3_add2::IfcElement(data);
+ case 393: return new ::Ifc4x3_add2::IfcElementarySurface(data);
+ case 394: return new ::Ifc4x3_add2::IfcElementAssembly(data);
+ case 395: return new ::Ifc4x3_add2::IfcElementAssemblyType(data);
+ case 396: return new ::Ifc4x3_add2::IfcElementAssemblyTypeEnum(data);
+ case 397: return new ::Ifc4x3_add2::IfcElementComponent(data);
+ case 398: return new ::Ifc4x3_add2::IfcElementComponentType(data);
+ case 399: return new ::Ifc4x3_add2::IfcElementCompositionEnum(data);
+ case 400: return new ::Ifc4x3_add2::IfcElementQuantity(data);
+ case 401: return new ::Ifc4x3_add2::IfcElementType(data);
+ case 402: return new ::Ifc4x3_add2::IfcEllipse(data);
+ case 403: return new ::Ifc4x3_add2::IfcEllipseProfileDef(data);
+ case 404: return new ::Ifc4x3_add2::IfcEnergyConversionDevice(data);
+ case 405: return new ::Ifc4x3_add2::IfcEnergyConversionDeviceType(data);
+ case 406: return new ::Ifc4x3_add2::IfcEnergyMeasure(data);
+ case 407: return new ::Ifc4x3_add2::IfcEngine(data);
+ case 408: return new ::Ifc4x3_add2::IfcEngineType(data);
+ case 409: return new ::Ifc4x3_add2::IfcEngineTypeEnum(data);
+ case 410: return new ::Ifc4x3_add2::IfcEvaporativeCooler(data);
+ case 411: return new ::Ifc4x3_add2::IfcEvaporativeCoolerType(data);
+ case 412: return new ::Ifc4x3_add2::IfcEvaporativeCoolerTypeEnum(data);
+ case 413: return new ::Ifc4x3_add2::IfcEvaporator(data);
+ case 414: return new ::Ifc4x3_add2::IfcEvaporatorType(data);
+ case 415: return new ::Ifc4x3_add2::IfcEvaporatorTypeEnum(data);
+ case 416: return new ::Ifc4x3_add2::IfcEvent(data);
+ case 417: return new ::Ifc4x3_add2::IfcEventTime(data);
+ case 418: return new ::Ifc4x3_add2::IfcEventTriggerTypeEnum(data);
+ case 419: return new ::Ifc4x3_add2::IfcEventType(data);
+ case 420: return new ::Ifc4x3_add2::IfcEventTypeEnum(data);
+ case 421: return new ::Ifc4x3_add2::IfcExtendedProperties(data);
+ case 422: return new ::Ifc4x3_add2::IfcExternalInformation(data);
+ case 423: return new ::Ifc4x3_add2::IfcExternallyDefinedHatchStyle(data);
+ case 424: return new ::Ifc4x3_add2::IfcExternallyDefinedSurfaceStyle(data);
+ case 425: return new ::Ifc4x3_add2::IfcExternallyDefinedTextFont(data);
+ case 426: return new ::Ifc4x3_add2::IfcExternalReference(data);
+ case 427: return new ::Ifc4x3_add2::IfcExternalReferenceRelationship(data);
+ case 428: return new ::Ifc4x3_add2::IfcExternalSpatialElement(data);
+ case 429: return new ::Ifc4x3_add2::IfcExternalSpatialElementTypeEnum(data);
+ case 430: return new ::Ifc4x3_add2::IfcExternalSpatialStructureElement(data);
+ case 431: return new ::Ifc4x3_add2::IfcExtrudedAreaSolid(data);
+ case 432: return new ::Ifc4x3_add2::IfcExtrudedAreaSolidTapered(data);
+ case 433: return new ::Ifc4x3_add2::IfcFace(data);
+ case 434: return new ::Ifc4x3_add2::IfcFaceBasedSurfaceModel(data);
+ case 435: return new ::Ifc4x3_add2::IfcFaceBound(data);
+ case 436: return new ::Ifc4x3_add2::IfcFaceOuterBound(data);
+ case 437: return new ::Ifc4x3_add2::IfcFaceSurface(data);
+ case 438: return new ::Ifc4x3_add2::IfcFacetedBrep(data);
+ case 439: return new ::Ifc4x3_add2::IfcFacetedBrepWithVoids(data);
+ case 440: return new ::Ifc4x3_add2::IfcFacility(data);
+ case 441: return new ::Ifc4x3_add2::IfcFacilityPart(data);
+ case 442: return new ::Ifc4x3_add2::IfcFacilityPartCommon(data);
+ case 443: return new ::Ifc4x3_add2::IfcFacilityPartCommonTypeEnum(data);
+ case 444: return new ::Ifc4x3_add2::IfcFacilityUsageEnum(data);
+ case 445: return new ::Ifc4x3_add2::IfcFailureConnectionCondition(data);
+ case 446: return new ::Ifc4x3_add2::IfcFan(data);
+ case 447: return new ::Ifc4x3_add2::IfcFanType(data);
+ case 448: return new ::Ifc4x3_add2::IfcFanTypeEnum(data);
+ case 449: return new ::Ifc4x3_add2::IfcFastener(data);
+ case 450: return new ::Ifc4x3_add2::IfcFastenerType(data);
+ case 451: return new ::Ifc4x3_add2::IfcFastenerTypeEnum(data);
+ case 452: return new ::Ifc4x3_add2::IfcFeatureElement(data);
+ case 453: return new ::Ifc4x3_add2::IfcFeatureElementAddition(data);
+ case 454: return new ::Ifc4x3_add2::IfcFeatureElementSubtraction(data);
+ case 455: return new ::Ifc4x3_add2::IfcFillAreaStyle(data);
+ case 456: return new ::Ifc4x3_add2::IfcFillAreaStyleHatching(data);
+ case 457: return new ::Ifc4x3_add2::IfcFillAreaStyleTiles(data);
+ case 459: return new ::Ifc4x3_add2::IfcFilter(data);
+ case 460: return new ::Ifc4x3_add2::IfcFilterType(data);
+ case 461: return new ::Ifc4x3_add2::IfcFilterTypeEnum(data);
+ case 462: return new ::Ifc4x3_add2::IfcFireSuppressionTerminal(data);
+ case 463: return new ::Ifc4x3_add2::IfcFireSuppressionTerminalType(data);
+ case 464: return new ::Ifc4x3_add2::IfcFireSuppressionTerminalTypeEnum(data);
+ case 465: return new ::Ifc4x3_add2::IfcFixedReferenceSweptAreaSolid(data);
+ case 466: return new ::Ifc4x3_add2::IfcFlowController(data);
+ case 467: return new ::Ifc4x3_add2::IfcFlowControllerType(data);
+ case 468: return new ::Ifc4x3_add2::IfcFlowDirectionEnum(data);
+ case 469: return new ::Ifc4x3_add2::IfcFlowFitting(data);
+ case 470: return new ::Ifc4x3_add2::IfcFlowFittingType(data);
+ case 471: return new ::Ifc4x3_add2::IfcFlowInstrument(data);
+ case 472: return new ::Ifc4x3_add2::IfcFlowInstrumentType(data);
+ case 473: return new ::Ifc4x3_add2::IfcFlowInstrumentTypeEnum(data);
+ case 474: return new ::Ifc4x3_add2::IfcFlowMeter(data);
+ case 475: return new ::Ifc4x3_add2::IfcFlowMeterType(data);
+ case 476: return new ::Ifc4x3_add2::IfcFlowMeterTypeEnum(data);
+ case 477: return new ::Ifc4x3_add2::IfcFlowMovingDevice(data);
+ case 478: return new ::Ifc4x3_add2::IfcFlowMovingDeviceType(data);
+ case 479: return new ::Ifc4x3_add2::IfcFlowSegment(data);
+ case 480: return new ::Ifc4x3_add2::IfcFlowSegmentType(data);
+ case 481: return new ::Ifc4x3_add2::IfcFlowStorageDevice(data);
+ case 482: return new ::Ifc4x3_add2::IfcFlowStorageDeviceType(data);
+ case 483: return new ::Ifc4x3_add2::IfcFlowTerminal(data);
+ case 484: return new ::Ifc4x3_add2::IfcFlowTerminalType(data);
+ case 485: return new ::Ifc4x3_add2::IfcFlowTreatmentDevice(data);
+ case 486: return new ::Ifc4x3_add2::IfcFlowTreatmentDeviceType(data);
+ case 487: return new ::Ifc4x3_add2::IfcFontStyle(data);
+ case 488: return new ::Ifc4x3_add2::IfcFontVariant(data);
+ case 489: return new ::Ifc4x3_add2::IfcFontWeight(data);
+ case 490: return new ::Ifc4x3_add2::IfcFooting(data);
+ case 491: return new ::Ifc4x3_add2::IfcFootingType(data);
+ case 492: return new ::Ifc4x3_add2::IfcFootingTypeEnum(data);
+ case 493: return new ::Ifc4x3_add2::IfcForceMeasure(data);
+ case 494: return new ::Ifc4x3_add2::IfcFrequencyMeasure(data);
+ case 495: return new ::Ifc4x3_add2::IfcFurnishingElement(data);
+ case 496: return new ::Ifc4x3_add2::IfcFurnishingElementType(data);
+ case 497: return new ::Ifc4x3_add2::IfcFurniture(data);
+ case 498: return new ::Ifc4x3_add2::IfcFurnitureType(data);
+ case 499: return new ::Ifc4x3_add2::IfcFurnitureTypeEnum(data);
+ case 500: return new ::Ifc4x3_add2::IfcGeographicCRS(data);
+ case 501: return new ::Ifc4x3_add2::IfcGeographicElement(data);
+ case 502: return new ::Ifc4x3_add2::IfcGeographicElementType(data);
+ case 503: return new ::Ifc4x3_add2::IfcGeographicElementTypeEnum(data);
+ case 504: return new ::Ifc4x3_add2::IfcGeometricCurveSet(data);
+ case 505: return new ::Ifc4x3_add2::IfcGeometricProjectionEnum(data);
+ case 506: return new ::Ifc4x3_add2::IfcGeometricRepresentationContext(data);
+ case 507: return new ::Ifc4x3_add2::IfcGeometricRepresentationItem(data);
+ case 508: return new ::Ifc4x3_add2::IfcGeometricRepresentationSubContext(data);
+ case 509: return new ::Ifc4x3_add2::IfcGeometricSet(data);
+ case 511: return new ::Ifc4x3_add2::IfcGeomodel(data);
+ case 512: return new ::Ifc4x3_add2::IfcGeoslice(data);
+ case 513: return new ::Ifc4x3_add2::IfcGeotechnicalAssembly(data);
+ case 514: return new ::Ifc4x3_add2::IfcGeotechnicalElement(data);
+ case 515: return new ::Ifc4x3_add2::IfcGeotechnicalStratum(data);
+ case 516: return new ::Ifc4x3_add2::IfcGeotechnicalStratumTypeEnum(data);
+ case 517: return new ::Ifc4x3_add2::IfcGloballyUniqueId(data);
+ case 518: return new ::Ifc4x3_add2::IfcGlobalOrLocalEnum(data);
+ case 519: return new ::Ifc4x3_add2::IfcGradientCurve(data);
+ case 520: return new ::Ifc4x3_add2::IfcGrid(data);
+ case 521: return new ::Ifc4x3_add2::IfcGridAxis(data);
+ case 522: return new ::Ifc4x3_add2::IfcGridPlacement(data);
+ case 524: return new ::Ifc4x3_add2::IfcGridTypeEnum(data);
+ case 525: return new ::Ifc4x3_add2::IfcGroup(data);
+ case 526: return new ::Ifc4x3_add2::IfcHalfSpaceSolid(data);
+ case 528: return new ::Ifc4x3_add2::IfcHeatExchanger(data);
+ case 529: return new ::Ifc4x3_add2::IfcHeatExchangerType(data);
+ case 530: return new ::Ifc4x3_add2::IfcHeatExchangerTypeEnum(data);
+ case 531: return new ::Ifc4x3_add2::IfcHeatFluxDensityMeasure(data);
+ case 532: return new ::Ifc4x3_add2::IfcHeatingValueMeasure(data);
+ case 533: return new ::Ifc4x3_add2::IfcHumidifier(data);
+ case 534: return new ::Ifc4x3_add2::IfcHumidifierType(data);
+ case 535: return new ::Ifc4x3_add2::IfcHumidifierTypeEnum(data);
+ case 536: return new ::Ifc4x3_add2::IfcIdentifier(data);
+ case 537: return new ::Ifc4x3_add2::IfcIlluminanceMeasure(data);
+ case 538: return new ::Ifc4x3_add2::IfcImageTexture(data);
+ case 539: return new ::Ifc4x3_add2::IfcImpactProtectionDevice(data);
+ case 540: return new ::Ifc4x3_add2::IfcImpactProtectionDeviceType(data);
+ case 541: return new ::Ifc4x3_add2::IfcImpactProtectionDeviceTypeEnum(data);
+ case 542: return new ::Ifc4x3_add2::IfcIndexedColourMap(data);
+ case 543: return new ::Ifc4x3_add2::IfcIndexedPolyCurve(data);
+ case 544: return new ::Ifc4x3_add2::IfcIndexedPolygonalFace(data);
+ case 545: return new ::Ifc4x3_add2::IfcIndexedPolygonalFaceWithVoids(data);
+ case 546: return new ::Ifc4x3_add2::IfcIndexedPolygonalTextureMap(data);
+ case 547: return new ::Ifc4x3_add2::IfcIndexedTextureMap(data);
+ case 548: return new ::Ifc4x3_add2::IfcIndexedTriangleTextureMap(data);
+ case 549: return new ::Ifc4x3_add2::IfcInductanceMeasure(data);
+ case 550: return new ::Ifc4x3_add2::IfcInteger(data);
+ case 551: return new ::Ifc4x3_add2::IfcIntegerCountRateMeasure(data);
+ case 552: return new ::Ifc4x3_add2::IfcInterceptor(data);
+ case 553: return new ::Ifc4x3_add2::IfcInterceptorType(data);
+ case 554: return new ::Ifc4x3_add2::IfcInterceptorTypeEnum(data);
+ case 556: return new ::Ifc4x3_add2::IfcInternalOrExternalEnum(data);
+ case 557: return new ::Ifc4x3_add2::IfcIntersectionCurve(data);
+ case 558: return new ::Ifc4x3_add2::IfcInventory(data);
+ case 559: return new ::Ifc4x3_add2::IfcInventoryTypeEnum(data);
+ case 560: return new ::Ifc4x3_add2::IfcIonConcentrationMeasure(data);
+ case 561: return new ::Ifc4x3_add2::IfcIrregularTimeSeries(data);
+ case 562: return new ::Ifc4x3_add2::IfcIrregularTimeSeriesValue(data);
+ case 563: return new ::Ifc4x3_add2::IfcIShapeProfileDef(data);
+ case 564: return new ::Ifc4x3_add2::IfcIsothermalMoistureCapacityMeasure(data);
+ case 565: return new ::Ifc4x3_add2::IfcJunctionBox(data);
+ case 566: return new ::Ifc4x3_add2::IfcJunctionBoxType(data);
+ case 567: return new ::Ifc4x3_add2::IfcJunctionBoxTypeEnum(data);
+ case 568: return new ::Ifc4x3_add2::IfcKerb(data);
+ case 569: return new ::Ifc4x3_add2::IfcKerbType(data);
+ case 570: return new ::Ifc4x3_add2::IfcKerbTypeEnum(data);
+ case 571: return new ::Ifc4x3_add2::IfcKinematicViscosityMeasure(data);
+ case 572: return new ::Ifc4x3_add2::IfcKnotType(data);
+ case 573: return new ::Ifc4x3_add2::IfcLabel(data);
+ case 574: return new ::Ifc4x3_add2::IfcLaborResource(data);
+ case 575: return new ::Ifc4x3_add2::IfcLaborResourceType(data);
+ case 576: return new ::Ifc4x3_add2::IfcLaborResourceTypeEnum(data);
+ case 577: return new ::Ifc4x3_add2::IfcLagTime(data);
+ case 578: return new ::Ifc4x3_add2::IfcLamp(data);
+ case 579: return new ::Ifc4x3_add2::IfcLampType(data);
+ case 580: return new ::Ifc4x3_add2::IfcLampTypeEnum(data);
+ case 581: return new ::Ifc4x3_add2::IfcLanguageId(data);
+ case 583: return new ::Ifc4x3_add2::IfcLayerSetDirectionEnum(data);
+ case 584: return new ::Ifc4x3_add2::IfcLengthMeasure(data);
+ case 585: return new ::Ifc4x3_add2::IfcLibraryInformation(data);
+ case 586: return new ::Ifc4x3_add2::IfcLibraryReference(data);
+ case 588: return new ::Ifc4x3_add2::IfcLightDistributionCurveEnum(data);
+ case 589: return new ::Ifc4x3_add2::IfcLightDistributionData(data);
+ case 591: return new ::Ifc4x3_add2::IfcLightEmissionSourceEnum(data);
+ case 592: return new ::Ifc4x3_add2::IfcLightFixture(data);
+ case 593: return new ::Ifc4x3_add2::IfcLightFixtureType(data);
+ case 594: return new ::Ifc4x3_add2::IfcLightFixtureTypeEnum(data);
+ case 595: return new ::Ifc4x3_add2::IfcLightIntensityDistribution(data);
+ case 596: return new ::Ifc4x3_add2::IfcLightSource(data);
+ case 597: return new ::Ifc4x3_add2::IfcLightSourceAmbient(data);
+ case 598: return new ::Ifc4x3_add2::IfcLightSourceDirectional(data);
+ case 599: return new ::Ifc4x3_add2::IfcLightSourceGoniometric(data);
+ case 600: return new ::Ifc4x3_add2::IfcLightSourcePositional(data);
+ case 601: return new ::Ifc4x3_add2::IfcLightSourceSpot(data);
+ case 602: return new ::Ifc4x3_add2::IfcLine(data);
+ case 603: return new ::Ifc4x3_add2::IfcLinearElement(data);
+ case 604: return new ::Ifc4x3_add2::IfcLinearForceMeasure(data);
+ case 605: return new ::Ifc4x3_add2::IfcLinearMomentMeasure(data);
+ case 606: return new ::Ifc4x3_add2::IfcLinearPlacement(data);
+ case 607: return new ::Ifc4x3_add2::IfcLinearPositioningElement(data);
+ case 608: return new ::Ifc4x3_add2::IfcLinearStiffnessMeasure(data);
+ case 609: return new ::Ifc4x3_add2::IfcLinearVelocityMeasure(data);
+ case 610: return new ::Ifc4x3_add2::IfcLineIndex(data);
+ case 611: return new ::Ifc4x3_add2::IfcLiquidTerminal(data);
+ case 612: return new ::Ifc4x3_add2::IfcLiquidTerminalType(data);
+ case 613: return new ::Ifc4x3_add2::IfcLiquidTerminalTypeEnum(data);
+ case 614: return new ::Ifc4x3_add2::IfcLoadGroupTypeEnum(data);
+ case 615: return new ::Ifc4x3_add2::IfcLocalPlacement(data);
+ case 616: return new ::Ifc4x3_add2::IfcLogical(data);
+ case 617: return new ::Ifc4x3_add2::IfcLogicalOperatorEnum(data);
+ case 618: return new ::Ifc4x3_add2::IfcLoop(data);
+ case 619: return new ::Ifc4x3_add2::IfcLShapeProfileDef(data);
+ case 620: return new ::Ifc4x3_add2::IfcLuminousFluxMeasure(data);
+ case 621: return new ::Ifc4x3_add2::IfcLuminousIntensityDistributionMeasure(data);
+ case 622: return new ::Ifc4x3_add2::IfcLuminousIntensityMeasure(data);
+ case 623: return new ::Ifc4x3_add2::IfcMagneticFluxDensityMeasure(data);
+ case 624: return new ::Ifc4x3_add2::IfcMagneticFluxMeasure(data);
+ case 625: return new ::Ifc4x3_add2::IfcManifoldSolidBrep(data);
+ case 626: return new ::Ifc4x3_add2::IfcMapConversion(data);
+ case 627: return new ::Ifc4x3_add2::IfcMapConversionScaled(data);
+ case 628: return new ::Ifc4x3_add2::IfcMappedItem(data);
+ case 629: return new ::Ifc4x3_add2::IfcMarineFacility(data);
+ case 630: return new ::Ifc4x3_add2::IfcMarineFacilityTypeEnum(data);
+ case 631: return new ::Ifc4x3_add2::IfcMarinePart(data);
+ case 632: return new ::Ifc4x3_add2::IfcMarinePartTypeEnum(data);
+ case 633: return new ::Ifc4x3_add2::IfcMassDensityMeasure(data);
+ case 634: return new ::Ifc4x3_add2::IfcMassFlowRateMeasure(data);
+ case 635: return new ::Ifc4x3_add2::IfcMassMeasure(data);
+ case 636: return new ::Ifc4x3_add2::IfcMassPerLengthMeasure(data);
+ case 637: return new ::Ifc4x3_add2::IfcMaterial(data);
+ case 638: return new ::Ifc4x3_add2::IfcMaterialClassificationRelationship(data);
+ case 639: return new ::Ifc4x3_add2::IfcMaterialConstituent(data);
+ case 640: return new ::Ifc4x3_add2::IfcMaterialConstituentSet(data);
+ case 641: return new ::Ifc4x3_add2::IfcMaterialDefinition(data);
+ case 642: return new ::Ifc4x3_add2::IfcMaterialDefinitionRepresentation(data);
+ case 643: return new ::Ifc4x3_add2::IfcMaterialLayer(data);
+ case 644: return new ::Ifc4x3_add2::IfcMaterialLayerSet(data);
+ case 645: return new ::Ifc4x3_add2::IfcMaterialLayerSetUsage(data);
+ case 646: return new ::Ifc4x3_add2::IfcMaterialLayerWithOffsets(data);
+ case 647: return new ::Ifc4x3_add2::IfcMaterialList(data);
+ case 648: return new ::Ifc4x3_add2::IfcMaterialProfile(data);
+ case 649: return new ::Ifc4x3_add2::IfcMaterialProfileSet(data);
+ case 650: return new ::Ifc4x3_add2::IfcMaterialProfileSetUsage(data);
+ case 651: return new ::Ifc4x3_add2::IfcMaterialProfileSetUsageTapering(data);
+ case 652: return new ::Ifc4x3_add2::IfcMaterialProfileWithOffsets(data);
+ case 653: return new ::Ifc4x3_add2::IfcMaterialProperties(data);
+ case 654: return new ::Ifc4x3_add2::IfcMaterialRelationship(data);
+ case 656: return new ::Ifc4x3_add2::IfcMaterialUsageDefinition(data);
+ case 658: return new ::Ifc4x3_add2::IfcMeasureWithUnit(data);
+ case 659: return new ::Ifc4x3_add2::IfcMechanicalFastener(data);
+ case 660: return new ::Ifc4x3_add2::IfcMechanicalFastenerType(data);
+ case 661: return new ::Ifc4x3_add2::IfcMechanicalFastenerTypeEnum(data);
+ case 662: return new ::Ifc4x3_add2::IfcMedicalDevice(data);
+ case 663: return new ::Ifc4x3_add2::IfcMedicalDeviceType(data);
+ case 664: return new ::Ifc4x3_add2::IfcMedicalDeviceTypeEnum(data);
+ case 665: return new ::Ifc4x3_add2::IfcMember(data);
+ case 666: return new ::Ifc4x3_add2::IfcMemberType(data);
+ case 667: return new ::Ifc4x3_add2::IfcMemberTypeEnum(data);
+ case 668: return new ::Ifc4x3_add2::IfcMetric(data);
+ case 670: return new ::Ifc4x3_add2::IfcMirroredProfileDef(data);
+ case 671: return new ::Ifc4x3_add2::IfcMobileTelecommunicationsAppliance(data);
+ case 672: return new ::Ifc4x3_add2::IfcMobileTelecommunicationsApplianceType(data);
+ case 673: return new ::Ifc4x3_add2::IfcMobileTelecommunicationsApplianceTypeEnum(data);
+ case 674: return new ::Ifc4x3_add2::IfcModulusOfElasticityMeasure(data);
+ case 675: return new ::Ifc4x3_add2::IfcModulusOfLinearSubgradeReactionMeasure(data);
+ case 676: return new ::Ifc4x3_add2::IfcModulusOfRotationalSubgradeReactionMeasure(data);
+ case 678: return new ::Ifc4x3_add2::IfcModulusOfSubgradeReactionMeasure(data);
+ case 681: return new ::Ifc4x3_add2::IfcMoistureDiffusivityMeasure(data);
+ case 682: return new ::Ifc4x3_add2::IfcMolecularWeightMeasure(data);
+ case 683: return new ::Ifc4x3_add2::IfcMomentOfInertiaMeasure(data);
+ case 684: return new ::Ifc4x3_add2::IfcMonetaryMeasure(data);
+ case 685: return new ::Ifc4x3_add2::IfcMonetaryUnit(data);
+ case 686: return new ::Ifc4x3_add2::IfcMonthInYearNumber(data);
+ case 687: return new ::Ifc4x3_add2::IfcMooringDevice(data);
+ case 688: return new ::Ifc4x3_add2::IfcMooringDeviceType(data);
+ case 689: return new ::Ifc4x3_add2::IfcMooringDeviceTypeEnum(data);
+ case 690: return new ::Ifc4x3_add2::IfcMotorConnection(data);
+ case 691: return new ::Ifc4x3_add2::IfcMotorConnectionType(data);
+ case 692: return new ::Ifc4x3_add2::IfcMotorConnectionTypeEnum(data);
+ case 693: return new ::Ifc4x3_add2::IfcNamedUnit(data);
+ case 694: return new ::Ifc4x3_add2::IfcNavigationElement(data);
+ case 695: return new ::Ifc4x3_add2::IfcNavigationElementType(data);
+ case 696: return new ::Ifc4x3_add2::IfcNavigationElementTypeEnum(data);
+ case 697: return new ::Ifc4x3_add2::IfcNonNegativeLengthMeasure(data);
+ case 698: return new ::Ifc4x3_add2::IfcNormalisedRatioMeasure(data);
+ case 699: return new ::Ifc4x3_add2::IfcNumericMeasure(data);
+ case 700: return new ::Ifc4x3_add2::IfcObject(data);
+ case 701: return new ::Ifc4x3_add2::IfcObjectDefinition(data);
+ case 702: return new ::Ifc4x3_add2::IfcObjective(data);
+ case 703: return new ::Ifc4x3_add2::IfcObjectiveEnum(data);
+ case 704: return new ::Ifc4x3_add2::IfcObjectPlacement(data);
+ case 706: return new ::Ifc4x3_add2::IfcOccupant(data);
+ case 707: return new ::Ifc4x3_add2::IfcOccupantTypeEnum(data);
+ case 708: return new ::Ifc4x3_add2::IfcOffsetCurve(data);
+ case 709: return new ::Ifc4x3_add2::IfcOffsetCurve2D(data);
+ case 710: return new ::Ifc4x3_add2::IfcOffsetCurve3D(data);
+ case 711: return new ::Ifc4x3_add2::IfcOffsetCurveByDistances(data);
+ case 712: return new ::Ifc4x3_add2::IfcOpenCrossProfileDef(data);
+ case 713: return new ::Ifc4x3_add2::IfcOpeningElement(data);
+ case 714: return new ::Ifc4x3_add2::IfcOpeningElementTypeEnum(data);
+ case 715: return new ::Ifc4x3_add2::IfcOpenShell(data);
+ case 716: return new ::Ifc4x3_add2::IfcOrganization(data);
+ case 717: return new ::Ifc4x3_add2::IfcOrganizationRelationship(data);
+ case 718: return new ::Ifc4x3_add2::IfcOrientedEdge(data);
+ case 719: return new ::Ifc4x3_add2::IfcOuterBoundaryCurve(data);
+ case 720: return new ::Ifc4x3_add2::IfcOutlet(data);
+ case 721: return new ::Ifc4x3_add2::IfcOutletType(data);
+ case 722: return new ::Ifc4x3_add2::IfcOutletTypeEnum(data);
+ case 723: return new ::Ifc4x3_add2::IfcOwnerHistory(data);
+ case 724: return new ::Ifc4x3_add2::IfcParameterizedProfileDef(data);
+ case 725: return new ::Ifc4x3_add2::IfcParameterValue(data);
+ case 726: return new ::Ifc4x3_add2::IfcPath(data);
+ case 727: return new ::Ifc4x3_add2::IfcPavement(data);
+ case 728: return new ::Ifc4x3_add2::IfcPavementType(data);
+ case 729: return new ::Ifc4x3_add2::IfcPavementTypeEnum(data);
+ case 730: return new ::Ifc4x3_add2::IfcPcurve(data);
+ case 731: return new ::Ifc4x3_add2::IfcPerformanceHistory(data);
+ case 732: return new ::Ifc4x3_add2::IfcPerformanceHistoryTypeEnum(data);
+ case 733: return new ::Ifc4x3_add2::IfcPermeableCoveringOperationEnum(data);
+ case 734: return new ::Ifc4x3_add2::IfcPermeableCoveringProperties(data);
+ case 735: return new ::Ifc4x3_add2::IfcPermit(data);
+ case 736: return new ::Ifc4x3_add2::IfcPermitTypeEnum(data);
+ case 737: return new ::Ifc4x3_add2::IfcPerson(data);
+ case 738: return new ::Ifc4x3_add2::IfcPersonAndOrganization(data);
+ case 739: return new ::Ifc4x3_add2::IfcPHMeasure(data);
+ case 740: return new ::Ifc4x3_add2::IfcPhysicalComplexQuantity(data);
+ case 741: return new ::Ifc4x3_add2::IfcPhysicalOrVirtualEnum(data);
+ case 742: return new ::Ifc4x3_add2::IfcPhysicalQuantity(data);
+ case 743: return new ::Ifc4x3_add2::IfcPhysicalSimpleQuantity(data);
+ case 744: return new ::Ifc4x3_add2::IfcPile(data);
+ case 745: return new ::Ifc4x3_add2::IfcPileConstructionEnum(data);
+ case 746: return new ::Ifc4x3_add2::IfcPileType(data);
+ case 747: return new ::Ifc4x3_add2::IfcPileTypeEnum(data);
+ case 748: return new ::Ifc4x3_add2::IfcPipeFitting(data);
+ case 749: return new ::Ifc4x3_add2::IfcPipeFittingType(data);
+ case 750: return new ::Ifc4x3_add2::IfcPipeFittingTypeEnum(data);
+ case 751: return new ::Ifc4x3_add2::IfcPipeSegment(data);
+ case 752: return new ::Ifc4x3_add2::IfcPipeSegmentType(data);
+ case 753: return new ::Ifc4x3_add2::IfcPipeSegmentTypeEnum(data);
+ case 754: return new ::Ifc4x3_add2::IfcPixelTexture(data);
+ case 755: return new ::Ifc4x3_add2::IfcPlacement(data);
+ case 756: return new ::Ifc4x3_add2::IfcPlanarBox(data);
+ case 757: return new ::Ifc4x3_add2::IfcPlanarExtent(data);
+ case 758: return new ::Ifc4x3_add2::IfcPlanarForceMeasure(data);
+ case 759: return new ::Ifc4x3_add2::IfcPlane(data);
+ case 760: return new ::Ifc4x3_add2::IfcPlaneAngleMeasure(data);
+ case 761: return new ::Ifc4x3_add2::IfcPlate(data);
+ case 762: return new ::Ifc4x3_add2::IfcPlateType(data);
+ case 763: return new ::Ifc4x3_add2::IfcPlateTypeEnum(data);
+ case 764: return new ::Ifc4x3_add2::IfcPoint(data);
+ case 765: return new ::Ifc4x3_add2::IfcPointByDistanceExpression(data);
+ case 766: return new ::Ifc4x3_add2::IfcPointOnCurve(data);
+ case 767: return new ::Ifc4x3_add2::IfcPointOnSurface(data);
+ case 769: return new ::Ifc4x3_add2::IfcPolygonalBoundedHalfSpace(data);
+ case 770: return new ::Ifc4x3_add2::IfcPolygonalFaceSet(data);
+ case 771: return new ::Ifc4x3_add2::IfcPolyline(data);
+ case 772: return new ::Ifc4x3_add2::IfcPolyLoop(data);
+ case 773: return new ::Ifc4x3_add2::IfcPolynomialCurve(data);
+ case 774: return new ::Ifc4x3_add2::IfcPort(data);
+ case 775: return new ::Ifc4x3_add2::IfcPositioningElement(data);
+ case 776: return new ::Ifc4x3_add2::IfcPositiveInteger(data);
+ case 777: return new ::Ifc4x3_add2::IfcPositiveLengthMeasure(data);
+ case 778: return new ::Ifc4x3_add2::IfcPositivePlaneAngleMeasure(data);
+ case 779: return new ::Ifc4x3_add2::IfcPositiveRatioMeasure(data);
+ case 780: return new ::Ifc4x3_add2::IfcPostalAddress(data);
+ case 781: return new ::Ifc4x3_add2::IfcPowerMeasure(data);
+ case 782: return new ::Ifc4x3_add2::IfcPreDefinedColour(data);
+ case 783: return new ::Ifc4x3_add2::IfcPreDefinedCurveFont(data);
+ case 784: return new ::Ifc4x3_add2::IfcPreDefinedItem(data);
+ case 785: return new ::Ifc4x3_add2::IfcPreDefinedProperties(data);
+ case 786: return new ::Ifc4x3_add2::IfcPreDefinedPropertySet(data);
+ case 787: return new ::Ifc4x3_add2::IfcPreDefinedTextFont(data);
+ case 788: return new ::Ifc4x3_add2::IfcPreferredSurfaceCurveRepresentation(data);
+ case 789: return new ::Ifc4x3_add2::IfcPresentableText(data);
+ case 790: return new ::Ifc4x3_add2::IfcPresentationItem(data);
+ case 791: return new ::Ifc4x3_add2::IfcPresentationLayerAssignment(data);
+ case 792: return new ::Ifc4x3_add2::IfcPresentationLayerWithStyle(data);
+ case 793: return new ::Ifc4x3_add2::IfcPresentationStyle(data);
+ case 794: return new ::Ifc4x3_add2::IfcPressureMeasure(data);
+ case 795: return new ::Ifc4x3_add2::IfcProcedure(data);
+ case 796: return new ::Ifc4x3_add2::IfcProcedureType(data);
+ case 797: return new ::Ifc4x3_add2::IfcProcedureTypeEnum(data);
+ case 798: return new ::Ifc4x3_add2::IfcProcess(data);
+ case 800: return new ::Ifc4x3_add2::IfcProduct(data);
+ case 801: return new ::Ifc4x3_add2::IfcProductDefinitionShape(data);
+ case 802: return new ::Ifc4x3_add2::IfcProductRepresentation(data);
+ case 805: return new ::Ifc4x3_add2::IfcProfileDef(data);
+ case 806: return new ::Ifc4x3_add2::IfcProfileProperties(data);
+ case 807: return new ::Ifc4x3_add2::IfcProfileTypeEnum(data);
+ case 808: return new ::Ifc4x3_add2::IfcProject(data);
+ case 809: return new ::Ifc4x3_add2::IfcProjectedCRS(data);
+ case 810: return new ::Ifc4x3_add2::IfcProjectedOrTrueLengthEnum(data);
+ case 811: return new ::Ifc4x3_add2::IfcProjectionElement(data);
+ case 812: return new ::Ifc4x3_add2::IfcProjectionElementTypeEnum(data);
+ case 813: return new ::Ifc4x3_add2::IfcProjectLibrary(data);
+ case 814: return new ::Ifc4x3_add2::IfcProjectOrder(data);
+ case 815: return new ::Ifc4x3_add2::IfcProjectOrderTypeEnum(data);
+ case 816: return new ::Ifc4x3_add2::IfcProperty(data);
+ case 817: return new ::Ifc4x3_add2::IfcPropertyAbstraction(data);
+ case 818: return new ::Ifc4x3_add2::IfcPropertyBoundedValue(data);
+ case 819: return new ::Ifc4x3_add2::IfcPropertyDefinition(data);
+ case 820: return new ::Ifc4x3_add2::IfcPropertyDependencyRelationship(data);
+ case 821: return new ::Ifc4x3_add2::IfcPropertyEnumeratedValue(data);
+ case 822: return new ::Ifc4x3_add2::IfcPropertyEnumeration(data);
+ case 823: return new ::Ifc4x3_add2::IfcPropertyListValue(data);
+ case 824: return new ::Ifc4x3_add2::IfcPropertyReferenceValue(data);
+ case 825: return new ::Ifc4x3_add2::IfcPropertySet(data);
+ case 826: return new ::Ifc4x3_add2::IfcPropertySetDefinition(data);
+ case 828: return new ::Ifc4x3_add2::IfcPropertySetDefinitionSet(data);
+ case 829: return new ::Ifc4x3_add2::IfcPropertySetTemplate(data);
+ case 830: return new ::Ifc4x3_add2::IfcPropertySetTemplateTypeEnum(data);
+ case 831: return new ::Ifc4x3_add2::IfcPropertySingleValue(data);
+ case 832: return new ::Ifc4x3_add2::IfcPropertyTableValue(data);
+ case 833: return new ::Ifc4x3_add2::IfcPropertyTemplate(data);
+ case 834: return new ::Ifc4x3_add2::IfcPropertyTemplateDefinition(data);
+ case 835: return new ::Ifc4x3_add2::IfcProtectiveDevice(data);
+ case 836: return new ::Ifc4x3_add2::IfcProtectiveDeviceTrippingUnit(data);
+ case 837: return new ::Ifc4x3_add2::IfcProtectiveDeviceTrippingUnitType(data);
+ case 838: return new ::Ifc4x3_add2::IfcProtectiveDeviceTrippingUnitTypeEnum(data);
+ case 839: return new ::Ifc4x3_add2::IfcProtectiveDeviceType(data);
+ case 840: return new ::Ifc4x3_add2::IfcProtectiveDeviceTypeEnum(data);
+ case 841: return new ::Ifc4x3_add2::IfcPump(data);
+ case 842: return new ::Ifc4x3_add2::IfcPumpType(data);
+ case 843: return new ::Ifc4x3_add2::IfcPumpTypeEnum(data);
+ case 844: return new ::Ifc4x3_add2::IfcQuantityArea(data);
+ case 845: return new ::Ifc4x3_add2::IfcQuantityCount(data);
+ case 846: return new ::Ifc4x3_add2::IfcQuantityLength(data);
+ case 847: return new ::Ifc4x3_add2::IfcQuantityNumber(data);
+ case 848: return new ::Ifc4x3_add2::IfcQuantitySet(data);
+ case 849: return new ::Ifc4x3_add2::IfcQuantityTime(data);
+ case 850: return new ::Ifc4x3_add2::IfcQuantityVolume(data);
+ case 851: return new ::Ifc4x3_add2::IfcQuantityWeight(data);
+ case 852: return new ::Ifc4x3_add2::IfcRadioActivityMeasure(data);
+ case 853: return new ::Ifc4x3_add2::IfcRail(data);
+ case 854: return new ::Ifc4x3_add2::IfcRailing(data);
+ case 855: return new ::Ifc4x3_add2::IfcRailingType(data);
+ case 856: return new ::Ifc4x3_add2::IfcRailingTypeEnum(data);
+ case 857: return new ::Ifc4x3_add2::IfcRailType(data);
+ case 858: return new ::Ifc4x3_add2::IfcRailTypeEnum(data);
+ case 859: return new ::Ifc4x3_add2::IfcRailway(data);
+ case 860: return new ::Ifc4x3_add2::IfcRailwayPart(data);
+ case 861: return new ::Ifc4x3_add2::IfcRailwayPartTypeEnum(data);
+ case 862: return new ::Ifc4x3_add2::IfcRailwayTypeEnum(data);
+ case 863: return new ::Ifc4x3_add2::IfcRamp(data);
+ case 864: return new ::Ifc4x3_add2::IfcRampFlight(data);
+ case 865: return new ::Ifc4x3_add2::IfcRampFlightType(data);
+ case 866: return new ::Ifc4x3_add2::IfcRampFlightTypeEnum(data);
+ case 867: return new ::Ifc4x3_add2::IfcRampType(data);
+ case 868: return new ::Ifc4x3_add2::IfcRampTypeEnum(data);
+ case 869: return new ::Ifc4x3_add2::IfcRatioMeasure(data);
+ case 870: return new ::Ifc4x3_add2::IfcRationalBSplineCurveWithKnots(data);
+ case 871: return new ::Ifc4x3_add2::IfcRationalBSplineSurfaceWithKnots(data);
+ case 872: return new ::Ifc4x3_add2::IfcReal(data);
+ case 873: return new ::Ifc4x3_add2::IfcRectangleHollowProfileDef(data);
+ case 874: return new ::Ifc4x3_add2::IfcRectangleProfileDef(data);
+ case 875: return new ::Ifc4x3_add2::IfcRectangularPyramid(data);
+ case 876: return new ::Ifc4x3_add2::IfcRectangularTrimmedSurface(data);
+ case 877: return new ::Ifc4x3_add2::IfcRecurrencePattern(data);
+ case 878: return new ::Ifc4x3_add2::IfcRecurrenceTypeEnum(data);
+ case 879: return new ::Ifc4x3_add2::IfcReference(data);
+ case 880: return new ::Ifc4x3_add2::IfcReferent(data);
+ case 881: return new ::Ifc4x3_add2::IfcReferentTypeEnum(data);
+ case 882: return new ::Ifc4x3_add2::IfcReflectanceMethodEnum(data);
+ case 883: return new ::Ifc4x3_add2::IfcRegularTimeSeries(data);
+ case 884: return new ::Ifc4x3_add2::IfcReinforcedSoil(data);
+ case 885: return new ::Ifc4x3_add2::IfcReinforcedSoilTypeEnum(data);
+ case 886: return new ::Ifc4x3_add2::IfcReinforcementBarProperties(data);
+ case 887: return new ::Ifc4x3_add2::IfcReinforcementDefinitionProperties(data);
+ case 888: return new ::Ifc4x3_add2::IfcReinforcingBar(data);
+ case 889: return new ::Ifc4x3_add2::IfcReinforcingBarRoleEnum(data);
+ case 890: return new ::Ifc4x3_add2::IfcReinforcingBarSurfaceEnum(data);
+ case 891: return new ::Ifc4x3_add2::IfcReinforcingBarType(data);
+ case 892: return new ::Ifc4x3_add2::IfcReinforcingBarTypeEnum(data);
+ case 893: return new ::Ifc4x3_add2::IfcReinforcingElement(data);
+ case 894: return new ::Ifc4x3_add2::IfcReinforcingElementType(data);
+ case 895: return new ::Ifc4x3_add2::IfcReinforcingMesh(data);
+ case 896: return new ::Ifc4x3_add2::IfcReinforcingMeshType(data);
+ case 897: return new ::Ifc4x3_add2::IfcReinforcingMeshTypeEnum(data);
+ case 898: return new ::Ifc4x3_add2::IfcRelAdheresToElement(data);
+ case 899: return new ::Ifc4x3_add2::IfcRelAggregates(data);
+ case 900: return new ::Ifc4x3_add2::IfcRelAssigns(data);
+ case 901: return new ::Ifc4x3_add2::IfcRelAssignsToActor(data);
+ case 902: return new ::Ifc4x3_add2::IfcRelAssignsToControl(data);
+ case 903: return new ::Ifc4x3_add2::IfcRelAssignsToGroup(data);
+ case 904: return new ::Ifc4x3_add2::IfcRelAssignsToGroupByFactor(data);
+ case 905: return new ::Ifc4x3_add2::IfcRelAssignsToProcess(data);
+ case 906: return new ::Ifc4x3_add2::IfcRelAssignsToProduct(data);
+ case 907: return new ::Ifc4x3_add2::IfcRelAssignsToResource(data);
+ case 908: return new ::Ifc4x3_add2::IfcRelAssociates(data);
+ case 909: return new ::Ifc4x3_add2::IfcRelAssociatesApproval(data);
+ case 910: return new ::Ifc4x3_add2::IfcRelAssociatesClassification(data);
+ case 911: return new ::Ifc4x3_add2::IfcRelAssociatesConstraint(data);
+ case 912: return new ::Ifc4x3_add2::IfcRelAssociatesDocument(data);
+ case 913: return new ::Ifc4x3_add2::IfcRelAssociatesLibrary(data);
+ case 914: return new ::Ifc4x3_add2::IfcRelAssociatesMaterial(data);
+ case 915: return new ::Ifc4x3_add2::IfcRelAssociatesProfileDef(data);
+ case 916: return new ::Ifc4x3_add2::IfcRelationship(data);
+ case 917: return new ::Ifc4x3_add2::IfcRelConnects(data);
+ case 918: return new ::Ifc4x3_add2::IfcRelConnectsElements(data);
+ case 919: return new ::Ifc4x3_add2::IfcRelConnectsPathElements(data);
+ case 920: return new ::Ifc4x3_add2::IfcRelConnectsPorts(data);
+ case 921: return new ::Ifc4x3_add2::IfcRelConnectsPortToElement(data);
+ case 922: return new ::Ifc4x3_add2::IfcRelConnectsStructuralActivity(data);
+ case 923: return new ::Ifc4x3_add2::IfcRelConnectsStructuralMember(data);
+ case 924: return new ::Ifc4x3_add2::IfcRelConnectsWithEccentricity(data);
+ case 925: return new ::Ifc4x3_add2::IfcRelConnectsWithRealizingElements(data);
+ case 926: return new ::Ifc4x3_add2::IfcRelContainedInSpatialStructure(data);
+ case 927: return new ::Ifc4x3_add2::IfcRelCoversBldgElements(data);
+ case 928: return new ::Ifc4x3_add2::IfcRelCoversSpaces(data);
+ case 929: return new ::Ifc4x3_add2::IfcRelDeclares(data);
+ case 930: return new ::Ifc4x3_add2::IfcRelDecomposes(data);
+ case 931: return new ::Ifc4x3_add2::IfcRelDefines(data);
+ case 932: return new ::Ifc4x3_add2::IfcRelDefinesByObject(data);
+ case 933: return new ::Ifc4x3_add2::IfcRelDefinesByProperties(data);
+ case 934: return new ::Ifc4x3_add2::IfcRelDefinesByTemplate(data);
+ case 935: return new ::Ifc4x3_add2::IfcRelDefinesByType(data);
+ case 936: return new ::Ifc4x3_add2::IfcRelFillsElement(data);
+ case 937: return new ::Ifc4x3_add2::IfcRelFlowControlElements(data);
+ case 938: return new ::Ifc4x3_add2::IfcRelInterferesElements(data);
+ case 939: return new ::Ifc4x3_add2::IfcRelNests(data);
+ case 940: return new ::Ifc4x3_add2::IfcRelPositions(data);
+ case 941: return new ::Ifc4x3_add2::IfcRelProjectsElement(data);
+ case 942: return new ::Ifc4x3_add2::IfcRelReferencedInSpatialStructure(data);
+ case 943: return new ::Ifc4x3_add2::IfcRelSequence(data);
+ case 944: return new ::Ifc4x3_add2::IfcRelServicesBuildings(data);
+ case 945: return new ::Ifc4x3_add2::IfcRelSpaceBoundary(data);
+ case 946: return new ::Ifc4x3_add2::IfcRelSpaceBoundary1stLevel(data);
+ case 947: return new ::Ifc4x3_add2::IfcRelSpaceBoundary2ndLevel(data);
+ case 948: return new ::Ifc4x3_add2::IfcRelVoidsElement(data);
+ case 949: return new ::Ifc4x3_add2::IfcReparametrisedCompositeCurveSegment(data);
+ case 950: return new ::Ifc4x3_add2::IfcRepresentation(data);
+ case 951: return new ::Ifc4x3_add2::IfcRepresentationContext(data);
+ case 952: return new ::Ifc4x3_add2::IfcRepresentationItem(data);
+ case 953: return new ::Ifc4x3_add2::IfcRepresentationMap(data);
+ case 954: return new ::Ifc4x3_add2::IfcResource(data);
+ case 955: return new ::Ifc4x3_add2::IfcResourceApprovalRelationship(data);
+ case 956: return new ::Ifc4x3_add2::IfcResourceConstraintRelationship(data);
+ case 957: return new ::Ifc4x3_add2::IfcResourceLevelRelationship(data);
+ case 960: return new ::Ifc4x3_add2::IfcResourceTime(data);
+ case 961: return new ::Ifc4x3_add2::IfcRevolvedAreaSolid(data);
+ case 962: return new ::Ifc4x3_add2::IfcRevolvedAreaSolidTapered(data);
+ case 963: return new ::Ifc4x3_add2::IfcRightCircularCone(data);
+ case 964: return new ::Ifc4x3_add2::IfcRightCircularCylinder(data);
+ case 965: return new ::Ifc4x3_add2::IfcRigidOperation(data);
+ case 966: return new ::Ifc4x3_add2::IfcRoad(data);
+ case 967: return new ::Ifc4x3_add2::IfcRoadPart(data);
+ case 968: return new ::Ifc4x3_add2::IfcRoadPartTypeEnum(data);
+ case 969: return new ::Ifc4x3_add2::IfcRoadTypeEnum(data);
+ case 970: return new ::Ifc4x3_add2::IfcRoleEnum(data);
+ case 971: return new ::Ifc4x3_add2::IfcRoof(data);
+ case 972: return new ::Ifc4x3_add2::IfcRoofType(data);
+ case 973: return new ::Ifc4x3_add2::IfcRoofTypeEnum(data);
+ case 974: return new ::Ifc4x3_add2::IfcRoot(data);
+ case 975: return new ::Ifc4x3_add2::IfcRotationalFrequencyMeasure(data);
+ case 976: return new ::Ifc4x3_add2::IfcRotationalMassMeasure(data);
+ case 977: return new ::Ifc4x3_add2::IfcRotationalStiffnessMeasure(data);
+ case 979: return new ::Ifc4x3_add2::IfcRoundedRectangleProfileDef(data);
+ case 980: return new ::Ifc4x3_add2::IfcSanitaryTerminal(data);
+ case 981: return new ::Ifc4x3_add2::IfcSanitaryTerminalType(data);
+ case 982: return new ::Ifc4x3_add2::IfcSanitaryTerminalTypeEnum(data);
+ case 983: return new ::Ifc4x3_add2::IfcSchedulingTime(data);
+ case 984: return new ::Ifc4x3_add2::IfcSeamCurve(data);
+ case 985: return new ::Ifc4x3_add2::IfcSecondOrderPolynomialSpiral(data);
+ case 986: return new ::Ifc4x3_add2::IfcSectionalAreaIntegralMeasure(data);
+ case 987: return new ::Ifc4x3_add2::IfcSectionedSolid(data);
+ case 988: return new ::Ifc4x3_add2::IfcSectionedSolidHorizontal(data);
+ case 989: return new ::Ifc4x3_add2::IfcSectionedSpine(data);
+ case 990: return new ::Ifc4x3_add2::IfcSectionedSurface(data);
+ case 991: return new ::Ifc4x3_add2::IfcSectionModulusMeasure(data);
+ case 992: return new ::Ifc4x3_add2::IfcSectionProperties(data);
+ case 993: return new ::Ifc4x3_add2::IfcSectionReinforcementProperties(data);
+ case 994: return new ::Ifc4x3_add2::IfcSectionTypeEnum(data);
+ case 995: return new ::Ifc4x3_add2::IfcSegment(data);
+ case 996: return new ::Ifc4x3_add2::IfcSegmentedReferenceCurve(data);
+ case 998: return new ::Ifc4x3_add2::IfcSensor(data);
+ case 999: return new ::Ifc4x3_add2::IfcSensorType(data);
+ case 1000: return new ::Ifc4x3_add2::IfcSensorTypeEnum(data);
+ case 1001: return new ::Ifc4x3_add2::IfcSequenceEnum(data);
+ case 1002: return new ::Ifc4x3_add2::IfcSeventhOrderPolynomialSpiral(data);
+ case 1003: return new ::Ifc4x3_add2::IfcShadingDevice(data);
+ case 1004: return new ::Ifc4x3_add2::IfcShadingDeviceType(data);
+ case 1005: return new ::Ifc4x3_add2::IfcShadingDeviceTypeEnum(data);
+ case 1006: return new ::Ifc4x3_add2::IfcShapeAspect(data);
+ case 1007: return new ::Ifc4x3_add2::IfcShapeModel(data);
+ case 1008: return new ::Ifc4x3_add2::IfcShapeRepresentation(data);
+ case 1009: return new ::Ifc4x3_add2::IfcShearModulusMeasure(data);
+ case 1011: return new ::Ifc4x3_add2::IfcShellBasedSurfaceModel(data);
+ case 1012: return new ::Ifc4x3_add2::IfcSign(data);
+ case 1013: return new ::Ifc4x3_add2::IfcSignal(data);
+ case 1014: return new ::Ifc4x3_add2::IfcSignalType(data);
+ case 1015: return new ::Ifc4x3_add2::IfcSignalTypeEnum(data);
+ case 1016: return new ::Ifc4x3_add2::IfcSignType(data);
+ case 1017: return new ::Ifc4x3_add2::IfcSignTypeEnum(data);
+ case 1018: return new ::Ifc4x3_add2::IfcSimpleProperty(data);
+ case 1019: return new ::Ifc4x3_add2::IfcSimplePropertyTemplate(data);
+ case 1020: return new ::Ifc4x3_add2::IfcSimplePropertyTemplateTypeEnum(data);
+ case 1022: return new ::Ifc4x3_add2::IfcSineSpiral(data);
+ case 1023: return new ::Ifc4x3_add2::IfcSIPrefix(data);
+ case 1024: return new ::Ifc4x3_add2::IfcSite(data);
+ case 1025: return new ::Ifc4x3_add2::IfcSIUnit(data);
+ case 1026: return new ::Ifc4x3_add2::IfcSIUnitName(data);
+ case 1028: return new ::Ifc4x3_add2::IfcSlab(data);
+ case 1029: return new ::Ifc4x3_add2::IfcSlabType(data);
+ case 1030: return new ::Ifc4x3_add2::IfcSlabTypeEnum(data);
+ case 1031: return new ::Ifc4x3_add2::IfcSlippageConnectionCondition(data);
+ case 1032: return new ::Ifc4x3_add2::IfcSolarDevice(data);
+ case 1033: return new ::Ifc4x3_add2::IfcSolarDeviceType(data);
+ case 1034: return new ::Ifc4x3_add2::IfcSolarDeviceTypeEnum(data);
+ case 1035: return new ::Ifc4x3_add2::IfcSolidAngleMeasure(data);
+ case 1036: return new ::Ifc4x3_add2::IfcSolidModel(data);
+ case 1038: return new ::Ifc4x3_add2::IfcSoundPowerLevelMeasure(data);
+ case 1039: return new ::Ifc4x3_add2::IfcSoundPowerMeasure(data);
+ case 1040: return new ::Ifc4x3_add2::IfcSoundPressureLevelMeasure(data);
+ case 1041: return new ::Ifc4x3_add2::IfcSoundPressureMeasure(data);
+ case 1042: return new ::Ifc4x3_add2::IfcSpace(data);
+ case 1044: return new ::Ifc4x3_add2::IfcSpaceHeater(data);
+ case 1045: return new ::Ifc4x3_add2::IfcSpaceHeaterType(data);
+ case 1046: return new ::Ifc4x3_add2::IfcSpaceHeaterTypeEnum(data);
+ case 1047: return new ::Ifc4x3_add2::IfcSpaceType(data);
+ case 1048: return new ::Ifc4x3_add2::IfcSpaceTypeEnum(data);
+ case 1049: return new ::Ifc4x3_add2::IfcSpatialElement(data);
+ case 1050: return new ::Ifc4x3_add2::IfcSpatialElementType(data);
+ case 1052: return new ::Ifc4x3_add2::IfcSpatialStructureElement(data);
+ case 1053: return new ::Ifc4x3_add2::IfcSpatialStructureElementType(data);
+ case 1054: return new ::Ifc4x3_add2::IfcSpatialZone(data);
+ case 1055: return new ::Ifc4x3_add2::IfcSpatialZoneType(data);
+ case 1056: return new ::Ifc4x3_add2::IfcSpatialZoneTypeEnum(data);
+ case 1057: return new ::Ifc4x3_add2::IfcSpecificHeatCapacityMeasure(data);
+ case 1058: return new ::Ifc4x3_add2::IfcSpecularExponent(data);
+ case 1060: return new ::Ifc4x3_add2::IfcSpecularRoughness(data);
+ case 1061: return new ::Ifc4x3_add2::IfcSphere(data);
+ case 1062: return new ::Ifc4x3_add2::IfcSphericalSurface(data);
+ case 1063: return new ::Ifc4x3_add2::IfcSpiral(data);
+ case 1064: return new ::Ifc4x3_add2::IfcStackTerminal(data);
+ case 1065: return new ::Ifc4x3_add2::IfcStackTerminalType(data);
+ case 1066: return new ::Ifc4x3_add2::IfcStackTerminalTypeEnum(data);
+ case 1067: return new ::Ifc4x3_add2::IfcStair(data);
+ case 1068: return new ::Ifc4x3_add2::IfcStairFlight(data);
+ case 1069: return new ::Ifc4x3_add2::IfcStairFlightType(data);
+ case 1070: return new ::Ifc4x3_add2::IfcStairFlightTypeEnum(data);
+ case 1071: return new ::Ifc4x3_add2::IfcStairType(data);
+ case 1072: return new ::Ifc4x3_add2::IfcStairTypeEnum(data);
+ case 1073: return new ::Ifc4x3_add2::IfcStateEnum(data);
+ case 1074: return new ::Ifc4x3_add2::IfcStrippedOptional(data);
+ case 1075: return new ::Ifc4x3_add2::IfcStructuralAction(data);
+ case 1076: return new ::Ifc4x3_add2::IfcStructuralActivity(data);
+ case 1078: return new ::Ifc4x3_add2::IfcStructuralAnalysisModel(data);
+ case 1079: return new ::Ifc4x3_add2::IfcStructuralConnection(data);
+ case 1080: return new ::Ifc4x3_add2::IfcStructuralConnectionCondition(data);
+ case 1081: return new ::Ifc4x3_add2::IfcStructuralCurveAction(data);
+ case 1082: return new ::Ifc4x3_add2::IfcStructuralCurveActivityTypeEnum(data);
+ case 1083: return new ::Ifc4x3_add2::IfcStructuralCurveConnection(data);
+ case 1084: return new ::Ifc4x3_add2::IfcStructuralCurveMember(data);
+ case 1085: return new ::Ifc4x3_add2::IfcStructuralCurveMemberTypeEnum(data);
+ case 1086: return new ::Ifc4x3_add2::IfcStructuralCurveMemberVarying(data);
+ case 1087: return new ::Ifc4x3_add2::IfcStructuralCurveReaction(data);
+ case 1088: return new ::Ifc4x3_add2::IfcStructuralItem(data);
+ case 1089: return new ::Ifc4x3_add2::IfcStructuralLinearAction(data);
+ case 1090: return new ::Ifc4x3_add2::IfcStructuralLoad(data);
+ case 1091: return new ::Ifc4x3_add2::IfcStructuralLoadCase(data);
+ case 1092: return new ::Ifc4x3_add2::IfcStructuralLoadConfiguration(data);
+ case 1093: return new ::Ifc4x3_add2::IfcStructuralLoadGroup(data);
+ case 1094: return new ::Ifc4x3_add2::IfcStructuralLoadLinearForce(data);
+ case 1095: return new ::Ifc4x3_add2::IfcStructuralLoadOrResult(data);
+ case 1096: return new ::Ifc4x3_add2::IfcStructuralLoadPlanarForce(data);
+ case 1097: return new ::Ifc4x3_add2::IfcStructuralLoadSingleDisplacement(data);
+ case 1098: return new ::Ifc4x3_add2::IfcStructuralLoadSingleDisplacementDistortion(data);
+ case 1099: return new ::Ifc4x3_add2::IfcStructuralLoadSingleForce(data);
+ case 1100: return new ::Ifc4x3_add2::IfcStructuralLoadSingleForceWarping(data);
+ case 1101: return new ::Ifc4x3_add2::IfcStructuralLoadStatic(data);
+ case 1102: return new ::Ifc4x3_add2::IfcStructuralLoadTemperature(data);
+ case 1103: return new ::Ifc4x3_add2::IfcStructuralMember(data);
+ case 1104: return new ::Ifc4x3_add2::IfcStructuralPlanarAction(data);
+ case 1105: return new ::Ifc4x3_add2::IfcStructuralPointAction(data);
+ case 1106: return new ::Ifc4x3_add2::IfcStructuralPointConnection(data);
+ case 1107: return new ::Ifc4x3_add2::IfcStructuralPointReaction(data);
+ case 1108: return new ::Ifc4x3_add2::IfcStructuralReaction(data);
+ case 1109: return new ::Ifc4x3_add2::IfcStructuralResultGroup(data);
+ case 1110: return new ::Ifc4x3_add2::IfcStructuralSurfaceAction(data);
+ case 1111: return new ::Ifc4x3_add2::IfcStructuralSurfaceActivityTypeEnum(data);
+ case 1112: return new ::Ifc4x3_add2::IfcStructuralSurfaceConnection(data);
+ case 1113: return new ::Ifc4x3_add2::IfcStructuralSurfaceMember(data);
+ case 1114: return new ::Ifc4x3_add2::IfcStructuralSurfaceMemberTypeEnum(data);
+ case 1115: return new ::Ifc4x3_add2::IfcStructuralSurfaceMemberVarying(data);
+ case 1116: return new ::Ifc4x3_add2::IfcStructuralSurfaceReaction(data);
+ case 1117: return new ::Ifc4x3_add2::IfcStyledItem(data);
+ case 1118: return new ::Ifc4x3_add2::IfcStyledRepresentation(data);
+ case 1119: return new ::Ifc4x3_add2::IfcStyleModel(data);
+ case 1120: return new ::Ifc4x3_add2::IfcSubContractResource(data);
+ case 1121: return new ::Ifc4x3_add2::IfcSubContractResourceType(data);
+ case 1122: return new ::Ifc4x3_add2::IfcSubContractResourceTypeEnum(data);
+ case 1123: return new ::Ifc4x3_add2::IfcSubedge(data);
+ case 1124: return new ::Ifc4x3_add2::IfcSurface(data);
+ case 1125: return new ::Ifc4x3_add2::IfcSurfaceCurve(data);
+ case 1126: return new ::Ifc4x3_add2::IfcSurfaceCurveSweptAreaSolid(data);
+ case 1127: return new ::Ifc4x3_add2::IfcSurfaceFeature(data);
+ case 1128: return new ::Ifc4x3_add2::IfcSurfaceFeatureTypeEnum(data);
+ case 1129: return new ::Ifc4x3_add2::IfcSurfaceOfLinearExtrusion(data);
+ case 1130: return new ::Ifc4x3_add2::IfcSurfaceOfRevolution(data);
+ case 1132: return new ::Ifc4x3_add2::IfcSurfaceReinforcementArea(data);
+ case 1133: return new ::Ifc4x3_add2::IfcSurfaceSide(data);
+ case 1134: return new ::Ifc4x3_add2::IfcSurfaceStyle(data);
+ case 1136: return new ::Ifc4x3_add2::IfcSurfaceStyleLighting(data);
+ case 1137: return new ::Ifc4x3_add2::IfcSurfaceStyleRefraction(data);
+ case 1138: return new ::Ifc4x3_add2::IfcSurfaceStyleRendering(data);
+ case 1139: return new ::Ifc4x3_add2::IfcSurfaceStyleShading(data);
+ case 1140: return new ::Ifc4x3_add2::IfcSurfaceStyleWithTextures(data);
+ case 1141: return new ::Ifc4x3_add2::IfcSurfaceTexture(data);
+ case 1142: return new ::Ifc4x3_add2::IfcSweptAreaSolid(data);
+ case 1143: return new ::Ifc4x3_add2::IfcSweptDiskSolid(data);
+ case 1144: return new ::Ifc4x3_add2::IfcSweptDiskSolidPolygonal(data);
+ case 1145: return new ::Ifc4x3_add2::IfcSweptSurface(data);
+ case 1146: return new ::Ifc4x3_add2::IfcSwitchingDevice(data);
+ case 1147: return new ::Ifc4x3_add2::IfcSwitchingDeviceType(data);
+ case 1148: return new ::Ifc4x3_add2::IfcSwitchingDeviceTypeEnum(data);
+ case 1149: return new ::Ifc4x3_add2::IfcSystem(data);
+ case 1150: return new ::Ifc4x3_add2::IfcSystemFurnitureElement(data);
+ case 1151: return new ::Ifc4x3_add2::IfcSystemFurnitureElementType(data);
+ case 1152: return new ::Ifc4x3_add2::IfcSystemFurnitureElementTypeEnum(data);
+ case 1153: return new ::Ifc4x3_add2::IfcTable(data);
+ case 1154: return new ::Ifc4x3_add2::IfcTableColumn(data);
+ case 1155: return new ::Ifc4x3_add2::IfcTableRow(data);
+ case 1156: return new ::Ifc4x3_add2::IfcTank(data);
+ case 1157: return new ::Ifc4x3_add2::IfcTankType(data);
+ case 1158: return new ::Ifc4x3_add2::IfcTankTypeEnum(data);
+ case 1159: return new ::Ifc4x3_add2::IfcTask(data);
+ case 1160: return new ::Ifc4x3_add2::IfcTaskDurationEnum(data);
+ case 1161: return new ::Ifc4x3_add2::IfcTaskTime(data);
+ case 1162: return new ::Ifc4x3_add2::IfcTaskTimeRecurring(data);
+ case 1163: return new ::Ifc4x3_add2::IfcTaskType(data);
+ case 1164: return new ::Ifc4x3_add2::IfcTaskTypeEnum(data);
+ case 1165: return new ::Ifc4x3_add2::IfcTelecomAddress(data);
+ case 1166: return new ::Ifc4x3_add2::IfcTemperatureGradientMeasure(data);
+ case 1167: return new ::Ifc4x3_add2::IfcTemperatureRateOfChangeMeasure(data);
+ case 1168: return new ::Ifc4x3_add2::IfcTendon(data);
+ case 1169: return new ::Ifc4x3_add2::IfcTendonAnchor(data);
+ case 1170: return new ::Ifc4x3_add2::IfcTendonAnchorType(data);
+ case 1171: return new ::Ifc4x3_add2::IfcTendonAnchorTypeEnum(data);
+ case 1172: return new ::Ifc4x3_add2::IfcTendonConduit(data);
+ case 1173: return new ::Ifc4x3_add2::IfcTendonConduitType(data);
+ case 1174: return new ::Ifc4x3_add2::IfcTendonConduitTypeEnum(data);
+ case 1175: return new ::Ifc4x3_add2::IfcTendonType(data);
+ case 1176: return new ::Ifc4x3_add2::IfcTendonTypeEnum(data);
+ case 1177: return new ::Ifc4x3_add2::IfcTessellatedFaceSet(data);
+ case 1178: return new ::Ifc4x3_add2::IfcTessellatedItem(data);
+ case 1179: return new ::Ifc4x3_add2::IfcText(data);
+ case 1180: return new ::Ifc4x3_add2::IfcTextAlignment(data);
+ case 1181: return new ::Ifc4x3_add2::IfcTextDecoration(data);
+ case 1182: return new ::Ifc4x3_add2::IfcTextFontName(data);
+ case 1184: return new ::Ifc4x3_add2::IfcTextLiteral(data);
+ case 1185: return new ::Ifc4x3_add2::IfcTextLiteralWithExtent(data);
+ case 1186: return new ::Ifc4x3_add2::IfcTextPath(data);
+ case 1187: return new ::Ifc4x3_add2::IfcTextStyle(data);
+ case 1188: return new ::Ifc4x3_add2::IfcTextStyleFontModel(data);
+ case 1189: return new ::Ifc4x3_add2::IfcTextStyleForDefinedFont(data);
+ case 1190: return new ::Ifc4x3_add2::IfcTextStyleTextModel(data);
+ case 1191: return new ::Ifc4x3_add2::IfcTextTransformation(data);
+ case 1192: return new ::Ifc4x3_add2::IfcTextureCoordinate(data);
+ case 1193: return new ::Ifc4x3_add2::IfcTextureCoordinateGenerator(data);
+ case 1194: return new ::Ifc4x3_add2::IfcTextureCoordinateIndices(data);
+ case 1195: return new ::Ifc4x3_add2::IfcTextureCoordinateIndicesWithVoids(data);
+ case 1196: return new ::Ifc4x3_add2::IfcTextureMap(data);
+ case 1197: return new ::Ifc4x3_add2::IfcTextureVertex(data);
+ case 1198: return new ::Ifc4x3_add2::IfcTextureVertexList(data);
+ case 1199: return new ::Ifc4x3_add2::IfcThermalAdmittanceMeasure(data);
+ case 1200: return new ::Ifc4x3_add2::IfcThermalConductivityMeasure(data);
+ case 1201: return new ::Ifc4x3_add2::IfcThermalExpansionCoefficientMeasure(data);
+ case 1202: return new ::Ifc4x3_add2::IfcThermalResistanceMeasure(data);
+ case 1203: return new ::Ifc4x3_add2::IfcThermalTransmittanceMeasure(data);
+ case 1204: return new ::Ifc4x3_add2::IfcThermodynamicTemperatureMeasure(data);
+ case 1205: return new ::Ifc4x3_add2::IfcThirdOrderPolynomialSpiral(data);
+ case 1206: return new ::Ifc4x3_add2::IfcTime(data);
+ case 1207: return new ::Ifc4x3_add2::IfcTimeMeasure(data);
+ case 1209: return new ::Ifc4x3_add2::IfcTimePeriod(data);
+ case 1210: return new ::Ifc4x3_add2::IfcTimeSeries(data);
+ case 1211: return new ::Ifc4x3_add2::IfcTimeSeriesDataTypeEnum(data);
+ case 1212: return new ::Ifc4x3_add2::IfcTimeSeriesValue(data);
+ case 1213: return new ::Ifc4x3_add2::IfcTimeStamp(data);
+ case 1214: return new ::Ifc4x3_add2::IfcTopologicalRepresentationItem(data);
+ case 1215: return new ::Ifc4x3_add2::IfcTopologyRepresentation(data);
+ case 1216: return new ::Ifc4x3_add2::IfcToroidalSurface(data);
+ case 1217: return new ::Ifc4x3_add2::IfcTorqueMeasure(data);
+ case 1218: return new ::Ifc4x3_add2::IfcTrackElement(data);
+ case 1219: return new ::Ifc4x3_add2::IfcTrackElementType(data);
+ case 1220: return new ::Ifc4x3_add2::IfcTrackElementTypeEnum(data);
+ case 1221: return new ::Ifc4x3_add2::IfcTransformer(data);
+ case 1222: return new ::Ifc4x3_add2::IfcTransformerType(data);
+ case 1223: return new ::Ifc4x3_add2::IfcTransformerTypeEnum(data);
+ case 1224: return new ::Ifc4x3_add2::IfcTransitionCode(data);
+ case 1226: return new ::Ifc4x3_add2::IfcTransportationDevice(data);
+ case 1227: return new ::Ifc4x3_add2::IfcTransportationDeviceType(data);
+ case 1228: return new ::Ifc4x3_add2::IfcTransportElement(data);
+ case 1229: return new ::Ifc4x3_add2::IfcTransportElementType(data);
+ case 1230: return new ::Ifc4x3_add2::IfcTransportElementTypeEnum(data);
+ case 1231: return new ::Ifc4x3_add2::IfcTrapeziumProfileDef(data);
+ case 1232: return new ::Ifc4x3_add2::IfcTriangulatedFaceSet(data);
+ case 1233: return new ::Ifc4x3_add2::IfcTriangulatedIrregularNetwork(data);
+ case 1234: return new ::Ifc4x3_add2::IfcTrimmedCurve(data);
+ case 1235: return new ::Ifc4x3_add2::IfcTrimmingPreference(data);
+ case 1237: return new ::Ifc4x3_add2::IfcTShapeProfileDef(data);
+ case 1238: return new ::Ifc4x3_add2::IfcTubeBundle(data);
+ case 1239: return new ::Ifc4x3_add2::IfcTubeBundleType(data);
+ case 1240: return new ::Ifc4x3_add2::IfcTubeBundleTypeEnum(data);
+ case 1241: return new ::Ifc4x3_add2::IfcTypeObject(data);
+ case 1242: return new ::Ifc4x3_add2::IfcTypeProcess(data);
+ case 1243: return new ::Ifc4x3_add2::IfcTypeProduct(data);
+ case 1244: return new ::Ifc4x3_add2::IfcTypeResource(data);
+ case 1246: return new ::Ifc4x3_add2::IfcUnitaryControlElement(data);
+ case 1247: return new ::Ifc4x3_add2::IfcUnitaryControlElementType(data);
+ case 1248: return new ::Ifc4x3_add2::IfcUnitaryControlElementTypeEnum(data);
+ case 1249: return new ::Ifc4x3_add2::IfcUnitaryEquipment(data);
+ case 1250: return new ::Ifc4x3_add2::IfcUnitaryEquipmentType(data);
+ case 1251: return new ::Ifc4x3_add2::IfcUnitaryEquipmentTypeEnum(data);
+ case 1252: return new ::Ifc4x3_add2::IfcUnitAssignment(data);
+ case 1253: return new ::Ifc4x3_add2::IfcUnitEnum(data);
+ case 1254: return new ::Ifc4x3_add2::IfcURIReference(data);
+ case 1255: return new ::Ifc4x3_add2::IfcUShapeProfileDef(data);
+ case 1257: return new ::Ifc4x3_add2::IfcValve(data);
+ case 1258: return new ::Ifc4x3_add2::IfcValveType(data);
+ case 1259: return new ::Ifc4x3_add2::IfcValveTypeEnum(data);
+ case 1260: return new ::Ifc4x3_add2::IfcVaporPermeabilityMeasure(data);
+ case 1261: return new ::Ifc4x3_add2::IfcVector(data);
+ case 1263: return new ::Ifc4x3_add2::IfcVehicle(data);
+ case 1264: return new ::Ifc4x3_add2::IfcVehicleType(data);
+ case 1265: return new ::Ifc4x3_add2::IfcVehicleTypeEnum(data);
+ case 1266: return new ::Ifc4x3_add2::IfcVertex(data);
+ case 1267: return new ::Ifc4x3_add2::IfcVertexLoop(data);
+ case 1268: return new ::Ifc4x3_add2::IfcVertexPoint(data);
+ case 1269: return new ::Ifc4x3_add2::IfcVibrationDamper(data);
+ case 1270: return new ::Ifc4x3_add2::IfcVibrationDamperType(data);
+ case 1271: return new ::Ifc4x3_add2::IfcVibrationDamperTypeEnum(data);
+ case 1272: return new ::Ifc4x3_add2::IfcVibrationIsolator(data);
+ case 1273: return new ::Ifc4x3_add2::IfcVibrationIsolatorType(data);
+ case 1274: return new ::Ifc4x3_add2::IfcVibrationIsolatorTypeEnum(data);
+ case 1275: return new ::Ifc4x3_add2::IfcVirtualElement(data);
+ case 1276: return new ::Ifc4x3_add2::IfcVirtualElementTypeEnum(data);
+ case 1277: return new ::Ifc4x3_add2::IfcVirtualGridIntersection(data);
+ case 1278: return new ::Ifc4x3_add2::IfcVoidingFeature(data);
+ case 1279: return new ::Ifc4x3_add2::IfcVoidingFeatureTypeEnum(data);
+ case 1280: return new ::Ifc4x3_add2::IfcVolumeMeasure(data);
+ case 1281: return new ::Ifc4x3_add2::IfcVolumetricFlowRateMeasure(data);
+ case 1282: return new ::Ifc4x3_add2::IfcWall(data);
+ case 1283: return new ::Ifc4x3_add2::IfcWallStandardCase(data);
+ case 1284: return new ::Ifc4x3_add2::IfcWallType(data);
+ case 1285: return new ::Ifc4x3_add2::IfcWallTypeEnum(data);
+ case 1286: return new ::Ifc4x3_add2::IfcWarpingConstantMeasure(data);
+ case 1287: return new ::Ifc4x3_add2::IfcWarpingMomentMeasure(data);
+ case 1289: return new ::Ifc4x3_add2::IfcWasteTerminal(data);
+ case 1290: return new ::Ifc4x3_add2::IfcWasteTerminalType(data);
+ case 1291: return new ::Ifc4x3_add2::IfcWasteTerminalTypeEnum(data);
+ case 1292: return new ::Ifc4x3_add2::IfcWellKnownText(data);
+ case 1293: return new ::Ifc4x3_add2::IfcWellKnownTextLiteral(data);
+ case 1294: return new ::Ifc4x3_add2::IfcWindow(data);
+ case 1295: return new ::Ifc4x3_add2::IfcWindowLiningProperties(data);
+ case 1296: return new ::Ifc4x3_add2::IfcWindowPanelOperationEnum(data);
+ case 1297: return new ::Ifc4x3_add2::IfcWindowPanelPositionEnum(data);
+ case 1298: return new ::Ifc4x3_add2::IfcWindowPanelProperties(data);
+ case 1299: return new ::Ifc4x3_add2::IfcWindowType(data);
+ case 1300: return new ::Ifc4x3_add2::IfcWindowTypeEnum(data);
+ case 1301: return new ::Ifc4x3_add2::IfcWindowTypePartitioningEnum(data);
+ case 1302: return new ::Ifc4x3_add2::IfcWorkCalendar(data);
+ case 1303: return new ::Ifc4x3_add2::IfcWorkCalendarTypeEnum(data);
+ case 1304: return new ::Ifc4x3_add2::IfcWorkControl(data);
+ case 1305: return new ::Ifc4x3_add2::IfcWorkPlan(data);
+ case 1306: return new ::Ifc4x3_add2::IfcWorkPlanTypeEnum(data);
+ case 1307: return new ::Ifc4x3_add2::IfcWorkSchedule(data);
+ case 1308: return new ::Ifc4x3_add2::IfcWorkScheduleTypeEnum(data);
+ case 1309: return new ::Ifc4x3_add2::IfcWorkTime(data);
+ case 1310: return new ::Ifc4x3_add2::IfcZone(data);
+ case 1311: return new ::Ifc4x3_add2::IfcZShapeProfileDef(data);
+ default: throw IfcParse::IfcException(data->type()->name() + " cannot be instantiated");
+ }
+
+ }
+};
+
+
+#if defined(__clang__)
+__attribute__((optnone))
+#elif defined(__GNUC__) || defined(__GNUG__)
+#pragma GCC push_options
+#pragma GCC optimize ("O0")
+#elif defined(_MSC_VER)
+#pragma optimize("", off)
+#endif
+
+IfcParse::schema_definition* IFC4X3_ADD2_populate_schema() {
+ IFC4X3_ADD2_IfcAbsorbedDoseMeasure_type = new type_declaration("IfcAbsorbedDoseMeasure", 0, new simple_type(simple_type::real_type));
+ IFC4X3_ADD2_IfcAccelerationMeasure_type = new type_declaration("IfcAccelerationMeasure", 1, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(7);
+ items.push_back("EMAIL");
+ items.push_back("FAX");
+ items.push_back("NOTDEFINED");
+ items.push_back("PHONE");
+ items.push_back("POST");
+ items.push_back("USERDEFINED");
+ items.push_back("VERBAL");
+ IFC4X3_ADD2_IfcActionRequestTypeEnum_type = new enumeration_type("IfcActionRequestTypeEnum", 3, items);
+ }
+ {
+ std::vector items; items.reserve(27);
+ items.push_back("BRAKES");
+ items.push_back("BUOYANCY");
+ items.push_back("COMPLETION_G1");
+ items.push_back("CREEP");
+ items.push_back("CURRENT");
+ items.push_back("DEAD_LOAD_G");
+ items.push_back("EARTHQUAKE_E");
+ items.push_back("ERECTION");
+ items.push_back("FIRE");
+ items.push_back("ICE");
+ items.push_back("IMPACT");
+ items.push_back("IMPULSE");
+ items.push_back("LACK_OF_FIT");
+ items.push_back("LIVE_LOAD_Q");
+ items.push_back("NOTDEFINED");
+ items.push_back("PRESTRESSING_P");
+ items.push_back("PROPPING");
+ items.push_back("RAIN");
+ items.push_back("SETTLEMENT_U");
+ items.push_back("SHRINKAGE");
+ items.push_back("SNOW_S");
+ items.push_back("SYSTEM_IMPERFECTION");
+ items.push_back("TEMPERATURE_T");
+ items.push_back("TRANSPORT");
+ items.push_back("USERDEFINED");
+ items.push_back("WAVE");
+ items.push_back("WIND_W");
+ IFC4X3_ADD2_IfcActionSourceTypeEnum_type = new enumeration_type("IfcActionSourceTypeEnum", 4, items);
+ }
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("EXTRAORDINARY_A");
+ items.push_back("NOTDEFINED");
+ items.push_back("PERMANENT_G");
+ items.push_back("USERDEFINED");
+ items.push_back("VARIABLE_Q");
+ IFC4X3_ADD2_IfcActionTypeEnum_type = new enumeration_type("IfcActionTypeEnum", 5, items);
+ }
+ {
+ std::vector items; items.reserve(7);
+ items.push_back("ELECTRICACTUATOR");
+ items.push_back("HANDOPERATEDACTUATOR");
+ items.push_back("HYDRAULICACTUATOR");
+ items.push_back("NOTDEFINED");
+ items.push_back("PNEUMATICACTUATOR");
+ items.push_back("THERMOSTATICACTUATOR");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcActuatorTypeEnum_type = new enumeration_type("IfcActuatorTypeEnum", 11, items);
+ }
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("DISTRIBUTIONPOINT");
+ items.push_back("HOME");
+ items.push_back("OFFICE");
+ items.push_back("SITE");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcAddressTypeEnum_type = new enumeration_type("IfcAddressTypeEnum", 13, items);
+ }
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("CONSTANTFLOW");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ items.push_back("VARIABLEFLOWPRESSUREDEPENDANT");
+ items.push_back("VARIABLEFLOWPRESSUREINDEPENDANT");
+ IFC4X3_ADD2_IfcAirTerminalBoxTypeEnum_type = new enumeration_type("IfcAirTerminalBoxTypeEnum", 20, items);
+ }
+ {
+ std::vector items; items.reserve(6);
+ items.push_back("DIFFUSER");
+ items.push_back("GRILLE");
+ items.push_back("LOUVRE");
+ items.push_back("NOTDEFINED");
+ items.push_back("REGISTER");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcAirTerminalTypeEnum_type = new enumeration_type("IfcAirTerminalTypeEnum", 22, items);
+ }
+ {
+ std::vector items; items.reserve(11);
+ items.push_back("FIXEDPLATECOUNTERFLOWEXCHANGER");
+ items.push_back("FIXEDPLATECROSSFLOWEXCHANGER");
+ items.push_back("FIXEDPLATEPARALLELFLOWEXCHANGER");
+ items.push_back("HEATPIPE");
+ items.push_back("NOTDEFINED");
+ items.push_back("ROTARYWHEEL");
+ items.push_back("RUNAROUNDCOILLOOP");
+ items.push_back("THERMOSIPHONCOILTYPEHEATEXCHANGERS");
+ items.push_back("THERMOSIPHONSEALEDTUBEHEATEXCHANGERS");
+ items.push_back("TWINTOWERENTHALPYRECOVERYLOOPS");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcAirToAirHeatRecoveryTypeEnum_type = new enumeration_type("IfcAirToAirHeatRecoveryTypeEnum", 25, items);
+ }
+ {
+ std::vector items; items.reserve(10);
+ items.push_back("BELL");
+ items.push_back("BREAKGLASSBUTTON");
+ items.push_back("LIGHT");
+ items.push_back("MANUALPULLBOX");
+ items.push_back("NOTDEFINED");
+ items.push_back("RAILWAYCROCODILE");
+ items.push_back("RAILWAYDETONATOR");
+ items.push_back("SIREN");
+ items.push_back("USERDEFINED");
+ items.push_back("WHISTLE");
+ IFC4X3_ADD2_IfcAlarmTypeEnum_type = new enumeration_type("IfcAlarmTypeEnum", 28, items);
+ }
+ {
+ std::vector items; items.reserve(7);
+ items.push_back("BLOSSCURVE");
+ items.push_back("CONSTANTCANT");
+ items.push_back("COSINECURVE");
+ items.push_back("HELMERTCURVE");
+ items.push_back("LINEARTRANSITION");
+ items.push_back("SINECURVE");
+ items.push_back("VIENNESEBEND");
+ IFC4X3_ADD2_IfcAlignmentCantSegmentTypeEnum_type = new enumeration_type("IfcAlignmentCantSegmentTypeEnum", 32, items);
+ }
+ {
+ std::vector items; items.reserve(9);
+ items.push_back("BLOSSCURVE");
+ items.push_back("CIRCULARARC");
+ items.push_back("CLOTHOID");
+ items.push_back("COSINECURVE");
+ items.push_back("CUBIC");
+ items.push_back("HELMERTCURVE");
+ items.push_back("LINE");
+ items.push_back("SINECURVE");
+ items.push_back("VIENNESEBEND");
+ IFC4X3_ADD2_IfcAlignmentHorizontalSegmentTypeEnum_type = new enumeration_type("IfcAlignmentHorizontalSegmentTypeEnum", 35, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcAlignmentTypeEnum_type = new enumeration_type("IfcAlignmentTypeEnum", 38, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("CIRCULARARC");
+ items.push_back("CLOTHOID");
+ items.push_back("CONSTANTGRADIENT");
+ items.push_back("PARABOLICARC");
+ IFC4X3_ADD2_IfcAlignmentVerticalSegmentTypeEnum_type = new enumeration_type("IfcAlignmentVerticalSegmentTypeEnum", 41, items);
+ }
+ IFC4X3_ADD2_IfcAmountOfSubstanceMeasure_type = new type_declaration("IfcAmountOfSubstanceMeasure", 42, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("IN_PLANE_LOADING_2D");
+ items.push_back("LOADING_3D");
+ items.push_back("NOTDEFINED");
+ items.push_back("OUT_PLANE_LOADING_2D");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcAnalysisModelTypeEnum_type = new enumeration_type("IfcAnalysisModelTypeEnum", 43, items);
+ }
+ {
+ std::vector items; items.reserve(6);
+ items.push_back("FIRST_ORDER_THEORY");
+ items.push_back("FULL_NONLINEAR_THEORY");
+ items.push_back("NOTDEFINED");
+ items.push_back("SECOND_ORDER_THEORY");
+ items.push_back("THIRD_ORDER_THEORY");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcAnalysisTheoryTypeEnum_type = new enumeration_type("IfcAnalysisTheoryTypeEnum", 44, items);
+ }
+ IFC4X3_ADD2_IfcAngularVelocityMeasure_type = new type_declaration("IfcAngularVelocityMeasure", 45, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(11);
+ items.push_back("CONTOURLINE");
+ items.push_back("DIMENSION");
+ items.push_back("ISOBAR");
+ items.push_back("ISOLUX");
+ items.push_back("ISOTHERM");
+ items.push_back("LEADER");
+ items.push_back("NOTDEFINED");
+ items.push_back("SURVEY");
+ items.push_back("SYMBOL");
+ items.push_back("TEXT");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcAnnotationTypeEnum_type = new enumeration_type("IfcAnnotationTypeEnum", 48, items);
+ }
+ IFC4X3_ADD2_IfcAreaDensityMeasure_type = new type_declaration("IfcAreaDensityMeasure", 58, new simple_type(simple_type::real_type));
+ IFC4X3_ADD2_IfcAreaMeasure_type = new type_declaration("IfcAreaMeasure", 59, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("ADD");
+ items.push_back("DIVIDE");
+ items.push_back("MODULO");
+ items.push_back("MULTIPLY");
+ items.push_back("SUBTRACT");
+ IFC4X3_ADD2_IfcArithmeticOperatorEnum_type = new enumeration_type("IfcArithmeticOperatorEnum", 60, items);
+ }
+ {
+ std::vector items; items.reserve(3);
+ items.push_back("FACTORY");
+ items.push_back("NOTDEFINED");
+ items.push_back("SITE");
+ IFC4X3_ADD2_IfcAssemblyPlaceEnum_type = new enumeration_type("IfcAssemblyPlaceEnum", 61, items);
+ }
+ {
+ std::vector items; items.reserve(15);
+ items.push_back("AMPLIFIER");
+ items.push_back("CAMERA");
+ items.push_back("COMMUNICATIONTERMINAL");
+ items.push_back("DISPLAY");
+ items.push_back("MICROPHONE");
+ items.push_back("NOTDEFINED");
+ items.push_back("PLAYER");
+ items.push_back("PROJECTOR");
+ items.push_back("RECEIVER");
+ items.push_back("RECORDINGEQUIPMENT");
+ items.push_back("SPEAKER");
+ items.push_back("SWITCHER");
+ items.push_back("TELEPHONE");
+ items.push_back("TUNER");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcAudioVisualApplianceTypeEnum_type = new enumeration_type("IfcAudioVisualApplianceTypeEnum", 66, items);
+ }
+ {
+ std::vector items; items.reserve(6);
+ items.push_back("CIRCULAR_ARC");
+ items.push_back("ELLIPTIC_ARC");
+ items.push_back("HYPERBOLIC_ARC");
+ items.push_back("PARABOLIC_ARC");
+ items.push_back("POLYLINE_FORM");
+ items.push_back("UNSPECIFIED");
+ IFC4X3_ADD2_IfcBSplineCurveForm_type = new enumeration_type("IfcBSplineCurveForm", 108, items);
+ }
+ {
+ std::vector items; items.reserve(11);
+ items.push_back("CONICAL_SURF");
+ items.push_back("CYLINDRICAL_SURF");
+ items.push_back("GENERALISED_CONE");
+ items.push_back("PLANE_SURF");
+ items.push_back("QUADRIC_SURF");
+ items.push_back("RULED_SURF");
+ items.push_back("SPHERICAL_SURF");
+ items.push_back("SURF_OF_LINEAR_EXTRUSION");
+ items.push_back("SURF_OF_REVOLUTION");
+ items.push_back("TOROIDAL_SURF");
+ items.push_back("UNSPECIFIED");
+ IFC4X3_ADD2_IfcBSplineSurfaceForm_type = new enumeration_type("IfcBSplineSurfaceForm", 111, items);
+ }
+ {
+ std::vector items; items.reserve(14);
+ items.push_back("BEAM");
+ items.push_back("CORNICE");
+ items.push_back("DIAPHRAGM");
+ items.push_back("EDGEBEAM");
+ items.push_back("GIRDER_SEGMENT");
+ items.push_back("HATSTONE");
+ items.push_back("HOLLOWCORE");
+ items.push_back("JOIST");
+ items.push_back("LINTEL");
+ items.push_back("NOTDEFINED");
+ items.push_back("PIERCAP");
+ items.push_back("SPANDREL");
+ items.push_back("T_BEAM");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcBeamTypeEnum_type = new enumeration_type("IfcBeamTypeEnum", 74, items);
+ }
+ {
+ std::vector items; items.reserve(10);
+ items.push_back("CYLINDRICAL");
+ items.push_back("DISK");
+ items.push_back("ELASTOMERIC");
+ items.push_back("GUIDE");
+ items.push_back("NOTDEFINED");
+ items.push_back("POT");
+ items.push_back("ROCKER");
+ items.push_back("ROLLER");
+ items.push_back("SPHERICAL");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcBearingTypeEnum_type = new enumeration_type("IfcBearingTypeEnum", 77, items);
+ }
+ {
+ std::vector items; items.reserve(10);
+ items.push_back("EQUALTO");
+ items.push_back("GREATERTHAN");
+ items.push_back("GREATERTHANOREQUALTO");
+ items.push_back("INCLUDEDIN");
+ items.push_back("INCLUDES");
+ items.push_back("LESSTHAN");
+ items.push_back("LESSTHANOREQUALTO");
+ items.push_back("NOTEQUALTO");
+ items.push_back("NOTINCLUDEDIN");
+ items.push_back("NOTINCLUDES");
+ IFC4X3_ADD2_IfcBenchmarkEnum_type = new enumeration_type("IfcBenchmarkEnum", 78, items);
+ }
+ IFC4X3_ADD2_IfcBinary_type = new type_declaration("IfcBinary", 80, new simple_type(simple_type::binary_type));
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("NOTDEFINED");
+ items.push_back("STEAM");
+ items.push_back("USERDEFINED");
+ items.push_back("WATER");
+ IFC4X3_ADD2_IfcBoilerTypeEnum_type = new enumeration_type("IfcBoilerTypeEnum", 85, items);
+ }
+ IFC4X3_ADD2_IfcBoolean_type = new type_declaration("IfcBoolean", 86, new simple_type(simple_type::boolean_type));
+ {
+ std::vector items; items.reserve(3);
+ items.push_back("DIFFERENCE");
+ items.push_back("INTERSECTION");
+ items.push_back("UNION");
+ IFC4X3_ADD2_IfcBooleanOperator_type = new enumeration_type("IfcBooleanOperator", 89, items);
+ }
+ {
+ std::vector items; items.reserve(12);
+ items.push_back("ABUTMENT");
+ items.push_back("DECK");
+ items.push_back("DECK_SEGMENT");
+ items.push_back("FOUNDATION");
+ items.push_back("NOTDEFINED");
+ items.push_back("PIER");
+ items.push_back("PIER_SEGMENT");
+ items.push_back("PYLON");
+ items.push_back("SUBSTRUCTURE");
+ items.push_back("SUPERSTRUCTURE");
+ items.push_back("SURFACESTRUCTURE");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcBridgePartTypeEnum_type = new enumeration_type("IfcBridgePartTypeEnum", 105, items);
+ }
+ {
+ std::vector items; items.reserve(10);
+ items.push_back("ARCHED");
+ items.push_back("CABLE_STAYED");
+ items.push_back("CANTILEVER");
+ items.push_back("CULVERT");
+ items.push_back("FRAMEWORK");
+ items.push_back("GIRDER");
+ items.push_back("NOTDEFINED");
+ items.push_back("SUSPENSION");
+ items.push_back("TRUSS");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcBridgeTypeEnum_type = new enumeration_type("IfcBridgeTypeEnum", 106, items);
+ }
+ {
+ std::vector items; items.reserve(7);
+ items.push_back("APRON");
+ items.push_back("ARMOURUNIT");
+ items.push_back("INSULATION");
+ items.push_back("NOTDEFINED");
+ items.push_back("PRECASTPANEL");
+ items.push_back("SAFETYCAGE");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcBuildingElementPartTypeEnum_type = new enumeration_type("IfcBuildingElementPartTypeEnum", 116, items);
+ }
+ {
+ std::vector items; items.reserve(7);
+ items.push_back("COMPLEX");
+ items.push_back("ELEMENT");
+ items.push_back("NOTDEFINED");
+ items.push_back("PARTIAL");
+ items.push_back("PROVISIONFORSPACE");
+ items.push_back("PROVISIONFORVOID");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcBuildingElementProxyTypeEnum_type = new enumeration_type("IfcBuildingElementProxyTypeEnum", 119, items);
+ }
+ {
+ std::vector items; items.reserve(8);
+ items.push_back("FENESTRATION");
+ items.push_back("FOUNDATION");
+ items.push_back("LOADBEARING");
+ items.push_back("NOTDEFINED");
+ items.push_back("OUTERSHELL");
+ items.push_back("SHADING");
+ items.push_back("TRANSPORT");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcBuildingSystemTypeEnum_type = new enumeration_type("IfcBuildingSystemTypeEnum", 122, items);
+ }
+ {
+ std::vector items; items.reserve(15);
+ items.push_back("EROSIONPREVENTION");
+ items.push_back("FENESTRATION");
+ items.push_back("FOUNDATION");
+ items.push_back("LOADBEARING");
+ items.push_back("MOORING");
+ items.push_back("NOTDEFINED");
+ items.push_back("OUTERSHELL");
+ items.push_back("PRESTRESSING");
+ items.push_back("RAILWAYLINE");
+ items.push_back("RAILWAYTRACK");
+ items.push_back("REINFORCING");
+ items.push_back("SHADING");
+ items.push_back("TRACKCIRCUIT");
+ items.push_back("TRANSPORT");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcBuiltSystemTypeEnum_type = new enumeration_type("IfcBuiltSystemTypeEnum", 126, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcBurnerTypeEnum_type = new enumeration_type("IfcBurnerTypeEnum", 129, items);
+ }
+ {
+ std::vector items; items.reserve(9);
+ items.push_back("BEND");
+ items.push_back("CONNECTOR");
+ items.push_back("CROSS");
+ items.push_back("JUNCTION");
+ items.push_back("NOTDEFINED");
+ items.push_back("REDUCER");
+ items.push_back("TEE");
+ items.push_back("TRANSITION");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcCableCarrierFittingTypeEnum_type = new enumeration_type("IfcCableCarrierFittingTypeEnum", 132, items);
+ }
+ {
+ std::vector items; items.reserve(9);
+ items.push_back("CABLEBRACKET");
+ items.push_back("CABLELADDERSEGMENT");
+ items.push_back("CABLETRAYSEGMENT");
+ items.push_back("CABLETRUNKINGSEGMENT");
+ items.push_back("CATENARYWIRE");
+ items.push_back("CONDUITSEGMENT");
+ items.push_back("DROPPER");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcCableCarrierSegmentTypeEnum_type = new enumeration_type("IfcCableCarrierSegmentTypeEnum", 135, items);
+ }
+ {
+ std::vector items; items.reserve(8);
+ items.push_back("CONNECTOR");
+ items.push_back("ENTRY");
+ items.push_back("EXIT");
+ items.push_back("FANOUT");
+ items.push_back("JUNCTION");
+ items.push_back("NOTDEFINED");
+ items.push_back("TRANSITION");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcCableFittingTypeEnum_type = new enumeration_type("IfcCableFittingTypeEnum", 138, items);
+ }
+ {
+ std::vector items; items.reserve(12);
+ items.push_back("BUSBARSEGMENT");
+ items.push_back("CABLESEGMENT");
+ items.push_back("CONDUCTORSEGMENT");
+ items.push_back("CONTACTWIRESEGMENT");
+ items.push_back("CORESEGMENT");
+ items.push_back("FIBERSEGMENT");
+ items.push_back("FIBERTUBE");
+ items.push_back("NOTDEFINED");
+ items.push_back("OPTICALCABLESEGMENT");
+ items.push_back("STITCHWIRE");
+ items.push_back("USERDEFINED");
+ items.push_back("WIREPAIRSEGMENT");
+ IFC4X3_ADD2_IfcCableSegmentTypeEnum_type = new enumeration_type("IfcCableSegmentTypeEnum", 141, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("CAISSON");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ items.push_back("WELL");
+ IFC4X3_ADD2_IfcCaissonFoundationTypeEnum_type = new enumeration_type("IfcCaissonFoundationTypeEnum", 144, items);
+ }
+ IFC4X3_ADD2_IfcCardinalPointReference_type = new type_declaration("IfcCardinalPointReference", 145, new simple_type(simple_type::integer_type));
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("ADDED");
+ items.push_back("DELETED");
+ items.push_back("MODIFIED");
+ items.push_back("NOCHANGE");
+ items.push_back("NOTDEFINED");
+ IFC4X3_ADD2_IfcChangeActionEnum_type = new enumeration_type("IfcChangeActionEnum", 156, items);
+ }
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("AIRCOOLED");
+ items.push_back("HEATRECOVERY");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ items.push_back("WATERCOOLED");
+ IFC4X3_ADD2_IfcChillerTypeEnum_type = new enumeration_type("IfcChillerTypeEnum", 159, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcChimneyTypeEnum_type = new enumeration_type("IfcChimneyTypeEnum", 162, items);
+ }
+ {
+ std::vector items; items.reserve(9);
+ items.push_back("DXCOOLINGCOIL");
+ items.push_back("ELECTRICHEATINGCOIL");
+ items.push_back("GASHEATINGCOIL");
+ items.push_back("HYDRONICCOIL");
+ items.push_back("NOTDEFINED");
+ items.push_back("STEAMHEATINGCOIL");
+ items.push_back("USERDEFINED");
+ items.push_back("WATERCOOLINGCOIL");
+ items.push_back("WATERHEATINGCOIL");
+ IFC4X3_ADD2_IfcCoilTypeEnum_type = new enumeration_type("IfcCoilTypeEnum", 176, items);
+ }
+ {
+ std::vector items; items.reserve(7);
+ items.push_back("COLUMN");
+ items.push_back("NOTDEFINED");
+ items.push_back("PIERSTEM");
+ items.push_back("PIERSTEM_SEGMENT");
+ items.push_back("PILASTER");
+ items.push_back("STANDCOLUMN");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcColumnTypeEnum_type = new enumeration_type("IfcColumnTypeEnum", 184, items);
+ }
+ {
+ std::vector items; items.reserve(26);
+ items.push_back("ANTENNA");
+ items.push_back("AUTOMATON");
+ items.push_back("COMPUTER");
+ items.push_back("FAX");
+ items.push_back("GATEWAY");
+ items.push_back("INTELLIGENTPERIPHERAL");
+ items.push_back("IPNETWORKEQUIPMENT");
+ items.push_back("LINESIDEELECTRONICUNIT");
+ items.push_back("MODEM");
+ items.push_back("NETWORKAPPLIANCE");
+ items.push_back("NETWORKBRIDGE");
+ items.push_back("NETWORKHUB");
+ items.push_back("NOTDEFINED");
+ items.push_back("OPTICALLINETERMINAL");
+ items.push_back("OPTICALNETWORKUNIT");
+ items.push_back("PRINTER");
+ items.push_back("RADIOBLOCKCENTER");
+ items.push_back("REPEATER");
+ items.push_back("ROUTER");
+ items.push_back("SCANNER");
+ items.push_back("TELECOMMAND");
+ items.push_back("TELEPHONYEXCHANGE");
+ items.push_back("TRANSITIONCOMPONENT");
+ items.push_back("TRANSPONDER");
+ items.push_back("TRANSPORTEQUIPMENT");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcCommunicationsApplianceTypeEnum_type = new enumeration_type("IfcCommunicationsApplianceTypeEnum", 187, items);
+ }
+ IFC4X3_ADD2_IfcComplexNumber_type = new type_declaration("IfcComplexNumber", 188, new aggregation_type(aggregation_type::array_type, 1, 2, new simple_type(simple_type::real_type)));
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("P_COMPLEX");
+ items.push_back("Q_COMPLEX");
+ IFC4X3_ADD2_IfcComplexPropertyTemplateTypeEnum_type = new enumeration_type("IfcComplexPropertyTemplateTypeEnum", 191, items);
+ }
+ IFC4X3_ADD2_IfcCompoundPlaneAngleMeasure_type = new type_declaration("IfcCompoundPlaneAngleMeasure", 196, new aggregation_type(aggregation_type::list_type, 3, 4, new simple_type(simple_type::integer_type)));
+ {
+ std::vector items; items.reserve(17);
+ items.push_back("BOOSTER");
+ items.push_back("DYNAMIC");
+ items.push_back("HERMETIC");
+ items.push_back("NOTDEFINED");
+ items.push_back("OPENTYPE");
+ items.push_back("RECIPROCATING");
+ items.push_back("ROLLINGPISTON");
+ items.push_back("ROTARY");
+ items.push_back("ROTARYVANE");
+ items.push_back("SCROLL");
+ items.push_back("SEMIHERMETIC");
+ items.push_back("SINGLESCREW");
+ items.push_back("SINGLESTAGE");
+ items.push_back("TROCHOIDAL");
+ items.push_back("TWINSCREW");
+ items.push_back("USERDEFINED");
+ items.push_back("WELDEDSHELLHERMETIC");
+ IFC4X3_ADD2_IfcCompressorTypeEnum_type = new enumeration_type("IfcCompressorTypeEnum", 199, items);
+ }
+ {
+ std::vector items; items.reserve(9);
+ items.push_back("AIRCOOLED");
+ items.push_back("EVAPORATIVECOOLED");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ items.push_back("WATERCOOLED");
+ items.push_back("WATERCOOLEDBRAZEDPLATE");
+ items.push_back("WATERCOOLEDSHELLCOIL");
+ items.push_back("WATERCOOLEDSHELLTUBE");
+ items.push_back("WATERCOOLEDTUBEINTUBE");
+ IFC4X3_ADD2_IfcCondenserTypeEnum_type = new enumeration_type("IfcCondenserTypeEnum", 202, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("ATEND");
+ items.push_back("ATPATH");
+ items.push_back("ATSTART");
+ items.push_back("NOTDEFINED");
+ IFC4X3_ADD2_IfcConnectionTypeEnum_type = new enumeration_type("IfcConnectionTypeEnum", 210, items);
+ }
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("ADVISORY");
+ items.push_back("HARD");
+ items.push_back("NOTDEFINED");
+ items.push_back("SOFT");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcConstraintEnum_type = new enumeration_type("IfcConstraintEnum", 213, items);
+ }
+ {
+ std::vector items; items.reserve(10);
+ items.push_back("DEMOLISHING");
+ items.push_back("EARTHMOVING");
+ items.push_back("ERECTING");
+ items.push_back("HEATING");
+ items.push_back("LIGHTING");
+ items.push_back("NOTDEFINED");
+ items.push_back("PAVING");
+ items.push_back("PUMPING");
+ items.push_back("TRANSPORTING");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcConstructionEquipmentResourceTypeEnum_type = new enumeration_type("IfcConstructionEquipmentResourceTypeEnum", 216, items);
+ }
+ {
+ std::vector items; items.reserve(11);
+ items.push_back("AGGREGATES");
+ items.push_back("CONCRETE");
+ items.push_back("DRYWALL");
+ items.push_back("FUEL");
+ items.push_back("GYPSUM");
+ items.push_back("MASONRY");
+ items.push_back("METAL");
+ items.push_back("NOTDEFINED");
+ items.push_back("PLASTIC");
+ items.push_back("USERDEFINED");
+ items.push_back("WOOD");
+ IFC4X3_ADD2_IfcConstructionMaterialResourceTypeEnum_type = new enumeration_type("IfcConstructionMaterialResourceTypeEnum", 219, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("ASSEMBLY");
+ items.push_back("FORMWORK");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcConstructionProductResourceTypeEnum_type = new enumeration_type("IfcConstructionProductResourceTypeEnum", 222, items);
+ }
+ IFC4X3_ADD2_IfcContextDependentMeasure_type = new type_declaration("IfcContextDependentMeasure", 226, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(7);
+ items.push_back("FLOATING");
+ items.push_back("MULTIPOSITION");
+ items.push_back("NOTDEFINED");
+ items.push_back("PROGRAMMABLE");
+ items.push_back("PROPORTIONAL");
+ items.push_back("TWOPOSITION");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcControllerTypeEnum_type = new enumeration_type("IfcControllerTypeEnum", 231, items);
+ }
+ {
+ std::vector items; items.reserve(6);
+ items.push_back("BELTCONVEYOR");
+ items.push_back("BUCKETCONVEYOR");
+ items.push_back("CHUTECONVEYOR");
+ items.push_back("NOTDEFINED");
+ items.push_back("SCREWCONVEYOR");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcConveyorSegmentTypeEnum_type = new enumeration_type("IfcConveyorSegmentTypeEnum", 236, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("ACTIVE");
+ items.push_back("NOTDEFINED");
+ items.push_back("PASSIVE");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcCooledBeamTypeEnum_type = new enumeration_type("IfcCooledBeamTypeEnum", 239, items);
+ }
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("MECHANICALFORCEDDRAFT");
+ items.push_back("MECHANICALINDUCEDDRAFT");
+ items.push_back("NATURALDRAFT");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcCoolingTowerTypeEnum_type = new enumeration_type("IfcCoolingTowerTypeEnum", 242, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcCostItemTypeEnum_type = new enumeration_type("IfcCostItemTypeEnum", 248, items);
+ }
+ {
+ std::vector items; items.reserve(9);
+ items.push_back("BUDGET");
+ items.push_back("COSTPLAN");
+ items.push_back("ESTIMATE");
+ items.push_back("NOTDEFINED");
+ items.push_back("PRICEDBILLOFQUANTITIES");
+ items.push_back("SCHEDULEOFRATES");
+ items.push_back("TENDER");
+ items.push_back("UNPRICEDBILLOFQUANTITIES");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcCostScheduleTypeEnum_type = new enumeration_type("IfcCostScheduleTypeEnum", 250, items);
+ }
+ IFC4X3_ADD2_IfcCountMeasure_type = new type_declaration("IfcCountMeasure", 252, new simple_type(simple_type::integer_type));
+ {
+ std::vector items; items.reserve(8);
+ items.push_back("ARMOUR");
+ items.push_back("BALLASTBED");
+ items.push_back("CORE");
+ items.push_back("FILTER");
+ items.push_back("NOTDEFINED");
+ items.push_back("PAVEMENT");
+ items.push_back("PROTECTION");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcCourseTypeEnum_type = new enumeration_type("IfcCourseTypeEnum", 255, items);
+ }
+ {
+ std::vector items; items.reserve(14);
+ items.push_back("CEILING");
+ items.push_back("CLADDING");
+ items.push_back("COPING");
+ items.push_back("FLOORING");
+ items.push_back("INSULATION");
+ items.push_back("MEMBRANE");
+ items.push_back("MOLDING");
+ items.push_back("NOTDEFINED");
+ items.push_back("ROOFING");
+ items.push_back("SKIRTINGBOARD");
+ items.push_back("SLEEVING");
+ items.push_back("TOPPING");
+ items.push_back("USERDEFINED");
+ items.push_back("WRAPPING");
+ IFC4X3_ADD2_IfcCoveringTypeEnum_type = new enumeration_type("IfcCoveringTypeEnum", 258, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("NOTDEFINED");
+ items.push_back("OFFICE");
+ items.push_back("SITE");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcCrewResourceTypeEnum_type = new enumeration_type("IfcCrewResourceTypeEnum", 261, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcCurtainWallTypeEnum_type = new enumeration_type("IfcCurtainWallTypeEnum", 269, items);
+ }
+ IFC4X3_ADD2_IfcCurvatureMeasure_type = new type_declaration("IfcCurvatureMeasure", 270, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("LINEAR");
+ items.push_back("LOG_LINEAR");
+ items.push_back("LOG_LOG");
+ items.push_back("NOTDEFINED");
+ IFC4X3_ADD2_IfcCurveInterpolationEnum_type = new enumeration_type("IfcCurveInterpolationEnum", 275, items);
+ }
+ {
+ std::vector items; items.reserve(13);
+ items.push_back("BACKDRAFTDAMPER");
+ items.push_back("BALANCINGDAMPER");
+ items.push_back("BLASTDAMPER");
+ items.push_back("CONTROLDAMPER");
+ items.push_back("FIREDAMPER");
+ items.push_back("FIRESMOKEDAMPER");
+ items.push_back("FUMEHOODEXHAUST");
+ items.push_back("GRAVITYDAMPER");
+ items.push_back("GRAVITYRELIEFDAMPER");
+ items.push_back("NOTDEFINED");
+ items.push_back("RELIEFDAMPER");
+ items.push_back("SMOKEDAMPER");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcDamperTypeEnum_type = new enumeration_type("IfcDamperTypeEnum", 288, items);
+ }
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("MEASURED");
+ items.push_back("NOTDEFINED");
+ items.push_back("PREDICTED");
+ items.push_back("SIMULATED");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcDataOriginEnum_type = new enumeration_type("IfcDataOriginEnum", 289, items);
+ }
+ IFC4X3_ADD2_IfcDate_type = new type_declaration("IfcDate", 290, new simple_type(simple_type::string_type));
+ IFC4X3_ADD2_IfcDateTime_type = new type_declaration("IfcDateTime", 291, new simple_type(simple_type::string_type));
+ IFC4X3_ADD2_IfcDayInMonthNumber_type = new type_declaration("IfcDayInMonthNumber", 292, new simple_type(simple_type::integer_type));
+ IFC4X3_ADD2_IfcDayInWeekNumber_type = new type_declaration("IfcDayInWeekNumber", 293, new simple_type(simple_type::integer_type));
+ {
+ std::vector items; items.reserve(53);
+ items.push_back("ACCELERATIONUNIT");
+ items.push_back("ANGULARVELOCITYUNIT");
+ items.push_back("AREADENSITYUNIT");
+ items.push_back("COMPOUNDPLANEANGLEUNIT");
+ items.push_back("CURVATUREUNIT");
+ items.push_back("DYNAMICVISCOSITYUNIT");
+ items.push_back("HEATFLUXDENSITYUNIT");
+ items.push_back("HEATINGVALUEUNIT");
+ items.push_back("INTEGERCOUNTRATEUNIT");
+ items.push_back("IONCONCENTRATIONUNIT");
+ items.push_back("ISOTHERMALMOISTURECAPACITYUNIT");
+ items.push_back("KINEMATICVISCOSITYUNIT");
+ items.push_back("LINEARFORCEUNIT");
+ items.push_back("LINEARMOMENTUNIT");
+ items.push_back("LINEARSTIFFNESSUNIT");
+ items.push_back("LINEARVELOCITYUNIT");
+ items.push_back("LUMINOUSINTENSITYDISTRIBUTIONUNIT");
+ items.push_back("MASSDENSITYUNIT");
+ items.push_back("MASSFLOWRATEUNIT");
+ items.push_back("MASSPERLENGTHUNIT");
+ items.push_back("MODULUSOFELASTICITYUNIT");
+ items.push_back("MODULUSOFLINEARSUBGRADEREACTIONUNIT");
+ items.push_back("MODULUSOFROTATIONALSUBGRADEREACTIONUNIT");
+ items.push_back("MODULUSOFSUBGRADEREACTIONUNIT");
+ items.push_back("MOISTUREDIFFUSIVITYUNIT");
+ items.push_back("MOLECULARWEIGHTUNIT");
+ items.push_back("MOMENTOFINERTIAUNIT");
+ items.push_back("PHUNIT");
+ items.push_back("PLANARFORCEUNIT");
+ items.push_back("ROTATIONALFREQUENCYUNIT");
+ items.push_back("ROTATIONALMASSUNIT");
+ items.push_back("ROTATIONALSTIFFNESSUNIT");
+ items.push_back("SECTIONAREAINTEGRALUNIT");
+ items.push_back("SECTIONMODULUSUNIT");
+ items.push_back("SHEARMODULUSUNIT");
+ items.push_back("SOUNDPOWERLEVELUNIT");
+ items.push_back("SOUNDPOWERUNIT");
+ items.push_back("SOUNDPRESSURELEVELUNIT");
+ items.push_back("SOUNDPRESSUREUNIT");
+ items.push_back("SPECIFICHEATCAPACITYUNIT");
+ items.push_back("TEMPERATUREGRADIENTUNIT");
+ items.push_back("TEMPERATURERATEOFCHANGEUNIT");
+ items.push_back("THERMALADMITTANCEUNIT");
+ items.push_back("THERMALCONDUCTANCEUNIT");
+ items.push_back("THERMALEXPANSIONCOEFFICIENTUNIT");
+ items.push_back("THERMALRESISTANCEUNIT");
+ items.push_back("THERMALTRANSMITTANCEUNIT");
+ items.push_back("TORQUEUNIT");
+ items.push_back("USERDEFINED");
+ items.push_back("VAPORPERMEABILITYUNIT");
+ items.push_back("VOLUMETRICFLOWRATEUNIT");
+ items.push_back("WARPINGCONSTANTUNIT");
+ items.push_back("WARPINGMOMENTUNIT");
+ IFC4X3_ADD2_IfcDerivedUnitEnum_type = new enumeration_type("IfcDerivedUnitEnum", 301, items);
+ }
+ IFC4X3_ADD2_IfcDescriptiveMeasure_type = new type_declaration("IfcDescriptiveMeasure", 302, new simple_type(simple_type::string_type));
+ IFC4X3_ADD2_IfcDimensionCount_type = new type_declaration("IfcDimensionCount", 304, new simple_type(simple_type::integer_type));
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("NEGATIVE");
+ items.push_back("POSITIVE");
+ IFC4X3_ADD2_IfcDirectionSenseEnum_type = new enumeration_type("IfcDirectionSenseEnum", 306, items);
+ }
+ {
+ std::vector items; items.reserve(23);
+ items.push_back("ANCHORPLATE");
+ items.push_back("BIRDPROTECTION");
+ items.push_back("BRACKET");
+ items.push_back("CABLEARRANGER");
+ items.push_back("ELASTIC_CUSHION");
+ items.push_back("EXPANSION_JOINT_DEVICE");
+ items.push_back("FILLER");
+ items.push_back("FLASHING");
+ items.push_back("INSULATOR");
+ items.push_back("LOCK");
+ items.push_back("NOTDEFINED");
+ items.push_back("PANEL_STRENGTHENING");
+ items.push_back("POINTMACHINEMOUNTINGDEVICE");
+ items.push_back("POINT_MACHINE_LOCKING_DEVICE");
+ items.push_back("RAILBRACE");
+ items.push_back("RAILPAD");
+ items.push_back("RAIL_LUBRICATION");
+ items.push_back("RAIL_MECHANICAL_EQUIPMENT");
+ items.push_back("SHOE");
+ items.push_back("SLIDINGCHAIR");
+ items.push_back("SOUNDABSORPTION");
+ items.push_back("TENSIONINGEQUIPMENT");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcDiscreteAccessoryTypeEnum_type = new enumeration_type("IfcDiscreteAccessoryTypeEnum", 311, items);
+ }
+ {
+ std::vector items; items.reserve(8);
+ items.push_back("CONSUMERUNIT");
+ items.push_back("DISPATCHINGBOARD");
+ items.push_back("DISTRIBUTIONBOARD");
+ items.push_back("DISTRIBUTIONFRAME");
+ items.push_back("MOTORCONTROLCENTRE");
+ items.push_back("NOTDEFINED");
+ items.push_back("SWITCHBOARD");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcDistributionBoardTypeEnum_type = new enumeration_type("IfcDistributionBoardTypeEnum", 314, items);
+ }
+ {
+ std::vector items; items.reserve(10);
+ items.push_back("FORMEDDUCT");
+ items.push_back("INSPECTIONCHAMBER");
+ items.push_back("INSPECTIONPIT");
+ items.push_back("MANHOLE");
+ items.push_back("METERCHAMBER");
+ items.push_back("NOTDEFINED");
+ items.push_back("SUMP");
+ items.push_back("TRENCH");
+ items.push_back("USERDEFINED");
+ items.push_back("VALVECHAMBER");
+ IFC4X3_ADD2_IfcDistributionChamberElementTypeEnum_type = new enumeration_type("IfcDistributionChamberElementTypeEnum", 317, items);
+ }
+ {
+ std::vector items; items.reserve(7);
+ items.push_back("CABLE");
+ items.push_back("CABLECARRIER");
+ items.push_back("DUCT");
+ items.push_back("NOTDEFINED");
+ items.push_back("PIPE");
+ items.push_back("USERDEFINED");
+ items.push_back("WIRELESS");
+ IFC4X3_ADD2_IfcDistributionPortTypeEnum_type = new enumeration_type("IfcDistributionPortTypeEnum", 326, items);
+ }
+ {
+ std::vector items; items.reserve(51);
+ items.push_back("AIRCONDITIONING");
+ items.push_back("AUDIOVISUAL");
+ items.push_back("CATENARY_SYSTEM");
+ items.push_back("CHEMICAL");
+ items.push_back("CHILLEDWATER");
+ items.push_back("COMMUNICATION");
+ items.push_back("COMPRESSEDAIR");
+ items.push_back("CONDENSERWATER");
+ items.push_back("CONTROL");
+ items.push_back("CONVEYING");
+ items.push_back("DATA");
+ items.push_back("DISPOSAL");
+ items.push_back("DOMESTICCOLDWATER");
+ items.push_back("DOMESTICHOTWATER");
+ items.push_back("DRAINAGE");
+ items.push_back("EARTHING");
+ items.push_back("ELECTRICAL");
+ items.push_back("ELECTROACOUSTIC");
+ items.push_back("EXHAUST");
+ items.push_back("FIREPROTECTION");
+ items.push_back("FIXEDTRANSMISSIONNETWORK");
+ items.push_back("FUEL");
+ items.push_back("GAS");
+ items.push_back("HAZARDOUS");
+ items.push_back("HEATING");
+ items.push_back("LIGHTING");
+ items.push_back("LIGHTNINGPROTECTION");
+ items.push_back("MOBILENETWORK");
+ items.push_back("MONITORINGSYSTEM");
+ items.push_back("MUNICIPALSOLIDWASTE");
+ items.push_back("NOTDEFINED");
+ items.push_back("OIL");
+ items.push_back("OPERATIONAL");
+ items.push_back("OPERATIONALTELEPHONYSYSTEM");
+ items.push_back("OVERHEAD_CONTACTLINE_SYSTEM");
+ items.push_back("POWERGENERATION");
+ items.push_back("RAINWATER");
+ items.push_back("REFRIGERATION");
+ items.push_back("RETURN_CIRCUIT");
+ items.push_back("SECURITY");
+ items.push_back("SEWAGE");
+ items.push_back("SIGNAL");
+ items.push_back("STORMWATER");
+ items.push_back("TELEPHONE");
+ items.push_back("TV");
+ items.push_back("USERDEFINED");
+ items.push_back("VACUUM");
+ items.push_back("VENT");
+ items.push_back("VENTILATION");
+ items.push_back("WASTEWATER");
+ items.push_back("WATERSUPPLY");
+ IFC4X3_ADD2_IfcDistributionSystemEnum_type = new enumeration_type("IfcDistributionSystemEnum", 328, items);
+ }
+ {
+ std::vector items; items.reserve(6);
+ items.push_back("CONFIDENTIAL");
+ items.push_back("NOTDEFINED");
+ items.push_back("PERSONAL");
+ items.push_back("PUBLIC");
+ items.push_back("RESTRICTED");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcDocumentConfidentialityEnum_type = new enumeration_type("IfcDocumentConfidentialityEnum", 329, items);
+ }
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("DRAFT");
+ items.push_back("FINAL");
+ items.push_back("FINALDRAFT");
+ items.push_back("NOTDEFINED");
+ items.push_back("REVISION");
+ IFC4X3_ADD2_IfcDocumentStatusEnum_type = new enumeration_type("IfcDocumentStatusEnum", 334, items);
+ }
+ {
+ std::vector items; items.reserve(9);
+ items.push_back("DOUBLE_ACTING");
+ items.push_back("FIXEDPANEL");
+ items.push_back("FOLDING");
+ items.push_back("NOTDEFINED");
+ items.push_back("REVOLVING");
+ items.push_back("ROLLINGUP");
+ items.push_back("SLIDING");
+ items.push_back("SWINGING");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcDoorPanelOperationEnum_type = new enumeration_type("IfcDoorPanelOperationEnum", 337, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("LEFT");
+ items.push_back("MIDDLE");
+ items.push_back("NOTDEFINED");
+ items.push_back("RIGHT");
+ IFC4X3_ADD2_IfcDoorPanelPositionEnum_type = new enumeration_type("IfcDoorPanelPositionEnum", 338, items);
+ }
+ {
+ std::vector items; items.reserve(7);
+ items.push_back("BOOM_BARRIER");
+ items.push_back("DOOR");
+ items.push_back("GATE");
+ items.push_back("NOTDEFINED");
+ items.push_back("TRAPDOOR");
+ items.push_back("TURNSTILE");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcDoorTypeEnum_type = new enumeration_type("IfcDoorTypeEnum", 341, items);
+ }
+ {
+ std::vector items; items.reserve(25);
+ items.push_back("DOUBLE_DOOR_DOUBLE_SWING");
+ items.push_back("DOUBLE_DOOR_FOLDING");
+ items.push_back("DOUBLE_DOOR_LIFTING_VERTICAL");
+ items.push_back("DOUBLE_DOOR_SINGLE_SWING");
+ items.push_back("DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT");
+ items.push_back("DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT");
+ items.push_back("DOUBLE_DOOR_SLIDING");
+ items.push_back("DOUBLE_SWING_LEFT");
+ items.push_back("DOUBLE_SWING_RIGHT");
+ items.push_back("FOLDING_TO_LEFT");
+ items.push_back("FOLDING_TO_RIGHT");
+ items.push_back("LIFTING_HORIZONTAL");
+ items.push_back("LIFTING_VERTICAL_LEFT");
+ items.push_back("LIFTING_VERTICAL_RIGHT");
+ items.push_back("NOTDEFINED");
+ items.push_back("REVOLVING");
+ items.push_back("REVOLVING_VERTICAL");
+ items.push_back("ROLLINGUP");
+ items.push_back("SINGLE_SWING_LEFT");
+ items.push_back("SINGLE_SWING_RIGHT");
+ items.push_back("SLIDING_TO_LEFT");
+ items.push_back("SLIDING_TO_RIGHT");
+ items.push_back("SWING_FIXED_LEFT");
+ items.push_back("SWING_FIXED_RIGHT");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcDoorTypeOperationEnum_type = new enumeration_type("IfcDoorTypeOperationEnum", 342, items);
+ }
+ IFC4X3_ADD2_IfcDoseEquivalentMeasure_type = new type_declaration("IfcDoseEquivalentMeasure", 343, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(9);
+ items.push_back("BEND");
+ items.push_back("CONNECTOR");
+ items.push_back("ENTRY");
+ items.push_back("EXIT");
+ items.push_back("JUNCTION");
+ items.push_back("NOTDEFINED");
+ items.push_back("OBSTRUCTION");
+ items.push_back("TRANSITION");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcDuctFittingTypeEnum_type = new enumeration_type("IfcDuctFittingTypeEnum", 348, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("FLEXIBLESEGMENT");
+ items.push_back("NOTDEFINED");
+ items.push_back("RIGIDSEGMENT");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcDuctSegmentTypeEnum_type = new enumeration_type("IfcDuctSegmentTypeEnum", 351, items);
+ }
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("FLATOVAL");
+ items.push_back("NOTDEFINED");
+ items.push_back("RECTANGULAR");
+ items.push_back("ROUND");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcDuctSilencerTypeEnum_type = new enumeration_type("IfcDuctSilencerTypeEnum", 354, items);
+ }
+ IFC4X3_ADD2_IfcDuration_type = new type_declaration("IfcDuration", 355, new simple_type(simple_type::string_type));
+ IFC4X3_ADD2_IfcDynamicViscosityMeasure_type = new type_declaration("IfcDynamicViscosityMeasure", 356, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(11);
+ items.push_back("BASE_EXCAVATION");
+ items.push_back("CUT");
+ items.push_back("DREDGING");
+ items.push_back("EXCAVATION");
+ items.push_back("NOTDEFINED");
+ items.push_back("OVEREXCAVATION");
+ items.push_back("PAVEMENTMILLING");
+ items.push_back("STEPEXCAVATION");
+ items.push_back("TOPSOILREMOVAL");
+ items.push_back("TRENCH");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcEarthworksCutTypeEnum_type = new enumeration_type("IfcEarthworksCutTypeEnum", 358, items);
+ }
+ {
+ std::vector items; items.reserve(9);
+ items.push_back("BACKFILL");
+ items.push_back("COUNTERWEIGHT");
+ items.push_back("EMBANKMENT");
+ items.push_back("NOTDEFINED");
+ items.push_back("SLOPEFILL");
+ items.push_back("SUBGRADE");
+ items.push_back("SUBGRADEBED");
+ items.push_back("TRANSITIONSECTION");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcEarthworksFillTypeEnum_type = new enumeration_type("IfcEarthworksFillTypeEnum", 361, items);
+ }
+ {
+ std::vector items; items.reserve(18);
+ items.push_back("DISHWASHER");
+ items.push_back("ELECTRICCOOKER");
+ items.push_back("FREESTANDINGELECTRICHEATER");
+ items.push_back("FREESTANDINGFAN");
+ items.push_back("FREESTANDINGWATERCOOLER");
+ items.push_back("FREESTANDINGWATERHEATER");
+ items.push_back("FREEZER");
+ items.push_back("FRIDGE_FREEZER");
+ items.push_back("HANDDRYER");
+ items.push_back("KITCHENMACHINE");
+ items.push_back("MICROWAVE");
+ items.push_back("NOTDEFINED");
+ items.push_back("PHOTOCOPIER");
+ items.push_back("REFRIGERATOR");
+ items.push_back("TUMBLEDRYER");
+ items.push_back("USERDEFINED");
+ items.push_back("VENDINGMACHINE");
+ items.push_back("WASHINGMACHINE");
+ IFC4X3_ADD2_IfcElectricApplianceTypeEnum_type = new enumeration_type("IfcElectricApplianceTypeEnum", 367, items);
+ }
+ IFC4X3_ADD2_IfcElectricCapacitanceMeasure_type = new type_declaration("IfcElectricCapacitanceMeasure", 368, new simple_type(simple_type::real_type));
+ IFC4X3_ADD2_IfcElectricChargeMeasure_type = new type_declaration("IfcElectricChargeMeasure", 369, new simple_type(simple_type::real_type));
+ IFC4X3_ADD2_IfcElectricConductanceMeasure_type = new type_declaration("IfcElectricConductanceMeasure", 370, new simple_type(simple_type::real_type));
+ IFC4X3_ADD2_IfcElectricCurrentMeasure_type = new type_declaration("IfcElectricCurrentMeasure", 371, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(6);
+ items.push_back("CONSUMERUNIT");
+ items.push_back("DISTRIBUTIONBOARD");
+ items.push_back("MOTORCONTROLCENTRE");
+ items.push_back("NOTDEFINED");
+ items.push_back("SWITCHBOARD");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcElectricDistributionBoardTypeEnum_type = new enumeration_type("IfcElectricDistributionBoardTypeEnum", 374, items);
+ }
+ {
+ std::vector items; items.reserve(11);
+ items.push_back("BATTERY");
+ items.push_back("CAPACITOR");
+ items.push_back("CAPACITORBANK");
+ items.push_back("COMPENSATOR");
+ items.push_back("HARMONICFILTER");
+ items.push_back("INDUCTOR");
+ items.push_back("INDUCTORBANK");
+ items.push_back("NOTDEFINED");
+ items.push_back("RECHARGER");
+ items.push_back("UPS");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcElectricFlowStorageDeviceTypeEnum_type = new enumeration_type("IfcElectricFlowStorageDeviceTypeEnum", 377, items);
+ }
+ {
+ std::vector items; items.reserve(3);
+ items.push_back("ELECTRONICFILTER");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcElectricFlowTreatmentDeviceTypeEnum_type = new enumeration_type("IfcElectricFlowTreatmentDeviceTypeEnum", 380, items);
+ }
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("CHP");
+ items.push_back("ENGINEGENERATOR");
+ items.push_back("NOTDEFINED");
+ items.push_back("STANDALONE");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcElectricGeneratorTypeEnum_type = new enumeration_type("IfcElectricGeneratorTypeEnum", 383, items);
+ }
+ {
+ std::vector items; items.reserve(7);
+ items.push_back("DC");
+ items.push_back("INDUCTION");
+ items.push_back("NOTDEFINED");
+ items.push_back("POLYPHASE");
+ items.push_back("RELUCTANCESYNCHRONOUS");
+ items.push_back("SYNCHRONOUS");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcElectricMotorTypeEnum_type = new enumeration_type("IfcElectricMotorTypeEnum", 386, items);
+ }
+ IFC4X3_ADD2_IfcElectricResistanceMeasure_type = new type_declaration("IfcElectricResistanceMeasure", 387, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("NOTDEFINED");
+ items.push_back("RELAY");
+ items.push_back("TIMECLOCK");
+ items.push_back("TIMEDELAY");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcElectricTimeControlTypeEnum_type = new enumeration_type("IfcElectricTimeControlTypeEnum", 390, items);
+ }
+ IFC4X3_ADD2_IfcElectricVoltageMeasure_type = new type_declaration("IfcElectricVoltageMeasure", 391, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(30);
+ items.push_back("ABUTMENT");
+ items.push_back("ACCESSORY_ASSEMBLY");
+ items.push_back("ARCH");
+ items.push_back("BEAM_GRID");
+ items.push_back("BRACED_FRAME");
+ items.push_back("CROSS_BRACING");
+ items.push_back("DECK");
+ items.push_back("DILATATIONPANEL");
+ items.push_back("ENTRANCEWORKS");
+ items.push_back("GIRDER");
+ items.push_back("GRID");
+ items.push_back("MAST");
+ items.push_back("NOTDEFINED");
+ items.push_back("PIER");
+ items.push_back("PYLON");
+ items.push_back("RAIL_MECHANICAL_EQUIPMENT_ASSEMBLY");
+ items.push_back("REINFORCEMENT_UNIT");
+ items.push_back("RIGID_FRAME");
+ items.push_back("SHELTER");
+ items.push_back("SIGNALASSEMBLY");
+ items.push_back("SLAB_FIELD");
+ items.push_back("SUMPBUSTER");
+ items.push_back("SUPPORTINGASSEMBLY");
+ items.push_back("SUSPENSIONASSEMBLY");
+ items.push_back("TRACKPANEL");
+ items.push_back("TRACTION_SWITCHING_ASSEMBLY");
+ items.push_back("TRAFFIC_CALMING_DEVICE");
+ items.push_back("TRUSS");
+ items.push_back("TURNOUTPANEL");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcElementAssemblyTypeEnum_type = new enumeration_type("IfcElementAssemblyTypeEnum", 396, items);
+ }
+ {
+ std::vector items; items.reserve(3);
+ items.push_back("COMPLEX");
+ items.push_back("ELEMENT");
+ items.push_back("PARTIAL");
+ IFC4X3_ADD2_IfcElementCompositionEnum_type = new enumeration_type("IfcElementCompositionEnum", 399, items);
+ }
+ IFC4X3_ADD2_IfcEnergyMeasure_type = new type_declaration("IfcEnergyMeasure", 406, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("EXTERNALCOMBUSTION");
+ items.push_back("INTERNALCOMBUSTION");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcEngineTypeEnum_type = new enumeration_type("IfcEngineTypeEnum", 409, items);
+ }
+ {
+ std::vector items; items.reserve(11);
+ items.push_back("DIRECTEVAPORATIVEAIRWASHER");
+ items.push_back("DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER");
+ items.push_back("DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER");
+ items.push_back("DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER");
+ items.push_back("DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER");
+ items.push_back("INDIRECTDIRECTCOMBINATION");
+ items.push_back("INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER");
+ items.push_back("INDIRECTEVAPORATIVEPACKAGEAIRCOOLER");
+ items.push_back("INDIRECTEVAPORATIVEWETCOIL");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcEvaporativeCoolerTypeEnum_type = new enumeration_type("IfcEvaporativeCoolerTypeEnum", 412, items);
+ }
+ {
+ std::vector items; items.reserve(8);
+ items.push_back("DIRECTEXPANSION");
+ items.push_back("DIRECTEXPANSIONBRAZEDPLATE");
+ items.push_back("DIRECTEXPANSIONSHELLANDTUBE");
+ items.push_back("DIRECTEXPANSIONTUBEINTUBE");
+ items.push_back("FLOODEDSHELLANDTUBE");
+ items.push_back("NOTDEFINED");
+ items.push_back("SHELLANDCOIL");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcEvaporatorTypeEnum_type = new enumeration_type("IfcEvaporatorTypeEnum", 415, items);
+ }
+ {
+ std::vector items; items.reserve(6);
+ items.push_back("EVENTCOMPLEX");
+ items.push_back("EVENTMESSAGE");
+ items.push_back("EVENTRULE");
+ items.push_back("EVENTTIME");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcEventTriggerTypeEnum_type = new enumeration_type("IfcEventTriggerTypeEnum", 418, items);
+ }
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("ENDEVENT");
+ items.push_back("INTERMEDIATEEVENT");
+ items.push_back("NOTDEFINED");
+ items.push_back("STARTEVENT");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcEventTypeEnum_type = new enumeration_type("IfcEventTypeEnum", 420, items);
+ }
+ {
+ std::vector items; items.reserve(6);
+ items.push_back("EXTERNAL");
+ items.push_back("EXTERNAL_EARTH");
+ items.push_back("EXTERNAL_FIRE");
+ items.push_back("EXTERNAL_WATER");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcExternalSpatialElementTypeEnum_type = new enumeration_type("IfcExternalSpatialElementTypeEnum", 429, items);
+ }
+ {
+ std::vector items; items.reserve(10);
+ items.push_back("ABOVEGROUND");
+ items.push_back("BELOWGROUND");
+ items.push_back("JUNCTION");
+ items.push_back("LEVELCROSSING");
+ items.push_back("NOTDEFINED");
+ items.push_back("SEGMENT");
+ items.push_back("SUBSTRUCTURE");
+ items.push_back("SUPERSTRUCTURE");
+ items.push_back("TERMINAL");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcFacilityPartCommonTypeEnum_type = new enumeration_type("IfcFacilityPartCommonTypeEnum", 443, items);
+ }
+ {
+ std::vector items; items.reserve(6);
+ items.push_back("LATERAL");
+ items.push_back("LONGITUDINAL");
+ items.push_back("NOTDEFINED");
+ items.push_back("REGION");
+ items.push_back("USERDEFINED");
+ items.push_back("VERTICAL");
+ IFC4X3_ADD2_IfcFacilityUsageEnum_type = new enumeration_type("IfcFacilityUsageEnum", 444, items);
+ }
+ {
+ std::vector items; items.reserve(9);
+ items.push_back("CENTRIFUGALAIRFOIL");
+ items.push_back("CENTRIFUGALBACKWARDINCLINEDCURVED");
+ items.push_back("CENTRIFUGALFORWARDCURVED");
+ items.push_back("CENTRIFUGALRADIAL");
+ items.push_back("NOTDEFINED");
+ items.push_back("PROPELLORAXIAL");
+ items.push_back("TUBEAXIAL");
+ items.push_back("USERDEFINED");
+ items.push_back("VANEAXIAL");
+ IFC4X3_ADD2_IfcFanTypeEnum_type = new enumeration_type("IfcFanTypeEnum", 448, items);
+ }
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("GLUE");
+ items.push_back("MORTAR");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ items.push_back("WELD");
+ IFC4X3_ADD2_IfcFastenerTypeEnum_type = new enumeration_type("IfcFastenerTypeEnum", 451, items);
+ }
+ {
+ std::vector items; items.reserve(8);
+ items.push_back("AIRPARTICLEFILTER");
+ items.push_back("COMPRESSEDAIRFILTER");
+ items.push_back("NOTDEFINED");
+ items.push_back("ODORFILTER");
+ items.push_back("OILFILTER");
+ items.push_back("STRAINER");
+ items.push_back("USERDEFINED");
+ items.push_back("WATERFILTER");
+ IFC4X3_ADD2_IfcFilterTypeEnum_type = new enumeration_type("IfcFilterTypeEnum", 461, items);
+ }
+ {
+ std::vector items; items.reserve(8);
+ items.push_back("BREECHINGINLET");
+ items.push_back("FIREHYDRANT");
+ items.push_back("FIREMONITOR");
+ items.push_back("HOSEREEL");
+ items.push_back("NOTDEFINED");
+ items.push_back("SPRINKLER");
+ items.push_back("SPRINKLERDEFLECTOR");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcFireSuppressionTerminalTypeEnum_type = new enumeration_type("IfcFireSuppressionTerminalTypeEnum", 464, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("NOTDEFINED");
+ items.push_back("SINK");
+ items.push_back("SOURCE");
+ items.push_back("SOURCEANDSINK");
+ IFC4X3_ADD2_IfcFlowDirectionEnum_type = new enumeration_type("IfcFlowDirectionEnum", 468, items);
+ }
+ {
+ std::vector items; items.reserve(12);
+ items.push_back("AMMETER");
+ items.push_back("COMBINED");
+ items.push_back("FREQUENCYMETER");
+ items.push_back("NOTDEFINED");
+ items.push_back("PHASEANGLEMETER");
+ items.push_back("POWERFACTORMETER");
+ items.push_back("PRESSUREGAUGE");
+ items.push_back("THERMOMETER");
+ items.push_back("USERDEFINED");
+ items.push_back("VOLTMETER");
+ items.push_back("VOLTMETER_PEAK");
+ items.push_back("VOLTMETER_RMS");
+ IFC4X3_ADD2_IfcFlowInstrumentTypeEnum_type = new enumeration_type("IfcFlowInstrumentTypeEnum", 473, items);
+ }
+ {
+ std::vector items; items.reserve(6);
+ items.push_back("ENERGYMETER");
+ items.push_back("GASMETER");
+ items.push_back("NOTDEFINED");
+ items.push_back("OILMETER");
+ items.push_back("USERDEFINED");
+ items.push_back("WATERMETER");
+ IFC4X3_ADD2_IfcFlowMeterTypeEnum_type = new enumeration_type("IfcFlowMeterTypeEnum", 476, items);
+ }
+ IFC4X3_ADD2_IfcFontStyle_type = new type_declaration("IfcFontStyle", 487, new simple_type(simple_type::string_type));
+ IFC4X3_ADD2_IfcFontVariant_type = new type_declaration("IfcFontVariant", 488, new simple_type(simple_type::string_type));
+ IFC4X3_ADD2_IfcFontWeight_type = new type_declaration("IfcFontWeight", 489, new simple_type(simple_type::string_type));
+ {
+ std::vector items; items.reserve(7);
+ items.push_back("CAISSON_FOUNDATION");
+ items.push_back("FOOTING_BEAM");
+ items.push_back("NOTDEFINED");
+ items.push_back("PAD_FOOTING");
+ items.push_back("PILE_CAP");
+ items.push_back("STRIP_FOOTING");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcFootingTypeEnum_type = new enumeration_type("IfcFootingTypeEnum", 492, items);
+ }
+ IFC4X3_ADD2_IfcForceMeasure_type = new type_declaration("IfcForceMeasure", 493, new simple_type(simple_type::real_type));
+ IFC4X3_ADD2_IfcFrequencyMeasure_type = new type_declaration("IfcFrequencyMeasure", 494, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(10);
+ items.push_back("BED");
+ items.push_back("CHAIR");
+ items.push_back("DESK");
+ items.push_back("FILECABINET");
+ items.push_back("NOTDEFINED");
+ items.push_back("SHELF");
+ items.push_back("SOFA");
+ items.push_back("TABLE");
+ items.push_back("TECHNICALCABINET");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcFurnitureTypeEnum_type = new enumeration_type("IfcFurnitureTypeEnum", 499, items);
+ }
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("NOTDEFINED");
+ items.push_back("SOIL_BORING_POINT");
+ items.push_back("TERRAIN");
+ items.push_back("USERDEFINED");
+ items.push_back("VEGETATION");
+ IFC4X3_ADD2_IfcGeographicElementTypeEnum_type = new enumeration_type("IfcGeographicElementTypeEnum", 503, items);
+ }
+ {
+ std::vector items; items.reserve(9);
+ items.push_back("ELEVATION_VIEW");
+ items.push_back("GRAPH_VIEW");
+ items.push_back("MODEL_VIEW");
+ items.push_back("NOTDEFINED");
+ items.push_back("PLAN_VIEW");
+ items.push_back("REFLECTED_PLAN_VIEW");
+ items.push_back("SECTION_VIEW");
+ items.push_back("SKETCH_VIEW");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcGeometricProjectionEnum_type = new enumeration_type("IfcGeometricProjectionEnum", 505, items);
+ }
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("NOTDEFINED");
+ items.push_back("SOLID");
+ items.push_back("USERDEFINED");
+ items.push_back("VOID");
+ items.push_back("WATER");
+ IFC4X3_ADD2_IfcGeotechnicalStratumTypeEnum_type = new enumeration_type("IfcGeotechnicalStratumTypeEnum", 516, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("GLOBAL_COORDS");
+ items.push_back("LOCAL_COORDS");
+ IFC4X3_ADD2_IfcGlobalOrLocalEnum_type = new enumeration_type("IfcGlobalOrLocalEnum", 518, items);
+ }
+ IFC4X3_ADD2_IfcGloballyUniqueId_type = new type_declaration("IfcGloballyUniqueId", 517, new simple_type(simple_type::string_type));
+ {
+ std::vector items; items.reserve(6);
+ items.push_back("IRREGULAR");
+ items.push_back("NOTDEFINED");
+ items.push_back("RADIAL");
+ items.push_back("RECTANGULAR");
+ items.push_back("TRIANGULAR");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcGridTypeEnum_type = new enumeration_type("IfcGridTypeEnum", 524, items);
+ }
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("NOTDEFINED");
+ items.push_back("PLATE");
+ items.push_back("SHELLANDTUBE");
+ items.push_back("TURNOUTHEATING");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcHeatExchangerTypeEnum_type = new enumeration_type("IfcHeatExchangerTypeEnum", 530, items);
+ }
+ IFC4X3_ADD2_IfcHeatFluxDensityMeasure_type = new type_declaration("IfcHeatFluxDensityMeasure", 531, new simple_type(simple_type::real_type));
+ IFC4X3_ADD2_IfcHeatingValueMeasure_type = new type_declaration("IfcHeatingValueMeasure", 532, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(15);
+ items.push_back("ADIABATICAIRWASHER");
+ items.push_back("ADIABATICATOMIZING");
+ items.push_back("ADIABATICCOMPRESSEDAIRNOZZLE");
+ items.push_back("ADIABATICPAN");
+ items.push_back("ADIABATICRIGIDMEDIA");
+ items.push_back("ADIABATICULTRASONIC");
+ items.push_back("ADIABATICWETTEDELEMENT");
+ items.push_back("ASSISTEDBUTANE");
+ items.push_back("ASSISTEDELECTRIC");
+ items.push_back("ASSISTEDNATURALGAS");
+ items.push_back("ASSISTEDPROPANE");
+ items.push_back("ASSISTEDSTEAM");
+ items.push_back("NOTDEFINED");
+ items.push_back("STEAMINJECTION");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcHumidifierTypeEnum_type = new enumeration_type("IfcHumidifierTypeEnum", 535, items);
+ }
+ IFC4X3_ADD2_IfcIdentifier_type = new type_declaration("IfcIdentifier", 536, new simple_type(simple_type::string_type));
+ IFC4X3_ADD2_IfcIlluminanceMeasure_type = new type_declaration("IfcIlluminanceMeasure", 537, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(6);
+ items.push_back("BUMPER");
+ items.push_back("CRASHCUSHION");
+ items.push_back("DAMPINGSYSTEM");
+ items.push_back("FENDER");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcImpactProtectionDeviceTypeEnum_type = new enumeration_type("IfcImpactProtectionDeviceTypeEnum", 541, items);
+ }
+ IFC4X3_ADD2_IfcInductanceMeasure_type = new type_declaration("IfcInductanceMeasure", 549, new simple_type(simple_type::real_type));
+ IFC4X3_ADD2_IfcInteger_type = new type_declaration("IfcInteger", 550, new simple_type(simple_type::integer_type));
+ IFC4X3_ADD2_IfcIntegerCountRateMeasure_type = new type_declaration("IfcIntegerCountRateMeasure", 551, new simple_type(simple_type::integer_type));
+ {
+ std::vector items; items.reserve(6);
+ items.push_back("CYCLONIC");
+ items.push_back("GREASE");
+ items.push_back("NOTDEFINED");
+ items.push_back("OIL");
+ items.push_back("PETROL");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcInterceptorTypeEnum_type = new enumeration_type("IfcInterceptorTypeEnum", 554, items);
+ }
+ {
+ std::vector items; items.reserve(6);
+ items.push_back("EXTERNAL");
+ items.push_back("EXTERNAL_EARTH");
+ items.push_back("EXTERNAL_FIRE");
+ items.push_back("EXTERNAL_WATER");
+ items.push_back("INTERNAL");
+ items.push_back("NOTDEFINED");
+ IFC4X3_ADD2_IfcInternalOrExternalEnum_type = new enumeration_type("IfcInternalOrExternalEnum", 556, items);
+ }
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("ASSETINVENTORY");
+ items.push_back("FURNITUREINVENTORY");
+ items.push_back("NOTDEFINED");
+ items.push_back("SPACEINVENTORY");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcInventoryTypeEnum_type = new enumeration_type("IfcInventoryTypeEnum", 559, items);
+ }
+ IFC4X3_ADD2_IfcIonConcentrationMeasure_type = new type_declaration("IfcIonConcentrationMeasure", 560, new simple_type(simple_type::real_type));
+ IFC4X3_ADD2_IfcIsothermalMoistureCapacityMeasure_type = new type_declaration("IfcIsothermalMoistureCapacityMeasure", 564, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("DATA");
+ items.push_back("NOTDEFINED");
+ items.push_back("POWER");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcJunctionBoxTypeEnum_type = new enumeration_type("IfcJunctionBoxTypeEnum", 567, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcKerbTypeEnum_type = new enumeration_type("IfcKerbTypeEnum", 570, items);
+ }
+ IFC4X3_ADD2_IfcKinematicViscosityMeasure_type = new type_declaration("IfcKinematicViscosityMeasure", 571, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("PIECEWISE_BEZIER_KNOTS");
+ items.push_back("QUASI_UNIFORM_KNOTS");
+ items.push_back("UNIFORM_KNOTS");
+ items.push_back("UNSPECIFIED");
+ IFC4X3_ADD2_IfcKnotType_type = new enumeration_type("IfcKnotType", 572, items);
+ }
+ IFC4X3_ADD2_IfcLabel_type = new type_declaration("IfcLabel", 573, new simple_type(simple_type::string_type));
+ {
+ std::vector items; items.reserve(21);
+ items.push_back("ADMINISTRATION");
+ items.push_back("CARPENTRY");
+ items.push_back("CLEANING");
+ items.push_back("CONCRETE");
+ items.push_back("DRYWALL");
+ items.push_back("ELECTRIC");
+ items.push_back("FINISHING");
+ items.push_back("FLOORING");
+ items.push_back("GENERAL");
+ items.push_back("HVAC");
+ items.push_back("LANDSCAPING");
+ items.push_back("MASONRY");
+ items.push_back("NOTDEFINED");
+ items.push_back("PAINTING");
+ items.push_back("PAVING");
+ items.push_back("PLUMBING");
+ items.push_back("ROOFING");
+ items.push_back("SITEGRADING");
+ items.push_back("STEELWORK");
+ items.push_back("SURVEYING");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcLaborResourceTypeEnum_type = new enumeration_type("IfcLaborResourceTypeEnum", 576, items);
+ }
+ {
+ std::vector items; items.reserve(11);
+ items.push_back("COMPACTFLUORESCENT");
+ items.push_back("FLUORESCENT");
+ items.push_back("HALOGEN");
+ items.push_back("HIGHPRESSUREMERCURY");
+ items.push_back("HIGHPRESSURESODIUM");
+ items.push_back("LED");
+ items.push_back("METALHALIDE");
+ items.push_back("NOTDEFINED");
+ items.push_back("OLED");
+ items.push_back("TUNGSTENFILAMENT");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcLampTypeEnum_type = new enumeration_type("IfcLampTypeEnum", 580, items);
+ }
+ IFC4X3_ADD2_IfcLanguageId_type = new type_declaration("IfcLanguageId", 581, new named_type(IFC4X3_ADD2_IfcIdentifier_type));
+ {
+ std::vector items; items.reserve(3);
+ items.push_back("AXIS1");
+ items.push_back("AXIS2");
+ items.push_back("AXIS3");
+ IFC4X3_ADD2_IfcLayerSetDirectionEnum_type = new enumeration_type("IfcLayerSetDirectionEnum", 583, items);
+ }
+ IFC4X3_ADD2_IfcLengthMeasure_type = new type_declaration("IfcLengthMeasure", 584, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("NOTDEFINED");
+ items.push_back("TYPE_A");
+ items.push_back("TYPE_B");
+ items.push_back("TYPE_C");
+ IFC4X3_ADD2_IfcLightDistributionCurveEnum_type = new enumeration_type("IfcLightDistributionCurveEnum", 588, items);
+ }
+ {
+ std::vector items; items.reserve(11);
+ items.push_back("COMPACTFLUORESCENT");
+ items.push_back("FLUORESCENT");
+ items.push_back("HIGHPRESSUREMERCURY");
+ items.push_back("HIGHPRESSURESODIUM");
+ items.push_back("LIGHTEMITTINGDIODE");
+ items.push_back("LOWPRESSURESODIUM");
+ items.push_back("LOWVOLTAGEHALOGEN");
+ items.push_back("MAINVOLTAGEHALOGEN");
+ items.push_back("METALHALIDE");
+ items.push_back("NOTDEFINED");
+ items.push_back("TUNGSTENFILAMENT");
+ IFC4X3_ADD2_IfcLightEmissionSourceEnum_type = new enumeration_type("IfcLightEmissionSourceEnum", 591, items);
+ }
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("DIRECTIONSOURCE");
+ items.push_back("NOTDEFINED");
+ items.push_back("POINTSOURCE");
+ items.push_back("SECURITYLIGHTING");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcLightFixtureTypeEnum_type = new enumeration_type("IfcLightFixtureTypeEnum", 594, items);
+ }
+ IFC4X3_ADD2_IfcLinearForceMeasure_type = new type_declaration("IfcLinearForceMeasure", 604, new simple_type(simple_type::real_type));
+ IFC4X3_ADD2_IfcLinearMomentMeasure_type = new type_declaration("IfcLinearMomentMeasure", 605, new simple_type(simple_type::real_type));
+ IFC4X3_ADD2_IfcLinearStiffnessMeasure_type = new type_declaration("IfcLinearStiffnessMeasure", 608, new simple_type(simple_type::real_type));
+ IFC4X3_ADD2_IfcLinearVelocityMeasure_type = new type_declaration("IfcLinearVelocityMeasure", 609, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("HOSEREEL");
+ items.push_back("LOADINGARM");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcLiquidTerminalTypeEnum_type = new enumeration_type("IfcLiquidTerminalTypeEnum", 613, items);
+ }
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("LOAD_CASE");
+ items.push_back("LOAD_COMBINATION");
+ items.push_back("LOAD_GROUP");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcLoadGroupTypeEnum_type = new enumeration_type("IfcLoadGroupTypeEnum", 614, items);
+ }
+ IFC4X3_ADD2_IfcLogical_type = new type_declaration("IfcLogical", 616, new simple_type(simple_type::logical_type));
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("LOGICALAND");
+ items.push_back("LOGICALNOTAND");
+ items.push_back("LOGICALNOTOR");
+ items.push_back("LOGICALOR");
+ items.push_back("LOGICALXOR");
+ IFC4X3_ADD2_IfcLogicalOperatorEnum_type = new enumeration_type("IfcLogicalOperatorEnum", 617, items);
+ }
+ IFC4X3_ADD2_IfcLuminousFluxMeasure_type = new type_declaration("IfcLuminousFluxMeasure", 620, new simple_type(simple_type::real_type));
+ IFC4X3_ADD2_IfcLuminousIntensityDistributionMeasure_type = new type_declaration("IfcLuminousIntensityDistributionMeasure", 621, new simple_type(simple_type::real_type));
+ IFC4X3_ADD2_IfcLuminousIntensityMeasure_type = new type_declaration("IfcLuminousIntensityMeasure", 622, new simple_type(simple_type::real_type));
+ IFC4X3_ADD2_IfcMagneticFluxDensityMeasure_type = new type_declaration("IfcMagneticFluxDensityMeasure", 623, new simple_type(simple_type::real_type));
+ IFC4X3_ADD2_IfcMagneticFluxMeasure_type = new type_declaration("IfcMagneticFluxMeasure", 624, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(21);
+ items.push_back("BARRIERBEACH");
+ items.push_back("BREAKWATER");
+ items.push_back("CANAL");
+ items.push_back("DRYDOCK");
+ items.push_back("FLOATINGDOCK");
+ items.push_back("HYDROLIFT");
+ items.push_back("JETTY");
+ items.push_back("LAUNCHRECOVERY");
+ items.push_back("MARINEDEFENCE");
+ items.push_back("NAVIGATIONALCHANNEL");
+ items.push_back("NOTDEFINED");
+ items.push_back("PORT");
+ items.push_back("QUAY");
+ items.push_back("REVETMENT");
+ items.push_back("SHIPLIFT");
+ items.push_back("SHIPLOCK");
+ items.push_back("SHIPYARD");
+ items.push_back("SLIPWAY");
+ items.push_back("USERDEFINED");
+ items.push_back("WATERWAY");
+ items.push_back("WATERWAYSHIPLIFT");
+ IFC4X3_ADD2_IfcMarineFacilityTypeEnum_type = new enumeration_type("IfcMarineFacilityTypeEnum", 630, items);
+ }
+ {
+ std::vector items; items.reserve(26);
+ items.push_back("ABOVEWATERLINE");
+ items.push_back("ANCHORAGE");
+ items.push_back("APPROACHCHANNEL");
+ items.push_back("BELOWWATERLINE");
+ items.push_back("BERTHINGSTRUCTURE");
+ items.push_back("CHAMBER");
+ items.push_back("CILL_LEVEL");
+ items.push_back("COPELEVEL");
+ items.push_back("CORE");
+ items.push_back("CREST");
+ items.push_back("GATEHEAD");
+ items.push_back("GUDINGSTRUCTURE");
+ items.push_back("HIGHWATERLINE");
+ items.push_back("LANDFIELD");
+ items.push_back("LEEWARDSIDE");
+ items.push_back("LOWWATERLINE");
+ items.push_back("MANUFACTURING");
+ items.push_back("NAVIGATIONALAREA");
+ items.push_back("NOTDEFINED");
+ items.push_back("PROTECTION");
+ items.push_back("SHIPTRANSFER");
+ items.push_back("STORAGEAREA");
+ items.push_back("USERDEFINED");
+ items.push_back("VEHICLESERVICING");
+ items.push_back("WATERFIELD");
+ items.push_back("WEATHERSIDE");
+ IFC4X3_ADD2_IfcMarinePartTypeEnum_type = new enumeration_type("IfcMarinePartTypeEnum", 632, items);
+ }
+ IFC4X3_ADD2_IfcMassDensityMeasure_type = new type_declaration("IfcMassDensityMeasure", 633, new simple_type(simple_type::real_type));
+ IFC4X3_ADD2_IfcMassFlowRateMeasure_type = new type_declaration("IfcMassFlowRateMeasure", 634, new simple_type(simple_type::real_type));
+ IFC4X3_ADD2_IfcMassMeasure_type = new type_declaration("IfcMassMeasure", 635, new simple_type(simple_type::real_type));
+ IFC4X3_ADD2_IfcMassPerLengthMeasure_type = new type_declaration("IfcMassPerLengthMeasure", 636, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(17);
+ items.push_back("ANCHORBOLT");
+ items.push_back("BOLT");
+ items.push_back("CHAIN");
+ items.push_back("COUPLER");
+ items.push_back("DOWEL");
+ items.push_back("NAIL");
+ items.push_back("NAILPLATE");
+ items.push_back("NOTDEFINED");
+ items.push_back("RAILFASTENING");
+ items.push_back("RAILJOINT");
+ items.push_back("RIVET");
+ items.push_back("ROPE");
+ items.push_back("SCREW");
+ items.push_back("SHEARCONNECTOR");
+ items.push_back("STAPLE");
+ items.push_back("STUDSHEARCONNECTOR");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcMechanicalFastenerTypeEnum_type = new enumeration_type("IfcMechanicalFastenerTypeEnum", 661, items);
+ }
+ {
+ std::vector items; items.reserve(7);
+ items.push_back("AIRSTATION");
+ items.push_back("FEEDAIRUNIT");
+ items.push_back("NOTDEFINED");
+ items.push_back("OXYGENGENERATOR");
+ items.push_back("OXYGENPLANT");
+ items.push_back("USERDEFINED");
+ items.push_back("VACUUMSTATION");
+ IFC4X3_ADD2_IfcMedicalDeviceTypeEnum_type = new enumeration_type("IfcMedicalDeviceTypeEnum", 664, items);
+ }
+ {
+ std::vector items; items.reserve(21);
+ items.push_back("ARCH_SEGMENT");
+ items.push_back("BRACE");
+ items.push_back("CHORD");
+ items.push_back("COLLAR");
+ items.push_back("MEMBER");
+ items.push_back("MULLION");
+ items.push_back("NOTDEFINED");
+ items.push_back("PLATE");
+ items.push_back("POST");
+ items.push_back("PURLIN");
+ items.push_back("RAFTER");
+ items.push_back("STAY_CABLE");
+ items.push_back("STIFFENING_RIB");
+ items.push_back("STRINGER");
+ items.push_back("STRUCTURALCABLE");
+ items.push_back("STRUT");
+ items.push_back("STUD");
+ items.push_back("SUSPENDER");
+ items.push_back("SUSPENSION_CABLE");
+ items.push_back("TIEBAR");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcMemberTypeEnum_type = new enumeration_type("IfcMemberTypeEnum", 667, items);
+ }
+ {
+ std::vector items; items.reserve(15);
+ items.push_back("ACCESSPOINT");
+ items.push_back("BASEBANDUNIT");
+ items.push_back("BASETRANSCEIVERSTATION");
+ items.push_back("E_UTRAN_NODE_B");
+ items.push_back("GATEWAY_GPRS_SUPPORT_NODE");
+ items.push_back("MASTERUNIT");
+ items.push_back("MOBILESWITCHINGCENTER");
+ items.push_back("MSCSERVER");
+ items.push_back("NOTDEFINED");
+ items.push_back("PACKETCONTROLUNIT");
+ items.push_back("REMOTERADIOUNIT");
+ items.push_back("REMOTEUNIT");
+ items.push_back("SERVICE_GPRS_SUPPORT_NODE");
+ items.push_back("SUBSCRIBERSERVER");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcMobileTelecommunicationsApplianceTypeEnum_type = new enumeration_type("IfcMobileTelecommunicationsApplianceTypeEnum", 673, items);
+ }
+ IFC4X3_ADD2_IfcModulusOfElasticityMeasure_type = new type_declaration("IfcModulusOfElasticityMeasure", 674, new simple_type(simple_type::real_type));
+ IFC4X3_ADD2_IfcModulusOfLinearSubgradeReactionMeasure_type = new type_declaration("IfcModulusOfLinearSubgradeReactionMeasure", 675, new simple_type(simple_type::real_type));
+ IFC4X3_ADD2_IfcModulusOfRotationalSubgradeReactionMeasure_type = new type_declaration("IfcModulusOfRotationalSubgradeReactionMeasure", 676, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IFC4X3_ADD2_IfcBoolean_type);
+ items.push_back(IFC4X3_ADD2_IfcModulusOfRotationalSubgradeReactionMeasure_type);
+ IFC4X3_ADD2_IfcModulusOfRotationalSubgradeReactionSelect_type = new select_type("IfcModulusOfRotationalSubgradeReactionSelect", 677, items);
+ }
+ IFC4X3_ADD2_IfcModulusOfSubgradeReactionMeasure_type = new type_declaration("IfcModulusOfSubgradeReactionMeasure", 678, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IFC4X3_ADD2_IfcBoolean_type);
+ items.push_back(IFC4X3_ADD2_IfcModulusOfSubgradeReactionMeasure_type);
+ IFC4X3_ADD2_IfcModulusOfSubgradeReactionSelect_type = new select_type("IfcModulusOfSubgradeReactionSelect", 679, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IFC4X3_ADD2_IfcBoolean_type);
+ items.push_back(IFC4X3_ADD2_IfcModulusOfLinearSubgradeReactionMeasure_type);
+ IFC4X3_ADD2_IfcModulusOfTranslationalSubgradeReactionSelect_type = new select_type("IfcModulusOfTranslationalSubgradeReactionSelect", 680, items);
+ }
+ IFC4X3_ADD2_IfcMoistureDiffusivityMeasure_type = new type_declaration("IfcMoistureDiffusivityMeasure", 681, new simple_type(simple_type::real_type));
+ IFC4X3_ADD2_IfcMolecularWeightMeasure_type = new type_declaration("IfcMolecularWeightMeasure", 682, new simple_type(simple_type::real_type));
+ IFC4X3_ADD2_IfcMomentOfInertiaMeasure_type = new type_declaration("IfcMomentOfInertiaMeasure", 683, new simple_type(simple_type::real_type));
+ IFC4X3_ADD2_IfcMonetaryMeasure_type = new type_declaration("IfcMonetaryMeasure", 684, new simple_type(simple_type::real_type));
+ IFC4X3_ADD2_IfcMonthInYearNumber_type = new type_declaration("IfcMonthInYearNumber", 686, new simple_type(simple_type::integer_type));
+ {
+ std::vector items; items.reserve(7);
+ items.push_back("BOLLARD");
+ items.push_back("LINETENSIONER");
+ items.push_back("MAGNETICDEVICE");
+ items.push_back("MOORINGHOOKS");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ items.push_back("VACUUMDEVICE");
+ IFC4X3_ADD2_IfcMooringDeviceTypeEnum_type = new enumeration_type("IfcMooringDeviceTypeEnum", 689, items);
+ }
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("BELTDRIVE");
+ items.push_back("COUPLING");
+ items.push_back("DIRECTDRIVE");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcMotorConnectionTypeEnum_type = new enumeration_type("IfcMotorConnectionTypeEnum", 692, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("BEACON");
+ items.push_back("BUOY");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcNavigationElementTypeEnum_type = new enumeration_type("IfcNavigationElementTypeEnum", 696, items);
+ }
+ IFC4X3_ADD2_IfcNonNegativeLengthMeasure_type = new type_declaration("IfcNonNegativeLengthMeasure", 697, new named_type(IFC4X3_ADD2_IfcLengthMeasure_type));
+ IFC4X3_ADD2_IfcNumericMeasure_type = new type_declaration("IfcNumericMeasure", 699, new simple_type(simple_type::number_type));
+ {
+ std::vector items; items.reserve(13);
+ items.push_back("CODECOMPLIANCE");
+ items.push_back("CODEWAIVER");
+ items.push_back("DESIGNINTENT");
+ items.push_back("EXTERNAL");
+ items.push_back("HEALTHANDSAFETY");
+ items.push_back("MERGECONFLICT");
+ items.push_back("MODELVIEW");
+ items.push_back("NOTDEFINED");
+ items.push_back("PARAMETER");
+ items.push_back("REQUIREMENT");
+ items.push_back("SPECIFICATION");
+ items.push_back("TRIGGERCONDITION");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcObjectiveEnum_type = new enumeration_type("IfcObjectiveEnum", 703, items);
+ }
+ {
+ std::vector items; items.reserve(9);
+ items.push_back("ASSIGNEE");
+ items.push_back("ASSIGNOR");
+ items.push_back("LESSEE");
+ items.push_back("LESSOR");
+ items.push_back("LETTINGAGENT");
+ items.push_back("NOTDEFINED");
+ items.push_back("OWNER");
+ items.push_back("TENANT");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcOccupantTypeEnum_type = new enumeration_type("IfcOccupantTypeEnum", 707, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("NOTDEFINED");
+ items.push_back("OPENING");
+ items.push_back("RECESS");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcOpeningElementTypeEnum_type = new enumeration_type("IfcOpeningElementTypeEnum", 714, items);
+ }
+ {
+ std::vector items; items.reserve(7);
+ items.push_back("AUDIOVISUALOUTLET");
+ items.push_back("COMMUNICATIONSOUTLET");
+ items.push_back("DATAOUTLET");
+ items.push_back("NOTDEFINED");
+ items.push_back("POWEROUTLET");
+ items.push_back("TELEPHONEOUTLET");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcOutletTypeEnum_type = new enumeration_type("IfcOutletTypeEnum", 722, items);
+ }
+ IFC4X3_ADD2_IfcPHMeasure_type = new type_declaration("IfcPHMeasure", 739, new simple_type(simple_type::real_type));
+ IFC4X3_ADD2_IfcParameterValue_type = new type_declaration("IfcParameterValue", 725, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("FLEXIBLE");
+ items.push_back("NOTDEFINED");
+ items.push_back("RIGID");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcPavementTypeEnum_type = new enumeration_type("IfcPavementTypeEnum", 729, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcPerformanceHistoryTypeEnum_type = new enumeration_type("IfcPerformanceHistoryTypeEnum", 732, items);
+ }
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("GRILL");
+ items.push_back("LOUVER");
+ items.push_back("NOTDEFINED");
+ items.push_back("SCREEN");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcPermeableCoveringOperationEnum_type = new enumeration_type("IfcPermeableCoveringOperationEnum", 733, items);
+ }
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("ACCESS");
+ items.push_back("BUILDING");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ items.push_back("WORK");
+ IFC4X3_ADD2_IfcPermitTypeEnum_type = new enumeration_type("IfcPermitTypeEnum", 736, items);
+ }
+ {
+ std::vector items; items.reserve(3);
+ items.push_back("NOTDEFINED");
+ items.push_back("PHYSICAL");
+ items.push_back("VIRTUAL");
+ IFC4X3_ADD2_IfcPhysicalOrVirtualEnum_type = new enumeration_type("IfcPhysicalOrVirtualEnum", 741, items);
+ }
+ {
+ std::vector items; items.reserve(6);
+ items.push_back("CAST_IN_PLACE");
+ items.push_back("COMPOSITE");
+ items.push_back("NOTDEFINED");
+ items.push_back("PRECAST_CONCRETE");
+ items.push_back("PREFAB_STEEL");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcPileConstructionEnum_type = new enumeration_type("IfcPileConstructionEnum", 745, items);
+ }
+ {
+ std::vector items; items.reserve(8);
+ items.push_back("BORED");
+ items.push_back("COHESION");
+ items.push_back("DRIVEN");
+ items.push_back("FRICTION");
+ items.push_back("JETGROUTING");
+ items.push_back("NOTDEFINED");
+ items.push_back("SUPPORT");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcPileTypeEnum_type = new enumeration_type("IfcPileTypeEnum", 747, items);
+ }
+ {
+ std::vector items; items.reserve(9);
+ items.push_back("BEND");
+ items.push_back("CONNECTOR");
+ items.push_back("ENTRY");
+ items.push_back("EXIT");
+ items.push_back("JUNCTION");
+ items.push_back("NOTDEFINED");
+ items.push_back("OBSTRUCTION");
+ items.push_back("TRANSITION");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcPipeFittingTypeEnum_type = new enumeration_type("IfcPipeFittingTypeEnum", 750, items);
+ }
+ {
+ std::vector items; items.reserve(7);
+ items.push_back("CULVERT");
+ items.push_back("FLEXIBLESEGMENT");
+ items.push_back("GUTTER");
+ items.push_back("NOTDEFINED");
+ items.push_back("RIGIDSEGMENT");
+ items.push_back("SPOOL");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcPipeSegmentTypeEnum_type = new enumeration_type("IfcPipeSegmentTypeEnum", 753, items);
+ }
+ IFC4X3_ADD2_IfcPlanarForceMeasure_type = new type_declaration("IfcPlanarForceMeasure", 758, new simple_type(simple_type::real_type));
+ IFC4X3_ADD2_IfcPlaneAngleMeasure_type = new type_declaration("IfcPlaneAngleMeasure", 760, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(11);
+ items.push_back("BASE_PLATE");
+ items.push_back("COVER_PLATE");
+ items.push_back("CURTAIN_PANEL");
+ items.push_back("FLANGE_PLATE");
+ items.push_back("GUSSET_PLATE");
+ items.push_back("NOTDEFINED");
+ items.push_back("SHEET");
+ items.push_back("SPLICE_PLATE");
+ items.push_back("STIFFENER_PLATE");
+ items.push_back("USERDEFINED");
+ items.push_back("WEB_PLATE");
+ IFC4X3_ADD2_IfcPlateTypeEnum_type = new enumeration_type("IfcPlateTypeEnum", 763, items);
+ }
+ IFC4X3_ADD2_IfcPositiveInteger_type = new type_declaration("IfcPositiveInteger", 776, new named_type(IFC4X3_ADD2_IfcInteger_type));
+ IFC4X3_ADD2_IfcPositiveLengthMeasure_type = new type_declaration("IfcPositiveLengthMeasure", 777, new named_type(IFC4X3_ADD2_IfcLengthMeasure_type));
+ IFC4X3_ADD2_IfcPositivePlaneAngleMeasure_type = new type_declaration("IfcPositivePlaneAngleMeasure", 778, new named_type(IFC4X3_ADD2_IfcPlaneAngleMeasure_type));
+ IFC4X3_ADD2_IfcPowerMeasure_type = new type_declaration("IfcPowerMeasure", 781, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(3);
+ items.push_back("CURVE3D");
+ items.push_back("PCURVE_S1");
+ items.push_back("PCURVE_S2");
+ IFC4X3_ADD2_IfcPreferredSurfaceCurveRepresentation_type = new enumeration_type("IfcPreferredSurfaceCurveRepresentation", 788, items);
+ }
+ IFC4X3_ADD2_IfcPresentableText_type = new type_declaration("IfcPresentableText", 789, new simple_type(simple_type::string_type));
+ IFC4X3_ADD2_IfcPressureMeasure_type = new type_declaration("IfcPressureMeasure", 794, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(9);
+ items.push_back("ADVICE_CAUTION");
+ items.push_back("ADVICE_NOTE");
+ items.push_back("ADVICE_WARNING");
+ items.push_back("CALIBRATION");
+ items.push_back("DIAGNOSTIC");
+ items.push_back("NOTDEFINED");
+ items.push_back("SHUTDOWN");
+ items.push_back("STARTUP");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcProcedureTypeEnum_type = new enumeration_type("IfcProcedureTypeEnum", 797, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("AREA");
+ items.push_back("CURVE");
+ IFC4X3_ADD2_IfcProfileTypeEnum_type = new enumeration_type("IfcProfileTypeEnum", 807, items);
+ }
+ {
+ std::vector items; items.reserve(7);
+ items.push_back("CHANGEORDER");
+ items.push_back("MAINTENANCEWORKORDER");
+ items.push_back("MOVEORDER");
+ items.push_back("NOTDEFINED");
+ items.push_back("PURCHASEORDER");
+ items.push_back("USERDEFINED");
+ items.push_back("WORKORDER");
+ IFC4X3_ADD2_IfcProjectOrderTypeEnum_type = new enumeration_type("IfcProjectOrderTypeEnum", 815, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("PROJECTED_LENGTH");
+ items.push_back("TRUE_LENGTH");
+ IFC4X3_ADD2_IfcProjectedOrTrueLengthEnum_type = new enumeration_type("IfcProjectedOrTrueLengthEnum", 810, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("BLISTER");
+ items.push_back("DEVIATOR");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcProjectionElementTypeEnum_type = new enumeration_type("IfcProjectionElementTypeEnum", 812, items);
+ }
+ {
+ std::vector items; items.reserve(10);
+ items.push_back("NOTDEFINED");
+ items.push_back("PSET_MATERIALDRIVEN");
+ items.push_back("PSET_OCCURRENCEDRIVEN");
+ items.push_back("PSET_PERFORMANCEDRIVEN");
+ items.push_back("PSET_PROFILEDRIVEN");
+ items.push_back("PSET_TYPEDRIVENONLY");
+ items.push_back("PSET_TYPEDRIVENOVERRIDE");
+ items.push_back("QTO_OCCURRENCEDRIVEN");
+ items.push_back("QTO_TYPEDRIVENONLY");
+ items.push_back("QTO_TYPEDRIVENOVERRIDE");
+ IFC4X3_ADD2_IfcPropertySetTemplateTypeEnum_type = new enumeration_type("IfcPropertySetTemplateTypeEnum", 830, items);
+ }
+ {
+ std::vector items; items.reserve(6);
+ items.push_back("ELECTROMAGNETIC");
+ items.push_back("ELECTRONIC");
+ items.push_back("NOTDEFINED");
+ items.push_back("RESIDUALCURRENT");
+ items.push_back("THERMAL");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcProtectiveDeviceTrippingUnitTypeEnum_type = new enumeration_type("IfcProtectiveDeviceTrippingUnitTypeEnum", 838, items);
+ }
+ {
+ std::vector items; items.reserve(12);
+ items.push_back("ANTI_ARCING_DEVICE");
+ items.push_back("CIRCUITBREAKER");
+ items.push_back("EARTHINGSWITCH");
+ items.push_back("EARTHLEAKAGECIRCUITBREAKER");
+ items.push_back("FUSEDISCONNECTOR");
+ items.push_back("NOTDEFINED");
+ items.push_back("RESIDUALCURRENTCIRCUITBREAKER");
+ items.push_back("RESIDUALCURRENTSWITCH");
+ items.push_back("SPARKGAP");
+ items.push_back("USERDEFINED");
+ items.push_back("VARISTOR");
+ items.push_back("VOLTAGELIMITER");
+ IFC4X3_ADD2_IfcProtectiveDeviceTypeEnum_type = new enumeration_type("IfcProtectiveDeviceTypeEnum", 840, items);
+ }
+ {
+ std::vector items; items.reserve(9);
+ items.push_back("CIRCULATOR");
+ items.push_back("ENDSUCTION");
+ items.push_back("NOTDEFINED");
+ items.push_back("SPLITCASE");
+ items.push_back("SUBMERSIBLEPUMP");
+ items.push_back("SUMPPUMP");
+ items.push_back("USERDEFINED");
+ items.push_back("VERTICALINLINE");
+ items.push_back("VERTICALTURBINE");
+ IFC4X3_ADD2_IfcPumpTypeEnum_type = new enumeration_type("IfcPumpTypeEnum", 843, items);
+ }
+ IFC4X3_ADD2_IfcRadioActivityMeasure_type = new type_declaration("IfcRadioActivityMeasure", 852, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(8);
+ items.push_back("BLADE");
+ items.push_back("CHECKRAIL");
+ items.push_back("GUARDRAIL");
+ items.push_back("NOTDEFINED");
+ items.push_back("RACKRAIL");
+ items.push_back("RAIL");
+ items.push_back("STOCKRAIL");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcRailTypeEnum_type = new enumeration_type("IfcRailTypeEnum", 858, items);
+ }
+ {
+ std::vector items; items.reserve(6);
+ items.push_back("BALUSTRADE");
+ items.push_back("FENCE");
+ items.push_back("GUARDRAIL");
+ items.push_back("HANDRAIL");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcRailingTypeEnum_type = new enumeration_type("IfcRailingTypeEnum", 856, items);
+ }
+ {
+ std::vector items; items.reserve(11);
+ items.push_back("ABOVETRACK");
+ items.push_back("DILATIONTRACK");
+ items.push_back("LINESIDE");
+ items.push_back("LINESIDEPART");
+ items.push_back("NOTDEFINED");
+ items.push_back("PLAINTRACK");
+ items.push_back("SUBSTRUCTURE");
+ items.push_back("TRACK");
+ items.push_back("TRACKPART");
+ items.push_back("TURNOUTTRACK");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcRailwayPartTypeEnum_type = new enumeration_type("IfcRailwayPartTypeEnum", 861, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcRailwayTypeEnum_type = new enumeration_type("IfcRailwayTypeEnum", 862, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("NOTDEFINED");
+ items.push_back("SPIRAL");
+ items.push_back("STRAIGHT");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcRampFlightTypeEnum_type = new enumeration_type("IfcRampFlightTypeEnum", 866, items);
+ }
+ {
+ std::vector items; items.reserve(8);
+ items.push_back("HALF_TURN_RAMP");
+ items.push_back("NOTDEFINED");
+ items.push_back("QUARTER_TURN_RAMP");
+ items.push_back("SPIRAL_RAMP");
+ items.push_back("STRAIGHT_RUN_RAMP");
+ items.push_back("TWO_QUARTER_TURN_RAMP");
+ items.push_back("TWO_STRAIGHT_RUN_RAMP");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcRampTypeEnum_type = new enumeration_type("IfcRampTypeEnum", 868, items);
+ }
+ IFC4X3_ADD2_IfcRatioMeasure_type = new type_declaration("IfcRatioMeasure", 869, new simple_type(simple_type::real_type));
+ IFC4X3_ADD2_IfcReal_type = new type_declaration("IfcReal", 872, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(8);
+ items.push_back("BY_DAY_COUNT");
+ items.push_back("BY_WEEKDAY_COUNT");
+ items.push_back("DAILY");
+ items.push_back("MONTHLY_BY_DAY_OF_MONTH");
+ items.push_back("MONTHLY_BY_POSITION");
+ items.push_back("WEEKLY");
+ items.push_back("YEARLY_BY_DAY_OF_MONTH");
+ items.push_back("YEARLY_BY_POSITION");
+ IFC4X3_ADD2_IfcRecurrenceTypeEnum_type = new enumeration_type("IfcRecurrenceTypeEnum", 878, items);
+ }
+ {
+ std::vector items; items.reserve(12);
+ items.push_back("BOUNDARY");
+ items.push_back("INTERSECTION");
+ items.push_back("KILOPOINT");
+ items.push_back("LANDMARK");
+ items.push_back("MILEPOINT");
+ items.push_back("NOTDEFINED");
+ items.push_back("POSITION");
+ items.push_back("REFERENCEMARKER");
+ items.push_back("STATION");
+ items.push_back("SUPERELEVATIONEVENT");
+ items.push_back("USERDEFINED");
+ items.push_back("WIDTHEVENT");
+ IFC4X3_ADD2_IfcReferentTypeEnum_type = new enumeration_type("IfcReferentTypeEnum", 881, items);
+ }
+ {
+ std::vector items; items.reserve(11);
+ items.push_back("BLINN");
+ items.push_back("FLAT");
+ items.push_back("GLASS");
+ items.push_back("MATT");
+ items.push_back("METAL");
+ items.push_back("MIRROR");
+ items.push_back("NOTDEFINED");
+ items.push_back("PHONG");
+ items.push_back("PHYSICAL");
+ items.push_back("PLASTIC");
+ items.push_back("STRAUSS");
+ IFC4X3_ADD2_IfcReflectanceMethodEnum_type = new enumeration_type("IfcReflectanceMethodEnum", 882, items);
+ }
+ {
+ std::vector items; items.reserve(8);
+ items.push_back("DYNAMICALLYCOMPACTED");
+ items.push_back("GROUTED");
+ items.push_back("NOTDEFINED");
+ items.push_back("REPLACED");
+ items.push_back("ROLLERCOMPACTED");
+ items.push_back("SURCHARGEPRELOADED");
+ items.push_back("USERDEFINED");
+ items.push_back("VERTICALLYDRAINED");
+ IFC4X3_ADD2_IfcReinforcedSoilTypeEnum_type = new enumeration_type("IfcReinforcedSoilTypeEnum", 885, items);
+ }
+ {
+ std::vector items; items.reserve(10);
+ items.push_back("ANCHORING");
+ items.push_back("EDGE");
+ items.push_back("LIGATURE");
+ items.push_back("MAIN");
+ items.push_back("NOTDEFINED");
+ items.push_back("PUNCHING");
+ items.push_back("RING");
+ items.push_back("SHEAR");
+ items.push_back("STUD");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcReinforcingBarRoleEnum_type = new enumeration_type("IfcReinforcingBarRoleEnum", 889, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("PLAIN");
+ items.push_back("TEXTURED");
+ IFC4X3_ADD2_IfcReinforcingBarSurfaceEnum_type = new enumeration_type("IfcReinforcingBarSurfaceEnum", 890, items);
+ }
+ {
+ std::vector items; items.reserve(11);
+ items.push_back("ANCHORING");
+ items.push_back("EDGE");
+ items.push_back("LIGATURE");
+ items.push_back("MAIN");
+ items.push_back("NOTDEFINED");
+ items.push_back("PUNCHING");
+ items.push_back("RING");
+ items.push_back("SHEAR");
+ items.push_back("SPACEBAR");
+ items.push_back("STUD");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcReinforcingBarTypeEnum_type = new enumeration_type("IfcReinforcingBarTypeEnum", 892, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcReinforcingMeshTypeEnum_type = new enumeration_type("IfcReinforcingMeshTypeEnum", 897, items);
+ }
+ {
+ std::vector items; items.reserve(26);
+ items.push_back("BICYCLECROSSING");
+ items.push_back("BUS_STOP");
+ items.push_back("CARRIAGEWAY");
+ items.push_back("CENTRALISLAND");
+ items.push_back("CENTRALRESERVE");
+ items.push_back("HARDSHOULDER");
+ items.push_back("INTERSECTION");
+ items.push_back("LAYBY");
+ items.push_back("NOTDEFINED");
+ items.push_back("PARKINGBAY");
+ items.push_back("PASSINGBAY");
+ items.push_back("PEDESTRIAN_CROSSING");
+ items.push_back("RAILWAYCROSSING");
+ items.push_back("REFUGEISLAND");
+ items.push_back("ROADSEGMENT");
+ items.push_back("ROADSIDE");
+ items.push_back("ROADSIDEPART");
+ items.push_back("ROADWAYPLATEAU");
+ items.push_back("ROUNDABOUT");
+ items.push_back("SHOULDER");
+ items.push_back("SIDEWALK");
+ items.push_back("SOFTSHOULDER");
+ items.push_back("TOLLPLAZA");
+ items.push_back("TRAFFICISLAND");
+ items.push_back("TRAFFICLANE");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcRoadPartTypeEnum_type = new enumeration_type("IfcRoadPartTypeEnum", 968, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcRoadTypeEnum_type = new enumeration_type("IfcRoadTypeEnum", 969, items);
+ }
+ {
+ std::vector items; items.reserve(23);
+ items.push_back("ARCHITECT");
+ items.push_back("BUILDINGOPERATOR");
+ items.push_back("BUILDINGOWNER");
+ items.push_back("CIVILENGINEER");
+ items.push_back("CLIENT");
+ items.push_back("COMMISSIONINGENGINEER");
+ items.push_back("CONSTRUCTIONMANAGER");
+ items.push_back("CONSULTANT");
+ items.push_back("CONTRACTOR");
+ items.push_back("COSTENGINEER");
+ items.push_back("ELECTRICALENGINEER");
+ items.push_back("ENGINEER");
+ items.push_back("FACILITIESMANAGER");
+ items.push_back("FIELDCONSTRUCTIONMANAGER");
+ items.push_back("MANUFACTURER");
+ items.push_back("MECHANICALENGINEER");
+ items.push_back("OWNER");
+ items.push_back("PROJECTMANAGER");
+ items.push_back("RESELLER");
+ items.push_back("STRUCTURALENGINEER");
+ items.push_back("SUBCONTRACTOR");
+ items.push_back("SUPPLIER");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcRoleEnum_type = new enumeration_type("IfcRoleEnum", 970, items);
+ }
+ {
+ std::vector items; items.reserve(15);
+ items.push_back("BARREL_ROOF");
+ items.push_back("BUTTERFLY_ROOF");
+ items.push_back("DOME_ROOF");
+ items.push_back("FLAT_ROOF");
+ items.push_back("FREEFORM");
+ items.push_back("GABLE_ROOF");
+ items.push_back("GAMBREL_ROOF");
+ items.push_back("HIPPED_GABLE_ROOF");
+ items.push_back("HIP_ROOF");
+ items.push_back("MANSARD_ROOF");
+ items.push_back("NOTDEFINED");
+ items.push_back("PAVILION_ROOF");
+ items.push_back("RAINBOW_ROOF");
+ items.push_back("SHED_ROOF");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcRoofTypeEnum_type = new enumeration_type("IfcRoofTypeEnum", 973, items);
+ }
+ IFC4X3_ADD2_IfcRotationalFrequencyMeasure_type = new type_declaration("IfcRotationalFrequencyMeasure", 975, new simple_type(simple_type::real_type));
+ IFC4X3_ADD2_IfcRotationalMassMeasure_type = new type_declaration("IfcRotationalMassMeasure", 976, new simple_type(simple_type::real_type));
+ IFC4X3_ADD2_IfcRotationalStiffnessMeasure_type = new type_declaration("IfcRotationalStiffnessMeasure", 977, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IFC4X3_ADD2_IfcBoolean_type);
+ items.push_back(IFC4X3_ADD2_IfcRotationalStiffnessMeasure_type);
+ IFC4X3_ADD2_IfcRotationalStiffnessSelect_type = new select_type("IfcRotationalStiffnessSelect", 978, items);
+ }
+ {
+ std::vector items; items.reserve(16);
+ items.push_back("ATTO");
+ items.push_back("CENTI");
+ items.push_back("DECA");
+ items.push_back("DECI");
+ items.push_back("EXA");
+ items.push_back("FEMTO");
+ items.push_back("GIGA");
+ items.push_back("HECTO");
+ items.push_back("KILO");
+ items.push_back("MEGA");
+ items.push_back("MICRO");
+ items.push_back("MILLI");
+ items.push_back("NANO");
+ items.push_back("PETA");
+ items.push_back("PICO");
+ items.push_back("TERA");
+ IFC4X3_ADD2_IfcSIPrefix_type = new enumeration_type("IfcSIPrefix", 1023, items);
+ }
+ {
+ std::vector items; items.reserve(30);
+ items.push_back("AMPERE");
+ items.push_back("BECQUEREL");
+ items.push_back("CANDELA");
+ items.push_back("COULOMB");
+ items.push_back("CUBIC_METRE");
+ items.push_back("DEGREE_CELSIUS");
+ items.push_back("FARAD");
+ items.push_back("GRAM");
+ items.push_back("GRAY");
+ items.push_back("HENRY");
+ items.push_back("HERTZ");
+ items.push_back("JOULE");
+ items.push_back("KELVIN");
+ items.push_back("LUMEN");
+ items.push_back("LUX");
+ items.push_back("METRE");
+ items.push_back("MOLE");
+ items.push_back("NEWTON");
+ items.push_back("OHM");
+ items.push_back("PASCAL");
+ items.push_back("RADIAN");
+ items.push_back("SECOND");
+ items.push_back("SIEMENS");
+ items.push_back("SIEVERT");
+ items.push_back("SQUARE_METRE");
+ items.push_back("STERADIAN");
+ items.push_back("TESLA");
+ items.push_back("VOLT");
+ items.push_back("WATT");
+ items.push_back("WEBER");
+ IFC4X3_ADD2_IfcSIUnitName_type = new enumeration_type("IfcSIUnitName", 1026, items);
+ }
+ {
+ std::vector items; items.reserve(12);
+ items.push_back("BATH");
+ items.push_back("BIDET");
+ items.push_back("CISTERN");
+ items.push_back("NOTDEFINED");
+ items.push_back("SANITARYFOUNTAIN");
+ items.push_back("SHOWER");
+ items.push_back("SINK");
+ items.push_back("TOILETPAN");
+ items.push_back("URINAL");
+ items.push_back("USERDEFINED");
+ items.push_back("WASHHANDBASIN");
+ items.push_back("WCSEAT");
+ IFC4X3_ADD2_IfcSanitaryTerminalTypeEnum_type = new enumeration_type("IfcSanitaryTerminalTypeEnum", 982, items);
+ }
+ IFC4X3_ADD2_IfcSectionModulusMeasure_type = new type_declaration("IfcSectionModulusMeasure", 991, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("TAPERED");
+ items.push_back("UNIFORM");
+ IFC4X3_ADD2_IfcSectionTypeEnum_type = new enumeration_type("IfcSectionTypeEnum", 994, items);
+ }
+ IFC4X3_ADD2_IfcSectionalAreaIntegralMeasure_type = new type_declaration("IfcSectionalAreaIntegralMeasure", 986, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(34);
+ items.push_back("CO2SENSOR");
+ items.push_back("CONDUCTANCESENSOR");
+ items.push_back("CONTACTSENSOR");
+ items.push_back("COSENSOR");
+ items.push_back("EARTHQUAKESENSOR");
+ items.push_back("FIRESENSOR");
+ items.push_back("FLOWSENSOR");
+ items.push_back("FOREIGNOBJECTDETECTIONSENSOR");
+ items.push_back("FROSTSENSOR");
+ items.push_back("GASSENSOR");
+ items.push_back("HEATSENSOR");
+ items.push_back("HUMIDITYSENSOR");
+ items.push_back("IDENTIFIERSENSOR");
+ items.push_back("IONCONCENTRATIONSENSOR");
+ items.push_back("LEVELSENSOR");
+ items.push_back("LIGHTSENSOR");
+ items.push_back("MOISTURESENSOR");
+ items.push_back("MOVEMENTSENSOR");
+ items.push_back("NOTDEFINED");
+ items.push_back("OBSTACLESENSOR");
+ items.push_back("PHSENSOR");
+ items.push_back("PRESSURESENSOR");
+ items.push_back("RADIATIONSENSOR");
+ items.push_back("RADIOACTIVITYSENSOR");
+ items.push_back("RAINSENSOR");
+ items.push_back("SMOKESENSOR");
+ items.push_back("SNOWDEPTHSENSOR");
+ items.push_back("SOUNDSENSOR");
+ items.push_back("TEMPERATURESENSOR");
+ items.push_back("TRAINSENSOR");
+ items.push_back("TURNOUTCLOSURESENSOR");
+ items.push_back("USERDEFINED");
+ items.push_back("WHEELSENSOR");
+ items.push_back("WINDSENSOR");
+ IFC4X3_ADD2_IfcSensorTypeEnum_type = new enumeration_type("IfcSensorTypeEnum", 1000, items);
+ }
+ {
+ std::vector items; items.reserve(6);
+ items.push_back("FINISH_FINISH");
+ items.push_back("FINISH_START");
+ items.push_back("NOTDEFINED");
+ items.push_back("START_FINISH");
+ items.push_back("START_START");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcSequenceEnum_type = new enumeration_type("IfcSequenceEnum", 1001, items);
+ }
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("AWNING");
+ items.push_back("JALOUSIE");
+ items.push_back("NOTDEFINED");
+ items.push_back("SHUTTER");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcShadingDeviceTypeEnum_type = new enumeration_type("IfcShadingDeviceTypeEnum", 1005, items);
+ }
+ IFC4X3_ADD2_IfcShearModulusMeasure_type = new type_declaration("IfcShearModulusMeasure", 1009, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("MARKER");
+ items.push_back("MIRROR");
+ items.push_back("NOTDEFINED");
+ items.push_back("PICTORAL");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcSignTypeEnum_type = new enumeration_type("IfcSignTypeEnum", 1017, items);
+ }
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("AUDIO");
+ items.push_back("MIXED");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ items.push_back("VISUAL");
+ IFC4X3_ADD2_IfcSignalTypeEnum_type = new enumeration_type("IfcSignalTypeEnum", 1015, items);
+ }
+ {
+ std::vector items; items.reserve(13);
+ items.push_back("P_BOUNDEDVALUE");
+ items.push_back("P_ENUMERATEDVALUE");
+ items.push_back("P_LISTVALUE");
+ items.push_back("P_REFERENCEVALUE");
+ items.push_back("P_SINGLEVALUE");
+ items.push_back("P_TABLEVALUE");
+ items.push_back("Q_AREA");
+ items.push_back("Q_COUNT");
+ items.push_back("Q_LENGTH");
+ items.push_back("Q_NUMBER");
+ items.push_back("Q_TIME");
+ items.push_back("Q_VOLUME");
+ items.push_back("Q_WEIGHT");
+ IFC4X3_ADD2_IfcSimplePropertyTemplateTypeEnum_type = new enumeration_type("IfcSimplePropertyTemplateTypeEnum", 1020, items);
+ }
+ {
+ std::vector items; items.reserve(11);
+ items.push_back("APPROACH_SLAB");
+ items.push_back("BASESLAB");
+ items.push_back("FLOOR");
+ items.push_back("LANDING");
+ items.push_back("NOTDEFINED");
+ items.push_back("PAVING");
+ items.push_back("ROOF");
+ items.push_back("SIDEWALK");
+ items.push_back("TRACKSLAB");
+ items.push_back("USERDEFINED");
+ items.push_back("WEARING");
+ IFC4X3_ADD2_IfcSlabTypeEnum_type = new enumeration_type("IfcSlabTypeEnum", 1030, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("NOTDEFINED");
+ items.push_back("SOLARCOLLECTOR");
+ items.push_back("SOLARPANEL");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcSolarDeviceTypeEnum_type = new enumeration_type("IfcSolarDeviceTypeEnum", 1034, items);
+ }
+ IFC4X3_ADD2_IfcSolidAngleMeasure_type = new type_declaration("IfcSolidAngleMeasure", 1035, new simple_type(simple_type::real_type));
+ IFC4X3_ADD2_IfcSoundPowerLevelMeasure_type = new type_declaration("IfcSoundPowerLevelMeasure", 1038, new simple_type(simple_type::real_type));
+ IFC4X3_ADD2_IfcSoundPowerMeasure_type = new type_declaration("IfcSoundPowerMeasure", 1039, new simple_type(simple_type::real_type));
+ IFC4X3_ADD2_IfcSoundPressureLevelMeasure_type = new type_declaration("IfcSoundPressureLevelMeasure", 1040, new simple_type(simple_type::real_type));
+ IFC4X3_ADD2_IfcSoundPressureMeasure_type = new type_declaration("IfcSoundPressureMeasure", 1041, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("CONVECTOR");
+ items.push_back("NOTDEFINED");
+ items.push_back("RADIATOR");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcSpaceHeaterTypeEnum_type = new enumeration_type("IfcSpaceHeaterTypeEnum", 1046, items);
+ }
+ {
+ std::vector items; items.reserve(8);
+ items.push_back("BERTH");
+ items.push_back("EXTERNAL");
+ items.push_back("GFA");
+ items.push_back("INTERNAL");
+ items.push_back("NOTDEFINED");
+ items.push_back("PARKING");
+ items.push_back("SPACE");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcSpaceTypeEnum_type = new enumeration_type("IfcSpaceTypeEnum", 1048, items);
+ }
+ {
+ std::vector items; items.reserve(12);
+ items.push_back("CONSTRUCTION");
+ items.push_back("FIRESAFETY");
+ items.push_back("INTERFERENCE");
+ items.push_back("LIGHTING");
+ items.push_back("NOTDEFINED");
+ items.push_back("OCCUPANCY");
+ items.push_back("RESERVATION");
+ items.push_back("SECURITY");
+ items.push_back("THERMAL");
+ items.push_back("TRANSPORT");
+ items.push_back("USERDEFINED");
+ items.push_back("VENTILATION");
+ IFC4X3_ADD2_IfcSpatialZoneTypeEnum_type = new enumeration_type("IfcSpatialZoneTypeEnum", 1056, items);
+ }
+ IFC4X3_ADD2_IfcSpecificHeatCapacityMeasure_type = new type_declaration("IfcSpecificHeatCapacityMeasure", 1057, new simple_type(simple_type::real_type));
+ IFC4X3_ADD2_IfcSpecularExponent_type = new type_declaration("IfcSpecularExponent", 1058, new simple_type(simple_type::real_type));
+ IFC4X3_ADD2_IfcSpecularRoughness_type = new type_declaration("IfcSpecularRoughness", 1060, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("BIRDCAGE");
+ items.push_back("COWL");
+ items.push_back("NOTDEFINED");
+ items.push_back("RAINWATERHOPPER");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcStackTerminalTypeEnum_type = new enumeration_type("IfcStackTerminalTypeEnum", 1066, items);
+ }
+ {
+ std::vector items; items.reserve(7);
+ items.push_back("CURVED");
+ items.push_back("FREEFORM");
+ items.push_back("NOTDEFINED");
+ items.push_back("SPIRAL");
+ items.push_back("STRAIGHT");
+ items.push_back("USERDEFINED");
+ items.push_back("WINDER");
+ IFC4X3_ADD2_IfcStairFlightTypeEnum_type = new enumeration_type("IfcStairFlightTypeEnum", 1070, items);
+ }
+ {
+ std::vector items; items.reserve(17);
+ items.push_back("CURVED_RUN_STAIR");
+ items.push_back("DOUBLE_RETURN_STAIR");
+ items.push_back("HALF_TURN_STAIR");
+ items.push_back("HALF_WINDING_STAIR");
+ items.push_back("LADDER");
+ items.push_back("NOTDEFINED");
+ items.push_back("QUARTER_TURN_STAIR");
+ items.push_back("QUARTER_WINDING_STAIR");
+ items.push_back("SPIRAL_STAIR");
+ items.push_back("STRAIGHT_RUN_STAIR");
+ items.push_back("THREE_QUARTER_TURN_STAIR");
+ items.push_back("THREE_QUARTER_WINDING_STAIR");
+ items.push_back("TWO_CURVED_RUN_STAIR");
+ items.push_back("TWO_QUARTER_TURN_STAIR");
+ items.push_back("TWO_QUARTER_WINDING_STAIR");
+ items.push_back("TWO_STRAIGHT_RUN_STAIR");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcStairTypeEnum_type = new enumeration_type("IfcStairTypeEnum", 1072, items);
+ }
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("LOCKED");
+ items.push_back("READONLY");
+ items.push_back("READONLYLOCKED");
+ items.push_back("READWRITE");
+ items.push_back("READWRITELOCKED");
+ IFC4X3_ADD2_IfcStateEnum_type = new enumeration_type("IfcStateEnum", 1073, items);
+ }
+ IFC4X3_ADD2_IfcStrippedOptional_type = new type_declaration("IfcStrippedOptional", 1074, new simple_type(simple_type::boolean_type));
+ {
+ std::vector items; items.reserve(9);
+ items.push_back("CONST");
+ items.push_back("DISCRETE");
+ items.push_back("EQUIDISTANT");
+ items.push_back("LINEAR");
+ items.push_back("NOTDEFINED");
+ items.push_back("PARABOLA");
+ items.push_back("POLYGONAL");
+ items.push_back("SINUS");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcStructuralCurveActivityTypeEnum_type = new enumeration_type("IfcStructuralCurveActivityTypeEnum", 1082, items);
+ }
+ {
+ std::vector items; items.reserve(7);
+ items.push_back("CABLE");
+ items.push_back("COMPRESSION_MEMBER");
+ items.push_back("NOTDEFINED");
+ items.push_back("PIN_JOINED_MEMBER");
+ items.push_back("RIGID_JOINED_MEMBER");
+ items.push_back("TENSION_MEMBER");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcStructuralCurveMemberTypeEnum_type = new enumeration_type("IfcStructuralCurveMemberTypeEnum", 1085, items);
+ }
+ {
+ std::vector items; items.reserve(6);
+ items.push_back("BILINEAR");
+ items.push_back("CONST");
+ items.push_back("DISCRETE");
+ items.push_back("ISOCONTOUR");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcStructuralSurfaceActivityTypeEnum_type = new enumeration_type("IfcStructuralSurfaceActivityTypeEnum", 1111, items);
+ }
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("BENDING_ELEMENT");
+ items.push_back("MEMBRANE_ELEMENT");
+ items.push_back("NOTDEFINED");
+ items.push_back("SHELL");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcStructuralSurfaceMemberTypeEnum_type = new enumeration_type("IfcStructuralSurfaceMemberTypeEnum", 1114, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("NOTDEFINED");
+ items.push_back("PURCHASE");
+ items.push_back("USERDEFINED");
+ items.push_back("WORK");
+ IFC4X3_ADD2_IfcSubContractResourceTypeEnum_type = new enumeration_type("IfcSubContractResourceTypeEnum", 1122, items);
+ }
+ {
+ std::vector items; items.reserve(13);
+ items.push_back("DEFECT");
+ items.push_back("HATCHMARKING");
+ items.push_back("LINEMARKING");
+ items.push_back("MARK");
+ items.push_back("NONSKIDSURFACING");
+ items.push_back("NOTDEFINED");
+ items.push_back("PAVEMENTSURFACEMARKING");
+ items.push_back("RUMBLESTRIP");
+ items.push_back("SYMBOLMARKING");
+ items.push_back("TAG");
+ items.push_back("TRANSVERSERUMBLESTRIP");
+ items.push_back("TREATMENT");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcSurfaceFeatureTypeEnum_type = new enumeration_type("IfcSurfaceFeatureTypeEnum", 1128, items);
+ }
+ {
+ std::vector items; items.reserve(3);
+ items.push_back("BOTH");
+ items.push_back("NEGATIVE");
+ items.push_back("POSITIVE");
+ IFC4X3_ADD2_IfcSurfaceSide_type = new enumeration_type("IfcSurfaceSide", 1133, items);
+ }
+ {
+ std::vector items; items.reserve(13);
+ items.push_back("CONTACTOR");
+ items.push_back("DIMMERSWITCH");
+ items.push_back("EMERGENCYSTOP");
+ items.push_back("KEYPAD");
+ items.push_back("MOMENTARYSWITCH");
+ items.push_back("NOTDEFINED");
+ items.push_back("RELAY");
+ items.push_back("SELECTORSWITCH");
+ items.push_back("STARTER");
+ items.push_back("START_AND_STOP_EQUIPMENT");
+ items.push_back("SWITCHDISCONNECTOR");
+ items.push_back("TOGGLESWITCH");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcSwitchingDeviceTypeEnum_type = new enumeration_type("IfcSwitchingDeviceTypeEnum", 1148, items);
+ }
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("NOTDEFINED");
+ items.push_back("PANEL");
+ items.push_back("SUBRACK");
+ items.push_back("USERDEFINED");
+ items.push_back("WORKSURFACE");
+ IFC4X3_ADD2_IfcSystemFurnitureElementTypeEnum_type = new enumeration_type("IfcSystemFurnitureElementTypeEnum", 1152, items);
+ }
+ {
+ std::vector items; items.reserve(10);
+ items.push_back("BASIN");
+ items.push_back("BREAKPRESSURE");
+ items.push_back("EXPANSION");
+ items.push_back("FEEDANDEXPANSION");
+ items.push_back("NOTDEFINED");
+ items.push_back("OILRETENTIONTRAY");
+ items.push_back("PRESSUREVESSEL");
+ items.push_back("STORAGE");
+ items.push_back("USERDEFINED");
+ items.push_back("VESSEL");
+ IFC4X3_ADD2_IfcTankTypeEnum_type = new enumeration_type("IfcTankTypeEnum", 1158, items);
+ }
+ {
+ std::vector items; items.reserve(3);
+ items.push_back("ELAPSEDTIME");
+ items.push_back("NOTDEFINED");
+ items.push_back("WORKTIME");
+ IFC4X3_ADD2_IfcTaskDurationEnum_type = new enumeration_type("IfcTaskDurationEnum", 1160, items);
+ }
+ {
+ std::vector items; items.reserve(23);
+ items.push_back("ADJUSTMENT");
+ items.push_back("ATTENDANCE");
+ items.push_back("CALIBRATION");
+ items.push_back("CONSTRUCTION");
+ items.push_back("DEMOLITION");
+ items.push_back("DISMANTLE");
+ items.push_back("DISPOSAL");
+ items.push_back("EMERGENCY");
+ items.push_back("INSPECTION");
+ items.push_back("INSTALLATION");
+ items.push_back("LOGISTIC");
+ items.push_back("MAINTENANCE");
+ items.push_back("MOVE");
+ items.push_back("NOTDEFINED");
+ items.push_back("OPERATION");
+ items.push_back("REMOVAL");
+ items.push_back("RENOVATION");
+ items.push_back("SAFETY");
+ items.push_back("SHUTDOWN");
+ items.push_back("STARTUP");
+ items.push_back("TESTING");
+ items.push_back("TROUBLESHOOTING");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcTaskTypeEnum_type = new enumeration_type("IfcTaskTypeEnum", 1164, items);
+ }
+ IFC4X3_ADD2_IfcTemperatureGradientMeasure_type = new type_declaration("IfcTemperatureGradientMeasure", 1166, new simple_type(simple_type::real_type));
+ IFC4X3_ADD2_IfcTemperatureRateOfChangeMeasure_type = new type_declaration("IfcTemperatureRateOfChangeMeasure", 1167, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("COUPLER");
+ items.push_back("FIXED_END");
+ items.push_back("NOTDEFINED");
+ items.push_back("TENSIONING_END");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcTendonAnchorTypeEnum_type = new enumeration_type("IfcTendonAnchorTypeEnum", 1171, items);
+ }
+ {
+ std::vector items; items.reserve(7);
+ items.push_back("COUPLER");
+ items.push_back("DIABOLO");
+ items.push_back("DUCT");
+ items.push_back("GROUTING_DUCT");
+ items.push_back("NOTDEFINED");
+ items.push_back("TRUMPET");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcTendonConduitTypeEnum_type = new enumeration_type("IfcTendonConduitTypeEnum", 1174, items);
+ }
+ {
+ std::vector items; items.reserve(6);
+ items.push_back("BAR");
+ items.push_back("COATED");
+ items.push_back("NOTDEFINED");
+ items.push_back("STRAND");
+ items.push_back("USERDEFINED");
+ items.push_back("WIRE");
+ IFC4X3_ADD2_IfcTendonTypeEnum_type = new enumeration_type("IfcTendonTypeEnum", 1176, items);
+ }
+ IFC4X3_ADD2_IfcText_type = new type_declaration("IfcText", 1179, new simple_type(simple_type::string_type));
+ IFC4X3_ADD2_IfcTextAlignment_type = new type_declaration("IfcTextAlignment", 1180, new simple_type(simple_type::string_type));
+ IFC4X3_ADD2_IfcTextDecoration_type = new type_declaration("IfcTextDecoration", 1181, new simple_type(simple_type::string_type));
+ IFC4X3_ADD2_IfcTextFontName_type = new type_declaration("IfcTextFontName", 1182, new simple_type(simple_type::string_type));
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("DOWN");
+ items.push_back("LEFT");
+ items.push_back("RIGHT");
+ items.push_back("UP");
+ IFC4X3_ADD2_IfcTextPath_type = new enumeration_type("IfcTextPath", 1186, items);
+ }
+ IFC4X3_ADD2_IfcTextTransformation_type = new type_declaration("IfcTextTransformation", 1191, new simple_type(simple_type::string_type));
+ IFC4X3_ADD2_IfcThermalAdmittanceMeasure_type = new type_declaration("IfcThermalAdmittanceMeasure", 1199, new simple_type(simple_type::real_type));
+ IFC4X3_ADD2_IfcThermalConductivityMeasure_type = new type_declaration("IfcThermalConductivityMeasure", 1200, new simple_type(simple_type::real_type));
+ IFC4X3_ADD2_IfcThermalExpansionCoefficientMeasure_type = new type_declaration("IfcThermalExpansionCoefficientMeasure", 1201, new simple_type(simple_type::real_type));
+ IFC4X3_ADD2_IfcThermalResistanceMeasure_type = new type_declaration("IfcThermalResistanceMeasure", 1202, new simple_type(simple_type::real_type));
+ IFC4X3_ADD2_IfcThermalTransmittanceMeasure_type = new type_declaration("IfcThermalTransmittanceMeasure", 1203, new simple_type(simple_type::real_type));
+ IFC4X3_ADD2_IfcThermodynamicTemperatureMeasure_type = new type_declaration("IfcThermodynamicTemperatureMeasure", 1204, new simple_type(simple_type::real_type));
+ IFC4X3_ADD2_IfcTime_type = new type_declaration("IfcTime", 1206, new simple_type(simple_type::string_type));
+ IFC4X3_ADD2_IfcTimeMeasure_type = new type_declaration("IfcTimeMeasure", 1207, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IFC4X3_ADD2_IfcDuration_type);
+ items.push_back(IFC4X3_ADD2_IfcRatioMeasure_type);
+ IFC4X3_ADD2_IfcTimeOrRatioSelect_type = new select_type("IfcTimeOrRatioSelect", 1208, items);
+ }
+ {
+ std::vector items; items.reserve(7);
+ items.push_back("CONTINUOUS");
+ items.push_back("DISCRETE");
+ items.push_back("DISCRETEBINARY");
+ items.push_back("NOTDEFINED");
+ items.push_back("PIECEWISEBINARY");
+ items.push_back("PIECEWISECONSTANT");
+ items.push_back("PIECEWISECONTINUOUS");
+ IFC4X3_ADD2_IfcTimeSeriesDataTypeEnum_type = new enumeration_type("IfcTimeSeriesDataTypeEnum", 1211, items);
+ }
+ IFC4X3_ADD2_IfcTimeStamp_type = new type_declaration("IfcTimeStamp", 1213, new simple_type(simple_type::integer_type));
+ IFC4X3_ADD2_IfcTorqueMeasure_type = new type_declaration("IfcTorqueMeasure", 1217, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(10);
+ items.push_back("BLOCKINGDEVICE");
+ items.push_back("DERAILER");
+ items.push_back("FROG");
+ items.push_back("HALF_SET_OF_BLADES");
+ items.push_back("NOTDEFINED");
+ items.push_back("SLEEPER");
+ items.push_back("SPEEDREGULATOR");
+ items.push_back("TRACKENDOFALIGNMENT");
+ items.push_back("USERDEFINED");
+ items.push_back("VEHICLESTOP");
+ IFC4X3_ADD2_IfcTrackElementTypeEnum_type = new enumeration_type("IfcTrackElementTypeEnum", 1220, items);
+ }
+ {
+ std::vector items; items.reserve(9);
+ items.push_back("CHOPPER");
+ items.push_back("COMBINED");
+ items.push_back("CURRENT");
+ items.push_back("FREQUENCY");
+ items.push_back("INVERTER");
+ items.push_back("NOTDEFINED");
+ items.push_back("RECTIFIER");
+ items.push_back("USERDEFINED");
+ items.push_back("VOLTAGE");
+ IFC4X3_ADD2_IfcTransformerTypeEnum_type = new enumeration_type("IfcTransformerTypeEnum", 1223, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("CONTINUOUS");
+ items.push_back("CONTSAMEGRADIENT");
+ items.push_back("CONTSAMEGRADIENTSAMECURVATURE");
+ items.push_back("DISCONTINUOUS");
+ IFC4X3_ADD2_IfcTransitionCode_type = new enumeration_type("IfcTransitionCode", 1224, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IFC4X3_ADD2_IfcBoolean_type);
+ items.push_back(IFC4X3_ADD2_IfcLinearStiffnessMeasure_type);
+ IFC4X3_ADD2_IfcTranslationalStiffnessSelect_type = new select_type("IfcTranslationalStiffnessSelect", 1225, items);
+ }
+ {
+ std::vector items; items.reserve(8);
+ items.push_back("CRANEWAY");
+ items.push_back("ELEVATOR");
+ items.push_back("ESCALATOR");
+ items.push_back("HAULINGGEAR");
+ items.push_back("LIFTINGGEAR");
+ items.push_back("MOVINGWALKWAY");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcTransportElementTypeEnum_type = new enumeration_type("IfcTransportElementTypeEnum", 1230, items);
+ }
+ {
+ std::vector items; items.reserve(3);
+ items.push_back("CARTESIAN");
+ items.push_back("PARAMETER");
+ items.push_back("UNSPECIFIED");
+ IFC4X3_ADD2_IfcTrimmingPreference_type = new enumeration_type("IfcTrimmingPreference", 1235, items);
+ }
+ {
+ std::vector items; items.reserve(3);
+ items.push_back("FINNED");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcTubeBundleTypeEnum_type = new enumeration_type("IfcTubeBundleTypeEnum", 1240, items);
+ }
+ IFC4X3_ADD2_IfcURIReference_type = new type_declaration("IfcURIReference", 1254, new simple_type(simple_type::string_type));
+ {
+ std::vector items; items.reserve(30);
+ items.push_back("ABSORBEDDOSEUNIT");
+ items.push_back("AMOUNTOFSUBSTANCEUNIT");
+ items.push_back("AREAUNIT");
+ items.push_back("DOSEEQUIVALENTUNIT");
+ items.push_back("ELECTRICCAPACITANCEUNIT");
+ items.push_back("ELECTRICCHARGEUNIT");
+ items.push_back("ELECTRICCONDUCTANCEUNIT");
+ items.push_back("ELECTRICCURRENTUNIT");
+ items.push_back("ELECTRICRESISTANCEUNIT");
+ items.push_back("ELECTRICVOLTAGEUNIT");
+ items.push_back("ENERGYUNIT");
+ items.push_back("FORCEUNIT");
+ items.push_back("FREQUENCYUNIT");
+ items.push_back("ILLUMINANCEUNIT");
+ items.push_back("INDUCTANCEUNIT");
+ items.push_back("LENGTHUNIT");
+ items.push_back("LUMINOUSFLUXUNIT");
+ items.push_back("LUMINOUSINTENSITYUNIT");
+ items.push_back("MAGNETICFLUXDENSITYUNIT");
+ items.push_back("MAGNETICFLUXUNIT");
+ items.push_back("MASSUNIT");
+ items.push_back("PLANEANGLEUNIT");
+ items.push_back("POWERUNIT");
+ items.push_back("PRESSUREUNIT");
+ items.push_back("RADIOACTIVITYUNIT");
+ items.push_back("SOLIDANGLEUNIT");
+ items.push_back("THERMODYNAMICTEMPERATUREUNIT");
+ items.push_back("TIMEUNIT");
+ items.push_back("USERDEFINED");
+ items.push_back("VOLUMEUNIT");
+ IFC4X3_ADD2_IfcUnitEnum_type = new enumeration_type("IfcUnitEnum", 1253, items);
+ }
+ {
+ std::vector items; items.reserve(12);
+ items.push_back("ALARMPANEL");
+ items.push_back("BASESTATIONCONTROLLER");
+ items.push_back("COMBINED");
+ items.push_back("CONTROLPANEL");
+ items.push_back("GASDETECTIONPANEL");
+ items.push_back("HUMIDISTAT");
+ items.push_back("INDICATORPANEL");
+ items.push_back("MIMICPANEL");
+ items.push_back("NOTDEFINED");
+ items.push_back("THERMOSTAT");
+ items.push_back("USERDEFINED");
+ items.push_back("WEATHERSTATION");
+ IFC4X3_ADD2_IfcUnitaryControlElementTypeEnum_type = new enumeration_type("IfcUnitaryControlElementTypeEnum", 1248, items);
+ }
+ {
+ std::vector items; items.reserve(7);
+ items.push_back("AIRCONDITIONINGUNIT");
+ items.push_back("AIRHANDLER");
+ items.push_back("DEHUMIDIFIER");
+ items.push_back("NOTDEFINED");
+ items.push_back("ROOFTOPUNIT");
+ items.push_back("SPLITSYSTEM");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcUnitaryEquipmentTypeEnum_type = new enumeration_type("IfcUnitaryEquipmentTypeEnum", 1251, items);
+ }
+ {
+ std::vector items; items.reserve(23);
+ items.push_back("AIRRELEASE");
+ items.push_back("ANTIVACUUM");
+ items.push_back("CHANGEOVER");
+ items.push_back("CHECK");
+ items.push_back("COMMISSIONING");
+ items.push_back("DIVERTING");
+ items.push_back("DOUBLECHECK");
+ items.push_back("DOUBLEREGULATING");
+ items.push_back("DRAWOFFCOCK");
+ items.push_back("FAUCET");
+ items.push_back("FLUSHING");
+ items.push_back("GASCOCK");
+ items.push_back("GASTAP");
+ items.push_back("ISOLATING");
+ items.push_back("MIXING");
+ items.push_back("NOTDEFINED");
+ items.push_back("PRESSUREREDUCING");
+ items.push_back("PRESSURERELIEF");
+ items.push_back("REGULATING");
+ items.push_back("SAFETYCUTOFF");
+ items.push_back("STEAMTRAP");
+ items.push_back("STOPCOCK");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcValveTypeEnum_type = new enumeration_type("IfcValveTypeEnum", 1259, items);
+ }
+ IFC4X3_ADD2_IfcVaporPermeabilityMeasure_type = new type_declaration("IfcVaporPermeabilityMeasure", 1260, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(9);
+ items.push_back("CARGO");
+ items.push_back("NOTDEFINED");
+ items.push_back("ROLLINGSTOCK");
+ items.push_back("USERDEFINED");
+ items.push_back("VEHICLE");
+ items.push_back("VEHICLEAIR");
+ items.push_back("VEHICLEMARINE");
+ items.push_back("VEHICLETRACKED");
+ items.push_back("VEHICLEWHEELED");
+ IFC4X3_ADD2_IfcVehicleTypeEnum_type = new enumeration_type("IfcVehicleTypeEnum", 1265, items);
+ }
+ {
+ std::vector items; items.reserve(8);
+ items.push_back("AXIAL_YIELD");
+ items.push_back("BENDING_YIELD");
+ items.push_back("FRICTION");
+ items.push_back("NOTDEFINED");
+ items.push_back("RUBBER");
+ items.push_back("SHEAR_YIELD");
+ items.push_back("USERDEFINED");
+ items.push_back("VISCOUS");
+ IFC4X3_ADD2_IfcVibrationDamperTypeEnum_type = new enumeration_type("IfcVibrationDamperTypeEnum", 1271, items);
+ }
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("BASE");
+ items.push_back("COMPRESSION");
+ items.push_back("NOTDEFINED");
+ items.push_back("SPRING");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcVibrationIsolatorTypeEnum_type = new enumeration_type("IfcVibrationIsolatorTypeEnum", 1274, items);
+ }
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("BOUNDARY");
+ items.push_back("CLEARANCE");
+ items.push_back("NOTDEFINED");
+ items.push_back("PROVISIONFORVOID");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcVirtualElementTypeEnum_type = new enumeration_type("IfcVirtualElementTypeEnum", 1276, items);
+ }
+ {
+ std::vector items; items.reserve(8);
+ items.push_back("CHAMFER");
+ items.push_back("CUTOUT");
+ items.push_back("EDGE");
+ items.push_back("HOLE");
+ items.push_back("MITER");
+ items.push_back("NOTCH");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcVoidingFeatureTypeEnum_type = new enumeration_type("IfcVoidingFeatureTypeEnum", 1279, items);
+ }
+ IFC4X3_ADD2_IfcVolumeMeasure_type = new type_declaration("IfcVolumeMeasure", 1280, new simple_type(simple_type::real_type));
+ IFC4X3_ADD2_IfcVolumetricFlowRateMeasure_type = new type_declaration("IfcVolumetricFlowRateMeasure", 1281, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(13);
+ items.push_back("ELEMENTEDWALL");
+ items.push_back("MOVABLE");
+ items.push_back("NOTDEFINED");
+ items.push_back("PARAPET");
+ items.push_back("PARTITIONING");
+ items.push_back("PLUMBINGWALL");
+ items.push_back("POLYGONAL");
+ items.push_back("RETAININGWALL");
+ items.push_back("SHEAR");
+ items.push_back("SOLIDWALL");
+ items.push_back("STANDARD");
+ items.push_back("USERDEFINED");
+ items.push_back("WAVEWALL");
+ IFC4X3_ADD2_IfcWallTypeEnum_type = new enumeration_type("IfcWallTypeEnum", 1285, items);
+ }
+ IFC4X3_ADD2_IfcWarpingConstantMeasure_type = new type_declaration("IfcWarpingConstantMeasure", 1286, new simple_type(simple_type::real_type));
+ IFC4X3_ADD2_IfcWarpingMomentMeasure_type = new type_declaration("IfcWarpingMomentMeasure", 1287, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IFC4X3_ADD2_IfcBoolean_type);
+ items.push_back(IFC4X3_ADD2_IfcWarpingMomentMeasure_type);
+ IFC4X3_ADD2_IfcWarpingStiffnessSelect_type = new select_type("IfcWarpingStiffnessSelect", 1288, items);
+ }
+ {
+ std::vector items; items.reserve(9);
+ items.push_back("FLOORTRAP");
+ items.push_back("FLOORWASTE");
+ items.push_back("GULLYSUMP");
+ items.push_back("GULLYTRAP");
+ items.push_back("NOTDEFINED");
+ items.push_back("ROOFDRAIN");
+ items.push_back("USERDEFINED");
+ items.push_back("WASTEDISPOSALUNIT");
+ items.push_back("WASTETRAP");
+ IFC4X3_ADD2_IfcWasteTerminalTypeEnum_type = new enumeration_type("IfcWasteTerminalTypeEnum", 1291, items);
+ }
+ IFC4X3_ADD2_IfcWellKnownTextLiteral_type = new type_declaration("IfcWellKnownTextLiteral", 1293, new simple_type(simple_type::string_type));
+ {
+ std::vector items; items.reserve(14);
+ items.push_back("BOTTOMHUNG");
+ items.push_back("FIXEDCASEMENT");
+ items.push_back("NOTDEFINED");
+ items.push_back("OTHEROPERATION");
+ items.push_back("PIVOTHORIZONTAL");
+ items.push_back("PIVOTVERTICAL");
+ items.push_back("REMOVABLECASEMENT");
+ items.push_back("SIDEHUNGLEFTHAND");
+ items.push_back("SIDEHUNGRIGHTHAND");
+ items.push_back("SLIDINGHORIZONTAL");
+ items.push_back("SLIDINGVERTICAL");
+ items.push_back("TILTANDTURNLEFTHAND");
+ items.push_back("TILTANDTURNRIGHTHAND");
+ items.push_back("TOPHUNG");
+ IFC4X3_ADD2_IfcWindowPanelOperationEnum_type = new enumeration_type("IfcWindowPanelOperationEnum", 1296, items);
+ }
+ {
+ std::vector items; items.reserve(6);
+ items.push_back("BOTTOM");
+ items.push_back("LEFT");
+ items.push_back("MIDDLE");
+ items.push_back("NOTDEFINED");
+ items.push_back("RIGHT");
+ items.push_back("TOP");
+ IFC4X3_ADD2_IfcWindowPanelPositionEnum_type = new enumeration_type("IfcWindowPanelPositionEnum", 1297, items);
+ }
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("LIGHTDOME");
+ items.push_back("NOTDEFINED");
+ items.push_back("SKYLIGHT");
+ items.push_back("USERDEFINED");
+ items.push_back("WINDOW");
+ IFC4X3_ADD2_IfcWindowTypeEnum_type = new enumeration_type("IfcWindowTypeEnum", 1300, items);
+ }
+ {
+ std::vector items; items.reserve(11);
+ items.push_back("DOUBLE_PANEL_HORIZONTAL");
+ items.push_back("DOUBLE_PANEL_VERTICAL");
+ items.push_back("NOTDEFINED");
+ items.push_back("SINGLE_PANEL");
+ items.push_back("TRIPLE_PANEL_BOTTOM");
+ items.push_back("TRIPLE_PANEL_HORIZONTAL");
+ items.push_back("TRIPLE_PANEL_LEFT");
+ items.push_back("TRIPLE_PANEL_RIGHT");
+ items.push_back("TRIPLE_PANEL_TOP");
+ items.push_back("TRIPLE_PANEL_VERTICAL");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcWindowTypePartitioningEnum_type = new enumeration_type("IfcWindowTypePartitioningEnum", 1301, items);
+ }
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("FIRSTSHIFT");
+ items.push_back("NOTDEFINED");
+ items.push_back("SECONDSHIFT");
+ items.push_back("THIRDSHIFT");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcWorkCalendarTypeEnum_type = new enumeration_type("IfcWorkCalendarTypeEnum", 1303, items);
+ }
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("ACTUAL");
+ items.push_back("BASELINE");
+ items.push_back("NOTDEFINED");
+ items.push_back("PLANNED");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcWorkPlanTypeEnum_type = new enumeration_type("IfcWorkPlanTypeEnum", 1306, items);
+ }
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("ACTUAL");
+ items.push_back("BASELINE");
+ items.push_back("NOTDEFINED");
+ items.push_back("PLANNED");
+ items.push_back("USERDEFINED");
+ IFC4X3_ADD2_IfcWorkScheduleTypeEnum_type = new enumeration_type("IfcWorkScheduleTypeEnum", 1308, items);
+ }
+ IFC4X3_ADD2_IfcActorRole_type = new entity("IfcActorRole", false, 7, 0);
+ IFC4X3_ADD2_IfcAddress_type = new entity("IfcAddress", true, 12, 0);
+ IFC4X3_ADD2_IfcAlignmentParameterSegment_type = new entity("IfcAlignmentParameterSegment", true, 36, 0);
+ IFC4X3_ADD2_IfcAlignmentVerticalSegment_type = new entity("IfcAlignmentVerticalSegment", false, 40, IFC4X3_ADD2_IfcAlignmentParameterSegment_type);
+ IFC4X3_ADD2_IfcApplication_type = new entity("IfcApplication", false, 49, 0);
+ IFC4X3_ADD2_IfcAppliedValue_type = new entity("IfcAppliedValue", false, 50, 0);
+ IFC4X3_ADD2_IfcApproval_type = new entity("IfcApproval", false, 52, 0);
+ IFC4X3_ADD2_IfcBoundaryCondition_type = new entity("IfcBoundaryCondition", true, 92, 0);
+ IFC4X3_ADD2_IfcBoundaryEdgeCondition_type = new entity("IfcBoundaryEdgeCondition", false, 94, IFC4X3_ADD2_IfcBoundaryCondition_type);
+ IFC4X3_ADD2_IfcBoundaryFaceCondition_type = new entity("IfcBoundaryFaceCondition", false, 95, IFC4X3_ADD2_IfcBoundaryCondition_type);
+ IFC4X3_ADD2_IfcBoundaryNodeCondition_type = new entity("IfcBoundaryNodeCondition", false, 96, IFC4X3_ADD2_IfcBoundaryCondition_type);
+ IFC4X3_ADD2_IfcBoundaryNodeConditionWarping_type = new entity("IfcBoundaryNodeConditionWarping", false, 97, IFC4X3_ADD2_IfcBoundaryNodeCondition_type);
+ IFC4X3_ADD2_IfcConnectionGeometry_type = new entity("IfcConnectionGeometry", true, 206, 0);
+ IFC4X3_ADD2_IfcConnectionPointGeometry_type = new entity("IfcConnectionPointGeometry", false, 208, IFC4X3_ADD2_IfcConnectionGeometry_type);
+ IFC4X3_ADD2_IfcConnectionSurfaceGeometry_type = new entity("IfcConnectionSurfaceGeometry", false, 209, IFC4X3_ADD2_IfcConnectionGeometry_type);
+ IFC4X3_ADD2_IfcConnectionVolumeGeometry_type = new entity("IfcConnectionVolumeGeometry", false, 211, IFC4X3_ADD2_IfcConnectionGeometry_type);
+ IFC4X3_ADD2_IfcConstraint_type = new entity("IfcConstraint", true, 212, 0);
+ IFC4X3_ADD2_IfcCoordinateOperation_type = new entity("IfcCoordinateOperation", true, 243, 0);
+ IFC4X3_ADD2_IfcCoordinateReferenceSystem_type = new entity("IfcCoordinateReferenceSystem", true, 244, 0);
+ IFC4X3_ADD2_IfcCostValue_type = new entity("IfcCostValue", false, 251, IFC4X3_ADD2_IfcAppliedValue_type);
+ IFC4X3_ADD2_IfcDerivedUnit_type = new entity("IfcDerivedUnit", false, 299, 0);
+ IFC4X3_ADD2_IfcDerivedUnitElement_type = new entity("IfcDerivedUnitElement", false, 300, 0);
+ IFC4X3_ADD2_IfcDimensionalExponents_type = new entity("IfcDimensionalExponents", false, 303, 0);
+ IFC4X3_ADD2_IfcExternalInformation_type = new entity("IfcExternalInformation", true, 422, 0);
+ IFC4X3_ADD2_IfcExternalReference_type = new entity("IfcExternalReference", true, 426, 0);
+ IFC4X3_ADD2_IfcExternallyDefinedHatchStyle_type = new entity("IfcExternallyDefinedHatchStyle", false, 423, IFC4X3_ADD2_IfcExternalReference_type);
+ IFC4X3_ADD2_IfcExternallyDefinedSurfaceStyle_type = new entity("IfcExternallyDefinedSurfaceStyle", false, 424, IFC4X3_ADD2_IfcExternalReference_type);
+ IFC4X3_ADD2_IfcExternallyDefinedTextFont_type = new entity("IfcExternallyDefinedTextFont", false, 425, IFC4X3_ADD2_IfcExternalReference_type);
+ IFC4X3_ADD2_IfcGeographicCRS_type = new entity("IfcGeographicCRS", false, 500, IFC4X3_ADD2_IfcCoordinateReferenceSystem_type);
+ IFC4X3_ADD2_IfcGridAxis_type = new entity("IfcGridAxis", false, 521, 0);
+ IFC4X3_ADD2_IfcIrregularTimeSeriesValue_type = new entity("IfcIrregularTimeSeriesValue", false, 562, 0);
+ IFC4X3_ADD2_IfcLibraryInformation_type = new entity("IfcLibraryInformation", false, 585, IFC4X3_ADD2_IfcExternalInformation_type);
+ IFC4X3_ADD2_IfcLibraryReference_type = new entity("IfcLibraryReference", false, 586, IFC4X3_ADD2_IfcExternalReference_type);
+ IFC4X3_ADD2_IfcLightDistributionData_type = new entity("IfcLightDistributionData", false, 589, 0);
+ IFC4X3_ADD2_IfcLightIntensityDistribution_type = new entity("IfcLightIntensityDistribution", false, 595, 0);
+ IFC4X3_ADD2_IfcMapConversion_type = new entity("IfcMapConversion", false, 626, IFC4X3_ADD2_IfcCoordinateOperation_type);
+ IFC4X3_ADD2_IfcMapConversionScaled_type = new entity("IfcMapConversionScaled", false, 627, IFC4X3_ADD2_IfcMapConversion_type);
+ IFC4X3_ADD2_IfcMaterialClassificationRelationship_type = new entity("IfcMaterialClassificationRelationship", false, 638, 0);
+ IFC4X3_ADD2_IfcMaterialDefinition_type = new entity("IfcMaterialDefinition", true, 641, 0);
+ IFC4X3_ADD2_IfcMaterialLayer_type = new entity("IfcMaterialLayer", false, 643, IFC4X3_ADD2_IfcMaterialDefinition_type);
+ IFC4X3_ADD2_IfcMaterialLayerSet_type = new entity("IfcMaterialLayerSet", false, 644, IFC4X3_ADD2_IfcMaterialDefinition_type);
+ IFC4X3_ADD2_IfcMaterialLayerWithOffsets_type = new entity("IfcMaterialLayerWithOffsets", false, 646, IFC4X3_ADD2_IfcMaterialLayer_type);
+ IFC4X3_ADD2_IfcMaterialList_type = new entity("IfcMaterialList", false, 647, 0);
+ IFC4X3_ADD2_IfcMaterialProfile_type = new entity("IfcMaterialProfile", false, 648, IFC4X3_ADD2_IfcMaterialDefinition_type);
+ IFC4X3_ADD2_IfcMaterialProfileSet_type = new entity("IfcMaterialProfileSet", false, 649, IFC4X3_ADD2_IfcMaterialDefinition_type);
+ IFC4X3_ADD2_IfcMaterialProfileWithOffsets_type = new entity("IfcMaterialProfileWithOffsets", false, 652, IFC4X3_ADD2_IfcMaterialProfile_type);
+ IFC4X3_ADD2_IfcMaterialUsageDefinition_type = new entity("IfcMaterialUsageDefinition", true, 656, 0);
+ IFC4X3_ADD2_IfcMeasureWithUnit_type = new entity("IfcMeasureWithUnit", false, 658, 0);
+ IFC4X3_ADD2_IfcMetric_type = new entity("IfcMetric", false, 668, IFC4X3_ADD2_IfcConstraint_type);
+ IFC4X3_ADD2_IfcMonetaryUnit_type = new entity("IfcMonetaryUnit", false, 685, 0);
+ IFC4X3_ADD2_IfcNamedUnit_type = new entity("IfcNamedUnit", true, 693, 0);
+ IFC4X3_ADD2_IfcObjectPlacement_type = new entity("IfcObjectPlacement", true, 704, 0);
+ IFC4X3_ADD2_IfcObjective_type = new entity("IfcObjective", false, 702, IFC4X3_ADD2_IfcConstraint_type);
+ IFC4X3_ADD2_IfcOrganization_type = new entity("IfcOrganization", false, 716, 0);
+ IFC4X3_ADD2_IfcOwnerHistory_type = new entity("IfcOwnerHistory", false, 723, 0);
+ IFC4X3_ADD2_IfcPerson_type = new entity("IfcPerson", false, 737, 0);
+ IFC4X3_ADD2_IfcPersonAndOrganization_type = new entity("IfcPersonAndOrganization", false, 738, 0);
+ IFC4X3_ADD2_IfcPhysicalQuantity_type = new entity("IfcPhysicalQuantity", true, 742, 0);
+ IFC4X3_ADD2_IfcPhysicalSimpleQuantity_type = new entity("IfcPhysicalSimpleQuantity", true, 743, IFC4X3_ADD2_IfcPhysicalQuantity_type);
+ IFC4X3_ADD2_IfcPostalAddress_type = new entity("IfcPostalAddress", false, 780, IFC4X3_ADD2_IfcAddress_type);
+ IFC4X3_ADD2_IfcPresentationItem_type = new entity("IfcPresentationItem", true, 790, 0);
+ IFC4X3_ADD2_IfcPresentationLayerAssignment_type = new entity("IfcPresentationLayerAssignment", false, 791, 0);
+ IFC4X3_ADD2_IfcPresentationLayerWithStyle_type = new entity("IfcPresentationLayerWithStyle", false, 792, IFC4X3_ADD2_IfcPresentationLayerAssignment_type);
+ IFC4X3_ADD2_IfcPresentationStyle_type = new entity("IfcPresentationStyle", true, 793, 0);
+ IFC4X3_ADD2_IfcProductRepresentation_type = new entity("IfcProductRepresentation", true, 802, 0);
+ IFC4X3_ADD2_IfcProfileDef_type = new entity("IfcProfileDef", false, 805, 0);
+ IFC4X3_ADD2_IfcProjectedCRS_type = new entity("IfcProjectedCRS", false, 809, IFC4X3_ADD2_IfcCoordinateReferenceSystem_type);
+ IFC4X3_ADD2_IfcPropertyAbstraction_type = new entity("IfcPropertyAbstraction", true, 817, 0);
+ IFC4X3_ADD2_IfcPropertyEnumeration_type = new entity("IfcPropertyEnumeration", false, 822, IFC4X3_ADD2_IfcPropertyAbstraction_type);
+ IFC4X3_ADD2_IfcQuantityArea_type = new entity("IfcQuantityArea", false, 844, IFC4X3_ADD2_IfcPhysicalSimpleQuantity_type);
+ IFC4X3_ADD2_IfcQuantityCount_type = new entity("IfcQuantityCount", false, 845, IFC4X3_ADD2_IfcPhysicalSimpleQuantity_type);
+ IFC4X3_ADD2_IfcQuantityLength_type = new entity("IfcQuantityLength", false, 846, IFC4X3_ADD2_IfcPhysicalSimpleQuantity_type);
+ IFC4X3_ADD2_IfcQuantityNumber_type = new entity("IfcQuantityNumber", false, 847, IFC4X3_ADD2_IfcPhysicalSimpleQuantity_type);
+ IFC4X3_ADD2_IfcQuantityTime_type = new entity("IfcQuantityTime", false, 849, IFC4X3_ADD2_IfcPhysicalSimpleQuantity_type);
+ IFC4X3_ADD2_IfcQuantityVolume_type = new entity("IfcQuantityVolume", false, 850, IFC4X3_ADD2_IfcPhysicalSimpleQuantity_type);
+ IFC4X3_ADD2_IfcQuantityWeight_type = new entity("IfcQuantityWeight", false, 851, IFC4X3_ADD2_IfcPhysicalSimpleQuantity_type);
+ IFC4X3_ADD2_IfcRecurrencePattern_type = new entity("IfcRecurrencePattern", false, 877, 0);
+ IFC4X3_ADD2_IfcReference_type = new entity("IfcReference", false, 879, 0);
+ IFC4X3_ADD2_IfcRepresentation_type = new entity("IfcRepresentation", true, 950, 0);
+ IFC4X3_ADD2_IfcRepresentationContext_type = new entity("IfcRepresentationContext", true, 951, 0);
+ IFC4X3_ADD2_IfcRepresentationItem_type = new entity("IfcRepresentationItem", true, 952, 0);
+ IFC4X3_ADD2_IfcRepresentationMap_type = new entity("IfcRepresentationMap", false, 953, 0);
+ IFC4X3_ADD2_IfcResourceLevelRelationship_type = new entity("IfcResourceLevelRelationship", true, 957, 0);
+ IFC4X3_ADD2_IfcRigidOperation_type = new entity("IfcRigidOperation", false, 965, IFC4X3_ADD2_IfcCoordinateOperation_type);
+ IFC4X3_ADD2_IfcRoot_type = new entity("IfcRoot", true, 974, 0);
+ IFC4X3_ADD2_IfcSIUnit_type = new entity("IfcSIUnit", false, 1025, IFC4X3_ADD2_IfcNamedUnit_type);
+ IFC4X3_ADD2_IfcSchedulingTime_type = new entity("IfcSchedulingTime", true, 983, 0);
+ IFC4X3_ADD2_IfcShapeAspect_type = new entity("IfcShapeAspect", false, 1006, 0);
+ IFC4X3_ADD2_IfcShapeModel_type = new entity("IfcShapeModel", true, 1007, IFC4X3_ADD2_IfcRepresentation_type);
+ IFC4X3_ADD2_IfcShapeRepresentation_type = new entity("IfcShapeRepresentation", false, 1008, IFC4X3_ADD2_IfcShapeModel_type);
+ IFC4X3_ADD2_IfcStructuralConnectionCondition_type = new entity("IfcStructuralConnectionCondition", true, 1080, 0);
+ IFC4X3_ADD2_IfcStructuralLoad_type = new entity("IfcStructuralLoad", true, 1090, 0);
+ IFC4X3_ADD2_IfcStructuralLoadConfiguration_type = new entity("IfcStructuralLoadConfiguration", false, 1092, IFC4X3_ADD2_IfcStructuralLoad_type);
+ IFC4X3_ADD2_IfcStructuralLoadOrResult_type = new entity("IfcStructuralLoadOrResult", true, 1095, IFC4X3_ADD2_IfcStructuralLoad_type);
+ IFC4X3_ADD2_IfcStructuralLoadStatic_type = new entity("IfcStructuralLoadStatic", true, 1101, IFC4X3_ADD2_IfcStructuralLoadOrResult_type);
+ IFC4X3_ADD2_IfcStructuralLoadTemperature_type = new entity("IfcStructuralLoadTemperature", false, 1102, IFC4X3_ADD2_IfcStructuralLoadStatic_type);
+ IFC4X3_ADD2_IfcStyleModel_type = new entity("IfcStyleModel", true, 1119, IFC4X3_ADD2_IfcRepresentation_type);
+ IFC4X3_ADD2_IfcStyledItem_type = new entity("IfcStyledItem", false, 1117, IFC4X3_ADD2_IfcRepresentationItem_type);
+ IFC4X3_ADD2_IfcStyledRepresentation_type = new entity("IfcStyledRepresentation", false, 1118, IFC4X3_ADD2_IfcStyleModel_type);
+ IFC4X3_ADD2_IfcSurfaceReinforcementArea_type = new entity("IfcSurfaceReinforcementArea", false, 1132, IFC4X3_ADD2_IfcStructuralLoadOrResult_type);
+ IFC4X3_ADD2_IfcSurfaceStyle_type = new entity("IfcSurfaceStyle", false, 1134, IFC4X3_ADD2_IfcPresentationStyle_type);
+ IFC4X3_ADD2_IfcSurfaceStyleLighting_type = new entity("IfcSurfaceStyleLighting", false, 1136, IFC4X3_ADD2_IfcPresentationItem_type);
+ IFC4X3_ADD2_IfcSurfaceStyleRefraction_type = new entity("IfcSurfaceStyleRefraction", false, 1137, IFC4X3_ADD2_IfcPresentationItem_type);
+ IFC4X3_ADD2_IfcSurfaceStyleShading_type = new entity("IfcSurfaceStyleShading", false, 1139, IFC4X3_ADD2_IfcPresentationItem_type);
+ IFC4X3_ADD2_IfcSurfaceStyleWithTextures_type = new entity("IfcSurfaceStyleWithTextures", false, 1140, IFC4X3_ADD2_IfcPresentationItem_type);
+ IFC4X3_ADD2_IfcSurfaceTexture_type = new entity("IfcSurfaceTexture", true, 1141, IFC4X3_ADD2_IfcPresentationItem_type);
+ IFC4X3_ADD2_IfcTable_type = new entity("IfcTable", false, 1153, 0);
+ IFC4X3_ADD2_IfcTableColumn_type = new entity("IfcTableColumn", false, 1154, 0);
+ IFC4X3_ADD2_IfcTableRow_type = new entity("IfcTableRow", false, 1155, 0);
+ IFC4X3_ADD2_IfcTaskTime_type = new entity("IfcTaskTime", false, 1161, IFC4X3_ADD2_IfcSchedulingTime_type);
+ IFC4X3_ADD2_IfcTaskTimeRecurring_type = new entity("IfcTaskTimeRecurring", false, 1162, IFC4X3_ADD2_IfcTaskTime_type);
+ IFC4X3_ADD2_IfcTelecomAddress_type = new entity("IfcTelecomAddress", false, 1165, IFC4X3_ADD2_IfcAddress_type);
+ IFC4X3_ADD2_IfcTextStyle_type = new entity("IfcTextStyle", false, 1187, IFC4X3_ADD2_IfcPresentationStyle_type);
+ IFC4X3_ADD2_IfcTextStyleForDefinedFont_type = new entity("IfcTextStyleForDefinedFont", false, 1189, IFC4X3_ADD2_IfcPresentationItem_type);
+ IFC4X3_ADD2_IfcTextStyleTextModel_type = new entity("IfcTextStyleTextModel", false, 1190, IFC4X3_ADD2_IfcPresentationItem_type);
+ IFC4X3_ADD2_IfcTextureCoordinate_type = new entity("IfcTextureCoordinate", true, 1192, IFC4X3_ADD2_IfcPresentationItem_type);
+ IFC4X3_ADD2_IfcTextureCoordinateGenerator_type = new entity("IfcTextureCoordinateGenerator", false, 1193, IFC4X3_ADD2_IfcTextureCoordinate_type);
+ IFC4X3_ADD2_IfcTextureCoordinateIndices_type = new entity("IfcTextureCoordinateIndices", false, 1194, 0);
+ IFC4X3_ADD2_IfcTextureCoordinateIndicesWithVoids_type = new entity("IfcTextureCoordinateIndicesWithVoids", false, 1195, IFC4X3_ADD2_IfcTextureCoordinateIndices_type);
+ IFC4X3_ADD2_IfcTextureMap_type = new entity("IfcTextureMap", false, 1196, IFC4X3_ADD2_IfcTextureCoordinate_type);
+ IFC4X3_ADD2_IfcTextureVertex_type = new entity("IfcTextureVertex", false, 1197, IFC4X3_ADD2_IfcPresentationItem_type);
+ IFC4X3_ADD2_IfcTextureVertexList_type = new entity("IfcTextureVertexList", false, 1198, IFC4X3_ADD2_IfcPresentationItem_type);
+ IFC4X3_ADD2_IfcTimePeriod_type = new entity("IfcTimePeriod", false, 1209, 0);
+ IFC4X3_ADD2_IfcTimeSeries_type = new entity("IfcTimeSeries", true, 1210, 0);
+ IFC4X3_ADD2_IfcTimeSeriesValue_type = new entity("IfcTimeSeriesValue", false, 1212, 0);
+ IFC4X3_ADD2_IfcTopologicalRepresentationItem_type = new entity("IfcTopologicalRepresentationItem", true, 1214, IFC4X3_ADD2_IfcRepresentationItem_type);
+ IFC4X3_ADD2_IfcTopologyRepresentation_type = new entity("IfcTopologyRepresentation", false, 1215, IFC4X3_ADD2_IfcShapeModel_type);
+ IFC4X3_ADD2_IfcUnitAssignment_type = new entity("IfcUnitAssignment", false, 1252, 0);
+ IFC4X3_ADD2_IfcVertex_type = new entity("IfcVertex", false, 1266, IFC4X3_ADD2_IfcTopologicalRepresentationItem_type);
+ IFC4X3_ADD2_IfcVertexPoint_type = new entity("IfcVertexPoint", false, 1268, IFC4X3_ADD2_IfcVertex_type);
+ IFC4X3_ADD2_IfcVirtualGridIntersection_type = new entity("IfcVirtualGridIntersection", false, 1277, 0);
+ IFC4X3_ADD2_IfcWellKnownText_type = new entity("IfcWellKnownText", false, 1292, 0);
+ IFC4X3_ADD2_IfcWorkTime_type = new entity("IfcWorkTime", false, 1309, IFC4X3_ADD2_IfcSchedulingTime_type);
+ {
+ std::vector items; items.reserve(3);
+ items.push_back(IFC4X3_ADD2_IfcOrganization_type);
+ items.push_back(IFC4X3_ADD2_IfcPerson_type);
+ items.push_back(IFC4X3_ADD2_IfcPersonAndOrganization_type);
+ IFC4X3_ADD2_IfcActorSelect_type = new select_type("IfcActorSelect", 8, items);
+ }
+ IFC4X3_ADD2_IfcArcIndex_type = new type_declaration("IfcArcIndex", 57, new aggregation_type(aggregation_type::list_type, 3, 3, new named_type(IFC4X3_ADD2_IfcPositiveInteger_type)));
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IFC4X3_ADD2_IfcLengthMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcPlaneAngleMeasure_type);
+ IFC4X3_ADD2_IfcBendingParameterSelect_type = new select_type("IfcBendingParameterSelect", 79, items);
+ }
+ IFC4X3_ADD2_IfcBoxAlignment_type = new type_declaration("IfcBoxAlignment", 101, new named_type(IFC4X3_ADD2_IfcLabel_type));
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IFC4X3_ADD2_IfcLengthMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcParameterValue_type);
+ IFC4X3_ADD2_IfcCurveMeasureSelect_type = new select_type("IfcCurveMeasureSelect", 276, items);
+ }
+ {
+ std::vector items; items.reserve(71);
+ items.push_back(IFC4X3_ADD2_IfcAbsorbedDoseMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcAccelerationMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcAngularVelocityMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcAreaDensityMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcCompoundPlaneAngleMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcCurvatureMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcDoseEquivalentMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcDynamicViscosityMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcElectricCapacitanceMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcElectricChargeMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcElectricConductanceMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcElectricResistanceMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcElectricVoltageMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcEnergyMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcForceMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcFrequencyMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcHeatFluxDensityMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcHeatingValueMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcIlluminanceMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcInductanceMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcIntegerCountRateMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcIonConcentrationMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcIsothermalMoistureCapacityMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcKinematicViscosityMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcLinearForceMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcLinearMomentMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcLinearStiffnessMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcLinearVelocityMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcLuminousFluxMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcLuminousIntensityDistributionMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcMagneticFluxDensityMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcMagneticFluxMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcMassDensityMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcMassFlowRateMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcMassPerLengthMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcModulusOfElasticityMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcModulusOfLinearSubgradeReactionMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcModulusOfRotationalSubgradeReactionMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcModulusOfSubgradeReactionMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcMoistureDiffusivityMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcMolecularWeightMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcMomentOfInertiaMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcMonetaryMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcPHMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcPlanarForceMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcPowerMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcPressureMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcRadioActivityMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcRotationalFrequencyMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcRotationalMassMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcRotationalStiffnessMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcSectionModulusMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcSectionalAreaIntegralMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcShearModulusMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcSoundPowerLevelMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcSoundPowerMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcSoundPressureLevelMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcSoundPressureMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcSpecificHeatCapacityMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcTemperatureGradientMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcTemperatureRateOfChangeMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcThermalAdmittanceMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcThermalConductivityMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcThermalExpansionCoefficientMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcThermalResistanceMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcThermalTransmittanceMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcTorqueMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcVaporPermeabilityMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcVolumetricFlowRateMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcWarpingConstantMeasure_type);
+ items.push_back(IFC4X3_ADD2_IfcWarpingMomentMeasure_type);
+ IFC4X3_ADD2_IfcDerivedMeasureValue_type = new select_type("IfcDerivedMeasureValue", 297, items);
+ }
+ {
+ std::vector