diff --git a/src/ifcparse/Ifc4x3_rc2-definitions.h b/src/ifcparse/Ifc4x3_rc2-definitions.h
new file mode 100644
index 0000000000..5e170e7c07
--- /dev/null
+++ b/src/ifcparse/Ifc4x3_rc2-definitions.h
@@ -0,0 +1,4025 @@
+/********************************************************************************
+ * *
+ * 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_RC2.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_IfcBearingTypeDisplacementEnum
+#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_IfcDoorStyleConstructionEnum
+#define SCHEMA_HAS_IfcDoorStyleOperationEnum
+#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_IfcFacilityPartTypeSelect
+#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_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_IfcImpactProtectionDeviceTypeSelect
+#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_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_IfcLinearAxisSelect
+#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_IfcNullStyle
+#define SCHEMA_HAS_IfcNumericMeasure
+#define SCHEMA_HAS_IfcObjectReferenceSelect
+#define SCHEMA_HAS_IfcObjectTypeEnum
+#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_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_IfcPresentationStyleSelect
+#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_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_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_IfcStructuralActivityAssignmentSelect
+#define SCHEMA_HAS_IfcStructuralCurveActivityTypeEnum
+#define SCHEMA_HAS_IfcStructuralCurveMemberTypeEnum
+#define SCHEMA_HAS_IfcStructuralSurfaceActivityTypeEnum
+#define SCHEMA_HAS_IfcStructuralSurfaceMemberTypeEnum
+#define SCHEMA_HAS_IfcStyleAssignmentSelect
+#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_IfcTransitionCurveType
+#define SCHEMA_HAS_IfcTranslationalStiffnessSelect
+#define SCHEMA_HAS_IfcTransportElementFixedTypeEnum
+#define SCHEMA_HAS_IfcTransportElementNonFixedTypeEnum
+#define SCHEMA_HAS_IfcTransportElementTypeSelect
+#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_IfcVibrationDamperTypeEnum
+#define SCHEMA_HAS_IfcVibrationIsolatorTypeEnum
+#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_IfcWindowPanelOperationEnum
+#define SCHEMA_HAS_IfcWindowPanelPositionEnum
+#define SCHEMA_HAS_IfcWindowStyleConstructionEnum
+#define SCHEMA_HAS_IfcWindowStyleOperationEnum
+#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_IfcAlignment2DVerSegCircularArc
+#define SCHEMA_IfcAlignment2DVerSegCircularArc_HAS_Radius
+#define SCHEMA_IfcAlignment2DVerSegCircularArc_HAS_IsConvex
+#define SCHEMA_HAS_IfcAlignment2DVerSegLine
+#define SCHEMA_HAS_IfcAlignment2DVerSegParabolicArc
+#define SCHEMA_IfcAlignment2DVerSegParabolicArc_HAS_ParabolaConstant
+#define SCHEMA_IfcAlignment2DVerSegParabolicArc_HAS_IsConvex
+#define SCHEMA_HAS_IfcAlignmentCant
+#define SCHEMA_IfcAlignmentCant_HAS_RailHeadDistance
+#define SCHEMA_IfcAlignmentCant_HAS_Segments
+#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_SmoothingLength
+#define SCHEMA_IfcAlignmentCantSegment_SmoothingLength_IS_OPTIONAL
+#define SCHEMA_IfcAlignmentCantSegment_HAS_PredefinedType
+#define SCHEMA_HAS_IfcAlignmentCurve
+#define SCHEMA_IfcAlignmentCurve_HAS_Horizontal
+#define SCHEMA_IfcAlignmentCurve_HAS_Vertical
+#define SCHEMA_IfcAlignmentCurve_Vertical_IS_OPTIONAL
+#define SCHEMA_IfcAlignmentCurve_HAS_Tag
+#define SCHEMA_IfcAlignmentCurve_Tag_IS_OPTIONAL
+#define SCHEMA_HAS_IfcAlignmentHorizontal
+#define SCHEMA_IfcAlignmentHorizontal_HAS_StartDistAlong
+#define SCHEMA_IfcAlignmentHorizontal_StartDistAlong_IS_OPTIONAL
+#define SCHEMA_IfcAlignmentHorizontal_HAS_Segments
+#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_GeometricParameters
+#define SCHEMA_HAS_IfcAlignmentVertical
+#define SCHEMA_IfcAlignmentVertical_HAS_Segments
+#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_IfcAxisLateralInclination
+#define SCHEMA_IfcAxisLateralInclination_HAS_ToLinearAxis
+#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_IfcBeamStandardCase
+#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_IfcBlossCurve
+#define SCHEMA_IfcBlossCurve_HAS_Position
+#define SCHEMA_IfcBlossCurve_HAS_CurveLength
+#define SCHEMA_IfcBlossCurve_HAS_Radius
+#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_IfcBoundedCurve_HAS_PositioningElement
+#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_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_IfcCircularArcSegment2D
+#define SCHEMA_IfcCircularArcSegment2D_HAS_Radius
+#define SCHEMA_IfcCircularArcSegment2D_HAS_IsCCW
+#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_Location
+#define SCHEMA_IfcClassification_Location_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_Position
+#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_IfcColumnStandardCase
+#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_IfcCompositeCurveSegment_HAS_UsingCurves
+#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_HAS_Description
+#define SCHEMA_IfcCoordinateReferenceSystem_Description_IS_OPTIONAL
+#define SCHEMA_IfcCoordinateReferenceSystem_HAS_GeodeticDatum
+#define SCHEMA_IfcCoordinateReferenceSystem_GeodeticDatum_IS_OPTIONAL
+#define SCHEMA_IfcCoordinateReferenceSystem_HAS_VerticalDatum
+#define SCHEMA_IfcCoordinateReferenceSystem_VerticalDatum_IS_OPTIONAL
+#define SCHEMA_IfcCoordinateReferenceSystem_HAS_HasCoordinateOperation
+#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_StartPlacement
+#define SCHEMA_IfcCurveSegment_HAS_SegmentLength
+#define SCHEMA_IfcCurveSegment_HAS_ParentCurve
+#define SCHEMA_HAS_IfcCurveSegment2D
+#define SCHEMA_IfcCurveSegment2D_HAS_StartPoint
+#define SCHEMA_IfcCurveSegment2D_HAS_StartDirection
+#define SCHEMA_IfcCurveSegment2D_HAS_SegmentLength
+#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_CurveFont
+#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_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_IfcDirectrixDistanceSweptAreaSolid
+#define SCHEMA_IfcDirectrixDistanceSweptAreaSolid_HAS_Directrix
+#define SCHEMA_IfcDirectrixDistanceSweptAreaSolid_HAS_StartDistance
+#define SCHEMA_IfcDirectrixDistanceSweptAreaSolid_StartDistance_IS_OPTIONAL
+#define SCHEMA_IfcDirectrixDistanceSweptAreaSolid_HAS_EndDistance
+#define SCHEMA_IfcDirectrixDistanceSweptAreaSolid_EndDistance_IS_OPTIONAL
+#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_IfcDoorStandardCase
+#define SCHEMA_HAS_IfcDoorStyle
+#define SCHEMA_IfcDoorStyle_HAS_OperationType
+#define SCHEMA_IfcDoorStyle_HAS_ConstructionType
+#define SCHEMA_IfcDoorStyle_HAS_ParameterTakesPrecedence
+#define SCHEMA_IfcDoorStyle_HAS_Sizeable
+#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_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_PredefinedType
+#define SCHEMA_IfcFacilityPart_HAS_UsageType
+#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_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_HAS_IfcGradientCurve
+#define SCHEMA_IfcGradientCurve_HAS_BaseCurve
+#define SCHEMA_IfcGradientCurve_HAS_Segments
+#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_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_IfcInclinedReferenceSweptAreaSolid
+#define SCHEMA_IfcInclinedReferenceSweptAreaSolid_HAS_FixedAxisVertical
+#define SCHEMA_IfcInclinedReferenceSweptAreaSolid_FixedAxisVertical_IS_OPTIONAL
+#define SCHEMA_IfcInclinedReferenceSweptAreaSolid_HAS_Inclinating
+#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_HAS_IfcIndexedPolygonalFaceWithVoids
+#define SCHEMA_IfcIndexedPolygonalFaceWithVoids_HAS_InnerCoordIndices
+#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_Mountable
+#define SCHEMA_HAS_IfcKerbType
+#define SCHEMA_IfcKerbType_HAS_Mountable
+#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_IfcLineSegment2D
+#define SCHEMA_HAS_IfcLinearAxisWithInclination
+#define SCHEMA_IfcLinearAxisWithInclination_HAS_Directrix
+#define SCHEMA_IfcLinearAxisWithInclination_HAS_Inclinating
+#define SCHEMA_HAS_IfcLinearElement
+#define SCHEMA_HAS_IfcLinearPlacement
+#define SCHEMA_IfcLinearPlacement_HAS_PlacementMeasuredAlong
+#define SCHEMA_IfcLinearPlacement_HAS_Distance
+#define SCHEMA_IfcLinearPlacement_HAS_RelativePlacement
+#define SCHEMA_IfcLinearPlacement_HAS_CartesianPosition
+#define SCHEMA_IfcLinearPlacement_CartesianPosition_IS_OPTIONAL
+#define SCHEMA_HAS_IfcLinearPlacementWithInclination
+#define SCHEMA_IfcLinearPlacementWithInclination_HAS_Inclinating
+#define SCHEMA_HAS_IfcLinearPositioningElement
+#define SCHEMA_IfcLinearPositioningElement_HAS_Axis
+#define SCHEMA_HAS_IfcLinearSpanPlacement
+#define SCHEMA_IfcLinearSpanPlacement_HAS_Span
+#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_IfcMappedItem
+#define SCHEMA_IfcMappedItem_HAS_MappingSource
+#define SCHEMA_IfcMappedItem_HAS_MappingTarget
+#define SCHEMA_HAS_IfcMarineFacility
+#define SCHEMA_IfcMarineFacility_HAS_PredefinedType
+#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_Expression
+#define SCHEMA_IfcMaterialRelationship_Expression_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_IfcMemberStandardCase
+#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_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_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_IfcOpeningStandardCase
+#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_Flexible
+#define SCHEMA_IfcPavement_Flexible_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPavementType
+#define SCHEMA_IfcPavementType_HAS_Flexible
+#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_IfcPlant
+#define SCHEMA_HAS_IfcPlate
+#define SCHEMA_IfcPlate_HAS_PredefinedType
+#define SCHEMA_IfcPlate_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPlateStandardCase
+#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_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_IfcPresentationStyleAssignment
+#define SCHEMA_IfcPresentationStyleAssignment_HAS_Styles
+#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_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_Description
+#define SCHEMA_IfcProperty_Description_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_IfcProxy
+#define SCHEMA_IfcProxy_HAS_ProxyType
+#define SCHEMA_IfcProxy_HAS_Tag
+#define SCHEMA_IfcProxy_Tag_IS_OPTIONAL
+#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_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_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_IfcReferent_HAS_RestartDistance
+#define SCHEMA_IfcReferent_RestartDistance_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_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_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_IfcRoad
+#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_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_IfcSectionedSolidHorizontal_HAS_FixedAxisVertical
+#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_IfcSectionedSurface_HAS_FixedAxisVertical
+#define SCHEMA_HAS_IfcSegment
+#define SCHEMA_IfcSegment_HAS_Transition
+#define SCHEMA_HAS_IfcSegmentedReferenceCurve
+#define SCHEMA_IfcSegmentedReferenceCurve_HAS_BaseCurve
+#define SCHEMA_IfcSegmentedReferenceCurve_HAS_Segments
+#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_IfcSeriesParameterCurve
+#define SCHEMA_IfcSeriesParameterCurve_HAS_Position
+#define SCHEMA_IfcSeriesParameterCurve_HAS_CoefficientsX
+#define SCHEMA_IfcSeriesParameterCurve_HAS_CoefficientsY
+#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_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_IfcSlabElementedCase
+#define SCHEMA_HAS_IfcSlabStandardCase
+#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_IfcSolidStratum
+#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_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_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_Axis
+#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_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_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_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_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_IfcTransitionCurveSegment2D
+#define SCHEMA_IfcTransitionCurveSegment2D_HAS_StartRadius
+#define SCHEMA_IfcTransitionCurveSegment2D_StartRadius_IS_OPTIONAL
+#define SCHEMA_IfcTransitionCurveSegment2D_HAS_EndRadius
+#define SCHEMA_IfcTransitionCurveSegment2D_EndRadius_IS_OPTIONAL
+#define SCHEMA_IfcTransitionCurveSegment2D_HAS_IsStartRadiusCCW
+#define SCHEMA_IfcTransitionCurveSegment2D_HAS_IsEndRadiusCCW
+#define SCHEMA_IfcTransitionCurveSegment2D_HAS_TransitionCurveType
+#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_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_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_IfcVibrationDamperType_PredefinedType_IS_OPTIONAL
+#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_HAS_IfcVirtualGridIntersection
+#define SCHEMA_IfcVirtualGridIntersection_HAS_IntersectingAxes
+#define SCHEMA_IfcVirtualGridIntersection_HAS_OffsetDistances
+#define SCHEMA_HAS_IfcVoidStratum
+#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_IfcWallElementedCase
+#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_IfcWaterStratum
+#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_IfcWindowStandardCase
+#define SCHEMA_HAS_IfcWindowStyle
+#define SCHEMA_IfcWindowStyle_HAS_ConstructionType
+#define SCHEMA_IfcWindowStyle_HAS_OperationType
+#define SCHEMA_IfcWindowStyle_HAS_ParameterTakesPrecedence
+#define SCHEMA_IfcWindowStyle_HAS_Sizeable
+#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_Start
+#define SCHEMA_IfcWorkTime_Start_IS_OPTIONAL
+#define SCHEMA_IfcWorkTime_HAS_Finish
+#define SCHEMA_IfcWorkTime_Finish_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
diff --git a/src/ifcparse/Ifc4x3_rc2-schema.cpp b/src/ifcparse/Ifc4x3_rc2-schema.cpp
new file mode 100644
index 0000000000..944de6b57a
--- /dev/null
+++ b/src/ifcparse/Ifc4x3_rc2-schema.cpp
@@ -0,0 +1,17253 @@
+/********************************************************************************
+ * *
+ * 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_RC2.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_rc2.h"
+
+using namespace IfcParse;
+
+entity* IFC4X3_RC2_IfcActionRequest_type = 0;
+entity* IFC4X3_RC2_IfcActor_type = 0;
+entity* IFC4X3_RC2_IfcActorRole_type = 0;
+entity* IFC4X3_RC2_IfcActuator_type = 0;
+entity* IFC4X3_RC2_IfcActuatorType_type = 0;
+entity* IFC4X3_RC2_IfcAddress_type = 0;
+entity* IFC4X3_RC2_IfcAdvancedBrep_type = 0;
+entity* IFC4X3_RC2_IfcAdvancedBrepWithVoids_type = 0;
+entity* IFC4X3_RC2_IfcAdvancedFace_type = 0;
+entity* IFC4X3_RC2_IfcAirTerminal_type = 0;
+entity* IFC4X3_RC2_IfcAirTerminalBox_type = 0;
+entity* IFC4X3_RC2_IfcAirTerminalBoxType_type = 0;
+entity* IFC4X3_RC2_IfcAirTerminalType_type = 0;
+entity* IFC4X3_RC2_IfcAirToAirHeatRecovery_type = 0;
+entity* IFC4X3_RC2_IfcAirToAirHeatRecoveryType_type = 0;
+entity* IFC4X3_RC2_IfcAlarm_type = 0;
+entity* IFC4X3_RC2_IfcAlarmType_type = 0;
+entity* IFC4X3_RC2_IfcAlignment_type = 0;
+entity* IFC4X3_RC2_IfcAlignment2DVerSegCircularArc_type = 0;
+entity* IFC4X3_RC2_IfcAlignment2DVerSegLine_type = 0;
+entity* IFC4X3_RC2_IfcAlignment2DVerSegParabolicArc_type = 0;
+entity* IFC4X3_RC2_IfcAlignmentCant_type = 0;
+entity* IFC4X3_RC2_IfcAlignmentCantSegment_type = 0;
+entity* IFC4X3_RC2_IfcAlignmentCurve_type = 0;
+entity* IFC4X3_RC2_IfcAlignmentHorizontal_type = 0;
+entity* IFC4X3_RC2_IfcAlignmentHorizontalSegment_type = 0;
+entity* IFC4X3_RC2_IfcAlignmentParameterSegment_type = 0;
+entity* IFC4X3_RC2_IfcAlignmentSegment_type = 0;
+entity* IFC4X3_RC2_IfcAlignmentVertical_type = 0;
+entity* IFC4X3_RC2_IfcAlignmentVerticalSegment_type = 0;
+entity* IFC4X3_RC2_IfcAnnotation_type = 0;
+entity* IFC4X3_RC2_IfcAnnotationFillArea_type = 0;
+entity* IFC4X3_RC2_IfcApplication_type = 0;
+entity* IFC4X3_RC2_IfcAppliedValue_type = 0;
+entity* IFC4X3_RC2_IfcApproval_type = 0;
+entity* IFC4X3_RC2_IfcApprovalRelationship_type = 0;
+entity* IFC4X3_RC2_IfcArbitraryClosedProfileDef_type = 0;
+entity* IFC4X3_RC2_IfcArbitraryOpenProfileDef_type = 0;
+entity* IFC4X3_RC2_IfcArbitraryProfileDefWithVoids_type = 0;
+entity* IFC4X3_RC2_IfcAsset_type = 0;
+entity* IFC4X3_RC2_IfcAsymmetricIShapeProfileDef_type = 0;
+entity* IFC4X3_RC2_IfcAudioVisualAppliance_type = 0;
+entity* IFC4X3_RC2_IfcAudioVisualApplianceType_type = 0;
+entity* IFC4X3_RC2_IfcAxis1Placement_type = 0;
+entity* IFC4X3_RC2_IfcAxis2Placement2D_type = 0;
+entity* IFC4X3_RC2_IfcAxis2Placement3D_type = 0;
+entity* IFC4X3_RC2_IfcAxis2PlacementLinear_type = 0;
+entity* IFC4X3_RC2_IfcAxisLateralInclination_type = 0;
+entity* IFC4X3_RC2_IfcBSplineCurve_type = 0;
+entity* IFC4X3_RC2_IfcBSplineCurveWithKnots_type = 0;
+entity* IFC4X3_RC2_IfcBSplineSurface_type = 0;
+entity* IFC4X3_RC2_IfcBSplineSurfaceWithKnots_type = 0;
+entity* IFC4X3_RC2_IfcBeam_type = 0;
+entity* IFC4X3_RC2_IfcBeamStandardCase_type = 0;
+entity* IFC4X3_RC2_IfcBeamType_type = 0;
+entity* IFC4X3_RC2_IfcBearing_type = 0;
+entity* IFC4X3_RC2_IfcBearingType_type = 0;
+entity* IFC4X3_RC2_IfcBlobTexture_type = 0;
+entity* IFC4X3_RC2_IfcBlock_type = 0;
+entity* IFC4X3_RC2_IfcBlossCurve_type = 0;
+entity* IFC4X3_RC2_IfcBoiler_type = 0;
+entity* IFC4X3_RC2_IfcBoilerType_type = 0;
+entity* IFC4X3_RC2_IfcBooleanClippingResult_type = 0;
+entity* IFC4X3_RC2_IfcBooleanResult_type = 0;
+entity* IFC4X3_RC2_IfcBorehole_type = 0;
+entity* IFC4X3_RC2_IfcBoundaryCondition_type = 0;
+entity* IFC4X3_RC2_IfcBoundaryCurve_type = 0;
+entity* IFC4X3_RC2_IfcBoundaryEdgeCondition_type = 0;
+entity* IFC4X3_RC2_IfcBoundaryFaceCondition_type = 0;
+entity* IFC4X3_RC2_IfcBoundaryNodeCondition_type = 0;
+entity* IFC4X3_RC2_IfcBoundaryNodeConditionWarping_type = 0;
+entity* IFC4X3_RC2_IfcBoundedCurve_type = 0;
+entity* IFC4X3_RC2_IfcBoundedSurface_type = 0;
+entity* IFC4X3_RC2_IfcBoundingBox_type = 0;
+entity* IFC4X3_RC2_IfcBoxedHalfSpace_type = 0;
+entity* IFC4X3_RC2_IfcBridge_type = 0;
+entity* IFC4X3_RC2_IfcBridgePart_type = 0;
+entity* IFC4X3_RC2_IfcBuilding_type = 0;
+entity* IFC4X3_RC2_IfcBuildingElementPart_type = 0;
+entity* IFC4X3_RC2_IfcBuildingElementPartType_type = 0;
+entity* IFC4X3_RC2_IfcBuildingElementProxy_type = 0;
+entity* IFC4X3_RC2_IfcBuildingElementProxyType_type = 0;
+entity* IFC4X3_RC2_IfcBuildingStorey_type = 0;
+entity* IFC4X3_RC2_IfcBuildingSystem_type = 0;
+entity* IFC4X3_RC2_IfcBuiltElement_type = 0;
+entity* IFC4X3_RC2_IfcBuiltElementType_type = 0;
+entity* IFC4X3_RC2_IfcBuiltSystem_type = 0;
+entity* IFC4X3_RC2_IfcBurner_type = 0;
+entity* IFC4X3_RC2_IfcBurnerType_type = 0;
+entity* IFC4X3_RC2_IfcCShapeProfileDef_type = 0;
+entity* IFC4X3_RC2_IfcCableCarrierFitting_type = 0;
+entity* IFC4X3_RC2_IfcCableCarrierFittingType_type = 0;
+entity* IFC4X3_RC2_IfcCableCarrierSegment_type = 0;
+entity* IFC4X3_RC2_IfcCableCarrierSegmentType_type = 0;
+entity* IFC4X3_RC2_IfcCableFitting_type = 0;
+entity* IFC4X3_RC2_IfcCableFittingType_type = 0;
+entity* IFC4X3_RC2_IfcCableSegment_type = 0;
+entity* IFC4X3_RC2_IfcCableSegmentType_type = 0;
+entity* IFC4X3_RC2_IfcCaissonFoundation_type = 0;
+entity* IFC4X3_RC2_IfcCaissonFoundationType_type = 0;
+entity* IFC4X3_RC2_IfcCartesianPoint_type = 0;
+entity* IFC4X3_RC2_IfcCartesianPointList_type = 0;
+entity* IFC4X3_RC2_IfcCartesianPointList2D_type = 0;
+entity* IFC4X3_RC2_IfcCartesianPointList3D_type = 0;
+entity* IFC4X3_RC2_IfcCartesianTransformationOperator_type = 0;
+entity* IFC4X3_RC2_IfcCartesianTransformationOperator2D_type = 0;
+entity* IFC4X3_RC2_IfcCartesianTransformationOperator2DnonUniform_type = 0;
+entity* IFC4X3_RC2_IfcCartesianTransformationOperator3D_type = 0;
+entity* IFC4X3_RC2_IfcCartesianTransformationOperator3DnonUniform_type = 0;
+entity* IFC4X3_RC2_IfcCenterLineProfileDef_type = 0;
+entity* IFC4X3_RC2_IfcChiller_type = 0;
+entity* IFC4X3_RC2_IfcChillerType_type = 0;
+entity* IFC4X3_RC2_IfcChimney_type = 0;
+entity* IFC4X3_RC2_IfcChimneyType_type = 0;
+entity* IFC4X3_RC2_IfcCircle_type = 0;
+entity* IFC4X3_RC2_IfcCircleHollowProfileDef_type = 0;
+entity* IFC4X3_RC2_IfcCircleProfileDef_type = 0;
+entity* IFC4X3_RC2_IfcCircularArcSegment2D_type = 0;
+entity* IFC4X3_RC2_IfcCivilElement_type = 0;
+entity* IFC4X3_RC2_IfcCivilElementType_type = 0;
+entity* IFC4X3_RC2_IfcClassification_type = 0;
+entity* IFC4X3_RC2_IfcClassificationReference_type = 0;
+entity* IFC4X3_RC2_IfcClosedShell_type = 0;
+entity* IFC4X3_RC2_IfcClothoid_type = 0;
+entity* IFC4X3_RC2_IfcCoil_type = 0;
+entity* IFC4X3_RC2_IfcCoilType_type = 0;
+entity* IFC4X3_RC2_IfcColourRgb_type = 0;
+entity* IFC4X3_RC2_IfcColourRgbList_type = 0;
+entity* IFC4X3_RC2_IfcColourSpecification_type = 0;
+entity* IFC4X3_RC2_IfcColumn_type = 0;
+entity* IFC4X3_RC2_IfcColumnStandardCase_type = 0;
+entity* IFC4X3_RC2_IfcColumnType_type = 0;
+entity* IFC4X3_RC2_IfcCommunicationsAppliance_type = 0;
+entity* IFC4X3_RC2_IfcCommunicationsApplianceType_type = 0;
+entity* IFC4X3_RC2_IfcComplexProperty_type = 0;
+entity* IFC4X3_RC2_IfcComplexPropertyTemplate_type = 0;
+entity* IFC4X3_RC2_IfcCompositeCurve_type = 0;
+entity* IFC4X3_RC2_IfcCompositeCurveOnSurface_type = 0;
+entity* IFC4X3_RC2_IfcCompositeCurveSegment_type = 0;
+entity* IFC4X3_RC2_IfcCompositeProfileDef_type = 0;
+entity* IFC4X3_RC2_IfcCompressor_type = 0;
+entity* IFC4X3_RC2_IfcCompressorType_type = 0;
+entity* IFC4X3_RC2_IfcCondenser_type = 0;
+entity* IFC4X3_RC2_IfcCondenserType_type = 0;
+entity* IFC4X3_RC2_IfcConic_type = 0;
+entity* IFC4X3_RC2_IfcConnectedFaceSet_type = 0;
+entity* IFC4X3_RC2_IfcConnectionCurveGeometry_type = 0;
+entity* IFC4X3_RC2_IfcConnectionGeometry_type = 0;
+entity* IFC4X3_RC2_IfcConnectionPointEccentricity_type = 0;
+entity* IFC4X3_RC2_IfcConnectionPointGeometry_type = 0;
+entity* IFC4X3_RC2_IfcConnectionSurfaceGeometry_type = 0;
+entity* IFC4X3_RC2_IfcConnectionVolumeGeometry_type = 0;
+entity* IFC4X3_RC2_IfcConstraint_type = 0;
+entity* IFC4X3_RC2_IfcConstructionEquipmentResource_type = 0;
+entity* IFC4X3_RC2_IfcConstructionEquipmentResourceType_type = 0;
+entity* IFC4X3_RC2_IfcConstructionMaterialResource_type = 0;
+entity* IFC4X3_RC2_IfcConstructionMaterialResourceType_type = 0;
+entity* IFC4X3_RC2_IfcConstructionProductResource_type = 0;
+entity* IFC4X3_RC2_IfcConstructionProductResourceType_type = 0;
+entity* IFC4X3_RC2_IfcConstructionResource_type = 0;
+entity* IFC4X3_RC2_IfcConstructionResourceType_type = 0;
+entity* IFC4X3_RC2_IfcContext_type = 0;
+entity* IFC4X3_RC2_IfcContextDependentUnit_type = 0;
+entity* IFC4X3_RC2_IfcControl_type = 0;
+entity* IFC4X3_RC2_IfcController_type = 0;
+entity* IFC4X3_RC2_IfcControllerType_type = 0;
+entity* IFC4X3_RC2_IfcConversionBasedUnit_type = 0;
+entity* IFC4X3_RC2_IfcConversionBasedUnitWithOffset_type = 0;
+entity* IFC4X3_RC2_IfcConveyorSegment_type = 0;
+entity* IFC4X3_RC2_IfcConveyorSegmentType_type = 0;
+entity* IFC4X3_RC2_IfcCooledBeam_type = 0;
+entity* IFC4X3_RC2_IfcCooledBeamType_type = 0;
+entity* IFC4X3_RC2_IfcCoolingTower_type = 0;
+entity* IFC4X3_RC2_IfcCoolingTowerType_type = 0;
+entity* IFC4X3_RC2_IfcCoordinateOperation_type = 0;
+entity* IFC4X3_RC2_IfcCoordinateReferenceSystem_type = 0;
+entity* IFC4X3_RC2_IfcCostItem_type = 0;
+entity* IFC4X3_RC2_IfcCostSchedule_type = 0;
+entity* IFC4X3_RC2_IfcCostValue_type = 0;
+entity* IFC4X3_RC2_IfcCourse_type = 0;
+entity* IFC4X3_RC2_IfcCourseType_type = 0;
+entity* IFC4X3_RC2_IfcCovering_type = 0;
+entity* IFC4X3_RC2_IfcCoveringType_type = 0;
+entity* IFC4X3_RC2_IfcCrewResource_type = 0;
+entity* IFC4X3_RC2_IfcCrewResourceType_type = 0;
+entity* IFC4X3_RC2_IfcCsgPrimitive3D_type = 0;
+entity* IFC4X3_RC2_IfcCsgSolid_type = 0;
+entity* IFC4X3_RC2_IfcCurrencyRelationship_type = 0;
+entity* IFC4X3_RC2_IfcCurtainWall_type = 0;
+entity* IFC4X3_RC2_IfcCurtainWallType_type = 0;
+entity* IFC4X3_RC2_IfcCurve_type = 0;
+entity* IFC4X3_RC2_IfcCurveBoundedPlane_type = 0;
+entity* IFC4X3_RC2_IfcCurveBoundedSurface_type = 0;
+entity* IFC4X3_RC2_IfcCurveSegment_type = 0;
+entity* IFC4X3_RC2_IfcCurveSegment2D_type = 0;
+entity* IFC4X3_RC2_IfcCurveStyle_type = 0;
+entity* IFC4X3_RC2_IfcCurveStyleFont_type = 0;
+entity* IFC4X3_RC2_IfcCurveStyleFontAndScaling_type = 0;
+entity* IFC4X3_RC2_IfcCurveStyleFontPattern_type = 0;
+entity* IFC4X3_RC2_IfcCylindricalSurface_type = 0;
+entity* IFC4X3_RC2_IfcDamper_type = 0;
+entity* IFC4X3_RC2_IfcDamperType_type = 0;
+entity* IFC4X3_RC2_IfcDeepFoundation_type = 0;
+entity* IFC4X3_RC2_IfcDeepFoundationType_type = 0;
+entity* IFC4X3_RC2_IfcDerivedProfileDef_type = 0;
+entity* IFC4X3_RC2_IfcDerivedUnit_type = 0;
+entity* IFC4X3_RC2_IfcDerivedUnitElement_type = 0;
+entity* IFC4X3_RC2_IfcDimensionalExponents_type = 0;
+entity* IFC4X3_RC2_IfcDirection_type = 0;
+entity* IFC4X3_RC2_IfcDirectrixCurveSweptAreaSolid_type = 0;
+entity* IFC4X3_RC2_IfcDirectrixDistanceSweptAreaSolid_type = 0;
+entity* IFC4X3_RC2_IfcDiscreteAccessory_type = 0;
+entity* IFC4X3_RC2_IfcDiscreteAccessoryType_type = 0;
+entity* IFC4X3_RC2_IfcDistributionBoard_type = 0;
+entity* IFC4X3_RC2_IfcDistributionBoardType_type = 0;
+entity* IFC4X3_RC2_IfcDistributionChamberElement_type = 0;
+entity* IFC4X3_RC2_IfcDistributionChamberElementType_type = 0;
+entity* IFC4X3_RC2_IfcDistributionCircuit_type = 0;
+entity* IFC4X3_RC2_IfcDistributionControlElement_type = 0;
+entity* IFC4X3_RC2_IfcDistributionControlElementType_type = 0;
+entity* IFC4X3_RC2_IfcDistributionElement_type = 0;
+entity* IFC4X3_RC2_IfcDistributionElementType_type = 0;
+entity* IFC4X3_RC2_IfcDistributionFlowElement_type = 0;
+entity* IFC4X3_RC2_IfcDistributionFlowElementType_type = 0;
+entity* IFC4X3_RC2_IfcDistributionPort_type = 0;
+entity* IFC4X3_RC2_IfcDistributionSystem_type = 0;
+entity* IFC4X3_RC2_IfcDocumentInformation_type = 0;
+entity* IFC4X3_RC2_IfcDocumentInformationRelationship_type = 0;
+entity* IFC4X3_RC2_IfcDocumentReference_type = 0;
+entity* IFC4X3_RC2_IfcDoor_type = 0;
+entity* IFC4X3_RC2_IfcDoorLiningProperties_type = 0;
+entity* IFC4X3_RC2_IfcDoorPanelProperties_type = 0;
+entity* IFC4X3_RC2_IfcDoorStandardCase_type = 0;
+entity* IFC4X3_RC2_IfcDoorStyle_type = 0;
+entity* IFC4X3_RC2_IfcDoorType_type = 0;
+entity* IFC4X3_RC2_IfcDraughtingPreDefinedColour_type = 0;
+entity* IFC4X3_RC2_IfcDraughtingPreDefinedCurveFont_type = 0;
+entity* IFC4X3_RC2_IfcDuctFitting_type = 0;
+entity* IFC4X3_RC2_IfcDuctFittingType_type = 0;
+entity* IFC4X3_RC2_IfcDuctSegment_type = 0;
+entity* IFC4X3_RC2_IfcDuctSegmentType_type = 0;
+entity* IFC4X3_RC2_IfcDuctSilencer_type = 0;
+entity* IFC4X3_RC2_IfcDuctSilencerType_type = 0;
+entity* IFC4X3_RC2_IfcEarthworksCut_type = 0;
+entity* IFC4X3_RC2_IfcEarthworksElement_type = 0;
+entity* IFC4X3_RC2_IfcEarthworksFill_type = 0;
+entity* IFC4X3_RC2_IfcEdge_type = 0;
+entity* IFC4X3_RC2_IfcEdgeCurve_type = 0;
+entity* IFC4X3_RC2_IfcEdgeLoop_type = 0;
+entity* IFC4X3_RC2_IfcElectricAppliance_type = 0;
+entity* IFC4X3_RC2_IfcElectricApplianceType_type = 0;
+entity* IFC4X3_RC2_IfcElectricDistributionBoard_type = 0;
+entity* IFC4X3_RC2_IfcElectricDistributionBoardType_type = 0;
+entity* IFC4X3_RC2_IfcElectricFlowStorageDevice_type = 0;
+entity* IFC4X3_RC2_IfcElectricFlowStorageDeviceType_type = 0;
+entity* IFC4X3_RC2_IfcElectricFlowTreatmentDevice_type = 0;
+entity* IFC4X3_RC2_IfcElectricFlowTreatmentDeviceType_type = 0;
+entity* IFC4X3_RC2_IfcElectricGenerator_type = 0;
+entity* IFC4X3_RC2_IfcElectricGeneratorType_type = 0;
+entity* IFC4X3_RC2_IfcElectricMotor_type = 0;
+entity* IFC4X3_RC2_IfcElectricMotorType_type = 0;
+entity* IFC4X3_RC2_IfcElectricTimeControl_type = 0;
+entity* IFC4X3_RC2_IfcElectricTimeControlType_type = 0;
+entity* IFC4X3_RC2_IfcElement_type = 0;
+entity* IFC4X3_RC2_IfcElementAssembly_type = 0;
+entity* IFC4X3_RC2_IfcElementAssemblyType_type = 0;
+entity* IFC4X3_RC2_IfcElementComponent_type = 0;
+entity* IFC4X3_RC2_IfcElementComponentType_type = 0;
+entity* IFC4X3_RC2_IfcElementQuantity_type = 0;
+entity* IFC4X3_RC2_IfcElementType_type = 0;
+entity* IFC4X3_RC2_IfcElementarySurface_type = 0;
+entity* IFC4X3_RC2_IfcEllipse_type = 0;
+entity* IFC4X3_RC2_IfcEllipseProfileDef_type = 0;
+entity* IFC4X3_RC2_IfcEnergyConversionDevice_type = 0;
+entity* IFC4X3_RC2_IfcEnergyConversionDeviceType_type = 0;
+entity* IFC4X3_RC2_IfcEngine_type = 0;
+entity* IFC4X3_RC2_IfcEngineType_type = 0;
+entity* IFC4X3_RC2_IfcEvaporativeCooler_type = 0;
+entity* IFC4X3_RC2_IfcEvaporativeCoolerType_type = 0;
+entity* IFC4X3_RC2_IfcEvaporator_type = 0;
+entity* IFC4X3_RC2_IfcEvaporatorType_type = 0;
+entity* IFC4X3_RC2_IfcEvent_type = 0;
+entity* IFC4X3_RC2_IfcEventTime_type = 0;
+entity* IFC4X3_RC2_IfcEventType_type = 0;
+entity* IFC4X3_RC2_IfcExtendedProperties_type = 0;
+entity* IFC4X3_RC2_IfcExternalInformation_type = 0;
+entity* IFC4X3_RC2_IfcExternalReference_type = 0;
+entity* IFC4X3_RC2_IfcExternalReferenceRelationship_type = 0;
+entity* IFC4X3_RC2_IfcExternalSpatialElement_type = 0;
+entity* IFC4X3_RC2_IfcExternalSpatialStructureElement_type = 0;
+entity* IFC4X3_RC2_IfcExternallyDefinedHatchStyle_type = 0;
+entity* IFC4X3_RC2_IfcExternallyDefinedSurfaceStyle_type = 0;
+entity* IFC4X3_RC2_IfcExternallyDefinedTextFont_type = 0;
+entity* IFC4X3_RC2_IfcExtrudedAreaSolid_type = 0;
+entity* IFC4X3_RC2_IfcExtrudedAreaSolidTapered_type = 0;
+entity* IFC4X3_RC2_IfcFace_type = 0;
+entity* IFC4X3_RC2_IfcFaceBasedSurfaceModel_type = 0;
+entity* IFC4X3_RC2_IfcFaceBound_type = 0;
+entity* IFC4X3_RC2_IfcFaceOuterBound_type = 0;
+entity* IFC4X3_RC2_IfcFaceSurface_type = 0;
+entity* IFC4X3_RC2_IfcFacetedBrep_type = 0;
+entity* IFC4X3_RC2_IfcFacetedBrepWithVoids_type = 0;
+entity* IFC4X3_RC2_IfcFacility_type = 0;
+entity* IFC4X3_RC2_IfcFacilityPart_type = 0;
+entity* IFC4X3_RC2_IfcFailureConnectionCondition_type = 0;
+entity* IFC4X3_RC2_IfcFan_type = 0;
+entity* IFC4X3_RC2_IfcFanType_type = 0;
+entity* IFC4X3_RC2_IfcFastener_type = 0;
+entity* IFC4X3_RC2_IfcFastenerType_type = 0;
+entity* IFC4X3_RC2_IfcFeatureElement_type = 0;
+entity* IFC4X3_RC2_IfcFeatureElementAddition_type = 0;
+entity* IFC4X3_RC2_IfcFeatureElementSubtraction_type = 0;
+entity* IFC4X3_RC2_IfcFillAreaStyle_type = 0;
+entity* IFC4X3_RC2_IfcFillAreaStyleHatching_type = 0;
+entity* IFC4X3_RC2_IfcFillAreaStyleTiles_type = 0;
+entity* IFC4X3_RC2_IfcFilter_type = 0;
+entity* IFC4X3_RC2_IfcFilterType_type = 0;
+entity* IFC4X3_RC2_IfcFireSuppressionTerminal_type = 0;
+entity* IFC4X3_RC2_IfcFireSuppressionTerminalType_type = 0;
+entity* IFC4X3_RC2_IfcFixedReferenceSweptAreaSolid_type = 0;
+entity* IFC4X3_RC2_IfcFlowController_type = 0;
+entity* IFC4X3_RC2_IfcFlowControllerType_type = 0;
+entity* IFC4X3_RC2_IfcFlowFitting_type = 0;
+entity* IFC4X3_RC2_IfcFlowFittingType_type = 0;
+entity* IFC4X3_RC2_IfcFlowInstrument_type = 0;
+entity* IFC4X3_RC2_IfcFlowInstrumentType_type = 0;
+entity* IFC4X3_RC2_IfcFlowMeter_type = 0;
+entity* IFC4X3_RC2_IfcFlowMeterType_type = 0;
+entity* IFC4X3_RC2_IfcFlowMovingDevice_type = 0;
+entity* IFC4X3_RC2_IfcFlowMovingDeviceType_type = 0;
+entity* IFC4X3_RC2_IfcFlowSegment_type = 0;
+entity* IFC4X3_RC2_IfcFlowSegmentType_type = 0;
+entity* IFC4X3_RC2_IfcFlowStorageDevice_type = 0;
+entity* IFC4X3_RC2_IfcFlowStorageDeviceType_type = 0;
+entity* IFC4X3_RC2_IfcFlowTerminal_type = 0;
+entity* IFC4X3_RC2_IfcFlowTerminalType_type = 0;
+entity* IFC4X3_RC2_IfcFlowTreatmentDevice_type = 0;
+entity* IFC4X3_RC2_IfcFlowTreatmentDeviceType_type = 0;
+entity* IFC4X3_RC2_IfcFooting_type = 0;
+entity* IFC4X3_RC2_IfcFootingType_type = 0;
+entity* IFC4X3_RC2_IfcFurnishingElement_type = 0;
+entity* IFC4X3_RC2_IfcFurnishingElementType_type = 0;
+entity* IFC4X3_RC2_IfcFurniture_type = 0;
+entity* IFC4X3_RC2_IfcFurnitureType_type = 0;
+entity* IFC4X3_RC2_IfcGeographicElement_type = 0;
+entity* IFC4X3_RC2_IfcGeographicElementType_type = 0;
+entity* IFC4X3_RC2_IfcGeometricCurveSet_type = 0;
+entity* IFC4X3_RC2_IfcGeometricRepresentationContext_type = 0;
+entity* IFC4X3_RC2_IfcGeometricRepresentationItem_type = 0;
+entity* IFC4X3_RC2_IfcGeometricRepresentationSubContext_type = 0;
+entity* IFC4X3_RC2_IfcGeometricSet_type = 0;
+entity* IFC4X3_RC2_IfcGeomodel_type = 0;
+entity* IFC4X3_RC2_IfcGeoslice_type = 0;
+entity* IFC4X3_RC2_IfcGeotechnicalAssembly_type = 0;
+entity* IFC4X3_RC2_IfcGeotechnicalElement_type = 0;
+entity* IFC4X3_RC2_IfcGeotechnicalStratum_type = 0;
+entity* IFC4X3_RC2_IfcGradientCurve_type = 0;
+entity* IFC4X3_RC2_IfcGrid_type = 0;
+entity* IFC4X3_RC2_IfcGridAxis_type = 0;
+entity* IFC4X3_RC2_IfcGridPlacement_type = 0;
+entity* IFC4X3_RC2_IfcGroup_type = 0;
+entity* IFC4X3_RC2_IfcHalfSpaceSolid_type = 0;
+entity* IFC4X3_RC2_IfcHeatExchanger_type = 0;
+entity* IFC4X3_RC2_IfcHeatExchangerType_type = 0;
+entity* IFC4X3_RC2_IfcHumidifier_type = 0;
+entity* IFC4X3_RC2_IfcHumidifierType_type = 0;
+entity* IFC4X3_RC2_IfcIShapeProfileDef_type = 0;
+entity* IFC4X3_RC2_IfcImageTexture_type = 0;
+entity* IFC4X3_RC2_IfcImpactProtectionDevice_type = 0;
+entity* IFC4X3_RC2_IfcImpactProtectionDeviceType_type = 0;
+entity* IFC4X3_RC2_IfcInclinedReferenceSweptAreaSolid_type = 0;
+entity* IFC4X3_RC2_IfcIndexedColourMap_type = 0;
+entity* IFC4X3_RC2_IfcIndexedPolyCurve_type = 0;
+entity* IFC4X3_RC2_IfcIndexedPolygonalFace_type = 0;
+entity* IFC4X3_RC2_IfcIndexedPolygonalFaceWithVoids_type = 0;
+entity* IFC4X3_RC2_IfcIndexedTextureMap_type = 0;
+entity* IFC4X3_RC2_IfcIndexedTriangleTextureMap_type = 0;
+entity* IFC4X3_RC2_IfcInterceptor_type = 0;
+entity* IFC4X3_RC2_IfcInterceptorType_type = 0;
+entity* IFC4X3_RC2_IfcIntersectionCurve_type = 0;
+entity* IFC4X3_RC2_IfcInventory_type = 0;
+entity* IFC4X3_RC2_IfcIrregularTimeSeries_type = 0;
+entity* IFC4X3_RC2_IfcIrregularTimeSeriesValue_type = 0;
+entity* IFC4X3_RC2_IfcJunctionBox_type = 0;
+entity* IFC4X3_RC2_IfcJunctionBoxType_type = 0;
+entity* IFC4X3_RC2_IfcKerb_type = 0;
+entity* IFC4X3_RC2_IfcKerbType_type = 0;
+entity* IFC4X3_RC2_IfcLShapeProfileDef_type = 0;
+entity* IFC4X3_RC2_IfcLaborResource_type = 0;
+entity* IFC4X3_RC2_IfcLaborResourceType_type = 0;
+entity* IFC4X3_RC2_IfcLagTime_type = 0;
+entity* IFC4X3_RC2_IfcLamp_type = 0;
+entity* IFC4X3_RC2_IfcLampType_type = 0;
+entity* IFC4X3_RC2_IfcLibraryInformation_type = 0;
+entity* IFC4X3_RC2_IfcLibraryReference_type = 0;
+entity* IFC4X3_RC2_IfcLightDistributionData_type = 0;
+entity* IFC4X3_RC2_IfcLightFixture_type = 0;
+entity* IFC4X3_RC2_IfcLightFixtureType_type = 0;
+entity* IFC4X3_RC2_IfcLightIntensityDistribution_type = 0;
+entity* IFC4X3_RC2_IfcLightSource_type = 0;
+entity* IFC4X3_RC2_IfcLightSourceAmbient_type = 0;
+entity* IFC4X3_RC2_IfcLightSourceDirectional_type = 0;
+entity* IFC4X3_RC2_IfcLightSourceGoniometric_type = 0;
+entity* IFC4X3_RC2_IfcLightSourcePositional_type = 0;
+entity* IFC4X3_RC2_IfcLightSourceSpot_type = 0;
+entity* IFC4X3_RC2_IfcLine_type = 0;
+entity* IFC4X3_RC2_IfcLineSegment2D_type = 0;
+entity* IFC4X3_RC2_IfcLinearAxisWithInclination_type = 0;
+entity* IFC4X3_RC2_IfcLinearElement_type = 0;
+entity* IFC4X3_RC2_IfcLinearPlacement_type = 0;
+entity* IFC4X3_RC2_IfcLinearPlacementWithInclination_type = 0;
+entity* IFC4X3_RC2_IfcLinearPositioningElement_type = 0;
+entity* IFC4X3_RC2_IfcLinearSpanPlacement_type = 0;
+entity* IFC4X3_RC2_IfcLiquidTerminal_type = 0;
+entity* IFC4X3_RC2_IfcLiquidTerminalType_type = 0;
+entity* IFC4X3_RC2_IfcLocalPlacement_type = 0;
+entity* IFC4X3_RC2_IfcLoop_type = 0;
+entity* IFC4X3_RC2_IfcManifoldSolidBrep_type = 0;
+entity* IFC4X3_RC2_IfcMapConversion_type = 0;
+entity* IFC4X3_RC2_IfcMappedItem_type = 0;
+entity* IFC4X3_RC2_IfcMarineFacility_type = 0;
+entity* IFC4X3_RC2_IfcMaterial_type = 0;
+entity* IFC4X3_RC2_IfcMaterialClassificationRelationship_type = 0;
+entity* IFC4X3_RC2_IfcMaterialConstituent_type = 0;
+entity* IFC4X3_RC2_IfcMaterialConstituentSet_type = 0;
+entity* IFC4X3_RC2_IfcMaterialDefinition_type = 0;
+entity* IFC4X3_RC2_IfcMaterialDefinitionRepresentation_type = 0;
+entity* IFC4X3_RC2_IfcMaterialLayer_type = 0;
+entity* IFC4X3_RC2_IfcMaterialLayerSet_type = 0;
+entity* IFC4X3_RC2_IfcMaterialLayerSetUsage_type = 0;
+entity* IFC4X3_RC2_IfcMaterialLayerWithOffsets_type = 0;
+entity* IFC4X3_RC2_IfcMaterialList_type = 0;
+entity* IFC4X3_RC2_IfcMaterialProfile_type = 0;
+entity* IFC4X3_RC2_IfcMaterialProfileSet_type = 0;
+entity* IFC4X3_RC2_IfcMaterialProfileSetUsage_type = 0;
+entity* IFC4X3_RC2_IfcMaterialProfileSetUsageTapering_type = 0;
+entity* IFC4X3_RC2_IfcMaterialProfileWithOffsets_type = 0;
+entity* IFC4X3_RC2_IfcMaterialProperties_type = 0;
+entity* IFC4X3_RC2_IfcMaterialRelationship_type = 0;
+entity* IFC4X3_RC2_IfcMaterialUsageDefinition_type = 0;
+entity* IFC4X3_RC2_IfcMeasureWithUnit_type = 0;
+entity* IFC4X3_RC2_IfcMechanicalFastener_type = 0;
+entity* IFC4X3_RC2_IfcMechanicalFastenerType_type = 0;
+entity* IFC4X3_RC2_IfcMedicalDevice_type = 0;
+entity* IFC4X3_RC2_IfcMedicalDeviceType_type = 0;
+entity* IFC4X3_RC2_IfcMember_type = 0;
+entity* IFC4X3_RC2_IfcMemberStandardCase_type = 0;
+entity* IFC4X3_RC2_IfcMemberType_type = 0;
+entity* IFC4X3_RC2_IfcMetric_type = 0;
+entity* IFC4X3_RC2_IfcMirroredProfileDef_type = 0;
+entity* IFC4X3_RC2_IfcMobileTelecommunicationsAppliance_type = 0;
+entity* IFC4X3_RC2_IfcMobileTelecommunicationsApplianceType_type = 0;
+entity* IFC4X3_RC2_IfcMonetaryUnit_type = 0;
+entity* IFC4X3_RC2_IfcMooringDevice_type = 0;
+entity* IFC4X3_RC2_IfcMooringDeviceType_type = 0;
+entity* IFC4X3_RC2_IfcMotorConnection_type = 0;
+entity* IFC4X3_RC2_IfcMotorConnectionType_type = 0;
+entity* IFC4X3_RC2_IfcNamedUnit_type = 0;
+entity* IFC4X3_RC2_IfcNavigationElement_type = 0;
+entity* IFC4X3_RC2_IfcNavigationElementType_type = 0;
+entity* IFC4X3_RC2_IfcObject_type = 0;
+entity* IFC4X3_RC2_IfcObjectDefinition_type = 0;
+entity* IFC4X3_RC2_IfcObjectPlacement_type = 0;
+entity* IFC4X3_RC2_IfcObjective_type = 0;
+entity* IFC4X3_RC2_IfcOccupant_type = 0;
+entity* IFC4X3_RC2_IfcOffsetCurve_type = 0;
+entity* IFC4X3_RC2_IfcOffsetCurve2D_type = 0;
+entity* IFC4X3_RC2_IfcOffsetCurve3D_type = 0;
+entity* IFC4X3_RC2_IfcOffsetCurveByDistances_type = 0;
+entity* IFC4X3_RC2_IfcOpenCrossProfileDef_type = 0;
+entity* IFC4X3_RC2_IfcOpenShell_type = 0;
+entity* IFC4X3_RC2_IfcOpeningElement_type = 0;
+entity* IFC4X3_RC2_IfcOpeningStandardCase_type = 0;
+entity* IFC4X3_RC2_IfcOrganization_type = 0;
+entity* IFC4X3_RC2_IfcOrganizationRelationship_type = 0;
+entity* IFC4X3_RC2_IfcOrientedEdge_type = 0;
+entity* IFC4X3_RC2_IfcOuterBoundaryCurve_type = 0;
+entity* IFC4X3_RC2_IfcOutlet_type = 0;
+entity* IFC4X3_RC2_IfcOutletType_type = 0;
+entity* IFC4X3_RC2_IfcOwnerHistory_type = 0;
+entity* IFC4X3_RC2_IfcParameterizedProfileDef_type = 0;
+entity* IFC4X3_RC2_IfcPath_type = 0;
+entity* IFC4X3_RC2_IfcPavement_type = 0;
+entity* IFC4X3_RC2_IfcPavementType_type = 0;
+entity* IFC4X3_RC2_IfcPcurve_type = 0;
+entity* IFC4X3_RC2_IfcPerformanceHistory_type = 0;
+entity* IFC4X3_RC2_IfcPermeableCoveringProperties_type = 0;
+entity* IFC4X3_RC2_IfcPermit_type = 0;
+entity* IFC4X3_RC2_IfcPerson_type = 0;
+entity* IFC4X3_RC2_IfcPersonAndOrganization_type = 0;
+entity* IFC4X3_RC2_IfcPhysicalComplexQuantity_type = 0;
+entity* IFC4X3_RC2_IfcPhysicalQuantity_type = 0;
+entity* IFC4X3_RC2_IfcPhysicalSimpleQuantity_type = 0;
+entity* IFC4X3_RC2_IfcPile_type = 0;
+entity* IFC4X3_RC2_IfcPileType_type = 0;
+entity* IFC4X3_RC2_IfcPipeFitting_type = 0;
+entity* IFC4X3_RC2_IfcPipeFittingType_type = 0;
+entity* IFC4X3_RC2_IfcPipeSegment_type = 0;
+entity* IFC4X3_RC2_IfcPipeSegmentType_type = 0;
+entity* IFC4X3_RC2_IfcPixelTexture_type = 0;
+entity* IFC4X3_RC2_IfcPlacement_type = 0;
+entity* IFC4X3_RC2_IfcPlanarBox_type = 0;
+entity* IFC4X3_RC2_IfcPlanarExtent_type = 0;
+entity* IFC4X3_RC2_IfcPlane_type = 0;
+entity* IFC4X3_RC2_IfcPlant_type = 0;
+entity* IFC4X3_RC2_IfcPlate_type = 0;
+entity* IFC4X3_RC2_IfcPlateStandardCase_type = 0;
+entity* IFC4X3_RC2_IfcPlateType_type = 0;
+entity* IFC4X3_RC2_IfcPoint_type = 0;
+entity* IFC4X3_RC2_IfcPointByDistanceExpression_type = 0;
+entity* IFC4X3_RC2_IfcPointOnCurve_type = 0;
+entity* IFC4X3_RC2_IfcPointOnSurface_type = 0;
+entity* IFC4X3_RC2_IfcPolyLoop_type = 0;
+entity* IFC4X3_RC2_IfcPolygonalBoundedHalfSpace_type = 0;
+entity* IFC4X3_RC2_IfcPolygonalFaceSet_type = 0;
+entity* IFC4X3_RC2_IfcPolyline_type = 0;
+entity* IFC4X3_RC2_IfcPort_type = 0;
+entity* IFC4X3_RC2_IfcPositioningElement_type = 0;
+entity* IFC4X3_RC2_IfcPostalAddress_type = 0;
+entity* IFC4X3_RC2_IfcPreDefinedColour_type = 0;
+entity* IFC4X3_RC2_IfcPreDefinedCurveFont_type = 0;
+entity* IFC4X3_RC2_IfcPreDefinedItem_type = 0;
+entity* IFC4X3_RC2_IfcPreDefinedProperties_type = 0;
+entity* IFC4X3_RC2_IfcPreDefinedPropertySet_type = 0;
+entity* IFC4X3_RC2_IfcPreDefinedTextFont_type = 0;
+entity* IFC4X3_RC2_IfcPresentationItem_type = 0;
+entity* IFC4X3_RC2_IfcPresentationLayerAssignment_type = 0;
+entity* IFC4X3_RC2_IfcPresentationLayerWithStyle_type = 0;
+entity* IFC4X3_RC2_IfcPresentationStyle_type = 0;
+entity* IFC4X3_RC2_IfcPresentationStyleAssignment_type = 0;
+entity* IFC4X3_RC2_IfcProcedure_type = 0;
+entity* IFC4X3_RC2_IfcProcedureType_type = 0;
+entity* IFC4X3_RC2_IfcProcess_type = 0;
+entity* IFC4X3_RC2_IfcProduct_type = 0;
+entity* IFC4X3_RC2_IfcProductDefinitionShape_type = 0;
+entity* IFC4X3_RC2_IfcProductRepresentation_type = 0;
+entity* IFC4X3_RC2_IfcProfileDef_type = 0;
+entity* IFC4X3_RC2_IfcProfileProperties_type = 0;
+entity* IFC4X3_RC2_IfcProject_type = 0;
+entity* IFC4X3_RC2_IfcProjectLibrary_type = 0;
+entity* IFC4X3_RC2_IfcProjectOrder_type = 0;
+entity* IFC4X3_RC2_IfcProjectedCRS_type = 0;
+entity* IFC4X3_RC2_IfcProjectionElement_type = 0;
+entity* IFC4X3_RC2_IfcProperty_type = 0;
+entity* IFC4X3_RC2_IfcPropertyAbstraction_type = 0;
+entity* IFC4X3_RC2_IfcPropertyBoundedValue_type = 0;
+entity* IFC4X3_RC2_IfcPropertyDefinition_type = 0;
+entity* IFC4X3_RC2_IfcPropertyDependencyRelationship_type = 0;
+entity* IFC4X3_RC2_IfcPropertyEnumeratedValue_type = 0;
+entity* IFC4X3_RC2_IfcPropertyEnumeration_type = 0;
+entity* IFC4X3_RC2_IfcPropertyListValue_type = 0;
+entity* IFC4X3_RC2_IfcPropertyReferenceValue_type = 0;
+entity* IFC4X3_RC2_IfcPropertySet_type = 0;
+entity* IFC4X3_RC2_IfcPropertySetDefinition_type = 0;
+entity* IFC4X3_RC2_IfcPropertySetTemplate_type = 0;
+entity* IFC4X3_RC2_IfcPropertySingleValue_type = 0;
+entity* IFC4X3_RC2_IfcPropertyTableValue_type = 0;
+entity* IFC4X3_RC2_IfcPropertyTemplate_type = 0;
+entity* IFC4X3_RC2_IfcPropertyTemplateDefinition_type = 0;
+entity* IFC4X3_RC2_IfcProtectiveDevice_type = 0;
+entity* IFC4X3_RC2_IfcProtectiveDeviceTrippingUnit_type = 0;
+entity* IFC4X3_RC2_IfcProtectiveDeviceTrippingUnitType_type = 0;
+entity* IFC4X3_RC2_IfcProtectiveDeviceType_type = 0;
+entity* IFC4X3_RC2_IfcProxy_type = 0;
+entity* IFC4X3_RC2_IfcPump_type = 0;
+entity* IFC4X3_RC2_IfcPumpType_type = 0;
+entity* IFC4X3_RC2_IfcQuantityArea_type = 0;
+entity* IFC4X3_RC2_IfcQuantityCount_type = 0;
+entity* IFC4X3_RC2_IfcQuantityLength_type = 0;
+entity* IFC4X3_RC2_IfcQuantitySet_type = 0;
+entity* IFC4X3_RC2_IfcQuantityTime_type = 0;
+entity* IFC4X3_RC2_IfcQuantityVolume_type = 0;
+entity* IFC4X3_RC2_IfcQuantityWeight_type = 0;
+entity* IFC4X3_RC2_IfcRail_type = 0;
+entity* IFC4X3_RC2_IfcRailType_type = 0;
+entity* IFC4X3_RC2_IfcRailing_type = 0;
+entity* IFC4X3_RC2_IfcRailingType_type = 0;
+entity* IFC4X3_RC2_IfcRailway_type = 0;
+entity* IFC4X3_RC2_IfcRamp_type = 0;
+entity* IFC4X3_RC2_IfcRampFlight_type = 0;
+entity* IFC4X3_RC2_IfcRampFlightType_type = 0;
+entity* IFC4X3_RC2_IfcRampType_type = 0;
+entity* IFC4X3_RC2_IfcRationalBSplineCurveWithKnots_type = 0;
+entity* IFC4X3_RC2_IfcRationalBSplineSurfaceWithKnots_type = 0;
+entity* IFC4X3_RC2_IfcRectangleHollowProfileDef_type = 0;
+entity* IFC4X3_RC2_IfcRectangleProfileDef_type = 0;
+entity* IFC4X3_RC2_IfcRectangularPyramid_type = 0;
+entity* IFC4X3_RC2_IfcRectangularTrimmedSurface_type = 0;
+entity* IFC4X3_RC2_IfcRecurrencePattern_type = 0;
+entity* IFC4X3_RC2_IfcReference_type = 0;
+entity* IFC4X3_RC2_IfcReferent_type = 0;
+entity* IFC4X3_RC2_IfcRegularTimeSeries_type = 0;
+entity* IFC4X3_RC2_IfcReinforcedSoil_type = 0;
+entity* IFC4X3_RC2_IfcReinforcementBarProperties_type = 0;
+entity* IFC4X3_RC2_IfcReinforcementDefinitionProperties_type = 0;
+entity* IFC4X3_RC2_IfcReinforcingBar_type = 0;
+entity* IFC4X3_RC2_IfcReinforcingBarType_type = 0;
+entity* IFC4X3_RC2_IfcReinforcingElement_type = 0;
+entity* IFC4X3_RC2_IfcReinforcingElementType_type = 0;
+entity* IFC4X3_RC2_IfcReinforcingMesh_type = 0;
+entity* IFC4X3_RC2_IfcReinforcingMeshType_type = 0;
+entity* IFC4X3_RC2_IfcRelAggregates_type = 0;
+entity* IFC4X3_RC2_IfcRelAssigns_type = 0;
+entity* IFC4X3_RC2_IfcRelAssignsToActor_type = 0;
+entity* IFC4X3_RC2_IfcRelAssignsToControl_type = 0;
+entity* IFC4X3_RC2_IfcRelAssignsToGroup_type = 0;
+entity* IFC4X3_RC2_IfcRelAssignsToGroupByFactor_type = 0;
+entity* IFC4X3_RC2_IfcRelAssignsToProcess_type = 0;
+entity* IFC4X3_RC2_IfcRelAssignsToProduct_type = 0;
+entity* IFC4X3_RC2_IfcRelAssignsToResource_type = 0;
+entity* IFC4X3_RC2_IfcRelAssociates_type = 0;
+entity* IFC4X3_RC2_IfcRelAssociatesApproval_type = 0;
+entity* IFC4X3_RC2_IfcRelAssociatesClassification_type = 0;
+entity* IFC4X3_RC2_IfcRelAssociatesConstraint_type = 0;
+entity* IFC4X3_RC2_IfcRelAssociatesDocument_type = 0;
+entity* IFC4X3_RC2_IfcRelAssociatesLibrary_type = 0;
+entity* IFC4X3_RC2_IfcRelAssociatesMaterial_type = 0;
+entity* IFC4X3_RC2_IfcRelAssociatesProfileDef_type = 0;
+entity* IFC4X3_RC2_IfcRelConnects_type = 0;
+entity* IFC4X3_RC2_IfcRelConnectsElements_type = 0;
+entity* IFC4X3_RC2_IfcRelConnectsPathElements_type = 0;
+entity* IFC4X3_RC2_IfcRelConnectsPortToElement_type = 0;
+entity* IFC4X3_RC2_IfcRelConnectsPorts_type = 0;
+entity* IFC4X3_RC2_IfcRelConnectsStructuralActivity_type = 0;
+entity* IFC4X3_RC2_IfcRelConnectsStructuralMember_type = 0;
+entity* IFC4X3_RC2_IfcRelConnectsWithEccentricity_type = 0;
+entity* IFC4X3_RC2_IfcRelConnectsWithRealizingElements_type = 0;
+entity* IFC4X3_RC2_IfcRelContainedInSpatialStructure_type = 0;
+entity* IFC4X3_RC2_IfcRelCoversBldgElements_type = 0;
+entity* IFC4X3_RC2_IfcRelCoversSpaces_type = 0;
+entity* IFC4X3_RC2_IfcRelDeclares_type = 0;
+entity* IFC4X3_RC2_IfcRelDecomposes_type = 0;
+entity* IFC4X3_RC2_IfcRelDefines_type = 0;
+entity* IFC4X3_RC2_IfcRelDefinesByObject_type = 0;
+entity* IFC4X3_RC2_IfcRelDefinesByProperties_type = 0;
+entity* IFC4X3_RC2_IfcRelDefinesByTemplate_type = 0;
+entity* IFC4X3_RC2_IfcRelDefinesByType_type = 0;
+entity* IFC4X3_RC2_IfcRelFillsElement_type = 0;
+entity* IFC4X3_RC2_IfcRelFlowControlElements_type = 0;
+entity* IFC4X3_RC2_IfcRelInterferesElements_type = 0;
+entity* IFC4X3_RC2_IfcRelNests_type = 0;
+entity* IFC4X3_RC2_IfcRelPositions_type = 0;
+entity* IFC4X3_RC2_IfcRelProjectsElement_type = 0;
+entity* IFC4X3_RC2_IfcRelReferencedInSpatialStructure_type = 0;
+entity* IFC4X3_RC2_IfcRelSequence_type = 0;
+entity* IFC4X3_RC2_IfcRelServicesBuildings_type = 0;
+entity* IFC4X3_RC2_IfcRelSpaceBoundary_type = 0;
+entity* IFC4X3_RC2_IfcRelSpaceBoundary1stLevel_type = 0;
+entity* IFC4X3_RC2_IfcRelSpaceBoundary2ndLevel_type = 0;
+entity* IFC4X3_RC2_IfcRelVoidsElement_type = 0;
+entity* IFC4X3_RC2_IfcRelationship_type = 0;
+entity* IFC4X3_RC2_IfcReparametrisedCompositeCurveSegment_type = 0;
+entity* IFC4X3_RC2_IfcRepresentation_type = 0;
+entity* IFC4X3_RC2_IfcRepresentationContext_type = 0;
+entity* IFC4X3_RC2_IfcRepresentationItem_type = 0;
+entity* IFC4X3_RC2_IfcRepresentationMap_type = 0;
+entity* IFC4X3_RC2_IfcResource_type = 0;
+entity* IFC4X3_RC2_IfcResourceApprovalRelationship_type = 0;
+entity* IFC4X3_RC2_IfcResourceConstraintRelationship_type = 0;
+entity* IFC4X3_RC2_IfcResourceLevelRelationship_type = 0;
+entity* IFC4X3_RC2_IfcResourceTime_type = 0;
+entity* IFC4X3_RC2_IfcRevolvedAreaSolid_type = 0;
+entity* IFC4X3_RC2_IfcRevolvedAreaSolidTapered_type = 0;
+entity* IFC4X3_RC2_IfcRightCircularCone_type = 0;
+entity* IFC4X3_RC2_IfcRightCircularCylinder_type = 0;
+entity* IFC4X3_RC2_IfcRoad_type = 0;
+entity* IFC4X3_RC2_IfcRoof_type = 0;
+entity* IFC4X3_RC2_IfcRoofType_type = 0;
+entity* IFC4X3_RC2_IfcRoot_type = 0;
+entity* IFC4X3_RC2_IfcRoundedRectangleProfileDef_type = 0;
+entity* IFC4X3_RC2_IfcSIUnit_type = 0;
+entity* IFC4X3_RC2_IfcSanitaryTerminal_type = 0;
+entity* IFC4X3_RC2_IfcSanitaryTerminalType_type = 0;
+entity* IFC4X3_RC2_IfcSchedulingTime_type = 0;
+entity* IFC4X3_RC2_IfcSeamCurve_type = 0;
+entity* IFC4X3_RC2_IfcSectionProperties_type = 0;
+entity* IFC4X3_RC2_IfcSectionReinforcementProperties_type = 0;
+entity* IFC4X3_RC2_IfcSectionedSolid_type = 0;
+entity* IFC4X3_RC2_IfcSectionedSolidHorizontal_type = 0;
+entity* IFC4X3_RC2_IfcSectionedSpine_type = 0;
+entity* IFC4X3_RC2_IfcSectionedSurface_type = 0;
+entity* IFC4X3_RC2_IfcSegment_type = 0;
+entity* IFC4X3_RC2_IfcSegmentedReferenceCurve_type = 0;
+entity* IFC4X3_RC2_IfcSensor_type = 0;
+entity* IFC4X3_RC2_IfcSensorType_type = 0;
+entity* IFC4X3_RC2_IfcSeriesParameterCurve_type = 0;
+entity* IFC4X3_RC2_IfcShadingDevice_type = 0;
+entity* IFC4X3_RC2_IfcShadingDeviceType_type = 0;
+entity* IFC4X3_RC2_IfcShapeAspect_type = 0;
+entity* IFC4X3_RC2_IfcShapeModel_type = 0;
+entity* IFC4X3_RC2_IfcShapeRepresentation_type = 0;
+entity* IFC4X3_RC2_IfcShellBasedSurfaceModel_type = 0;
+entity* IFC4X3_RC2_IfcSign_type = 0;
+entity* IFC4X3_RC2_IfcSignType_type = 0;
+entity* IFC4X3_RC2_IfcSignal_type = 0;
+entity* IFC4X3_RC2_IfcSignalType_type = 0;
+entity* IFC4X3_RC2_IfcSimpleProperty_type = 0;
+entity* IFC4X3_RC2_IfcSimplePropertyTemplate_type = 0;
+entity* IFC4X3_RC2_IfcSite_type = 0;
+entity* IFC4X3_RC2_IfcSlab_type = 0;
+entity* IFC4X3_RC2_IfcSlabElementedCase_type = 0;
+entity* IFC4X3_RC2_IfcSlabStandardCase_type = 0;
+entity* IFC4X3_RC2_IfcSlabType_type = 0;
+entity* IFC4X3_RC2_IfcSlippageConnectionCondition_type = 0;
+entity* IFC4X3_RC2_IfcSolarDevice_type = 0;
+entity* IFC4X3_RC2_IfcSolarDeviceType_type = 0;
+entity* IFC4X3_RC2_IfcSolidModel_type = 0;
+entity* IFC4X3_RC2_IfcSolidStratum_type = 0;
+entity* IFC4X3_RC2_IfcSpace_type = 0;
+entity* IFC4X3_RC2_IfcSpaceHeater_type = 0;
+entity* IFC4X3_RC2_IfcSpaceHeaterType_type = 0;
+entity* IFC4X3_RC2_IfcSpaceType_type = 0;
+entity* IFC4X3_RC2_IfcSpatialElement_type = 0;
+entity* IFC4X3_RC2_IfcSpatialElementType_type = 0;
+entity* IFC4X3_RC2_IfcSpatialStructureElement_type = 0;
+entity* IFC4X3_RC2_IfcSpatialStructureElementType_type = 0;
+entity* IFC4X3_RC2_IfcSpatialZone_type = 0;
+entity* IFC4X3_RC2_IfcSpatialZoneType_type = 0;
+entity* IFC4X3_RC2_IfcSphere_type = 0;
+entity* IFC4X3_RC2_IfcSphericalSurface_type = 0;
+entity* IFC4X3_RC2_IfcStackTerminal_type = 0;
+entity* IFC4X3_RC2_IfcStackTerminalType_type = 0;
+entity* IFC4X3_RC2_IfcStair_type = 0;
+entity* IFC4X3_RC2_IfcStairFlight_type = 0;
+entity* IFC4X3_RC2_IfcStairFlightType_type = 0;
+entity* IFC4X3_RC2_IfcStairType_type = 0;
+entity* IFC4X3_RC2_IfcStructuralAction_type = 0;
+entity* IFC4X3_RC2_IfcStructuralActivity_type = 0;
+entity* IFC4X3_RC2_IfcStructuralAnalysisModel_type = 0;
+entity* IFC4X3_RC2_IfcStructuralConnection_type = 0;
+entity* IFC4X3_RC2_IfcStructuralConnectionCondition_type = 0;
+entity* IFC4X3_RC2_IfcStructuralCurveAction_type = 0;
+entity* IFC4X3_RC2_IfcStructuralCurveConnection_type = 0;
+entity* IFC4X3_RC2_IfcStructuralCurveMember_type = 0;
+entity* IFC4X3_RC2_IfcStructuralCurveMemberVarying_type = 0;
+entity* IFC4X3_RC2_IfcStructuralCurveReaction_type = 0;
+entity* IFC4X3_RC2_IfcStructuralItem_type = 0;
+entity* IFC4X3_RC2_IfcStructuralLinearAction_type = 0;
+entity* IFC4X3_RC2_IfcStructuralLoad_type = 0;
+entity* IFC4X3_RC2_IfcStructuralLoadCase_type = 0;
+entity* IFC4X3_RC2_IfcStructuralLoadConfiguration_type = 0;
+entity* IFC4X3_RC2_IfcStructuralLoadGroup_type = 0;
+entity* IFC4X3_RC2_IfcStructuralLoadLinearForce_type = 0;
+entity* IFC4X3_RC2_IfcStructuralLoadOrResult_type = 0;
+entity* IFC4X3_RC2_IfcStructuralLoadPlanarForce_type = 0;
+entity* IFC4X3_RC2_IfcStructuralLoadSingleDisplacement_type = 0;
+entity* IFC4X3_RC2_IfcStructuralLoadSingleDisplacementDistortion_type = 0;
+entity* IFC4X3_RC2_IfcStructuralLoadSingleForce_type = 0;
+entity* IFC4X3_RC2_IfcStructuralLoadSingleForceWarping_type = 0;
+entity* IFC4X3_RC2_IfcStructuralLoadStatic_type = 0;
+entity* IFC4X3_RC2_IfcStructuralLoadTemperature_type = 0;
+entity* IFC4X3_RC2_IfcStructuralMember_type = 0;
+entity* IFC4X3_RC2_IfcStructuralPlanarAction_type = 0;
+entity* IFC4X3_RC2_IfcStructuralPointAction_type = 0;
+entity* IFC4X3_RC2_IfcStructuralPointConnection_type = 0;
+entity* IFC4X3_RC2_IfcStructuralPointReaction_type = 0;
+entity* IFC4X3_RC2_IfcStructuralReaction_type = 0;
+entity* IFC4X3_RC2_IfcStructuralResultGroup_type = 0;
+entity* IFC4X3_RC2_IfcStructuralSurfaceAction_type = 0;
+entity* IFC4X3_RC2_IfcStructuralSurfaceConnection_type = 0;
+entity* IFC4X3_RC2_IfcStructuralSurfaceMember_type = 0;
+entity* IFC4X3_RC2_IfcStructuralSurfaceMemberVarying_type = 0;
+entity* IFC4X3_RC2_IfcStructuralSurfaceReaction_type = 0;
+entity* IFC4X3_RC2_IfcStyleModel_type = 0;
+entity* IFC4X3_RC2_IfcStyledItem_type = 0;
+entity* IFC4X3_RC2_IfcStyledRepresentation_type = 0;
+entity* IFC4X3_RC2_IfcSubContractResource_type = 0;
+entity* IFC4X3_RC2_IfcSubContractResourceType_type = 0;
+entity* IFC4X3_RC2_IfcSubedge_type = 0;
+entity* IFC4X3_RC2_IfcSurface_type = 0;
+entity* IFC4X3_RC2_IfcSurfaceCurve_type = 0;
+entity* IFC4X3_RC2_IfcSurfaceCurveSweptAreaSolid_type = 0;
+entity* IFC4X3_RC2_IfcSurfaceFeature_type = 0;
+entity* IFC4X3_RC2_IfcSurfaceOfLinearExtrusion_type = 0;
+entity* IFC4X3_RC2_IfcSurfaceOfRevolution_type = 0;
+entity* IFC4X3_RC2_IfcSurfaceReinforcementArea_type = 0;
+entity* IFC4X3_RC2_IfcSurfaceStyle_type = 0;
+entity* IFC4X3_RC2_IfcSurfaceStyleLighting_type = 0;
+entity* IFC4X3_RC2_IfcSurfaceStyleRefraction_type = 0;
+entity* IFC4X3_RC2_IfcSurfaceStyleRendering_type = 0;
+entity* IFC4X3_RC2_IfcSurfaceStyleShading_type = 0;
+entity* IFC4X3_RC2_IfcSurfaceStyleWithTextures_type = 0;
+entity* IFC4X3_RC2_IfcSurfaceTexture_type = 0;
+entity* IFC4X3_RC2_IfcSweptAreaSolid_type = 0;
+entity* IFC4X3_RC2_IfcSweptDiskSolid_type = 0;
+entity* IFC4X3_RC2_IfcSweptDiskSolidPolygonal_type = 0;
+entity* IFC4X3_RC2_IfcSweptSurface_type = 0;
+entity* IFC4X3_RC2_IfcSwitchingDevice_type = 0;
+entity* IFC4X3_RC2_IfcSwitchingDeviceType_type = 0;
+entity* IFC4X3_RC2_IfcSystem_type = 0;
+entity* IFC4X3_RC2_IfcSystemFurnitureElement_type = 0;
+entity* IFC4X3_RC2_IfcSystemFurnitureElementType_type = 0;
+entity* IFC4X3_RC2_IfcTShapeProfileDef_type = 0;
+entity* IFC4X3_RC2_IfcTable_type = 0;
+entity* IFC4X3_RC2_IfcTableColumn_type = 0;
+entity* IFC4X3_RC2_IfcTableRow_type = 0;
+entity* IFC4X3_RC2_IfcTank_type = 0;
+entity* IFC4X3_RC2_IfcTankType_type = 0;
+entity* IFC4X3_RC2_IfcTask_type = 0;
+entity* IFC4X3_RC2_IfcTaskTime_type = 0;
+entity* IFC4X3_RC2_IfcTaskTimeRecurring_type = 0;
+entity* IFC4X3_RC2_IfcTaskType_type = 0;
+entity* IFC4X3_RC2_IfcTelecomAddress_type = 0;
+entity* IFC4X3_RC2_IfcTendon_type = 0;
+entity* IFC4X3_RC2_IfcTendonAnchor_type = 0;
+entity* IFC4X3_RC2_IfcTendonAnchorType_type = 0;
+entity* IFC4X3_RC2_IfcTendonConduit_type = 0;
+entity* IFC4X3_RC2_IfcTendonConduitType_type = 0;
+entity* IFC4X3_RC2_IfcTendonType_type = 0;
+entity* IFC4X3_RC2_IfcTessellatedFaceSet_type = 0;
+entity* IFC4X3_RC2_IfcTessellatedItem_type = 0;
+entity* IFC4X3_RC2_IfcTextLiteral_type = 0;
+entity* IFC4X3_RC2_IfcTextLiteralWithExtent_type = 0;
+entity* IFC4X3_RC2_IfcTextStyle_type = 0;
+entity* IFC4X3_RC2_IfcTextStyleFontModel_type = 0;
+entity* IFC4X3_RC2_IfcTextStyleForDefinedFont_type = 0;
+entity* IFC4X3_RC2_IfcTextStyleTextModel_type = 0;
+entity* IFC4X3_RC2_IfcTextureCoordinate_type = 0;
+entity* IFC4X3_RC2_IfcTextureCoordinateGenerator_type = 0;
+entity* IFC4X3_RC2_IfcTextureMap_type = 0;
+entity* IFC4X3_RC2_IfcTextureVertex_type = 0;
+entity* IFC4X3_RC2_IfcTextureVertexList_type = 0;
+entity* IFC4X3_RC2_IfcTimePeriod_type = 0;
+entity* IFC4X3_RC2_IfcTimeSeries_type = 0;
+entity* IFC4X3_RC2_IfcTimeSeriesValue_type = 0;
+entity* IFC4X3_RC2_IfcTopologicalRepresentationItem_type = 0;
+entity* IFC4X3_RC2_IfcTopologyRepresentation_type = 0;
+entity* IFC4X3_RC2_IfcToroidalSurface_type = 0;
+entity* IFC4X3_RC2_IfcTrackElement_type = 0;
+entity* IFC4X3_RC2_IfcTrackElementType_type = 0;
+entity* IFC4X3_RC2_IfcTransformer_type = 0;
+entity* IFC4X3_RC2_IfcTransformerType_type = 0;
+entity* IFC4X3_RC2_IfcTransitionCurveSegment2D_type = 0;
+entity* IFC4X3_RC2_IfcTransportElement_type = 0;
+entity* IFC4X3_RC2_IfcTransportElementType_type = 0;
+entity* IFC4X3_RC2_IfcTrapeziumProfileDef_type = 0;
+entity* IFC4X3_RC2_IfcTriangulatedFaceSet_type = 0;
+entity* IFC4X3_RC2_IfcTriangulatedIrregularNetwork_type = 0;
+entity* IFC4X3_RC2_IfcTrimmedCurve_type = 0;
+entity* IFC4X3_RC2_IfcTubeBundle_type = 0;
+entity* IFC4X3_RC2_IfcTubeBundleType_type = 0;
+entity* IFC4X3_RC2_IfcTypeObject_type = 0;
+entity* IFC4X3_RC2_IfcTypeProcess_type = 0;
+entity* IFC4X3_RC2_IfcTypeProduct_type = 0;
+entity* IFC4X3_RC2_IfcTypeResource_type = 0;
+entity* IFC4X3_RC2_IfcUShapeProfileDef_type = 0;
+entity* IFC4X3_RC2_IfcUnitAssignment_type = 0;
+entity* IFC4X3_RC2_IfcUnitaryControlElement_type = 0;
+entity* IFC4X3_RC2_IfcUnitaryControlElementType_type = 0;
+entity* IFC4X3_RC2_IfcUnitaryEquipment_type = 0;
+entity* IFC4X3_RC2_IfcUnitaryEquipmentType_type = 0;
+entity* IFC4X3_RC2_IfcValve_type = 0;
+entity* IFC4X3_RC2_IfcValveType_type = 0;
+entity* IFC4X3_RC2_IfcVector_type = 0;
+entity* IFC4X3_RC2_IfcVertex_type = 0;
+entity* IFC4X3_RC2_IfcVertexLoop_type = 0;
+entity* IFC4X3_RC2_IfcVertexPoint_type = 0;
+entity* IFC4X3_RC2_IfcVibrationDamper_type = 0;
+entity* IFC4X3_RC2_IfcVibrationDamperType_type = 0;
+entity* IFC4X3_RC2_IfcVibrationIsolator_type = 0;
+entity* IFC4X3_RC2_IfcVibrationIsolatorType_type = 0;
+entity* IFC4X3_RC2_IfcVirtualElement_type = 0;
+entity* IFC4X3_RC2_IfcVirtualGridIntersection_type = 0;
+entity* IFC4X3_RC2_IfcVoidStratum_type = 0;
+entity* IFC4X3_RC2_IfcVoidingFeature_type = 0;
+entity* IFC4X3_RC2_IfcWall_type = 0;
+entity* IFC4X3_RC2_IfcWallElementedCase_type = 0;
+entity* IFC4X3_RC2_IfcWallStandardCase_type = 0;
+entity* IFC4X3_RC2_IfcWallType_type = 0;
+entity* IFC4X3_RC2_IfcWasteTerminal_type = 0;
+entity* IFC4X3_RC2_IfcWasteTerminalType_type = 0;
+entity* IFC4X3_RC2_IfcWaterStratum_type = 0;
+entity* IFC4X3_RC2_IfcWindow_type = 0;
+entity* IFC4X3_RC2_IfcWindowLiningProperties_type = 0;
+entity* IFC4X3_RC2_IfcWindowPanelProperties_type = 0;
+entity* IFC4X3_RC2_IfcWindowStandardCase_type = 0;
+entity* IFC4X3_RC2_IfcWindowStyle_type = 0;
+entity* IFC4X3_RC2_IfcWindowType_type = 0;
+entity* IFC4X3_RC2_IfcWorkCalendar_type = 0;
+entity* IFC4X3_RC2_IfcWorkControl_type = 0;
+entity* IFC4X3_RC2_IfcWorkPlan_type = 0;
+entity* IFC4X3_RC2_IfcWorkSchedule_type = 0;
+entity* IFC4X3_RC2_IfcWorkTime_type = 0;
+entity* IFC4X3_RC2_IfcZShapeProfileDef_type = 0;
+entity* IFC4X3_RC2_IfcZone_type = 0;
+type_declaration* IFC4X3_RC2_IfcAbsorbedDoseMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcAccelerationMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcAmountOfSubstanceMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcAngularVelocityMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcArcIndex_type = 0;
+type_declaration* IFC4X3_RC2_IfcAreaDensityMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcAreaMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcBinary_type = 0;
+type_declaration* IFC4X3_RC2_IfcBoolean_type = 0;
+type_declaration* IFC4X3_RC2_IfcBoxAlignment_type = 0;
+type_declaration* IFC4X3_RC2_IfcCardinalPointReference_type = 0;
+type_declaration* IFC4X3_RC2_IfcComplexNumber_type = 0;
+type_declaration* IFC4X3_RC2_IfcCompoundPlaneAngleMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcContextDependentMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcCountMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcCurvatureMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcDate_type = 0;
+type_declaration* IFC4X3_RC2_IfcDateTime_type = 0;
+type_declaration* IFC4X3_RC2_IfcDayInMonthNumber_type = 0;
+type_declaration* IFC4X3_RC2_IfcDayInWeekNumber_type = 0;
+type_declaration* IFC4X3_RC2_IfcDescriptiveMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcDimensionCount_type = 0;
+type_declaration* IFC4X3_RC2_IfcDoseEquivalentMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcDuration_type = 0;
+type_declaration* IFC4X3_RC2_IfcDynamicViscosityMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcElectricCapacitanceMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcElectricChargeMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcElectricConductanceMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcElectricCurrentMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcElectricResistanceMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcElectricVoltageMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcEnergyMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcFontStyle_type = 0;
+type_declaration* IFC4X3_RC2_IfcFontVariant_type = 0;
+type_declaration* IFC4X3_RC2_IfcFontWeight_type = 0;
+type_declaration* IFC4X3_RC2_IfcForceMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcFrequencyMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcGloballyUniqueId_type = 0;
+type_declaration* IFC4X3_RC2_IfcHeatFluxDensityMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcHeatingValueMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcIdentifier_type = 0;
+type_declaration* IFC4X3_RC2_IfcIlluminanceMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcInductanceMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcInteger_type = 0;
+type_declaration* IFC4X3_RC2_IfcIntegerCountRateMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcIonConcentrationMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcIsothermalMoistureCapacityMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcKinematicViscosityMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcLabel_type = 0;
+type_declaration* IFC4X3_RC2_IfcLanguageId_type = 0;
+type_declaration* IFC4X3_RC2_IfcLengthMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcLineIndex_type = 0;
+type_declaration* IFC4X3_RC2_IfcLinearForceMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcLinearMomentMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcLinearStiffnessMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcLinearVelocityMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcLogical_type = 0;
+type_declaration* IFC4X3_RC2_IfcLuminousFluxMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcLuminousIntensityDistributionMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcLuminousIntensityMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcMagneticFluxDensityMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcMagneticFluxMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcMassDensityMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcMassFlowRateMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcMassMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcMassPerLengthMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcModulusOfElasticityMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcModulusOfLinearSubgradeReactionMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcModulusOfRotationalSubgradeReactionMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcModulusOfSubgradeReactionMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcMoistureDiffusivityMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcMolecularWeightMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcMomentOfInertiaMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcMonetaryMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcMonthInYearNumber_type = 0;
+type_declaration* IFC4X3_RC2_IfcNonNegativeLengthMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcNormalisedRatioMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcNumericMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcPHMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcParameterValue_type = 0;
+type_declaration* IFC4X3_RC2_IfcPlanarForceMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcPlaneAngleMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcPositiveInteger_type = 0;
+type_declaration* IFC4X3_RC2_IfcPositiveLengthMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcPositivePlaneAngleMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcPositiveRatioMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcPowerMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcPresentableText_type = 0;
+type_declaration* IFC4X3_RC2_IfcPressureMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcPropertySetDefinitionSet_type = 0;
+type_declaration* IFC4X3_RC2_IfcRadioActivityMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcRatioMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcReal_type = 0;
+type_declaration* IFC4X3_RC2_IfcRotationalFrequencyMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcRotationalMassMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcRotationalStiffnessMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcSectionModulusMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcSectionalAreaIntegralMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcShearModulusMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcSolidAngleMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcSoundPowerLevelMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcSoundPowerMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcSoundPressureLevelMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcSoundPressureMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcSpecificHeatCapacityMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcSpecularExponent_type = 0;
+type_declaration* IFC4X3_RC2_IfcSpecularRoughness_type = 0;
+type_declaration* IFC4X3_RC2_IfcTemperatureGradientMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcTemperatureRateOfChangeMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcText_type = 0;
+type_declaration* IFC4X3_RC2_IfcTextAlignment_type = 0;
+type_declaration* IFC4X3_RC2_IfcTextDecoration_type = 0;
+type_declaration* IFC4X3_RC2_IfcTextFontName_type = 0;
+type_declaration* IFC4X3_RC2_IfcTextTransformation_type = 0;
+type_declaration* IFC4X3_RC2_IfcThermalAdmittanceMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcThermalConductivityMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcThermalExpansionCoefficientMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcThermalResistanceMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcThermalTransmittanceMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcThermodynamicTemperatureMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcTime_type = 0;
+type_declaration* IFC4X3_RC2_IfcTimeMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcTimeStamp_type = 0;
+type_declaration* IFC4X3_RC2_IfcTorqueMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcURIReference_type = 0;
+type_declaration* IFC4X3_RC2_IfcVaporPermeabilityMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcVolumeMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcVolumetricFlowRateMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcWarpingConstantMeasure_type = 0;
+type_declaration* IFC4X3_RC2_IfcWarpingMomentMeasure_type = 0;
+select_type* IFC4X3_RC2_IfcActorSelect_type = 0;
+select_type* IFC4X3_RC2_IfcAppliedValueSelect_type = 0;
+select_type* IFC4X3_RC2_IfcAxis2Placement_type = 0;
+select_type* IFC4X3_RC2_IfcBendingParameterSelect_type = 0;
+select_type* IFC4X3_RC2_IfcBooleanOperand_type = 0;
+select_type* IFC4X3_RC2_IfcClassificationReferenceSelect_type = 0;
+select_type* IFC4X3_RC2_IfcClassificationSelect_type = 0;
+select_type* IFC4X3_RC2_IfcColour_type = 0;
+select_type* IFC4X3_RC2_IfcColourOrFactor_type = 0;
+select_type* IFC4X3_RC2_IfcCoordinateReferenceSystemSelect_type = 0;
+select_type* IFC4X3_RC2_IfcCsgSelect_type = 0;
+select_type* IFC4X3_RC2_IfcCurveFontOrScaledCurveFontSelect_type = 0;
+select_type* IFC4X3_RC2_IfcCurveMeasureSelect_type = 0;
+select_type* IFC4X3_RC2_IfcCurveOnSurface_type = 0;
+select_type* IFC4X3_RC2_IfcCurveOrEdgeCurve_type = 0;
+select_type* IFC4X3_RC2_IfcCurveStyleFontSelect_type = 0;
+select_type* IFC4X3_RC2_IfcDefinitionSelect_type = 0;
+select_type* IFC4X3_RC2_IfcDerivedMeasureValue_type = 0;
+select_type* IFC4X3_RC2_IfcDocumentSelect_type = 0;
+select_type* IFC4X3_RC2_IfcFacilityPartTypeSelect_type = 0;
+select_type* IFC4X3_RC2_IfcFillStyleSelect_type = 0;
+select_type* IFC4X3_RC2_IfcGeometricSetSelect_type = 0;
+select_type* IFC4X3_RC2_IfcGridPlacementDirectionSelect_type = 0;
+select_type* IFC4X3_RC2_IfcHatchLineDistanceSelect_type = 0;
+select_type* IFC4X3_RC2_IfcImpactProtectionDeviceTypeSelect_type = 0;
+select_type* IFC4X3_RC2_IfcInterferenceSelect_type = 0;
+select_type* IFC4X3_RC2_IfcLayeredItem_type = 0;
+select_type* IFC4X3_RC2_IfcLibrarySelect_type = 0;
+select_type* IFC4X3_RC2_IfcLightDistributionDataSourceSelect_type = 0;
+select_type* IFC4X3_RC2_IfcLinearAxisSelect_type = 0;
+select_type* IFC4X3_RC2_IfcMaterialSelect_type = 0;
+select_type* IFC4X3_RC2_IfcMeasureValue_type = 0;
+select_type* IFC4X3_RC2_IfcMetricValueSelect_type = 0;
+select_type* IFC4X3_RC2_IfcModulusOfRotationalSubgradeReactionSelect_type = 0;
+select_type* IFC4X3_RC2_IfcModulusOfSubgradeReactionSelect_type = 0;
+select_type* IFC4X3_RC2_IfcModulusOfTranslationalSubgradeReactionSelect_type = 0;
+select_type* IFC4X3_RC2_IfcObjectReferenceSelect_type = 0;
+select_type* IFC4X3_RC2_IfcPointOrVertexPoint_type = 0;
+select_type* IFC4X3_RC2_IfcPresentationStyleSelect_type = 0;
+select_type* IFC4X3_RC2_IfcProcessSelect_type = 0;
+select_type* IFC4X3_RC2_IfcProductRepresentationSelect_type = 0;
+select_type* IFC4X3_RC2_IfcProductSelect_type = 0;
+select_type* IFC4X3_RC2_IfcPropertySetDefinitionSelect_type = 0;
+select_type* IFC4X3_RC2_IfcResourceObjectSelect_type = 0;
+select_type* IFC4X3_RC2_IfcResourceSelect_type = 0;
+select_type* IFC4X3_RC2_IfcRotationalStiffnessSelect_type = 0;
+select_type* IFC4X3_RC2_IfcSegmentIndexSelect_type = 0;
+select_type* IFC4X3_RC2_IfcShell_type = 0;
+select_type* IFC4X3_RC2_IfcSimpleValue_type = 0;
+select_type* IFC4X3_RC2_IfcSizeSelect_type = 0;
+select_type* IFC4X3_RC2_IfcSolidOrShell_type = 0;
+select_type* IFC4X3_RC2_IfcSpaceBoundarySelect_type = 0;
+select_type* IFC4X3_RC2_IfcSpatialReferenceSelect_type = 0;
+select_type* IFC4X3_RC2_IfcSpecularHighlightSelect_type = 0;
+select_type* IFC4X3_RC2_IfcStructuralActivityAssignmentSelect_type = 0;
+select_type* IFC4X3_RC2_IfcStyleAssignmentSelect_type = 0;
+select_type* IFC4X3_RC2_IfcSurfaceOrFaceSurface_type = 0;
+select_type* IFC4X3_RC2_IfcSurfaceStyleElementSelect_type = 0;
+select_type* IFC4X3_RC2_IfcTextFontSelect_type = 0;
+select_type* IFC4X3_RC2_IfcTimeOrRatioSelect_type = 0;
+select_type* IFC4X3_RC2_IfcTranslationalStiffnessSelect_type = 0;
+select_type* IFC4X3_RC2_IfcTransportElementTypeSelect_type = 0;
+select_type* IFC4X3_RC2_IfcTrimmingSelect_type = 0;
+select_type* IFC4X3_RC2_IfcUnit_type = 0;
+select_type* IFC4X3_RC2_IfcValue_type = 0;
+select_type* IFC4X3_RC2_IfcVectorOrDirection_type = 0;
+select_type* IFC4X3_RC2_IfcWarpingStiffnessSelect_type = 0;
+enumeration_type* IFC4X3_RC2_IfcActionRequestTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcActionSourceTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcActionTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcActuatorTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcAddressTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcAirTerminalBoxTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcAirTerminalTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcAirToAirHeatRecoveryTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcAlarmTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcAlignmentCantSegmentTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcAlignmentHorizontalSegmentTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcAlignmentTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcAlignmentVerticalSegmentTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcAnalysisModelTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcAnalysisTheoryTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcAnnotationTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcArithmeticOperatorEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcAssemblyPlaceEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcAudioVisualApplianceTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcBSplineCurveForm_type = 0;
+enumeration_type* IFC4X3_RC2_IfcBSplineSurfaceForm_type = 0;
+enumeration_type* IFC4X3_RC2_IfcBeamTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcBearingTypeDisplacementEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcBearingTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcBenchmarkEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcBoilerTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcBooleanOperator_type = 0;
+enumeration_type* IFC4X3_RC2_IfcBridgePartTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcBridgeTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcBuildingElementPartTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcBuildingElementProxyTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcBuildingSystemTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcBuiltSystemTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcBurnerTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcCableCarrierFittingTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcCableCarrierSegmentTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcCableFittingTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcCableSegmentTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcCaissonFoundationTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcChangeActionEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcChillerTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcChimneyTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcCoilTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcColumnTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcCommunicationsApplianceTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcComplexPropertyTemplateTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcCompressorTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcCondenserTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcConnectionTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcConstraintEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcConstructionEquipmentResourceTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcConstructionMaterialResourceTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcConstructionProductResourceTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcControllerTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcConveyorSegmentTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcCooledBeamTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcCoolingTowerTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcCostItemTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcCostScheduleTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcCourseTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcCoveringTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcCrewResourceTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcCurtainWallTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcCurveInterpolationEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcDamperTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcDataOriginEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcDerivedUnitEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcDirectionSenseEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcDiscreteAccessoryTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcDistributionBoardTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcDistributionChamberElementTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcDistributionPortTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcDistributionSystemEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcDocumentConfidentialityEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcDocumentStatusEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcDoorPanelOperationEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcDoorPanelPositionEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcDoorStyleConstructionEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcDoorStyleOperationEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcDoorTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcDoorTypeOperationEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcDuctFittingTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcDuctSegmentTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcDuctSilencerTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcEarthworksCutTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcEarthworksFillTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcElectricApplianceTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcElectricDistributionBoardTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcElectricFlowStorageDeviceTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcElectricFlowTreatmentDeviceTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcElectricGeneratorTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcElectricMotorTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcElectricTimeControlTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcElementAssemblyTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcElementCompositionEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcEngineTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcEvaporativeCoolerTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcEvaporatorTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcEventTriggerTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcEventTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcExternalSpatialElementTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcFacilityPartCommonTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcFacilityUsageEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcFanTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcFastenerTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcFilterTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcFireSuppressionTerminalTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcFlowDirectionEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcFlowInstrumentTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcFlowMeterTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcFootingTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcFurnitureTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcGeographicElementTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcGeometricProjectionEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcGlobalOrLocalEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcGridTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcHeatExchangerTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcHumidifierTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcImpactProtectionDeviceTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcInterceptorTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcInternalOrExternalEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcInventoryTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcJunctionBoxTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcKnotType_type = 0;
+enumeration_type* IFC4X3_RC2_IfcLaborResourceTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcLampTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcLayerSetDirectionEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcLightDistributionCurveEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcLightEmissionSourceEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcLightFixtureTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcLiquidTerminalTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcLoadGroupTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcLogicalOperatorEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcMarineFacilityTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcMarinePartTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcMechanicalFastenerTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcMedicalDeviceTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcMemberTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcMobileTelecommunicationsApplianceTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcMooringDeviceTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcMotorConnectionTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcNavigationElementTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcNullStyle_type = 0;
+enumeration_type* IFC4X3_RC2_IfcObjectTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcObjectiveEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcOccupantTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcOpeningElementTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcOutletTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcPerformanceHistoryTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcPermeableCoveringOperationEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcPermitTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcPhysicalOrVirtualEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcPileConstructionEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcPileTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcPipeFittingTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcPipeSegmentTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcPlateTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcPreferredSurfaceCurveRepresentation_type = 0;
+enumeration_type* IFC4X3_RC2_IfcProcedureTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcProfileTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcProjectOrderTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcProjectedOrTrueLengthEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcProjectionElementTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcPropertySetTemplateTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcProtectiveDeviceTrippingUnitTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcProtectiveDeviceTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcPumpTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcRailTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcRailingTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcRailwayPartTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcRampFlightTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcRampTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcRecurrenceTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcReferentTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcReflectanceMethodEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcReinforcedSoilTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcReinforcingBarRoleEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcReinforcingBarSurfaceEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcReinforcingBarTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcReinforcingMeshTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcRoadPartTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcRoleEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcRoofTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcSIPrefix_type = 0;
+enumeration_type* IFC4X3_RC2_IfcSIUnitName_type = 0;
+enumeration_type* IFC4X3_RC2_IfcSanitaryTerminalTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcSectionTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcSensorTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcSequenceEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcShadingDeviceTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcSignTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcSignalTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcSimplePropertyTemplateTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcSlabTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcSolarDeviceTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcSpaceHeaterTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcSpaceTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcSpatialZoneTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcStackTerminalTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcStairFlightTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcStairTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcStateEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcStructuralCurveActivityTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcStructuralCurveMemberTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcStructuralSurfaceActivityTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcStructuralSurfaceMemberTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcSubContractResourceTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcSurfaceFeatureTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcSurfaceSide_type = 0;
+enumeration_type* IFC4X3_RC2_IfcSwitchingDeviceTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcSystemFurnitureElementTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcTankTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcTaskDurationEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcTaskTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcTendonAnchorTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcTendonConduitTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcTendonTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcTextPath_type = 0;
+enumeration_type* IFC4X3_RC2_IfcTimeSeriesDataTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcTrackElementTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcTransformerTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcTransitionCode_type = 0;
+enumeration_type* IFC4X3_RC2_IfcTransitionCurveType_type = 0;
+enumeration_type* IFC4X3_RC2_IfcTransportElementFixedTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcTransportElementNonFixedTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcTrimmingPreference_type = 0;
+enumeration_type* IFC4X3_RC2_IfcTubeBundleTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcUnitEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcUnitaryControlElementTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcUnitaryEquipmentTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcValveTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcVibrationDamperTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcVibrationIsolatorTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcVoidingFeatureTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcWallTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcWasteTerminalTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcWindowPanelOperationEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcWindowPanelPositionEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcWindowStyleConstructionEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcWindowStyleOperationEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcWindowTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcWindowTypePartitioningEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcWorkCalendarTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcWorkPlanTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC2_IfcWorkScheduleTypeEnum_type = 0;
+
+class IFC4X3_RC2_instance_factory : public IfcParse::instance_factory {
+ virtual IfcUtil::IfcBaseClass* operator()(IfcEntityInstanceData* data) const {
+ switch(data->type()->index_in_schema()) {
+ case 0: return new ::Ifc4x3_rc2::IfcAbsorbedDoseMeasure(data);
+ case 1: return new ::Ifc4x3_rc2::IfcAccelerationMeasure(data);
+ case 2: return new ::Ifc4x3_rc2::IfcActionRequest(data);
+ case 3: return new ::Ifc4x3_rc2::IfcActionRequestTypeEnum(data);
+ case 4: return new ::Ifc4x3_rc2::IfcActionSourceTypeEnum(data);
+ case 5: return new ::Ifc4x3_rc2::IfcActionTypeEnum(data);
+ case 6: return new ::Ifc4x3_rc2::IfcActor(data);
+ case 7: return new ::Ifc4x3_rc2::IfcActorRole(data);
+ case 9: return new ::Ifc4x3_rc2::IfcActuator(data);
+ case 10: return new ::Ifc4x3_rc2::IfcActuatorType(data);
+ case 11: return new ::Ifc4x3_rc2::IfcActuatorTypeEnum(data);
+ case 12: return new ::Ifc4x3_rc2::IfcAddress(data);
+ case 13: return new ::Ifc4x3_rc2::IfcAddressTypeEnum(data);
+ case 14: return new ::Ifc4x3_rc2::IfcAdvancedBrep(data);
+ case 15: return new ::Ifc4x3_rc2::IfcAdvancedBrepWithVoids(data);
+ case 16: return new ::Ifc4x3_rc2::IfcAdvancedFace(data);
+ case 17: return new ::Ifc4x3_rc2::IfcAirTerminal(data);
+ case 18: return new ::Ifc4x3_rc2::IfcAirTerminalBox(data);
+ case 19: return new ::Ifc4x3_rc2::IfcAirTerminalBoxType(data);
+ case 20: return new ::Ifc4x3_rc2::IfcAirTerminalBoxTypeEnum(data);
+ case 21: return new ::Ifc4x3_rc2::IfcAirTerminalType(data);
+ case 22: return new ::Ifc4x3_rc2::IfcAirTerminalTypeEnum(data);
+ case 23: return new ::Ifc4x3_rc2::IfcAirToAirHeatRecovery(data);
+ case 24: return new ::Ifc4x3_rc2::IfcAirToAirHeatRecoveryType(data);
+ case 25: return new ::Ifc4x3_rc2::IfcAirToAirHeatRecoveryTypeEnum(data);
+ case 26: return new ::Ifc4x3_rc2::IfcAlarm(data);
+ case 27: return new ::Ifc4x3_rc2::IfcAlarmType(data);
+ case 28: return new ::Ifc4x3_rc2::IfcAlarmTypeEnum(data);
+ case 29: return new ::Ifc4x3_rc2::IfcAlignment(data);
+ case 30: return new ::Ifc4x3_rc2::IfcAlignment2DVerSegCircularArc(data);
+ case 31: return new ::Ifc4x3_rc2::IfcAlignment2DVerSegLine(data);
+ case 32: return new ::Ifc4x3_rc2::IfcAlignment2DVerSegParabolicArc(data);
+ case 33: return new ::Ifc4x3_rc2::IfcAlignmentCant(data);
+ case 34: return new ::Ifc4x3_rc2::IfcAlignmentCantSegment(data);
+ case 35: return new ::Ifc4x3_rc2::IfcAlignmentCantSegmentTypeEnum(data);
+ case 36: return new ::Ifc4x3_rc2::IfcAlignmentCurve(data);
+ case 37: return new ::Ifc4x3_rc2::IfcAlignmentHorizontal(data);
+ case 38: return new ::Ifc4x3_rc2::IfcAlignmentHorizontalSegment(data);
+ case 39: return new ::Ifc4x3_rc2::IfcAlignmentHorizontalSegmentTypeEnum(data);
+ case 40: return new ::Ifc4x3_rc2::IfcAlignmentParameterSegment(data);
+ case 41: return new ::Ifc4x3_rc2::IfcAlignmentSegment(data);
+ case 42: return new ::Ifc4x3_rc2::IfcAlignmentTypeEnum(data);
+ case 43: return new ::Ifc4x3_rc2::IfcAlignmentVertical(data);
+ case 44: return new ::Ifc4x3_rc2::IfcAlignmentVerticalSegment(data);
+ case 45: return new ::Ifc4x3_rc2::IfcAlignmentVerticalSegmentTypeEnum(data);
+ case 46: return new ::Ifc4x3_rc2::IfcAmountOfSubstanceMeasure(data);
+ case 47: return new ::Ifc4x3_rc2::IfcAnalysisModelTypeEnum(data);
+ case 48: return new ::Ifc4x3_rc2::IfcAnalysisTheoryTypeEnum(data);
+ case 49: return new ::Ifc4x3_rc2::IfcAngularVelocityMeasure(data);
+ case 50: return new ::Ifc4x3_rc2::IfcAnnotation(data);
+ case 51: return new ::Ifc4x3_rc2::IfcAnnotationFillArea(data);
+ case 52: return new ::Ifc4x3_rc2::IfcAnnotationTypeEnum(data);
+ case 53: return new ::Ifc4x3_rc2::IfcApplication(data);
+ case 54: return new ::Ifc4x3_rc2::IfcAppliedValue(data);
+ case 56: return new ::Ifc4x3_rc2::IfcApproval(data);
+ case 57: return new ::Ifc4x3_rc2::IfcApprovalRelationship(data);
+ case 58: return new ::Ifc4x3_rc2::IfcArbitraryClosedProfileDef(data);
+ case 59: return new ::Ifc4x3_rc2::IfcArbitraryOpenProfileDef(data);
+ case 60: return new ::Ifc4x3_rc2::IfcArbitraryProfileDefWithVoids(data);
+ case 61: return new ::Ifc4x3_rc2::IfcArcIndex(data);
+ case 62: return new ::Ifc4x3_rc2::IfcAreaDensityMeasure(data);
+ case 63: return new ::Ifc4x3_rc2::IfcAreaMeasure(data);
+ case 64: return new ::Ifc4x3_rc2::IfcArithmeticOperatorEnum(data);
+ case 65: return new ::Ifc4x3_rc2::IfcAssemblyPlaceEnum(data);
+ case 66: return new ::Ifc4x3_rc2::IfcAsset(data);
+ case 67: return new ::Ifc4x3_rc2::IfcAsymmetricIShapeProfileDef(data);
+ case 68: return new ::Ifc4x3_rc2::IfcAudioVisualAppliance(data);
+ case 69: return new ::Ifc4x3_rc2::IfcAudioVisualApplianceType(data);
+ case 70: return new ::Ifc4x3_rc2::IfcAudioVisualApplianceTypeEnum(data);
+ case 71: return new ::Ifc4x3_rc2::IfcAxis1Placement(data);
+ case 73: return new ::Ifc4x3_rc2::IfcAxis2Placement2D(data);
+ case 74: return new ::Ifc4x3_rc2::IfcAxis2Placement3D(data);
+ case 75: return new ::Ifc4x3_rc2::IfcAxis2PlacementLinear(data);
+ case 76: return new ::Ifc4x3_rc2::IfcAxisLateralInclination(data);
+ case 77: return new ::Ifc4x3_rc2::IfcBeam(data);
+ case 78: return new ::Ifc4x3_rc2::IfcBeamStandardCase(data);
+ case 79: return new ::Ifc4x3_rc2::IfcBeamType(data);
+ case 80: return new ::Ifc4x3_rc2::IfcBeamTypeEnum(data);
+ case 81: return new ::Ifc4x3_rc2::IfcBearing(data);
+ case 82: return new ::Ifc4x3_rc2::IfcBearingType(data);
+ case 83: return new ::Ifc4x3_rc2::IfcBearingTypeDisplacementEnum(data);
+ case 84: return new ::Ifc4x3_rc2::IfcBearingTypeEnum(data);
+ case 85: return new ::Ifc4x3_rc2::IfcBenchmarkEnum(data);
+ case 87: return new ::Ifc4x3_rc2::IfcBinary(data);
+ case 88: return new ::Ifc4x3_rc2::IfcBlobTexture(data);
+ case 89: return new ::Ifc4x3_rc2::IfcBlock(data);
+ case 90: return new ::Ifc4x3_rc2::IfcBlossCurve(data);
+ case 91: return new ::Ifc4x3_rc2::IfcBoiler(data);
+ case 92: return new ::Ifc4x3_rc2::IfcBoilerType(data);
+ case 93: return new ::Ifc4x3_rc2::IfcBoilerTypeEnum(data);
+ case 94: return new ::Ifc4x3_rc2::IfcBoolean(data);
+ case 95: return new ::Ifc4x3_rc2::IfcBooleanClippingResult(data);
+ case 97: return new ::Ifc4x3_rc2::IfcBooleanOperator(data);
+ case 98: return new ::Ifc4x3_rc2::IfcBooleanResult(data);
+ case 99: return new ::Ifc4x3_rc2::IfcBorehole(data);
+ case 100: return new ::Ifc4x3_rc2::IfcBoundaryCondition(data);
+ case 101: return new ::Ifc4x3_rc2::IfcBoundaryCurve(data);
+ case 102: return new ::Ifc4x3_rc2::IfcBoundaryEdgeCondition(data);
+ case 103: return new ::Ifc4x3_rc2::IfcBoundaryFaceCondition(data);
+ case 104: return new ::Ifc4x3_rc2::IfcBoundaryNodeCondition(data);
+ case 105: return new ::Ifc4x3_rc2::IfcBoundaryNodeConditionWarping(data);
+ case 106: return new ::Ifc4x3_rc2::IfcBoundedCurve(data);
+ case 107: return new ::Ifc4x3_rc2::IfcBoundedSurface(data);
+ case 108: return new ::Ifc4x3_rc2::IfcBoundingBox(data);
+ case 109: return new ::Ifc4x3_rc2::IfcBoxAlignment(data);
+ case 110: return new ::Ifc4x3_rc2::IfcBoxedHalfSpace(data);
+ case 111: return new ::Ifc4x3_rc2::IfcBridge(data);
+ case 112: return new ::Ifc4x3_rc2::IfcBridgePart(data);
+ case 113: return new ::Ifc4x3_rc2::IfcBridgePartTypeEnum(data);
+ case 114: return new ::Ifc4x3_rc2::IfcBridgeTypeEnum(data);
+ case 115: return new ::Ifc4x3_rc2::IfcBSplineCurve(data);
+ case 116: return new ::Ifc4x3_rc2::IfcBSplineCurveForm(data);
+ case 117: return new ::Ifc4x3_rc2::IfcBSplineCurveWithKnots(data);
+ case 118: return new ::Ifc4x3_rc2::IfcBSplineSurface(data);
+ case 119: return new ::Ifc4x3_rc2::IfcBSplineSurfaceForm(data);
+ case 120: return new ::Ifc4x3_rc2::IfcBSplineSurfaceWithKnots(data);
+ case 121: return new ::Ifc4x3_rc2::IfcBuilding(data);
+ case 122: return new ::Ifc4x3_rc2::IfcBuildingElementPart(data);
+ case 123: return new ::Ifc4x3_rc2::IfcBuildingElementPartType(data);
+ case 124: return new ::Ifc4x3_rc2::IfcBuildingElementPartTypeEnum(data);
+ case 125: return new ::Ifc4x3_rc2::IfcBuildingElementProxy(data);
+ case 126: return new ::Ifc4x3_rc2::IfcBuildingElementProxyType(data);
+ case 127: return new ::Ifc4x3_rc2::IfcBuildingElementProxyTypeEnum(data);
+ case 128: return new ::Ifc4x3_rc2::IfcBuildingStorey(data);
+ case 129: return new ::Ifc4x3_rc2::IfcBuildingSystem(data);
+ case 130: return new ::Ifc4x3_rc2::IfcBuildingSystemTypeEnum(data);
+ case 131: return new ::Ifc4x3_rc2::IfcBuiltElement(data);
+ case 132: return new ::Ifc4x3_rc2::IfcBuiltElementType(data);
+ case 133: return new ::Ifc4x3_rc2::IfcBuiltSystem(data);
+ case 134: return new ::Ifc4x3_rc2::IfcBuiltSystemTypeEnum(data);
+ case 135: return new ::Ifc4x3_rc2::IfcBurner(data);
+ case 136: return new ::Ifc4x3_rc2::IfcBurnerType(data);
+ case 137: return new ::Ifc4x3_rc2::IfcBurnerTypeEnum(data);
+ case 138: return new ::Ifc4x3_rc2::IfcCableCarrierFitting(data);
+ case 139: return new ::Ifc4x3_rc2::IfcCableCarrierFittingType(data);
+ case 140: return new ::Ifc4x3_rc2::IfcCableCarrierFittingTypeEnum(data);
+ case 141: return new ::Ifc4x3_rc2::IfcCableCarrierSegment(data);
+ case 142: return new ::Ifc4x3_rc2::IfcCableCarrierSegmentType(data);
+ case 143: return new ::Ifc4x3_rc2::IfcCableCarrierSegmentTypeEnum(data);
+ case 144: return new ::Ifc4x3_rc2::IfcCableFitting(data);
+ case 145: return new ::Ifc4x3_rc2::IfcCableFittingType(data);
+ case 146: return new ::Ifc4x3_rc2::IfcCableFittingTypeEnum(data);
+ case 147: return new ::Ifc4x3_rc2::IfcCableSegment(data);
+ case 148: return new ::Ifc4x3_rc2::IfcCableSegmentType(data);
+ case 149: return new ::Ifc4x3_rc2::IfcCableSegmentTypeEnum(data);
+ case 150: return new ::Ifc4x3_rc2::IfcCaissonFoundation(data);
+ case 151: return new ::Ifc4x3_rc2::IfcCaissonFoundationType(data);
+ case 152: return new ::Ifc4x3_rc2::IfcCaissonFoundationTypeEnum(data);
+ case 153: return new ::Ifc4x3_rc2::IfcCardinalPointReference(data);
+ case 154: return new ::Ifc4x3_rc2::IfcCartesianPoint(data);
+ case 155: return new ::Ifc4x3_rc2::IfcCartesianPointList(data);
+ case 156: return new ::Ifc4x3_rc2::IfcCartesianPointList2D(data);
+ case 157: return new ::Ifc4x3_rc2::IfcCartesianPointList3D(data);
+ case 158: return new ::Ifc4x3_rc2::IfcCartesianTransformationOperator(data);
+ case 159: return new ::Ifc4x3_rc2::IfcCartesianTransformationOperator2D(data);
+ case 160: return new ::Ifc4x3_rc2::IfcCartesianTransformationOperator2DnonUniform(data);
+ case 161: return new ::Ifc4x3_rc2::IfcCartesianTransformationOperator3D(data);
+ case 162: return new ::Ifc4x3_rc2::IfcCartesianTransformationOperator3DnonUniform(data);
+ case 163: return new ::Ifc4x3_rc2::IfcCenterLineProfileDef(data);
+ case 164: return new ::Ifc4x3_rc2::IfcChangeActionEnum(data);
+ case 165: return new ::Ifc4x3_rc2::IfcChiller(data);
+ case 166: return new ::Ifc4x3_rc2::IfcChillerType(data);
+ case 167: return new ::Ifc4x3_rc2::IfcChillerTypeEnum(data);
+ case 168: return new ::Ifc4x3_rc2::IfcChimney(data);
+ case 169: return new ::Ifc4x3_rc2::IfcChimneyType(data);
+ case 170: return new ::Ifc4x3_rc2::IfcChimneyTypeEnum(data);
+ case 171: return new ::Ifc4x3_rc2::IfcCircle(data);
+ case 172: return new ::Ifc4x3_rc2::IfcCircleHollowProfileDef(data);
+ case 173: return new ::Ifc4x3_rc2::IfcCircleProfileDef(data);
+ case 174: return new ::Ifc4x3_rc2::IfcCircularArcSegment2D(data);
+ case 175: return new ::Ifc4x3_rc2::IfcCivilElement(data);
+ case 176: return new ::Ifc4x3_rc2::IfcCivilElementType(data);
+ case 177: return new ::Ifc4x3_rc2::IfcClassification(data);
+ case 178: return new ::Ifc4x3_rc2::IfcClassificationReference(data);
+ case 181: return new ::Ifc4x3_rc2::IfcClosedShell(data);
+ case 182: return new ::Ifc4x3_rc2::IfcClothoid(data);
+ case 183: return new ::Ifc4x3_rc2::IfcCoil(data);
+ case 184: return new ::Ifc4x3_rc2::IfcCoilType(data);
+ case 185: return new ::Ifc4x3_rc2::IfcCoilTypeEnum(data);
+ case 188: return new ::Ifc4x3_rc2::IfcColourRgb(data);
+ case 189: return new ::Ifc4x3_rc2::IfcColourRgbList(data);
+ case 190: return new ::Ifc4x3_rc2::IfcColourSpecification(data);
+ case 191: return new ::Ifc4x3_rc2::IfcColumn(data);
+ case 192: return new ::Ifc4x3_rc2::IfcColumnStandardCase(data);
+ case 193: return new ::Ifc4x3_rc2::IfcColumnType(data);
+ case 194: return new ::Ifc4x3_rc2::IfcColumnTypeEnum(data);
+ case 195: return new ::Ifc4x3_rc2::IfcCommunicationsAppliance(data);
+ case 196: return new ::Ifc4x3_rc2::IfcCommunicationsApplianceType(data);
+ case 197: return new ::Ifc4x3_rc2::IfcCommunicationsApplianceTypeEnum(data);
+ case 198: return new ::Ifc4x3_rc2::IfcComplexNumber(data);
+ case 199: return new ::Ifc4x3_rc2::IfcComplexProperty(data);
+ case 200: return new ::Ifc4x3_rc2::IfcComplexPropertyTemplate(data);
+ case 201: return new ::Ifc4x3_rc2::IfcComplexPropertyTemplateTypeEnum(data);
+ case 202: return new ::Ifc4x3_rc2::IfcCompositeCurve(data);
+ case 203: return new ::Ifc4x3_rc2::IfcCompositeCurveOnSurface(data);
+ case 204: return new ::Ifc4x3_rc2::IfcCompositeCurveSegment(data);
+ case 205: return new ::Ifc4x3_rc2::IfcCompositeProfileDef(data);
+ case 206: return new ::Ifc4x3_rc2::IfcCompoundPlaneAngleMeasure(data);
+ case 207: return new ::Ifc4x3_rc2::IfcCompressor(data);
+ case 208: return new ::Ifc4x3_rc2::IfcCompressorType(data);
+ case 209: return new ::Ifc4x3_rc2::IfcCompressorTypeEnum(data);
+ case 210: return new ::Ifc4x3_rc2::IfcCondenser(data);
+ case 211: return new ::Ifc4x3_rc2::IfcCondenserType(data);
+ case 212: return new ::Ifc4x3_rc2::IfcCondenserTypeEnum(data);
+ case 213: return new ::Ifc4x3_rc2::IfcConic(data);
+ case 214: return new ::Ifc4x3_rc2::IfcConnectedFaceSet(data);
+ case 215: return new ::Ifc4x3_rc2::IfcConnectionCurveGeometry(data);
+ case 216: return new ::Ifc4x3_rc2::IfcConnectionGeometry(data);
+ case 217: return new ::Ifc4x3_rc2::IfcConnectionPointEccentricity(data);
+ case 218: return new ::Ifc4x3_rc2::IfcConnectionPointGeometry(data);
+ case 219: return new ::Ifc4x3_rc2::IfcConnectionSurfaceGeometry(data);
+ case 220: return new ::Ifc4x3_rc2::IfcConnectionTypeEnum(data);
+ case 221: return new ::Ifc4x3_rc2::IfcConnectionVolumeGeometry(data);
+ case 222: return new ::Ifc4x3_rc2::IfcConstraint(data);
+ case 223: return new ::Ifc4x3_rc2::IfcConstraintEnum(data);
+ case 224: return new ::Ifc4x3_rc2::IfcConstructionEquipmentResource(data);
+ case 225: return new ::Ifc4x3_rc2::IfcConstructionEquipmentResourceType(data);
+ case 226: return new ::Ifc4x3_rc2::IfcConstructionEquipmentResourceTypeEnum(data);
+ case 227: return new ::Ifc4x3_rc2::IfcConstructionMaterialResource(data);
+ case 228: return new ::Ifc4x3_rc2::IfcConstructionMaterialResourceType(data);
+ case 229: return new ::Ifc4x3_rc2::IfcConstructionMaterialResourceTypeEnum(data);
+ case 230: return new ::Ifc4x3_rc2::IfcConstructionProductResource(data);
+ case 231: return new ::Ifc4x3_rc2::IfcConstructionProductResourceType(data);
+ case 232: return new ::Ifc4x3_rc2::IfcConstructionProductResourceTypeEnum(data);
+ case 233: return new ::Ifc4x3_rc2::IfcConstructionResource(data);
+ case 234: return new ::Ifc4x3_rc2::IfcConstructionResourceType(data);
+ case 235: return new ::Ifc4x3_rc2::IfcContext(data);
+ case 236: return new ::Ifc4x3_rc2::IfcContextDependentMeasure(data);
+ case 237: return new ::Ifc4x3_rc2::IfcContextDependentUnit(data);
+ case 238: return new ::Ifc4x3_rc2::IfcControl(data);
+ case 239: return new ::Ifc4x3_rc2::IfcController(data);
+ case 240: return new ::Ifc4x3_rc2::IfcControllerType(data);
+ case 241: return new ::Ifc4x3_rc2::IfcControllerTypeEnum(data);
+ case 242: return new ::Ifc4x3_rc2::IfcConversionBasedUnit(data);
+ case 243: return new ::Ifc4x3_rc2::IfcConversionBasedUnitWithOffset(data);
+ case 244: return new ::Ifc4x3_rc2::IfcConveyorSegment(data);
+ case 245: return new ::Ifc4x3_rc2::IfcConveyorSegmentType(data);
+ case 246: return new ::Ifc4x3_rc2::IfcConveyorSegmentTypeEnum(data);
+ case 247: return new ::Ifc4x3_rc2::IfcCooledBeam(data);
+ case 248: return new ::Ifc4x3_rc2::IfcCooledBeamType(data);
+ case 249: return new ::Ifc4x3_rc2::IfcCooledBeamTypeEnum(data);
+ case 250: return new ::Ifc4x3_rc2::IfcCoolingTower(data);
+ case 251: return new ::Ifc4x3_rc2::IfcCoolingTowerType(data);
+ case 252: return new ::Ifc4x3_rc2::IfcCoolingTowerTypeEnum(data);
+ case 253: return new ::Ifc4x3_rc2::IfcCoordinateOperation(data);
+ case 254: return new ::Ifc4x3_rc2::IfcCoordinateReferenceSystem(data);
+ case 256: return new ::Ifc4x3_rc2::IfcCostItem(data);
+ case 257: return new ::Ifc4x3_rc2::IfcCostItemTypeEnum(data);
+ case 258: return new ::Ifc4x3_rc2::IfcCostSchedule(data);
+ case 259: return new ::Ifc4x3_rc2::IfcCostScheduleTypeEnum(data);
+ case 260: return new ::Ifc4x3_rc2::IfcCostValue(data);
+ case 261: return new ::Ifc4x3_rc2::IfcCountMeasure(data);
+ case 262: return new ::Ifc4x3_rc2::IfcCourse(data);
+ case 263: return new ::Ifc4x3_rc2::IfcCourseType(data);
+ case 264: return new ::Ifc4x3_rc2::IfcCourseTypeEnum(data);
+ case 265: return new ::Ifc4x3_rc2::IfcCovering(data);
+ case 266: return new ::Ifc4x3_rc2::IfcCoveringType(data);
+ case 267: return new ::Ifc4x3_rc2::IfcCoveringTypeEnum(data);
+ case 268: return new ::Ifc4x3_rc2::IfcCrewResource(data);
+ case 269: return new ::Ifc4x3_rc2::IfcCrewResourceType(data);
+ case 270: return new ::Ifc4x3_rc2::IfcCrewResourceTypeEnum(data);
+ case 271: return new ::Ifc4x3_rc2::IfcCsgPrimitive3D(data);
+ case 273: return new ::Ifc4x3_rc2::IfcCsgSolid(data);
+ case 274: return new ::Ifc4x3_rc2::IfcCShapeProfileDef(data);
+ case 275: return new ::Ifc4x3_rc2::IfcCurrencyRelationship(data);
+ case 276: return new ::Ifc4x3_rc2::IfcCurtainWall(data);
+ case 277: return new ::Ifc4x3_rc2::IfcCurtainWallType(data);
+ case 278: return new ::Ifc4x3_rc2::IfcCurtainWallTypeEnum(data);
+ case 279: return new ::Ifc4x3_rc2::IfcCurvatureMeasure(data);
+ case 280: return new ::Ifc4x3_rc2::IfcCurve(data);
+ case 281: return new ::Ifc4x3_rc2::IfcCurveBoundedPlane(data);
+ case 282: return new ::Ifc4x3_rc2::IfcCurveBoundedSurface(data);
+ case 284: return new ::Ifc4x3_rc2::IfcCurveInterpolationEnum(data);
+ case 288: return new ::Ifc4x3_rc2::IfcCurveSegment(data);
+ case 289: return new ::Ifc4x3_rc2::IfcCurveSegment2D(data);
+ case 290: return new ::Ifc4x3_rc2::IfcCurveStyle(data);
+ case 291: return new ::Ifc4x3_rc2::IfcCurveStyleFont(data);
+ case 292: return new ::Ifc4x3_rc2::IfcCurveStyleFontAndScaling(data);
+ case 293: return new ::Ifc4x3_rc2::IfcCurveStyleFontPattern(data);
+ case 295: return new ::Ifc4x3_rc2::IfcCylindricalSurface(data);
+ case 296: return new ::Ifc4x3_rc2::IfcDamper(data);
+ case 297: return new ::Ifc4x3_rc2::IfcDamperType(data);
+ case 298: return new ::Ifc4x3_rc2::IfcDamperTypeEnum(data);
+ case 299: return new ::Ifc4x3_rc2::IfcDataOriginEnum(data);
+ case 300: return new ::Ifc4x3_rc2::IfcDate(data);
+ case 301: return new ::Ifc4x3_rc2::IfcDateTime(data);
+ case 302: return new ::Ifc4x3_rc2::IfcDayInMonthNumber(data);
+ case 303: return new ::Ifc4x3_rc2::IfcDayInWeekNumber(data);
+ case 304: return new ::Ifc4x3_rc2::IfcDeepFoundation(data);
+ case 305: return new ::Ifc4x3_rc2::IfcDeepFoundationType(data);
+ case 308: return new ::Ifc4x3_rc2::IfcDerivedProfileDef(data);
+ case 309: return new ::Ifc4x3_rc2::IfcDerivedUnit(data);
+ case 310: return new ::Ifc4x3_rc2::IfcDerivedUnitElement(data);
+ case 311: return new ::Ifc4x3_rc2::IfcDerivedUnitEnum(data);
+ case 312: return new ::Ifc4x3_rc2::IfcDescriptiveMeasure(data);
+ case 313: return new ::Ifc4x3_rc2::IfcDimensionalExponents(data);
+ case 314: return new ::Ifc4x3_rc2::IfcDimensionCount(data);
+ case 315: return new ::Ifc4x3_rc2::IfcDirection(data);
+ case 316: return new ::Ifc4x3_rc2::IfcDirectionSenseEnum(data);
+ case 317: return new ::Ifc4x3_rc2::IfcDirectrixCurveSweptAreaSolid(data);
+ case 318: return new ::Ifc4x3_rc2::IfcDirectrixDistanceSweptAreaSolid(data);
+ case 319: return new ::Ifc4x3_rc2::IfcDiscreteAccessory(data);
+ case 320: return new ::Ifc4x3_rc2::IfcDiscreteAccessoryType(data);
+ case 321: return new ::Ifc4x3_rc2::IfcDiscreteAccessoryTypeEnum(data);
+ case 322: return new ::Ifc4x3_rc2::IfcDistributionBoard(data);
+ case 323: return new ::Ifc4x3_rc2::IfcDistributionBoardType(data);
+ case 324: return new ::Ifc4x3_rc2::IfcDistributionBoardTypeEnum(data);
+ case 325: return new ::Ifc4x3_rc2::IfcDistributionChamberElement(data);
+ case 326: return new ::Ifc4x3_rc2::IfcDistributionChamberElementType(data);
+ case 327: return new ::Ifc4x3_rc2::IfcDistributionChamberElementTypeEnum(data);
+ case 328: return new ::Ifc4x3_rc2::IfcDistributionCircuit(data);
+ case 329: return new ::Ifc4x3_rc2::IfcDistributionControlElement(data);
+ case 330: return new ::Ifc4x3_rc2::IfcDistributionControlElementType(data);
+ case 331: return new ::Ifc4x3_rc2::IfcDistributionElement(data);
+ case 332: return new ::Ifc4x3_rc2::IfcDistributionElementType(data);
+ case 333: return new ::Ifc4x3_rc2::IfcDistributionFlowElement(data);
+ case 334: return new ::Ifc4x3_rc2::IfcDistributionFlowElementType(data);
+ case 335: return new ::Ifc4x3_rc2::IfcDistributionPort(data);
+ case 336: return new ::Ifc4x3_rc2::IfcDistributionPortTypeEnum(data);
+ case 337: return new ::Ifc4x3_rc2::IfcDistributionSystem(data);
+ case 338: return new ::Ifc4x3_rc2::IfcDistributionSystemEnum(data);
+ case 339: return new ::Ifc4x3_rc2::IfcDocumentConfidentialityEnum(data);
+ case 340: return new ::Ifc4x3_rc2::IfcDocumentInformation(data);
+ case 341: return new ::Ifc4x3_rc2::IfcDocumentInformationRelationship(data);
+ case 342: return new ::Ifc4x3_rc2::IfcDocumentReference(data);
+ case 344: return new ::Ifc4x3_rc2::IfcDocumentStatusEnum(data);
+ case 345: return new ::Ifc4x3_rc2::IfcDoor(data);
+ case 346: return new ::Ifc4x3_rc2::IfcDoorLiningProperties(data);
+ case 347: return new ::Ifc4x3_rc2::IfcDoorPanelOperationEnum(data);
+ case 348: return new ::Ifc4x3_rc2::IfcDoorPanelPositionEnum(data);
+ case 349: return new ::Ifc4x3_rc2::IfcDoorPanelProperties(data);
+ case 350: return new ::Ifc4x3_rc2::IfcDoorStandardCase(data);
+ case 351: return new ::Ifc4x3_rc2::IfcDoorStyle(data);
+ case 352: return new ::Ifc4x3_rc2::IfcDoorStyleConstructionEnum(data);
+ case 353: return new ::Ifc4x3_rc2::IfcDoorStyleOperationEnum(data);
+ case 354: return new ::Ifc4x3_rc2::IfcDoorType(data);
+ case 355: return new ::Ifc4x3_rc2::IfcDoorTypeEnum(data);
+ case 356: return new ::Ifc4x3_rc2::IfcDoorTypeOperationEnum(data);
+ case 357: return new ::Ifc4x3_rc2::IfcDoseEquivalentMeasure(data);
+ case 358: return new ::Ifc4x3_rc2::IfcDraughtingPreDefinedColour(data);
+ case 359: return new ::Ifc4x3_rc2::IfcDraughtingPreDefinedCurveFont(data);
+ case 360: return new ::Ifc4x3_rc2::IfcDuctFitting(data);
+ case 361: return new ::Ifc4x3_rc2::IfcDuctFittingType(data);
+ case 362: return new ::Ifc4x3_rc2::IfcDuctFittingTypeEnum(data);
+ case 363: return new ::Ifc4x3_rc2::IfcDuctSegment(data);
+ case 364: return new ::Ifc4x3_rc2::IfcDuctSegmentType(data);
+ case 365: return new ::Ifc4x3_rc2::IfcDuctSegmentTypeEnum(data);
+ case 366: return new ::Ifc4x3_rc2::IfcDuctSilencer(data);
+ case 367: return new ::Ifc4x3_rc2::IfcDuctSilencerType(data);
+ case 368: return new ::Ifc4x3_rc2::IfcDuctSilencerTypeEnum(data);
+ case 369: return new ::Ifc4x3_rc2::IfcDuration(data);
+ case 370: return new ::Ifc4x3_rc2::IfcDynamicViscosityMeasure(data);
+ case 371: return new ::Ifc4x3_rc2::IfcEarthworksCut(data);
+ case 372: return new ::Ifc4x3_rc2::IfcEarthworksCutTypeEnum(data);
+ case 373: return new ::Ifc4x3_rc2::IfcEarthworksElement(data);
+ case 374: return new ::Ifc4x3_rc2::IfcEarthworksFill(data);
+ case 375: return new ::Ifc4x3_rc2::IfcEarthworksFillTypeEnum(data);
+ case 376: return new ::Ifc4x3_rc2::IfcEdge(data);
+ case 377: return new ::Ifc4x3_rc2::IfcEdgeCurve(data);
+ case 378: return new ::Ifc4x3_rc2::IfcEdgeLoop(data);
+ case 379: return new ::Ifc4x3_rc2::IfcElectricAppliance(data);
+ case 380: return new ::Ifc4x3_rc2::IfcElectricApplianceType(data);
+ case 381: return new ::Ifc4x3_rc2::IfcElectricApplianceTypeEnum(data);
+ case 382: return new ::Ifc4x3_rc2::IfcElectricCapacitanceMeasure(data);
+ case 383: return new ::Ifc4x3_rc2::IfcElectricChargeMeasure(data);
+ case 384: return new ::Ifc4x3_rc2::IfcElectricConductanceMeasure(data);
+ case 385: return new ::Ifc4x3_rc2::IfcElectricCurrentMeasure(data);
+ case 386: return new ::Ifc4x3_rc2::IfcElectricDistributionBoard(data);
+ case 387: return new ::Ifc4x3_rc2::IfcElectricDistributionBoardType(data);
+ case 388: return new ::Ifc4x3_rc2::IfcElectricDistributionBoardTypeEnum(data);
+ case 389: return new ::Ifc4x3_rc2::IfcElectricFlowStorageDevice(data);
+ case 390: return new ::Ifc4x3_rc2::IfcElectricFlowStorageDeviceType(data);
+ case 391: return new ::Ifc4x3_rc2::IfcElectricFlowStorageDeviceTypeEnum(data);
+ case 392: return new ::Ifc4x3_rc2::IfcElectricFlowTreatmentDevice(data);
+ case 393: return new ::Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceType(data);
+ case 394: return new ::Ifc4x3_rc2::IfcElectricFlowTreatmentDeviceTypeEnum(data);
+ case 395: return new ::Ifc4x3_rc2::IfcElectricGenerator(data);
+ case 396: return new ::Ifc4x3_rc2::IfcElectricGeneratorType(data);
+ case 397: return new ::Ifc4x3_rc2::IfcElectricGeneratorTypeEnum(data);
+ case 398: return new ::Ifc4x3_rc2::IfcElectricMotor(data);
+ case 399: return new ::Ifc4x3_rc2::IfcElectricMotorType(data);
+ case 400: return new ::Ifc4x3_rc2::IfcElectricMotorTypeEnum(data);
+ case 401: return new ::Ifc4x3_rc2::IfcElectricResistanceMeasure(data);
+ case 402: return new ::Ifc4x3_rc2::IfcElectricTimeControl(data);
+ case 403: return new ::Ifc4x3_rc2::IfcElectricTimeControlType(data);
+ case 404: return new ::Ifc4x3_rc2::IfcElectricTimeControlTypeEnum(data);
+ case 405: return new ::Ifc4x3_rc2::IfcElectricVoltageMeasure(data);
+ case 406: return new ::Ifc4x3_rc2::IfcElement(data);
+ case 407: return new ::Ifc4x3_rc2::IfcElementarySurface(data);
+ case 408: return new ::Ifc4x3_rc2::IfcElementAssembly(data);
+ case 409: return new ::Ifc4x3_rc2::IfcElementAssemblyType(data);
+ case 410: return new ::Ifc4x3_rc2::IfcElementAssemblyTypeEnum(data);
+ case 411: return new ::Ifc4x3_rc2::IfcElementComponent(data);
+ case 412: return new ::Ifc4x3_rc2::IfcElementComponentType(data);
+ case 413: return new ::Ifc4x3_rc2::IfcElementCompositionEnum(data);
+ case 414: return new ::Ifc4x3_rc2::IfcElementQuantity(data);
+ case 415: return new ::Ifc4x3_rc2::IfcElementType(data);
+ case 416: return new ::Ifc4x3_rc2::IfcEllipse(data);
+ case 417: return new ::Ifc4x3_rc2::IfcEllipseProfileDef(data);
+ case 418: return new ::Ifc4x3_rc2::IfcEnergyConversionDevice(data);
+ case 419: return new ::Ifc4x3_rc2::IfcEnergyConversionDeviceType(data);
+ case 420: return new ::Ifc4x3_rc2::IfcEnergyMeasure(data);
+ case 421: return new ::Ifc4x3_rc2::IfcEngine(data);
+ case 422: return new ::Ifc4x3_rc2::IfcEngineType(data);
+ case 423: return new ::Ifc4x3_rc2::IfcEngineTypeEnum(data);
+ case 424: return new ::Ifc4x3_rc2::IfcEvaporativeCooler(data);
+ case 425: return new ::Ifc4x3_rc2::IfcEvaporativeCoolerType(data);
+ case 426: return new ::Ifc4x3_rc2::IfcEvaporativeCoolerTypeEnum(data);
+ case 427: return new ::Ifc4x3_rc2::IfcEvaporator(data);
+ case 428: return new ::Ifc4x3_rc2::IfcEvaporatorType(data);
+ case 429: return new ::Ifc4x3_rc2::IfcEvaporatorTypeEnum(data);
+ case 430: return new ::Ifc4x3_rc2::IfcEvent(data);
+ case 431: return new ::Ifc4x3_rc2::IfcEventTime(data);
+ case 432: return new ::Ifc4x3_rc2::IfcEventTriggerTypeEnum(data);
+ case 433: return new ::Ifc4x3_rc2::IfcEventType(data);
+ case 434: return new ::Ifc4x3_rc2::IfcEventTypeEnum(data);
+ case 435: return new ::Ifc4x3_rc2::IfcExtendedProperties(data);
+ case 436: return new ::Ifc4x3_rc2::IfcExternalInformation(data);
+ case 437: return new ::Ifc4x3_rc2::IfcExternallyDefinedHatchStyle(data);
+ case 438: return new ::Ifc4x3_rc2::IfcExternallyDefinedSurfaceStyle(data);
+ case 439: return new ::Ifc4x3_rc2::IfcExternallyDefinedTextFont(data);
+ case 440: return new ::Ifc4x3_rc2::IfcExternalReference(data);
+ case 441: return new ::Ifc4x3_rc2::IfcExternalReferenceRelationship(data);
+ case 442: return new ::Ifc4x3_rc2::IfcExternalSpatialElement(data);
+ case 443: return new ::Ifc4x3_rc2::IfcExternalSpatialElementTypeEnum(data);
+ case 444: return new ::Ifc4x3_rc2::IfcExternalSpatialStructureElement(data);
+ case 445: return new ::Ifc4x3_rc2::IfcExtrudedAreaSolid(data);
+ case 446: return new ::Ifc4x3_rc2::IfcExtrudedAreaSolidTapered(data);
+ case 447: return new ::Ifc4x3_rc2::IfcFace(data);
+ case 448: return new ::Ifc4x3_rc2::IfcFaceBasedSurfaceModel(data);
+ case 449: return new ::Ifc4x3_rc2::IfcFaceBound(data);
+ case 450: return new ::Ifc4x3_rc2::IfcFaceOuterBound(data);
+ case 451: return new ::Ifc4x3_rc2::IfcFaceSurface(data);
+ case 452: return new ::Ifc4x3_rc2::IfcFacetedBrep(data);
+ case 453: return new ::Ifc4x3_rc2::IfcFacetedBrepWithVoids(data);
+ case 454: return new ::Ifc4x3_rc2::IfcFacility(data);
+ case 455: return new ::Ifc4x3_rc2::IfcFacilityPart(data);
+ case 456: return new ::Ifc4x3_rc2::IfcFacilityPartCommonTypeEnum(data);
+ case 458: return new ::Ifc4x3_rc2::IfcFacilityUsageEnum(data);
+ case 459: return new ::Ifc4x3_rc2::IfcFailureConnectionCondition(data);
+ case 460: return new ::Ifc4x3_rc2::IfcFan(data);
+ case 461: return new ::Ifc4x3_rc2::IfcFanType(data);
+ case 462: return new ::Ifc4x3_rc2::IfcFanTypeEnum(data);
+ case 463: return new ::Ifc4x3_rc2::IfcFastener(data);
+ case 464: return new ::Ifc4x3_rc2::IfcFastenerType(data);
+ case 465: return new ::Ifc4x3_rc2::IfcFastenerTypeEnum(data);
+ case 466: return new ::Ifc4x3_rc2::IfcFeatureElement(data);
+ case 467: return new ::Ifc4x3_rc2::IfcFeatureElementAddition(data);
+ case 468: return new ::Ifc4x3_rc2::IfcFeatureElementSubtraction(data);
+ case 469: return new ::Ifc4x3_rc2::IfcFillAreaStyle(data);
+ case 470: return new ::Ifc4x3_rc2::IfcFillAreaStyleHatching(data);
+ case 471: return new ::Ifc4x3_rc2::IfcFillAreaStyleTiles(data);
+ case 473: return new ::Ifc4x3_rc2::IfcFilter(data);
+ case 474: return new ::Ifc4x3_rc2::IfcFilterType(data);
+ case 475: return new ::Ifc4x3_rc2::IfcFilterTypeEnum(data);
+ case 476: return new ::Ifc4x3_rc2::IfcFireSuppressionTerminal(data);
+ case 477: return new ::Ifc4x3_rc2::IfcFireSuppressionTerminalType(data);
+ case 478: return new ::Ifc4x3_rc2::IfcFireSuppressionTerminalTypeEnum(data);
+ case 479: return new ::Ifc4x3_rc2::IfcFixedReferenceSweptAreaSolid(data);
+ case 480: return new ::Ifc4x3_rc2::IfcFlowController(data);
+ case 481: return new ::Ifc4x3_rc2::IfcFlowControllerType(data);
+ case 482: return new ::Ifc4x3_rc2::IfcFlowDirectionEnum(data);
+ case 483: return new ::Ifc4x3_rc2::IfcFlowFitting(data);
+ case 484: return new ::Ifc4x3_rc2::IfcFlowFittingType(data);
+ case 485: return new ::Ifc4x3_rc2::IfcFlowInstrument(data);
+ case 486: return new ::Ifc4x3_rc2::IfcFlowInstrumentType(data);
+ case 487: return new ::Ifc4x3_rc2::IfcFlowInstrumentTypeEnum(data);
+ case 488: return new ::Ifc4x3_rc2::IfcFlowMeter(data);
+ case 489: return new ::Ifc4x3_rc2::IfcFlowMeterType(data);
+ case 490: return new ::Ifc4x3_rc2::IfcFlowMeterTypeEnum(data);
+ case 491: return new ::Ifc4x3_rc2::IfcFlowMovingDevice(data);
+ case 492: return new ::Ifc4x3_rc2::IfcFlowMovingDeviceType(data);
+ case 493: return new ::Ifc4x3_rc2::IfcFlowSegment(data);
+ case 494: return new ::Ifc4x3_rc2::IfcFlowSegmentType(data);
+ case 495: return new ::Ifc4x3_rc2::IfcFlowStorageDevice(data);
+ case 496: return new ::Ifc4x3_rc2::IfcFlowStorageDeviceType(data);
+ case 497: return new ::Ifc4x3_rc2::IfcFlowTerminal(data);
+ case 498: return new ::Ifc4x3_rc2::IfcFlowTerminalType(data);
+ case 499: return new ::Ifc4x3_rc2::IfcFlowTreatmentDevice(data);
+ case 500: return new ::Ifc4x3_rc2::IfcFlowTreatmentDeviceType(data);
+ case 501: return new ::Ifc4x3_rc2::IfcFontStyle(data);
+ case 502: return new ::Ifc4x3_rc2::IfcFontVariant(data);
+ case 503: return new ::Ifc4x3_rc2::IfcFontWeight(data);
+ case 504: return new ::Ifc4x3_rc2::IfcFooting(data);
+ case 505: return new ::Ifc4x3_rc2::IfcFootingType(data);
+ case 506: return new ::Ifc4x3_rc2::IfcFootingTypeEnum(data);
+ case 507: return new ::Ifc4x3_rc2::IfcForceMeasure(data);
+ case 508: return new ::Ifc4x3_rc2::IfcFrequencyMeasure(data);
+ case 509: return new ::Ifc4x3_rc2::IfcFurnishingElement(data);
+ case 510: return new ::Ifc4x3_rc2::IfcFurnishingElementType(data);
+ case 511: return new ::Ifc4x3_rc2::IfcFurniture(data);
+ case 512: return new ::Ifc4x3_rc2::IfcFurnitureType(data);
+ case 513: return new ::Ifc4x3_rc2::IfcFurnitureTypeEnum(data);
+ case 514: return new ::Ifc4x3_rc2::IfcGeographicElement(data);
+ case 515: return new ::Ifc4x3_rc2::IfcGeographicElementType(data);
+ case 516: return new ::Ifc4x3_rc2::IfcGeographicElementTypeEnum(data);
+ case 517: return new ::Ifc4x3_rc2::IfcGeometricCurveSet(data);
+ case 518: return new ::Ifc4x3_rc2::IfcGeometricProjectionEnum(data);
+ case 519: return new ::Ifc4x3_rc2::IfcGeometricRepresentationContext(data);
+ case 520: return new ::Ifc4x3_rc2::IfcGeometricRepresentationItem(data);
+ case 521: return new ::Ifc4x3_rc2::IfcGeometricRepresentationSubContext(data);
+ case 522: return new ::Ifc4x3_rc2::IfcGeometricSet(data);
+ case 524: return new ::Ifc4x3_rc2::IfcGeomodel(data);
+ case 525: return new ::Ifc4x3_rc2::IfcGeoslice(data);
+ case 526: return new ::Ifc4x3_rc2::IfcGeotechnicalAssembly(data);
+ case 527: return new ::Ifc4x3_rc2::IfcGeotechnicalElement(data);
+ case 528: return new ::Ifc4x3_rc2::IfcGeotechnicalStratum(data);
+ case 529: return new ::Ifc4x3_rc2::IfcGloballyUniqueId(data);
+ case 530: return new ::Ifc4x3_rc2::IfcGlobalOrLocalEnum(data);
+ case 531: return new ::Ifc4x3_rc2::IfcGradientCurve(data);
+ case 532: return new ::Ifc4x3_rc2::IfcGrid(data);
+ case 533: return new ::Ifc4x3_rc2::IfcGridAxis(data);
+ case 534: return new ::Ifc4x3_rc2::IfcGridPlacement(data);
+ case 536: return new ::Ifc4x3_rc2::IfcGridTypeEnum(data);
+ case 537: return new ::Ifc4x3_rc2::IfcGroup(data);
+ case 538: return new ::Ifc4x3_rc2::IfcHalfSpaceSolid(data);
+ case 540: return new ::Ifc4x3_rc2::IfcHeatExchanger(data);
+ case 541: return new ::Ifc4x3_rc2::IfcHeatExchangerType(data);
+ case 542: return new ::Ifc4x3_rc2::IfcHeatExchangerTypeEnum(data);
+ case 543: return new ::Ifc4x3_rc2::IfcHeatFluxDensityMeasure(data);
+ case 544: return new ::Ifc4x3_rc2::IfcHeatingValueMeasure(data);
+ case 545: return new ::Ifc4x3_rc2::IfcHumidifier(data);
+ case 546: return new ::Ifc4x3_rc2::IfcHumidifierType(data);
+ case 547: return new ::Ifc4x3_rc2::IfcHumidifierTypeEnum(data);
+ case 548: return new ::Ifc4x3_rc2::IfcIdentifier(data);
+ case 549: return new ::Ifc4x3_rc2::IfcIlluminanceMeasure(data);
+ case 550: return new ::Ifc4x3_rc2::IfcImageTexture(data);
+ case 551: return new ::Ifc4x3_rc2::IfcImpactProtectionDevice(data);
+ case 552: return new ::Ifc4x3_rc2::IfcImpactProtectionDeviceType(data);
+ case 553: return new ::Ifc4x3_rc2::IfcImpactProtectionDeviceTypeEnum(data);
+ case 555: return new ::Ifc4x3_rc2::IfcInclinedReferenceSweptAreaSolid(data);
+ case 556: return new ::Ifc4x3_rc2::IfcIndexedColourMap(data);
+ case 557: return new ::Ifc4x3_rc2::IfcIndexedPolyCurve(data);
+ case 558: return new ::Ifc4x3_rc2::IfcIndexedPolygonalFace(data);
+ case 559: return new ::Ifc4x3_rc2::IfcIndexedPolygonalFaceWithVoids(data);
+ case 560: return new ::Ifc4x3_rc2::IfcIndexedTextureMap(data);
+ case 561: return new ::Ifc4x3_rc2::IfcIndexedTriangleTextureMap(data);
+ case 562: return new ::Ifc4x3_rc2::IfcInductanceMeasure(data);
+ case 563: return new ::Ifc4x3_rc2::IfcInteger(data);
+ case 564: return new ::Ifc4x3_rc2::IfcIntegerCountRateMeasure(data);
+ case 565: return new ::Ifc4x3_rc2::IfcInterceptor(data);
+ case 566: return new ::Ifc4x3_rc2::IfcInterceptorType(data);
+ case 567: return new ::Ifc4x3_rc2::IfcInterceptorTypeEnum(data);
+ case 569: return new ::Ifc4x3_rc2::IfcInternalOrExternalEnum(data);
+ case 570: return new ::Ifc4x3_rc2::IfcIntersectionCurve(data);
+ case 571: return new ::Ifc4x3_rc2::IfcInventory(data);
+ case 572: return new ::Ifc4x3_rc2::IfcInventoryTypeEnum(data);
+ case 573: return new ::Ifc4x3_rc2::IfcIonConcentrationMeasure(data);
+ case 574: return new ::Ifc4x3_rc2::IfcIrregularTimeSeries(data);
+ case 575: return new ::Ifc4x3_rc2::IfcIrregularTimeSeriesValue(data);
+ case 576: return new ::Ifc4x3_rc2::IfcIShapeProfileDef(data);
+ case 577: return new ::Ifc4x3_rc2::IfcIsothermalMoistureCapacityMeasure(data);
+ case 578: return new ::Ifc4x3_rc2::IfcJunctionBox(data);
+ case 579: return new ::Ifc4x3_rc2::IfcJunctionBoxType(data);
+ case 580: return new ::Ifc4x3_rc2::IfcJunctionBoxTypeEnum(data);
+ case 581: return new ::Ifc4x3_rc2::IfcKerb(data);
+ case 582: return new ::Ifc4x3_rc2::IfcKerbType(data);
+ case 583: return new ::Ifc4x3_rc2::IfcKinematicViscosityMeasure(data);
+ case 584: return new ::Ifc4x3_rc2::IfcKnotType(data);
+ case 585: return new ::Ifc4x3_rc2::IfcLabel(data);
+ case 586: return new ::Ifc4x3_rc2::IfcLaborResource(data);
+ case 587: return new ::Ifc4x3_rc2::IfcLaborResourceType(data);
+ case 588: return new ::Ifc4x3_rc2::IfcLaborResourceTypeEnum(data);
+ case 589: return new ::Ifc4x3_rc2::IfcLagTime(data);
+ case 590: return new ::Ifc4x3_rc2::IfcLamp(data);
+ case 591: return new ::Ifc4x3_rc2::IfcLampType(data);
+ case 592: return new ::Ifc4x3_rc2::IfcLampTypeEnum(data);
+ case 593: return new ::Ifc4x3_rc2::IfcLanguageId(data);
+ case 595: return new ::Ifc4x3_rc2::IfcLayerSetDirectionEnum(data);
+ case 596: return new ::Ifc4x3_rc2::IfcLengthMeasure(data);
+ case 597: return new ::Ifc4x3_rc2::IfcLibraryInformation(data);
+ case 598: return new ::Ifc4x3_rc2::IfcLibraryReference(data);
+ case 600: return new ::Ifc4x3_rc2::IfcLightDistributionCurveEnum(data);
+ case 601: return new ::Ifc4x3_rc2::IfcLightDistributionData(data);
+ case 603: return new ::Ifc4x3_rc2::IfcLightEmissionSourceEnum(data);
+ case 604: return new ::Ifc4x3_rc2::IfcLightFixture(data);
+ case 605: return new ::Ifc4x3_rc2::IfcLightFixtureType(data);
+ case 606: return new ::Ifc4x3_rc2::IfcLightFixtureTypeEnum(data);
+ case 607: return new ::Ifc4x3_rc2::IfcLightIntensityDistribution(data);
+ case 608: return new ::Ifc4x3_rc2::IfcLightSource(data);
+ case 609: return new ::Ifc4x3_rc2::IfcLightSourceAmbient(data);
+ case 610: return new ::Ifc4x3_rc2::IfcLightSourceDirectional(data);
+ case 611: return new ::Ifc4x3_rc2::IfcLightSourceGoniometric(data);
+ case 612: return new ::Ifc4x3_rc2::IfcLightSourcePositional(data);
+ case 613: return new ::Ifc4x3_rc2::IfcLightSourceSpot(data);
+ case 614: return new ::Ifc4x3_rc2::IfcLine(data);
+ case 616: return new ::Ifc4x3_rc2::IfcLinearAxisWithInclination(data);
+ case 617: return new ::Ifc4x3_rc2::IfcLinearElement(data);
+ case 618: return new ::Ifc4x3_rc2::IfcLinearForceMeasure(data);
+ case 619: return new ::Ifc4x3_rc2::IfcLinearMomentMeasure(data);
+ case 620: return new ::Ifc4x3_rc2::IfcLinearPlacement(data);
+ case 621: return new ::Ifc4x3_rc2::IfcLinearPlacementWithInclination(data);
+ case 622: return new ::Ifc4x3_rc2::IfcLinearPositioningElement(data);
+ case 623: return new ::Ifc4x3_rc2::IfcLinearSpanPlacement(data);
+ case 624: return new ::Ifc4x3_rc2::IfcLinearStiffnessMeasure(data);
+ case 625: return new ::Ifc4x3_rc2::IfcLinearVelocityMeasure(data);
+ case 626: return new ::Ifc4x3_rc2::IfcLineIndex(data);
+ case 627: return new ::Ifc4x3_rc2::IfcLineSegment2D(data);
+ case 628: return new ::Ifc4x3_rc2::IfcLiquidTerminal(data);
+ case 629: return new ::Ifc4x3_rc2::IfcLiquidTerminalType(data);
+ case 630: return new ::Ifc4x3_rc2::IfcLiquidTerminalTypeEnum(data);
+ case 631: return new ::Ifc4x3_rc2::IfcLoadGroupTypeEnum(data);
+ case 632: return new ::Ifc4x3_rc2::IfcLocalPlacement(data);
+ case 633: return new ::Ifc4x3_rc2::IfcLogical(data);
+ case 634: return new ::Ifc4x3_rc2::IfcLogicalOperatorEnum(data);
+ case 635: return new ::Ifc4x3_rc2::IfcLoop(data);
+ case 636: return new ::Ifc4x3_rc2::IfcLShapeProfileDef(data);
+ case 637: return new ::Ifc4x3_rc2::IfcLuminousFluxMeasure(data);
+ case 638: return new ::Ifc4x3_rc2::IfcLuminousIntensityDistributionMeasure(data);
+ case 639: return new ::Ifc4x3_rc2::IfcLuminousIntensityMeasure(data);
+ case 640: return new ::Ifc4x3_rc2::IfcMagneticFluxDensityMeasure(data);
+ case 641: return new ::Ifc4x3_rc2::IfcMagneticFluxMeasure(data);
+ case 642: return new ::Ifc4x3_rc2::IfcManifoldSolidBrep(data);
+ case 643: return new ::Ifc4x3_rc2::IfcMapConversion(data);
+ case 644: return new ::Ifc4x3_rc2::IfcMappedItem(data);
+ case 645: return new ::Ifc4x3_rc2::IfcMarineFacility(data);
+ case 646: return new ::Ifc4x3_rc2::IfcMarineFacilityTypeEnum(data);
+ case 647: return new ::Ifc4x3_rc2::IfcMarinePartTypeEnum(data);
+ case 648: return new ::Ifc4x3_rc2::IfcMassDensityMeasure(data);
+ case 649: return new ::Ifc4x3_rc2::IfcMassFlowRateMeasure(data);
+ case 650: return new ::Ifc4x3_rc2::IfcMassMeasure(data);
+ case 651: return new ::Ifc4x3_rc2::IfcMassPerLengthMeasure(data);
+ case 652: return new ::Ifc4x3_rc2::IfcMaterial(data);
+ case 653: return new ::Ifc4x3_rc2::IfcMaterialClassificationRelationship(data);
+ case 654: return new ::Ifc4x3_rc2::IfcMaterialConstituent(data);
+ case 655: return new ::Ifc4x3_rc2::IfcMaterialConstituentSet(data);
+ case 656: return new ::Ifc4x3_rc2::IfcMaterialDefinition(data);
+ case 657: return new ::Ifc4x3_rc2::IfcMaterialDefinitionRepresentation(data);
+ case 658: return new ::Ifc4x3_rc2::IfcMaterialLayer(data);
+ case 659: return new ::Ifc4x3_rc2::IfcMaterialLayerSet(data);
+ case 660: return new ::Ifc4x3_rc2::IfcMaterialLayerSetUsage(data);
+ case 661: return new ::Ifc4x3_rc2::IfcMaterialLayerWithOffsets(data);
+ case 662: return new ::Ifc4x3_rc2::IfcMaterialList(data);
+ case 663: return new ::Ifc4x3_rc2::IfcMaterialProfile(data);
+ case 664: return new ::Ifc4x3_rc2::IfcMaterialProfileSet(data);
+ case 665: return new ::Ifc4x3_rc2::IfcMaterialProfileSetUsage(data);
+ case 666: return new ::Ifc4x3_rc2::IfcMaterialProfileSetUsageTapering(data);
+ case 667: return new ::Ifc4x3_rc2::IfcMaterialProfileWithOffsets(data);
+ case 668: return new ::Ifc4x3_rc2::IfcMaterialProperties(data);
+ case 669: return new ::Ifc4x3_rc2::IfcMaterialRelationship(data);
+ case 671: return new ::Ifc4x3_rc2::IfcMaterialUsageDefinition(data);
+ case 673: return new ::Ifc4x3_rc2::IfcMeasureWithUnit(data);
+ case 674: return new ::Ifc4x3_rc2::IfcMechanicalFastener(data);
+ case 675: return new ::Ifc4x3_rc2::IfcMechanicalFastenerType(data);
+ case 676: return new ::Ifc4x3_rc2::IfcMechanicalFastenerTypeEnum(data);
+ case 677: return new ::Ifc4x3_rc2::IfcMedicalDevice(data);
+ case 678: return new ::Ifc4x3_rc2::IfcMedicalDeviceType(data);
+ case 679: return new ::Ifc4x3_rc2::IfcMedicalDeviceTypeEnum(data);
+ case 680: return new ::Ifc4x3_rc2::IfcMember(data);
+ case 681: return new ::Ifc4x3_rc2::IfcMemberStandardCase(data);
+ case 682: return new ::Ifc4x3_rc2::IfcMemberType(data);
+ case 683: return new ::Ifc4x3_rc2::IfcMemberTypeEnum(data);
+ case 684: return new ::Ifc4x3_rc2::IfcMetric(data);
+ case 686: return new ::Ifc4x3_rc2::IfcMirroredProfileDef(data);
+ case 687: return new ::Ifc4x3_rc2::IfcMobileTelecommunicationsAppliance(data);
+ case 688: return new ::Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceType(data);
+ case 689: return new ::Ifc4x3_rc2::IfcMobileTelecommunicationsApplianceTypeEnum(data);
+ case 690: return new ::Ifc4x3_rc2::IfcModulusOfElasticityMeasure(data);
+ case 691: return new ::Ifc4x3_rc2::IfcModulusOfLinearSubgradeReactionMeasure(data);
+ case 692: return new ::Ifc4x3_rc2::IfcModulusOfRotationalSubgradeReactionMeasure(data);
+ case 694: return new ::Ifc4x3_rc2::IfcModulusOfSubgradeReactionMeasure(data);
+ case 697: return new ::Ifc4x3_rc2::IfcMoistureDiffusivityMeasure(data);
+ case 698: return new ::Ifc4x3_rc2::IfcMolecularWeightMeasure(data);
+ case 699: return new ::Ifc4x3_rc2::IfcMomentOfInertiaMeasure(data);
+ case 700: return new ::Ifc4x3_rc2::IfcMonetaryMeasure(data);
+ case 701: return new ::Ifc4x3_rc2::IfcMonetaryUnit(data);
+ case 702: return new ::Ifc4x3_rc2::IfcMonthInYearNumber(data);
+ case 703: return new ::Ifc4x3_rc2::IfcMooringDevice(data);
+ case 704: return new ::Ifc4x3_rc2::IfcMooringDeviceType(data);
+ case 705: return new ::Ifc4x3_rc2::IfcMooringDeviceTypeEnum(data);
+ case 706: return new ::Ifc4x3_rc2::IfcMotorConnection(data);
+ case 707: return new ::Ifc4x3_rc2::IfcMotorConnectionType(data);
+ case 708: return new ::Ifc4x3_rc2::IfcMotorConnectionTypeEnum(data);
+ case 709: return new ::Ifc4x3_rc2::IfcNamedUnit(data);
+ case 710: return new ::Ifc4x3_rc2::IfcNavigationElement(data);
+ case 711: return new ::Ifc4x3_rc2::IfcNavigationElementType(data);
+ case 712: return new ::Ifc4x3_rc2::IfcNavigationElementTypeEnum(data);
+ case 713: return new ::Ifc4x3_rc2::IfcNonNegativeLengthMeasure(data);
+ case 714: return new ::Ifc4x3_rc2::IfcNormalisedRatioMeasure(data);
+ case 715: return new ::Ifc4x3_rc2::IfcNullStyle(data);
+ case 716: return new ::Ifc4x3_rc2::IfcNumericMeasure(data);
+ case 717: return new ::Ifc4x3_rc2::IfcObject(data);
+ case 718: return new ::Ifc4x3_rc2::IfcObjectDefinition(data);
+ case 719: return new ::Ifc4x3_rc2::IfcObjective(data);
+ case 720: return new ::Ifc4x3_rc2::IfcObjectiveEnum(data);
+ case 721: return new ::Ifc4x3_rc2::IfcObjectPlacement(data);
+ case 723: return new ::Ifc4x3_rc2::IfcObjectTypeEnum(data);
+ case 724: return new ::Ifc4x3_rc2::IfcOccupant(data);
+ case 725: return new ::Ifc4x3_rc2::IfcOccupantTypeEnum(data);
+ case 726: return new ::Ifc4x3_rc2::IfcOffsetCurve(data);
+ case 727: return new ::Ifc4x3_rc2::IfcOffsetCurve2D(data);
+ case 728: return new ::Ifc4x3_rc2::IfcOffsetCurve3D(data);
+ case 729: return new ::Ifc4x3_rc2::IfcOffsetCurveByDistances(data);
+ case 730: return new ::Ifc4x3_rc2::IfcOpenCrossProfileDef(data);
+ case 731: return new ::Ifc4x3_rc2::IfcOpeningElement(data);
+ case 732: return new ::Ifc4x3_rc2::IfcOpeningElementTypeEnum(data);
+ case 733: return new ::Ifc4x3_rc2::IfcOpeningStandardCase(data);
+ case 734: return new ::Ifc4x3_rc2::IfcOpenShell(data);
+ case 735: return new ::Ifc4x3_rc2::IfcOrganization(data);
+ case 736: return new ::Ifc4x3_rc2::IfcOrganizationRelationship(data);
+ case 737: return new ::Ifc4x3_rc2::IfcOrientedEdge(data);
+ case 738: return new ::Ifc4x3_rc2::IfcOuterBoundaryCurve(data);
+ case 739: return new ::Ifc4x3_rc2::IfcOutlet(data);
+ case 740: return new ::Ifc4x3_rc2::IfcOutletType(data);
+ case 741: return new ::Ifc4x3_rc2::IfcOutletTypeEnum(data);
+ case 742: return new ::Ifc4x3_rc2::IfcOwnerHistory(data);
+ case 743: return new ::Ifc4x3_rc2::IfcParameterizedProfileDef(data);
+ case 744: return new ::Ifc4x3_rc2::IfcParameterValue(data);
+ case 745: return new ::Ifc4x3_rc2::IfcPath(data);
+ case 746: return new ::Ifc4x3_rc2::IfcPavement(data);
+ case 747: return new ::Ifc4x3_rc2::IfcPavementType(data);
+ case 748: return new ::Ifc4x3_rc2::IfcPcurve(data);
+ case 749: return new ::Ifc4x3_rc2::IfcPerformanceHistory(data);
+ case 750: return new ::Ifc4x3_rc2::IfcPerformanceHistoryTypeEnum(data);
+ case 751: return new ::Ifc4x3_rc2::IfcPermeableCoveringOperationEnum(data);
+ case 752: return new ::Ifc4x3_rc2::IfcPermeableCoveringProperties(data);
+ case 753: return new ::Ifc4x3_rc2::IfcPermit(data);
+ case 754: return new ::Ifc4x3_rc2::IfcPermitTypeEnum(data);
+ case 755: return new ::Ifc4x3_rc2::IfcPerson(data);
+ case 756: return new ::Ifc4x3_rc2::IfcPersonAndOrganization(data);
+ case 757: return new ::Ifc4x3_rc2::IfcPHMeasure(data);
+ case 758: return new ::Ifc4x3_rc2::IfcPhysicalComplexQuantity(data);
+ case 759: return new ::Ifc4x3_rc2::IfcPhysicalOrVirtualEnum(data);
+ case 760: return new ::Ifc4x3_rc2::IfcPhysicalQuantity(data);
+ case 761: return new ::Ifc4x3_rc2::IfcPhysicalSimpleQuantity(data);
+ case 762: return new ::Ifc4x3_rc2::IfcPile(data);
+ case 763: return new ::Ifc4x3_rc2::IfcPileConstructionEnum(data);
+ case 764: return new ::Ifc4x3_rc2::IfcPileType(data);
+ case 765: return new ::Ifc4x3_rc2::IfcPileTypeEnum(data);
+ case 766: return new ::Ifc4x3_rc2::IfcPipeFitting(data);
+ case 767: return new ::Ifc4x3_rc2::IfcPipeFittingType(data);
+ case 768: return new ::Ifc4x3_rc2::IfcPipeFittingTypeEnum(data);
+ case 769: return new ::Ifc4x3_rc2::IfcPipeSegment(data);
+ case 770: return new ::Ifc4x3_rc2::IfcPipeSegmentType(data);
+ case 771: return new ::Ifc4x3_rc2::IfcPipeSegmentTypeEnum(data);
+ case 772: return new ::Ifc4x3_rc2::IfcPixelTexture(data);
+ case 773: return new ::Ifc4x3_rc2::IfcPlacement(data);
+ case 774: return new ::Ifc4x3_rc2::IfcPlanarBox(data);
+ case 775: return new ::Ifc4x3_rc2::IfcPlanarExtent(data);
+ case 776: return new ::Ifc4x3_rc2::IfcPlanarForceMeasure(data);
+ case 777: return new ::Ifc4x3_rc2::IfcPlane(data);
+ case 778: return new ::Ifc4x3_rc2::IfcPlaneAngleMeasure(data);
+ case 779: return new ::Ifc4x3_rc2::IfcPlant(data);
+ case 780: return new ::Ifc4x3_rc2::IfcPlate(data);
+ case 781: return new ::Ifc4x3_rc2::IfcPlateStandardCase(data);
+ case 782: return new ::Ifc4x3_rc2::IfcPlateType(data);
+ case 783: return new ::Ifc4x3_rc2::IfcPlateTypeEnum(data);
+ case 784: return new ::Ifc4x3_rc2::IfcPoint(data);
+ case 785: return new ::Ifc4x3_rc2::IfcPointByDistanceExpression(data);
+ case 786: return new ::Ifc4x3_rc2::IfcPointOnCurve(data);
+ case 787: return new ::Ifc4x3_rc2::IfcPointOnSurface(data);
+ case 789: return new ::Ifc4x3_rc2::IfcPolygonalBoundedHalfSpace(data);
+ case 790: return new ::Ifc4x3_rc2::IfcPolygonalFaceSet(data);
+ case 791: return new ::Ifc4x3_rc2::IfcPolyline(data);
+ case 792: return new ::Ifc4x3_rc2::IfcPolyLoop(data);
+ case 793: return new ::Ifc4x3_rc2::IfcPort(data);
+ case 794: return new ::Ifc4x3_rc2::IfcPositioningElement(data);
+ case 795: return new ::Ifc4x3_rc2::IfcPositiveInteger(data);
+ case 796: return new ::Ifc4x3_rc2::IfcPositiveLengthMeasure(data);
+ case 797: return new ::Ifc4x3_rc2::IfcPositivePlaneAngleMeasure(data);
+ case 798: return new ::Ifc4x3_rc2::IfcPositiveRatioMeasure(data);
+ case 799: return new ::Ifc4x3_rc2::IfcPostalAddress(data);
+ case 800: return new ::Ifc4x3_rc2::IfcPowerMeasure(data);
+ case 801: return new ::Ifc4x3_rc2::IfcPreDefinedColour(data);
+ case 802: return new ::Ifc4x3_rc2::IfcPreDefinedCurveFont(data);
+ case 803: return new ::Ifc4x3_rc2::IfcPreDefinedItem(data);
+ case 804: return new ::Ifc4x3_rc2::IfcPreDefinedProperties(data);
+ case 805: return new ::Ifc4x3_rc2::IfcPreDefinedPropertySet(data);
+ case 806: return new ::Ifc4x3_rc2::IfcPreDefinedTextFont(data);
+ case 807: return new ::Ifc4x3_rc2::IfcPreferredSurfaceCurveRepresentation(data);
+ case 808: return new ::Ifc4x3_rc2::IfcPresentableText(data);
+ case 809: return new ::Ifc4x3_rc2::IfcPresentationItem(data);
+ case 810: return new ::Ifc4x3_rc2::IfcPresentationLayerAssignment(data);
+ case 811: return new ::Ifc4x3_rc2::IfcPresentationLayerWithStyle(data);
+ case 812: return new ::Ifc4x3_rc2::IfcPresentationStyle(data);
+ case 813: return new ::Ifc4x3_rc2::IfcPresentationStyleAssignment(data);
+ case 815: return new ::Ifc4x3_rc2::IfcPressureMeasure(data);
+ case 816: return new ::Ifc4x3_rc2::IfcProcedure(data);
+ case 817: return new ::Ifc4x3_rc2::IfcProcedureType(data);
+ case 818: return new ::Ifc4x3_rc2::IfcProcedureTypeEnum(data);
+ case 819: return new ::Ifc4x3_rc2::IfcProcess(data);
+ case 821: return new ::Ifc4x3_rc2::IfcProduct(data);
+ case 822: return new ::Ifc4x3_rc2::IfcProductDefinitionShape(data);
+ case 823: return new ::Ifc4x3_rc2::IfcProductRepresentation(data);
+ case 826: return new ::Ifc4x3_rc2::IfcProfileDef(data);
+ case 827: return new ::Ifc4x3_rc2::IfcProfileProperties(data);
+ case 828: return new ::Ifc4x3_rc2::IfcProfileTypeEnum(data);
+ case 829: return new ::Ifc4x3_rc2::IfcProject(data);
+ case 830: return new ::Ifc4x3_rc2::IfcProjectedCRS(data);
+ case 831: return new ::Ifc4x3_rc2::IfcProjectedOrTrueLengthEnum(data);
+ case 832: return new ::Ifc4x3_rc2::IfcProjectionElement(data);
+ case 833: return new ::Ifc4x3_rc2::IfcProjectionElementTypeEnum(data);
+ case 834: return new ::Ifc4x3_rc2::IfcProjectLibrary(data);
+ case 835: return new ::Ifc4x3_rc2::IfcProjectOrder(data);
+ case 836: return new ::Ifc4x3_rc2::IfcProjectOrderTypeEnum(data);
+ case 837: return new ::Ifc4x3_rc2::IfcProperty(data);
+ case 838: return new ::Ifc4x3_rc2::IfcPropertyAbstraction(data);
+ case 839: return new ::Ifc4x3_rc2::IfcPropertyBoundedValue(data);
+ case 840: return new ::Ifc4x3_rc2::IfcPropertyDefinition(data);
+ case 841: return new ::Ifc4x3_rc2::IfcPropertyDependencyRelationship(data);
+ case 842: return new ::Ifc4x3_rc2::IfcPropertyEnumeratedValue(data);
+ case 843: return new ::Ifc4x3_rc2::IfcPropertyEnumeration(data);
+ case 844: return new ::Ifc4x3_rc2::IfcPropertyListValue(data);
+ case 845: return new ::Ifc4x3_rc2::IfcPropertyReferenceValue(data);
+ case 846: return new ::Ifc4x3_rc2::IfcPropertySet(data);
+ case 847: return new ::Ifc4x3_rc2::IfcPropertySetDefinition(data);
+ case 849: return new ::Ifc4x3_rc2::IfcPropertySetDefinitionSet(data);
+ case 850: return new ::Ifc4x3_rc2::IfcPropertySetTemplate(data);
+ case 851: return new ::Ifc4x3_rc2::IfcPropertySetTemplateTypeEnum(data);
+ case 852: return new ::Ifc4x3_rc2::IfcPropertySingleValue(data);
+ case 853: return new ::Ifc4x3_rc2::IfcPropertyTableValue(data);
+ case 854: return new ::Ifc4x3_rc2::IfcPropertyTemplate(data);
+ case 855: return new ::Ifc4x3_rc2::IfcPropertyTemplateDefinition(data);
+ case 856: return new ::Ifc4x3_rc2::IfcProtectiveDevice(data);
+ case 857: return new ::Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnit(data);
+ case 858: return new ::Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitType(data);
+ case 859: return new ::Ifc4x3_rc2::IfcProtectiveDeviceTrippingUnitTypeEnum(data);
+ case 860: return new ::Ifc4x3_rc2::IfcProtectiveDeviceType(data);
+ case 861: return new ::Ifc4x3_rc2::IfcProtectiveDeviceTypeEnum(data);
+ case 862: return new ::Ifc4x3_rc2::IfcProxy(data);
+ case 863: return new ::Ifc4x3_rc2::IfcPump(data);
+ case 864: return new ::Ifc4x3_rc2::IfcPumpType(data);
+ case 865: return new ::Ifc4x3_rc2::IfcPumpTypeEnum(data);
+ case 866: return new ::Ifc4x3_rc2::IfcQuantityArea(data);
+ case 867: return new ::Ifc4x3_rc2::IfcQuantityCount(data);
+ case 868: return new ::Ifc4x3_rc2::IfcQuantityLength(data);
+ case 869: return new ::Ifc4x3_rc2::IfcQuantitySet(data);
+ case 870: return new ::Ifc4x3_rc2::IfcQuantityTime(data);
+ case 871: return new ::Ifc4x3_rc2::IfcQuantityVolume(data);
+ case 872: return new ::Ifc4x3_rc2::IfcQuantityWeight(data);
+ case 873: return new ::Ifc4x3_rc2::IfcRadioActivityMeasure(data);
+ case 874: return new ::Ifc4x3_rc2::IfcRail(data);
+ case 875: return new ::Ifc4x3_rc2::IfcRailing(data);
+ case 876: return new ::Ifc4x3_rc2::IfcRailingType(data);
+ case 877: return new ::Ifc4x3_rc2::IfcRailingTypeEnum(data);
+ case 878: return new ::Ifc4x3_rc2::IfcRailType(data);
+ case 879: return new ::Ifc4x3_rc2::IfcRailTypeEnum(data);
+ case 880: return new ::Ifc4x3_rc2::IfcRailway(data);
+ case 881: return new ::Ifc4x3_rc2::IfcRailwayPartTypeEnum(data);
+ case 882: return new ::Ifc4x3_rc2::IfcRamp(data);
+ case 883: return new ::Ifc4x3_rc2::IfcRampFlight(data);
+ case 884: return new ::Ifc4x3_rc2::IfcRampFlightType(data);
+ case 885: return new ::Ifc4x3_rc2::IfcRampFlightTypeEnum(data);
+ case 886: return new ::Ifc4x3_rc2::IfcRampType(data);
+ case 887: return new ::Ifc4x3_rc2::IfcRampTypeEnum(data);
+ case 888: return new ::Ifc4x3_rc2::IfcRatioMeasure(data);
+ case 889: return new ::Ifc4x3_rc2::IfcRationalBSplineCurveWithKnots(data);
+ case 890: return new ::Ifc4x3_rc2::IfcRationalBSplineSurfaceWithKnots(data);
+ case 891: return new ::Ifc4x3_rc2::IfcReal(data);
+ case 892: return new ::Ifc4x3_rc2::IfcRectangleHollowProfileDef(data);
+ case 893: return new ::Ifc4x3_rc2::IfcRectangleProfileDef(data);
+ case 894: return new ::Ifc4x3_rc2::IfcRectangularPyramid(data);
+ case 895: return new ::Ifc4x3_rc2::IfcRectangularTrimmedSurface(data);
+ case 896: return new ::Ifc4x3_rc2::IfcRecurrencePattern(data);
+ case 897: return new ::Ifc4x3_rc2::IfcRecurrenceTypeEnum(data);
+ case 898: return new ::Ifc4x3_rc2::IfcReference(data);
+ case 899: return new ::Ifc4x3_rc2::IfcReferent(data);
+ case 900: return new ::Ifc4x3_rc2::IfcReferentTypeEnum(data);
+ case 901: return new ::Ifc4x3_rc2::IfcReflectanceMethodEnum(data);
+ case 902: return new ::Ifc4x3_rc2::IfcRegularTimeSeries(data);
+ case 903: return new ::Ifc4x3_rc2::IfcReinforcedSoil(data);
+ case 904: return new ::Ifc4x3_rc2::IfcReinforcedSoilTypeEnum(data);
+ case 905: return new ::Ifc4x3_rc2::IfcReinforcementBarProperties(data);
+ case 906: return new ::Ifc4x3_rc2::IfcReinforcementDefinitionProperties(data);
+ case 907: return new ::Ifc4x3_rc2::IfcReinforcingBar(data);
+ case 908: return new ::Ifc4x3_rc2::IfcReinforcingBarRoleEnum(data);
+ case 909: return new ::Ifc4x3_rc2::IfcReinforcingBarSurfaceEnum(data);
+ case 910: return new ::Ifc4x3_rc2::IfcReinforcingBarType(data);
+ case 911: return new ::Ifc4x3_rc2::IfcReinforcingBarTypeEnum(data);
+ case 912: return new ::Ifc4x3_rc2::IfcReinforcingElement(data);
+ case 913: return new ::Ifc4x3_rc2::IfcReinforcingElementType(data);
+ case 914: return new ::Ifc4x3_rc2::IfcReinforcingMesh(data);
+ case 915: return new ::Ifc4x3_rc2::IfcReinforcingMeshType(data);
+ case 916: return new ::Ifc4x3_rc2::IfcReinforcingMeshTypeEnum(data);
+ case 917: return new ::Ifc4x3_rc2::IfcRelAggregates(data);
+ case 918: return new ::Ifc4x3_rc2::IfcRelAssigns(data);
+ case 919: return new ::Ifc4x3_rc2::IfcRelAssignsToActor(data);
+ case 920: return new ::Ifc4x3_rc2::IfcRelAssignsToControl(data);
+ case 921: return new ::Ifc4x3_rc2::IfcRelAssignsToGroup(data);
+ case 922: return new ::Ifc4x3_rc2::IfcRelAssignsToGroupByFactor(data);
+ case 923: return new ::Ifc4x3_rc2::IfcRelAssignsToProcess(data);
+ case 924: return new ::Ifc4x3_rc2::IfcRelAssignsToProduct(data);
+ case 925: return new ::Ifc4x3_rc2::IfcRelAssignsToResource(data);
+ case 926: return new ::Ifc4x3_rc2::IfcRelAssociates(data);
+ case 927: return new ::Ifc4x3_rc2::IfcRelAssociatesApproval(data);
+ case 928: return new ::Ifc4x3_rc2::IfcRelAssociatesClassification(data);
+ case 929: return new ::Ifc4x3_rc2::IfcRelAssociatesConstraint(data);
+ case 930: return new ::Ifc4x3_rc2::IfcRelAssociatesDocument(data);
+ case 931: return new ::Ifc4x3_rc2::IfcRelAssociatesLibrary(data);
+ case 932: return new ::Ifc4x3_rc2::IfcRelAssociatesMaterial(data);
+ case 933: return new ::Ifc4x3_rc2::IfcRelAssociatesProfileDef(data);
+ case 934: return new ::Ifc4x3_rc2::IfcRelationship(data);
+ case 935: return new ::Ifc4x3_rc2::IfcRelConnects(data);
+ case 936: return new ::Ifc4x3_rc2::IfcRelConnectsElements(data);
+ case 937: return new ::Ifc4x3_rc2::IfcRelConnectsPathElements(data);
+ case 938: return new ::Ifc4x3_rc2::IfcRelConnectsPorts(data);
+ case 939: return new ::Ifc4x3_rc2::IfcRelConnectsPortToElement(data);
+ case 940: return new ::Ifc4x3_rc2::IfcRelConnectsStructuralActivity(data);
+ case 941: return new ::Ifc4x3_rc2::IfcRelConnectsStructuralMember(data);
+ case 942: return new ::Ifc4x3_rc2::IfcRelConnectsWithEccentricity(data);
+ case 943: return new ::Ifc4x3_rc2::IfcRelConnectsWithRealizingElements(data);
+ case 944: return new ::Ifc4x3_rc2::IfcRelContainedInSpatialStructure(data);
+ case 945: return new ::Ifc4x3_rc2::IfcRelCoversBldgElements(data);
+ case 946: return new ::Ifc4x3_rc2::IfcRelCoversSpaces(data);
+ case 947: return new ::Ifc4x3_rc2::IfcRelDeclares(data);
+ case 948: return new ::Ifc4x3_rc2::IfcRelDecomposes(data);
+ case 949: return new ::Ifc4x3_rc2::IfcRelDefines(data);
+ case 950: return new ::Ifc4x3_rc2::IfcRelDefinesByObject(data);
+ case 951: return new ::Ifc4x3_rc2::IfcRelDefinesByProperties(data);
+ case 952: return new ::Ifc4x3_rc2::IfcRelDefinesByTemplate(data);
+ case 953: return new ::Ifc4x3_rc2::IfcRelDefinesByType(data);
+ case 954: return new ::Ifc4x3_rc2::IfcRelFillsElement(data);
+ case 955: return new ::Ifc4x3_rc2::IfcRelFlowControlElements(data);
+ case 956: return new ::Ifc4x3_rc2::IfcRelInterferesElements(data);
+ case 957: return new ::Ifc4x3_rc2::IfcRelNests(data);
+ case 958: return new ::Ifc4x3_rc2::IfcRelPositions(data);
+ case 959: return new ::Ifc4x3_rc2::IfcRelProjectsElement(data);
+ case 960: return new ::Ifc4x3_rc2::IfcRelReferencedInSpatialStructure(data);
+ case 961: return new ::Ifc4x3_rc2::IfcRelSequence(data);
+ case 962: return new ::Ifc4x3_rc2::IfcRelServicesBuildings(data);
+ case 963: return new ::Ifc4x3_rc2::IfcRelSpaceBoundary(data);
+ case 964: return new ::Ifc4x3_rc2::IfcRelSpaceBoundary1stLevel(data);
+ case 965: return new ::Ifc4x3_rc2::IfcRelSpaceBoundary2ndLevel(data);
+ case 966: return new ::Ifc4x3_rc2::IfcRelVoidsElement(data);
+ case 967: return new ::Ifc4x3_rc2::IfcReparametrisedCompositeCurveSegment(data);
+ case 968: return new ::Ifc4x3_rc2::IfcRepresentation(data);
+ case 969: return new ::Ifc4x3_rc2::IfcRepresentationContext(data);
+ case 970: return new ::Ifc4x3_rc2::IfcRepresentationItem(data);
+ case 971: return new ::Ifc4x3_rc2::IfcRepresentationMap(data);
+ case 972: return new ::Ifc4x3_rc2::IfcResource(data);
+ case 973: return new ::Ifc4x3_rc2::IfcResourceApprovalRelationship(data);
+ case 974: return new ::Ifc4x3_rc2::IfcResourceConstraintRelationship(data);
+ case 975: return new ::Ifc4x3_rc2::IfcResourceLevelRelationship(data);
+ case 978: return new ::Ifc4x3_rc2::IfcResourceTime(data);
+ case 979: return new ::Ifc4x3_rc2::IfcRevolvedAreaSolid(data);
+ case 980: return new ::Ifc4x3_rc2::IfcRevolvedAreaSolidTapered(data);
+ case 981: return new ::Ifc4x3_rc2::IfcRightCircularCone(data);
+ case 982: return new ::Ifc4x3_rc2::IfcRightCircularCylinder(data);
+ case 983: return new ::Ifc4x3_rc2::IfcRoad(data);
+ case 984: return new ::Ifc4x3_rc2::IfcRoadPartTypeEnum(data);
+ case 985: return new ::Ifc4x3_rc2::IfcRoleEnum(data);
+ case 986: return new ::Ifc4x3_rc2::IfcRoof(data);
+ case 987: return new ::Ifc4x3_rc2::IfcRoofType(data);
+ case 988: return new ::Ifc4x3_rc2::IfcRoofTypeEnum(data);
+ case 989: return new ::Ifc4x3_rc2::IfcRoot(data);
+ case 990: return new ::Ifc4x3_rc2::IfcRotationalFrequencyMeasure(data);
+ case 991: return new ::Ifc4x3_rc2::IfcRotationalMassMeasure(data);
+ case 992: return new ::Ifc4x3_rc2::IfcRotationalStiffnessMeasure(data);
+ case 994: return new ::Ifc4x3_rc2::IfcRoundedRectangleProfileDef(data);
+ case 995: return new ::Ifc4x3_rc2::IfcSanitaryTerminal(data);
+ case 996: return new ::Ifc4x3_rc2::IfcSanitaryTerminalType(data);
+ case 997: return new ::Ifc4x3_rc2::IfcSanitaryTerminalTypeEnum(data);
+ case 998: return new ::Ifc4x3_rc2::IfcSchedulingTime(data);
+ case 999: return new ::Ifc4x3_rc2::IfcSeamCurve(data);
+ case 1000: return new ::Ifc4x3_rc2::IfcSectionalAreaIntegralMeasure(data);
+ case 1001: return new ::Ifc4x3_rc2::IfcSectionedSolid(data);
+ case 1002: return new ::Ifc4x3_rc2::IfcSectionedSolidHorizontal(data);
+ case 1003: return new ::Ifc4x3_rc2::IfcSectionedSpine(data);
+ case 1004: return new ::Ifc4x3_rc2::IfcSectionedSurface(data);
+ case 1005: return new ::Ifc4x3_rc2::IfcSectionModulusMeasure(data);
+ case 1006: return new ::Ifc4x3_rc2::IfcSectionProperties(data);
+ case 1007: return new ::Ifc4x3_rc2::IfcSectionReinforcementProperties(data);
+ case 1008: return new ::Ifc4x3_rc2::IfcSectionTypeEnum(data);
+ case 1009: return new ::Ifc4x3_rc2::IfcSegment(data);
+ case 1010: return new ::Ifc4x3_rc2::IfcSegmentedReferenceCurve(data);
+ case 1012: return new ::Ifc4x3_rc2::IfcSensor(data);
+ case 1013: return new ::Ifc4x3_rc2::IfcSensorType(data);
+ case 1014: return new ::Ifc4x3_rc2::IfcSensorTypeEnum(data);
+ case 1015: return new ::Ifc4x3_rc2::IfcSequenceEnum(data);
+ case 1016: return new ::Ifc4x3_rc2::IfcSeriesParameterCurve(data);
+ case 1017: return new ::Ifc4x3_rc2::IfcShadingDevice(data);
+ case 1018: return new ::Ifc4x3_rc2::IfcShadingDeviceType(data);
+ case 1019: return new ::Ifc4x3_rc2::IfcShadingDeviceTypeEnum(data);
+ case 1020: return new ::Ifc4x3_rc2::IfcShapeAspect(data);
+ case 1021: return new ::Ifc4x3_rc2::IfcShapeModel(data);
+ case 1022: return new ::Ifc4x3_rc2::IfcShapeRepresentation(data);
+ case 1023: return new ::Ifc4x3_rc2::IfcShearModulusMeasure(data);
+ case 1025: return new ::Ifc4x3_rc2::IfcShellBasedSurfaceModel(data);
+ case 1026: return new ::Ifc4x3_rc2::IfcSign(data);
+ case 1027: return new ::Ifc4x3_rc2::IfcSignal(data);
+ case 1028: return new ::Ifc4x3_rc2::IfcSignalType(data);
+ case 1029: return new ::Ifc4x3_rc2::IfcSignalTypeEnum(data);
+ case 1030: return new ::Ifc4x3_rc2::IfcSignType(data);
+ case 1031: return new ::Ifc4x3_rc2::IfcSignTypeEnum(data);
+ case 1032: return new ::Ifc4x3_rc2::IfcSimpleProperty(data);
+ case 1033: return new ::Ifc4x3_rc2::IfcSimplePropertyTemplate(data);
+ case 1034: return new ::Ifc4x3_rc2::IfcSimplePropertyTemplateTypeEnum(data);
+ case 1036: return new ::Ifc4x3_rc2::IfcSIPrefix(data);
+ case 1037: return new ::Ifc4x3_rc2::IfcSite(data);
+ case 1038: return new ::Ifc4x3_rc2::IfcSIUnit(data);
+ case 1039: return new ::Ifc4x3_rc2::IfcSIUnitName(data);
+ case 1041: return new ::Ifc4x3_rc2::IfcSlab(data);
+ case 1042: return new ::Ifc4x3_rc2::IfcSlabElementedCase(data);
+ case 1043: return new ::Ifc4x3_rc2::IfcSlabStandardCase(data);
+ case 1044: return new ::Ifc4x3_rc2::IfcSlabType(data);
+ case 1045: return new ::Ifc4x3_rc2::IfcSlabTypeEnum(data);
+ case 1046: return new ::Ifc4x3_rc2::IfcSlippageConnectionCondition(data);
+ case 1047: return new ::Ifc4x3_rc2::IfcSolarDevice(data);
+ case 1048: return new ::Ifc4x3_rc2::IfcSolarDeviceType(data);
+ case 1049: return new ::Ifc4x3_rc2::IfcSolarDeviceTypeEnum(data);
+ case 1050: return new ::Ifc4x3_rc2::IfcSolidAngleMeasure(data);
+ case 1051: return new ::Ifc4x3_rc2::IfcSolidModel(data);
+ case 1053: return new ::Ifc4x3_rc2::IfcSolidStratum(data);
+ case 1054: return new ::Ifc4x3_rc2::IfcSoundPowerLevelMeasure(data);
+ case 1055: return new ::Ifc4x3_rc2::IfcSoundPowerMeasure(data);
+ case 1056: return new ::Ifc4x3_rc2::IfcSoundPressureLevelMeasure(data);
+ case 1057: return new ::Ifc4x3_rc2::IfcSoundPressureMeasure(data);
+ case 1058: return new ::Ifc4x3_rc2::IfcSpace(data);
+ case 1060: return new ::Ifc4x3_rc2::IfcSpaceHeater(data);
+ case 1061: return new ::Ifc4x3_rc2::IfcSpaceHeaterType(data);
+ case 1062: return new ::Ifc4x3_rc2::IfcSpaceHeaterTypeEnum(data);
+ case 1063: return new ::Ifc4x3_rc2::IfcSpaceType(data);
+ case 1064: return new ::Ifc4x3_rc2::IfcSpaceTypeEnum(data);
+ case 1065: return new ::Ifc4x3_rc2::IfcSpatialElement(data);
+ case 1066: return new ::Ifc4x3_rc2::IfcSpatialElementType(data);
+ case 1068: return new ::Ifc4x3_rc2::IfcSpatialStructureElement(data);
+ case 1069: return new ::Ifc4x3_rc2::IfcSpatialStructureElementType(data);
+ case 1070: return new ::Ifc4x3_rc2::IfcSpatialZone(data);
+ case 1071: return new ::Ifc4x3_rc2::IfcSpatialZoneType(data);
+ case 1072: return new ::Ifc4x3_rc2::IfcSpatialZoneTypeEnum(data);
+ case 1073: return new ::Ifc4x3_rc2::IfcSpecificHeatCapacityMeasure(data);
+ case 1074: return new ::Ifc4x3_rc2::IfcSpecularExponent(data);
+ case 1076: return new ::Ifc4x3_rc2::IfcSpecularRoughness(data);
+ case 1077: return new ::Ifc4x3_rc2::IfcSphere(data);
+ case 1078: return new ::Ifc4x3_rc2::IfcSphericalSurface(data);
+ case 1079: return new ::Ifc4x3_rc2::IfcStackTerminal(data);
+ case 1080: return new ::Ifc4x3_rc2::IfcStackTerminalType(data);
+ case 1081: return new ::Ifc4x3_rc2::IfcStackTerminalTypeEnum(data);
+ case 1082: return new ::Ifc4x3_rc2::IfcStair(data);
+ case 1083: return new ::Ifc4x3_rc2::IfcStairFlight(data);
+ case 1084: return new ::Ifc4x3_rc2::IfcStairFlightType(data);
+ case 1085: return new ::Ifc4x3_rc2::IfcStairFlightTypeEnum(data);
+ case 1086: return new ::Ifc4x3_rc2::IfcStairType(data);
+ case 1087: return new ::Ifc4x3_rc2::IfcStairTypeEnum(data);
+ case 1088: return new ::Ifc4x3_rc2::IfcStateEnum(data);
+ case 1089: return new ::Ifc4x3_rc2::IfcStructuralAction(data);
+ case 1090: return new ::Ifc4x3_rc2::IfcStructuralActivity(data);
+ case 1092: return new ::Ifc4x3_rc2::IfcStructuralAnalysisModel(data);
+ case 1093: return new ::Ifc4x3_rc2::IfcStructuralConnection(data);
+ case 1094: return new ::Ifc4x3_rc2::IfcStructuralConnectionCondition(data);
+ case 1095: return new ::Ifc4x3_rc2::IfcStructuralCurveAction(data);
+ case 1096: return new ::Ifc4x3_rc2::IfcStructuralCurveActivityTypeEnum(data);
+ case 1097: return new ::Ifc4x3_rc2::IfcStructuralCurveConnection(data);
+ case 1098: return new ::Ifc4x3_rc2::IfcStructuralCurveMember(data);
+ case 1099: return new ::Ifc4x3_rc2::IfcStructuralCurveMemberTypeEnum(data);
+ case 1100: return new ::Ifc4x3_rc2::IfcStructuralCurveMemberVarying(data);
+ case 1101: return new ::Ifc4x3_rc2::IfcStructuralCurveReaction(data);
+ case 1102: return new ::Ifc4x3_rc2::IfcStructuralItem(data);
+ case 1103: return new ::Ifc4x3_rc2::IfcStructuralLinearAction(data);
+ case 1104: return new ::Ifc4x3_rc2::IfcStructuralLoad(data);
+ case 1105: return new ::Ifc4x3_rc2::IfcStructuralLoadCase(data);
+ case 1106: return new ::Ifc4x3_rc2::IfcStructuralLoadConfiguration(data);
+ case 1107: return new ::Ifc4x3_rc2::IfcStructuralLoadGroup(data);
+ case 1108: return new ::Ifc4x3_rc2::IfcStructuralLoadLinearForce(data);
+ case 1109: return new ::Ifc4x3_rc2::IfcStructuralLoadOrResult(data);
+ case 1110: return new ::Ifc4x3_rc2::IfcStructuralLoadPlanarForce(data);
+ case 1111: return new ::Ifc4x3_rc2::IfcStructuralLoadSingleDisplacement(data);
+ case 1112: return new ::Ifc4x3_rc2::IfcStructuralLoadSingleDisplacementDistortion(data);
+ case 1113: return new ::Ifc4x3_rc2::IfcStructuralLoadSingleForce(data);
+ case 1114: return new ::Ifc4x3_rc2::IfcStructuralLoadSingleForceWarping(data);
+ case 1115: return new ::Ifc4x3_rc2::IfcStructuralLoadStatic(data);
+ case 1116: return new ::Ifc4x3_rc2::IfcStructuralLoadTemperature(data);
+ case 1117: return new ::Ifc4x3_rc2::IfcStructuralMember(data);
+ case 1118: return new ::Ifc4x3_rc2::IfcStructuralPlanarAction(data);
+ case 1119: return new ::Ifc4x3_rc2::IfcStructuralPointAction(data);
+ case 1120: return new ::Ifc4x3_rc2::IfcStructuralPointConnection(data);
+ case 1121: return new ::Ifc4x3_rc2::IfcStructuralPointReaction(data);
+ case 1122: return new ::Ifc4x3_rc2::IfcStructuralReaction(data);
+ case 1123: return new ::Ifc4x3_rc2::IfcStructuralResultGroup(data);
+ case 1124: return new ::Ifc4x3_rc2::IfcStructuralSurfaceAction(data);
+ case 1125: return new ::Ifc4x3_rc2::IfcStructuralSurfaceActivityTypeEnum(data);
+ case 1126: return new ::Ifc4x3_rc2::IfcStructuralSurfaceConnection(data);
+ case 1127: return new ::Ifc4x3_rc2::IfcStructuralSurfaceMember(data);
+ case 1128: return new ::Ifc4x3_rc2::IfcStructuralSurfaceMemberTypeEnum(data);
+ case 1129: return new ::Ifc4x3_rc2::IfcStructuralSurfaceMemberVarying(data);
+ case 1130: return new ::Ifc4x3_rc2::IfcStructuralSurfaceReaction(data);
+ case 1132: return new ::Ifc4x3_rc2::IfcStyledItem(data);
+ case 1133: return new ::Ifc4x3_rc2::IfcStyledRepresentation(data);
+ case 1134: return new ::Ifc4x3_rc2::IfcStyleModel(data);
+ case 1135: return new ::Ifc4x3_rc2::IfcSubContractResource(data);
+ case 1136: return new ::Ifc4x3_rc2::IfcSubContractResourceType(data);
+ case 1137: return new ::Ifc4x3_rc2::IfcSubContractResourceTypeEnum(data);
+ case 1138: return new ::Ifc4x3_rc2::IfcSubedge(data);
+ case 1139: return new ::Ifc4x3_rc2::IfcSurface(data);
+ case 1140: return new ::Ifc4x3_rc2::IfcSurfaceCurve(data);
+ case 1141: return new ::Ifc4x3_rc2::IfcSurfaceCurveSweptAreaSolid(data);
+ case 1142: return new ::Ifc4x3_rc2::IfcSurfaceFeature(data);
+ case 1143: return new ::Ifc4x3_rc2::IfcSurfaceFeatureTypeEnum(data);
+ case 1144: return new ::Ifc4x3_rc2::IfcSurfaceOfLinearExtrusion(data);
+ case 1145: return new ::Ifc4x3_rc2::IfcSurfaceOfRevolution(data);
+ case 1147: return new ::Ifc4x3_rc2::IfcSurfaceReinforcementArea(data);
+ case 1148: return new ::Ifc4x3_rc2::IfcSurfaceSide(data);
+ case 1149: return new ::Ifc4x3_rc2::IfcSurfaceStyle(data);
+ case 1151: return new ::Ifc4x3_rc2::IfcSurfaceStyleLighting(data);
+ case 1152: return new ::Ifc4x3_rc2::IfcSurfaceStyleRefraction(data);
+ case 1153: return new ::Ifc4x3_rc2::IfcSurfaceStyleRendering(data);
+ case 1154: return new ::Ifc4x3_rc2::IfcSurfaceStyleShading(data);
+ case 1155: return new ::Ifc4x3_rc2::IfcSurfaceStyleWithTextures(data);
+ case 1156: return new ::Ifc4x3_rc2::IfcSurfaceTexture(data);
+ case 1157: return new ::Ifc4x3_rc2::IfcSweptAreaSolid(data);
+ case 1158: return new ::Ifc4x3_rc2::IfcSweptDiskSolid(data);
+ case 1159: return new ::Ifc4x3_rc2::IfcSweptDiskSolidPolygonal(data);
+ case 1160: return new ::Ifc4x3_rc2::IfcSweptSurface(data);
+ case 1161: return new ::Ifc4x3_rc2::IfcSwitchingDevice(data);
+ case 1162: return new ::Ifc4x3_rc2::IfcSwitchingDeviceType(data);
+ case 1163: return new ::Ifc4x3_rc2::IfcSwitchingDeviceTypeEnum(data);
+ case 1164: return new ::Ifc4x3_rc2::IfcSystem(data);
+ case 1165: return new ::Ifc4x3_rc2::IfcSystemFurnitureElement(data);
+ case 1166: return new ::Ifc4x3_rc2::IfcSystemFurnitureElementType(data);
+ case 1167: return new ::Ifc4x3_rc2::IfcSystemFurnitureElementTypeEnum(data);
+ case 1168: return new ::Ifc4x3_rc2::IfcTable(data);
+ case 1169: return new ::Ifc4x3_rc2::IfcTableColumn(data);
+ case 1170: return new ::Ifc4x3_rc2::IfcTableRow(data);
+ case 1171: return new ::Ifc4x3_rc2::IfcTank(data);
+ case 1172: return new ::Ifc4x3_rc2::IfcTankType(data);
+ case 1173: return new ::Ifc4x3_rc2::IfcTankTypeEnum(data);
+ case 1174: return new ::Ifc4x3_rc2::IfcTask(data);
+ case 1175: return new ::Ifc4x3_rc2::IfcTaskDurationEnum(data);
+ case 1176: return new ::Ifc4x3_rc2::IfcTaskTime(data);
+ case 1177: return new ::Ifc4x3_rc2::IfcTaskTimeRecurring(data);
+ case 1178: return new ::Ifc4x3_rc2::IfcTaskType(data);
+ case 1179: return new ::Ifc4x3_rc2::IfcTaskTypeEnum(data);
+ case 1180: return new ::Ifc4x3_rc2::IfcTelecomAddress(data);
+ case 1181: return new ::Ifc4x3_rc2::IfcTemperatureGradientMeasure(data);
+ case 1182: return new ::Ifc4x3_rc2::IfcTemperatureRateOfChangeMeasure(data);
+ case 1183: return new ::Ifc4x3_rc2::IfcTendon(data);
+ case 1184: return new ::Ifc4x3_rc2::IfcTendonAnchor(data);
+ case 1185: return new ::Ifc4x3_rc2::IfcTendonAnchorType(data);
+ case 1186: return new ::Ifc4x3_rc2::IfcTendonAnchorTypeEnum(data);
+ case 1187: return new ::Ifc4x3_rc2::IfcTendonConduit(data);
+ case 1188: return new ::Ifc4x3_rc2::IfcTendonConduitType(data);
+ case 1189: return new ::Ifc4x3_rc2::IfcTendonConduitTypeEnum(data);
+ case 1190: return new ::Ifc4x3_rc2::IfcTendonType(data);
+ case 1191: return new ::Ifc4x3_rc2::IfcTendonTypeEnum(data);
+ case 1192: return new ::Ifc4x3_rc2::IfcTessellatedFaceSet(data);
+ case 1193: return new ::Ifc4x3_rc2::IfcTessellatedItem(data);
+ case 1194: return new ::Ifc4x3_rc2::IfcText(data);
+ case 1195: return new ::Ifc4x3_rc2::IfcTextAlignment(data);
+ case 1196: return new ::Ifc4x3_rc2::IfcTextDecoration(data);
+ case 1197: return new ::Ifc4x3_rc2::IfcTextFontName(data);
+ case 1199: return new ::Ifc4x3_rc2::IfcTextLiteral(data);
+ case 1200: return new ::Ifc4x3_rc2::IfcTextLiteralWithExtent(data);
+ case 1201: return new ::Ifc4x3_rc2::IfcTextPath(data);
+ case 1202: return new ::Ifc4x3_rc2::IfcTextStyle(data);
+ case 1203: return new ::Ifc4x3_rc2::IfcTextStyleFontModel(data);
+ case 1204: return new ::Ifc4x3_rc2::IfcTextStyleForDefinedFont(data);
+ case 1205: return new ::Ifc4x3_rc2::IfcTextStyleTextModel(data);
+ case 1206: return new ::Ifc4x3_rc2::IfcTextTransformation(data);
+ case 1207: return new ::Ifc4x3_rc2::IfcTextureCoordinate(data);
+ case 1208: return new ::Ifc4x3_rc2::IfcTextureCoordinateGenerator(data);
+ case 1209: return new ::Ifc4x3_rc2::IfcTextureMap(data);
+ case 1210: return new ::Ifc4x3_rc2::IfcTextureVertex(data);
+ case 1211: return new ::Ifc4x3_rc2::IfcTextureVertexList(data);
+ case 1212: return new ::Ifc4x3_rc2::IfcThermalAdmittanceMeasure(data);
+ case 1213: return new ::Ifc4x3_rc2::IfcThermalConductivityMeasure(data);
+ case 1214: return new ::Ifc4x3_rc2::IfcThermalExpansionCoefficientMeasure(data);
+ case 1215: return new ::Ifc4x3_rc2::IfcThermalResistanceMeasure(data);
+ case 1216: return new ::Ifc4x3_rc2::IfcThermalTransmittanceMeasure(data);
+ case 1217: return new ::Ifc4x3_rc2::IfcThermodynamicTemperatureMeasure(data);
+ case 1218: return new ::Ifc4x3_rc2::IfcTime(data);
+ case 1219: return new ::Ifc4x3_rc2::IfcTimeMeasure(data);
+ case 1221: return new ::Ifc4x3_rc2::IfcTimePeriod(data);
+ case 1222: return new ::Ifc4x3_rc2::IfcTimeSeries(data);
+ case 1223: return new ::Ifc4x3_rc2::IfcTimeSeriesDataTypeEnum(data);
+ case 1224: return new ::Ifc4x3_rc2::IfcTimeSeriesValue(data);
+ case 1225: return new ::Ifc4x3_rc2::IfcTimeStamp(data);
+ case 1226: return new ::Ifc4x3_rc2::IfcTopologicalRepresentationItem(data);
+ case 1227: return new ::Ifc4x3_rc2::IfcTopologyRepresentation(data);
+ case 1228: return new ::Ifc4x3_rc2::IfcToroidalSurface(data);
+ case 1229: return new ::Ifc4x3_rc2::IfcTorqueMeasure(data);
+ case 1230: return new ::Ifc4x3_rc2::IfcTrackElement(data);
+ case 1231: return new ::Ifc4x3_rc2::IfcTrackElementType(data);
+ case 1232: return new ::Ifc4x3_rc2::IfcTrackElementTypeEnum(data);
+ case 1233: return new ::Ifc4x3_rc2::IfcTransformer(data);
+ case 1234: return new ::Ifc4x3_rc2::IfcTransformerType(data);
+ case 1235: return new ::Ifc4x3_rc2::IfcTransformerTypeEnum(data);
+ case 1236: return new ::Ifc4x3_rc2::IfcTransitionCode(data);
+ case 1237: return new ::Ifc4x3_rc2::IfcTransitionCurveSegment2D(data);
+ case 1238: return new ::Ifc4x3_rc2::IfcTransitionCurveType(data);
+ case 1240: return new ::Ifc4x3_rc2::IfcTransportElement(data);
+ case 1241: return new ::Ifc4x3_rc2::IfcTransportElementFixedTypeEnum(data);
+ case 1242: return new ::Ifc4x3_rc2::IfcTransportElementNonFixedTypeEnum(data);
+ case 1243: return new ::Ifc4x3_rc2::IfcTransportElementType(data);
+ case 1245: return new ::Ifc4x3_rc2::IfcTrapeziumProfileDef(data);
+ case 1246: return new ::Ifc4x3_rc2::IfcTriangulatedFaceSet(data);
+ case 1247: return new ::Ifc4x3_rc2::IfcTriangulatedIrregularNetwork(data);
+ case 1248: return new ::Ifc4x3_rc2::IfcTrimmedCurve(data);
+ case 1249: return new ::Ifc4x3_rc2::IfcTrimmingPreference(data);
+ case 1251: return new ::Ifc4x3_rc2::IfcTShapeProfileDef(data);
+ case 1252: return new ::Ifc4x3_rc2::IfcTubeBundle(data);
+ case 1253: return new ::Ifc4x3_rc2::IfcTubeBundleType(data);
+ case 1254: return new ::Ifc4x3_rc2::IfcTubeBundleTypeEnum(data);
+ case 1255: return new ::Ifc4x3_rc2::IfcTypeObject(data);
+ case 1256: return new ::Ifc4x3_rc2::IfcTypeProcess(data);
+ case 1257: return new ::Ifc4x3_rc2::IfcTypeProduct(data);
+ case 1258: return new ::Ifc4x3_rc2::IfcTypeResource(data);
+ case 1260: return new ::Ifc4x3_rc2::IfcUnitaryControlElement(data);
+ case 1261: return new ::Ifc4x3_rc2::IfcUnitaryControlElementType(data);
+ case 1262: return new ::Ifc4x3_rc2::IfcUnitaryControlElementTypeEnum(data);
+ case 1263: return new ::Ifc4x3_rc2::IfcUnitaryEquipment(data);
+ case 1264: return new ::Ifc4x3_rc2::IfcUnitaryEquipmentType(data);
+ case 1265: return new ::Ifc4x3_rc2::IfcUnitaryEquipmentTypeEnum(data);
+ case 1266: return new ::Ifc4x3_rc2::IfcUnitAssignment(data);
+ case 1267: return new ::Ifc4x3_rc2::IfcUnitEnum(data);
+ case 1268: return new ::Ifc4x3_rc2::IfcURIReference(data);
+ case 1269: return new ::Ifc4x3_rc2::IfcUShapeProfileDef(data);
+ case 1271: return new ::Ifc4x3_rc2::IfcValve(data);
+ case 1272: return new ::Ifc4x3_rc2::IfcValveType(data);
+ case 1273: return new ::Ifc4x3_rc2::IfcValveTypeEnum(data);
+ case 1274: return new ::Ifc4x3_rc2::IfcVaporPermeabilityMeasure(data);
+ case 1275: return new ::Ifc4x3_rc2::IfcVector(data);
+ case 1277: return new ::Ifc4x3_rc2::IfcVertex(data);
+ case 1278: return new ::Ifc4x3_rc2::IfcVertexLoop(data);
+ case 1279: return new ::Ifc4x3_rc2::IfcVertexPoint(data);
+ case 1280: return new ::Ifc4x3_rc2::IfcVibrationDamper(data);
+ case 1281: return new ::Ifc4x3_rc2::IfcVibrationDamperType(data);
+ case 1282: return new ::Ifc4x3_rc2::IfcVibrationDamperTypeEnum(data);
+ case 1283: return new ::Ifc4x3_rc2::IfcVibrationIsolator(data);
+ case 1284: return new ::Ifc4x3_rc2::IfcVibrationIsolatorType(data);
+ case 1285: return new ::Ifc4x3_rc2::IfcVibrationIsolatorTypeEnum(data);
+ case 1286: return new ::Ifc4x3_rc2::IfcVirtualElement(data);
+ case 1287: return new ::Ifc4x3_rc2::IfcVirtualGridIntersection(data);
+ case 1288: return new ::Ifc4x3_rc2::IfcVoidingFeature(data);
+ case 1289: return new ::Ifc4x3_rc2::IfcVoidingFeatureTypeEnum(data);
+ case 1290: return new ::Ifc4x3_rc2::IfcVoidStratum(data);
+ case 1291: return new ::Ifc4x3_rc2::IfcVolumeMeasure(data);
+ case 1292: return new ::Ifc4x3_rc2::IfcVolumetricFlowRateMeasure(data);
+ case 1293: return new ::Ifc4x3_rc2::IfcWall(data);
+ case 1294: return new ::Ifc4x3_rc2::IfcWallElementedCase(data);
+ case 1295: return new ::Ifc4x3_rc2::IfcWallStandardCase(data);
+ case 1296: return new ::Ifc4x3_rc2::IfcWallType(data);
+ case 1297: return new ::Ifc4x3_rc2::IfcWallTypeEnum(data);
+ case 1298: return new ::Ifc4x3_rc2::IfcWarpingConstantMeasure(data);
+ case 1299: return new ::Ifc4x3_rc2::IfcWarpingMomentMeasure(data);
+ case 1301: return new ::Ifc4x3_rc2::IfcWasteTerminal(data);
+ case 1302: return new ::Ifc4x3_rc2::IfcWasteTerminalType(data);
+ case 1303: return new ::Ifc4x3_rc2::IfcWasteTerminalTypeEnum(data);
+ case 1304: return new ::Ifc4x3_rc2::IfcWaterStratum(data);
+ case 1305: return new ::Ifc4x3_rc2::IfcWindow(data);
+ case 1306: return new ::Ifc4x3_rc2::IfcWindowLiningProperties(data);
+ case 1307: return new ::Ifc4x3_rc2::IfcWindowPanelOperationEnum(data);
+ case 1308: return new ::Ifc4x3_rc2::IfcWindowPanelPositionEnum(data);
+ case 1309: return new ::Ifc4x3_rc2::IfcWindowPanelProperties(data);
+ case 1310: return new ::Ifc4x3_rc2::IfcWindowStandardCase(data);
+ case 1311: return new ::Ifc4x3_rc2::IfcWindowStyle(data);
+ case 1312: return new ::Ifc4x3_rc2::IfcWindowStyleConstructionEnum(data);
+ case 1313: return new ::Ifc4x3_rc2::IfcWindowStyleOperationEnum(data);
+ case 1314: return new ::Ifc4x3_rc2::IfcWindowType(data);
+ case 1315: return new ::Ifc4x3_rc2::IfcWindowTypeEnum(data);
+ case 1316: return new ::Ifc4x3_rc2::IfcWindowTypePartitioningEnum(data);
+ case 1317: return new ::Ifc4x3_rc2::IfcWorkCalendar(data);
+ case 1318: return new ::Ifc4x3_rc2::IfcWorkCalendarTypeEnum(data);
+ case 1319: return new ::Ifc4x3_rc2::IfcWorkControl(data);
+ case 1320: return new ::Ifc4x3_rc2::IfcWorkPlan(data);
+ case 1321: return new ::Ifc4x3_rc2::IfcWorkPlanTypeEnum(data);
+ case 1322: return new ::Ifc4x3_rc2::IfcWorkSchedule(data);
+ case 1323: return new ::Ifc4x3_rc2::IfcWorkScheduleTypeEnum(data);
+ case 1324: return new ::Ifc4x3_rc2::IfcWorkTime(data);
+ case 1325: return new ::Ifc4x3_rc2::IfcZone(data);
+ case 1326: return new ::Ifc4x3_rc2::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_RC2_populate_schema() {
+ IFC4X3_RC2_IfcAbsorbedDoseMeasure_type = new type_declaration("IfcAbsorbedDoseMeasure", 0, new simple_type(simple_type::real_type));
+ IFC4X3_RC2_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_RC2_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_RC2_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_RC2_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_RC2_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_RC2_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_RC2_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_RC2_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_RC2_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_RC2_IfcAlarmTypeEnum_type = new enumeration_type("IfcAlarmTypeEnum", 28, items);
+ }
+ {
+ std::vector items; items.reserve(7);
+ items.push_back("BIQUADRATICPARABOLA");
+ items.push_back("BLOSSCURVE");
+ items.push_back("CONSTANTCANT");
+ items.push_back("COSINECURVE");
+ items.push_back("LINEARTRANSITION");
+ items.push_back("SINECURVE");
+ items.push_back("VIENNESEBEND");
+ IFC4X3_RC2_IfcAlignmentCantSegmentTypeEnum_type = new enumeration_type("IfcAlignmentCantSegmentTypeEnum", 35, items);
+ }
+ {
+ std::vector items; items.reserve(9);
+ items.push_back("BIQUADRATICPARABOLA");
+ items.push_back("BLOSSCURVE");
+ items.push_back("CIRCULARARC");
+ items.push_back("CLOTHOID");
+ items.push_back("COSINECURVE");
+ items.push_back("CUBICSPIRAL");
+ items.push_back("LINE");
+ items.push_back("SINECURVE");
+ items.push_back("VIENNESEBEND");
+ IFC4X3_RC2_IfcAlignmentHorizontalSegmentTypeEnum_type = new enumeration_type("IfcAlignmentHorizontalSegmentTypeEnum", 39, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X3_RC2_IfcAlignmentTypeEnum_type = new enumeration_type("IfcAlignmentTypeEnum", 42, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("CIRCULARARC");
+ items.push_back("CLOTHOID");
+ items.push_back("CONSTANTGRADIENT");
+ items.push_back("PARABOLICARC");
+ IFC4X3_RC2_IfcAlignmentVerticalSegmentTypeEnum_type = new enumeration_type("IfcAlignmentVerticalSegmentTypeEnum", 45, items);
+ }
+ IFC4X3_RC2_IfcAmountOfSubstanceMeasure_type = new type_declaration("IfcAmountOfSubstanceMeasure", 46, 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_RC2_IfcAnalysisModelTypeEnum_type = new enumeration_type("IfcAnalysisModelTypeEnum", 47, 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_RC2_IfcAnalysisTheoryTypeEnum_type = new enumeration_type("IfcAnalysisTheoryTypeEnum", 48, items);
+ }
+ IFC4X3_RC2_IfcAngularVelocityMeasure_type = new type_declaration("IfcAngularVelocityMeasure", 49, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(11);
+ items.push_back("ASBUILTAREA");
+ items.push_back("ASBUILTLINE");
+ items.push_back("ASBUILTPOINT");
+ items.push_back("ASSUMEDAREA");
+ items.push_back("ASSUMEDLINE");
+ items.push_back("ASSUMEDPOINT");
+ items.push_back("NON_PHYSICAL_SIGNAL");
+ items.push_back("NOTDEFINED");
+ items.push_back("SUPERELEVATIONEVENT");
+ items.push_back("USERDEFINED");
+ items.push_back("WIDTHEVENT");
+ IFC4X3_RC2_IfcAnnotationTypeEnum_type = new enumeration_type("IfcAnnotationTypeEnum", 52, items);
+ }
+ IFC4X3_RC2_IfcAreaDensityMeasure_type = new type_declaration("IfcAreaDensityMeasure", 62, new simple_type(simple_type::real_type));
+ IFC4X3_RC2_IfcAreaMeasure_type = new type_declaration("IfcAreaMeasure", 63, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("ADD");
+ items.push_back("DIVIDE");
+ items.push_back("MULTIPLY");
+ items.push_back("SUBTRACT");
+ IFC4X3_RC2_IfcArithmeticOperatorEnum_type = new enumeration_type("IfcArithmeticOperatorEnum", 64, items);
+ }
+ {
+ std::vector items; items.reserve(3);
+ items.push_back("FACTORY");
+ items.push_back("NOTDEFINED");
+ items.push_back("SITE");
+ IFC4X3_RC2_IfcAssemblyPlaceEnum_type = new enumeration_type("IfcAssemblyPlaceEnum", 65, items);
+ }
+ {
+ std::vector items; items.reserve(14);
+ items.push_back("AMPLIFIER");
+ items.push_back("CAMERA");
+ items.push_back("DISPLAY");
+ items.push_back("MICROPHONE");
+ items.push_back("NOTDEFINED");
+ items.push_back("PLAYER");
+ items.push_back("PROJECTOR");
+ items.push_back("RAILWAY_COMMUNICATION_TERMINAL");
+ items.push_back("RECEIVER");
+ items.push_back("SPEAKER");
+ items.push_back("SWITCHER");
+ items.push_back("TELEPHONE");
+ items.push_back("TUNER");
+ items.push_back("USERDEFINED");
+ IFC4X3_RC2_IfcAudioVisualApplianceTypeEnum_type = new enumeration_type("IfcAudioVisualApplianceTypeEnum", 70, 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_RC2_IfcBSplineCurveForm_type = new enumeration_type("IfcBSplineCurveForm", 116, 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_RC2_IfcBSplineSurfaceForm_type = new enumeration_type("IfcBSplineSurfaceForm", 119, 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_RC2_IfcBeamTypeEnum_type = new enumeration_type("IfcBeamTypeEnum", 80, items);
+ }
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("FIXED_MOVEMENT");
+ items.push_back("FREE_MOVEMENT");
+ items.push_back("GUIDED_LONGITUDINAL");
+ items.push_back("GUIDED_TRANSVERSAL");
+ items.push_back("NOTDEFINED");
+ IFC4X3_RC2_IfcBearingTypeDisplacementEnum_type = new enumeration_type("IfcBearingTypeDisplacementEnum", 83, 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_RC2_IfcBearingTypeEnum_type = new enumeration_type("IfcBearingTypeEnum", 84, 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_RC2_IfcBenchmarkEnum_type = new enumeration_type("IfcBenchmarkEnum", 85, items);
+ }
+ IFC4X3_RC2_IfcBinary_type = new type_declaration("IfcBinary", 87, 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_RC2_IfcBoilerTypeEnum_type = new enumeration_type("IfcBoilerTypeEnum", 93, items);
+ }
+ IFC4X3_RC2_IfcBoolean_type = new type_declaration("IfcBoolean", 94, 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_RC2_IfcBooleanOperator_type = new enumeration_type("IfcBooleanOperator", 97, 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_RC2_IfcBridgePartTypeEnum_type = new enumeration_type("IfcBridgePartTypeEnum", 113, 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_RC2_IfcBridgeTypeEnum_type = new enumeration_type("IfcBridgeTypeEnum", 114, 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_RC2_IfcBuildingElementPartTypeEnum_type = new enumeration_type("IfcBuildingElementPartTypeEnum", 124, 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_RC2_IfcBuildingElementProxyTypeEnum_type = new enumeration_type("IfcBuildingElementProxyTypeEnum", 127, items);
+ }
+ {
+ std::vector items; items.reserve(11);
+ items.push_back("EROSIONPREVENTION");
+ items.push_back("FENESTRATION");
+ items.push_back("FOUNDATION");
+ items.push_back("LOADBEARING");
+ items.push_back("NOTDEFINED");
+ items.push_back("OUTERSHELL");
+ items.push_back("PRESTRESSING");
+ items.push_back("REINFORCING");
+ items.push_back("SHADING");
+ items.push_back("TRANSPORT");
+ items.push_back("USERDEFINED");
+ IFC4X3_RC2_IfcBuildingSystemTypeEnum_type = new enumeration_type("IfcBuildingSystemTypeEnum", 130, items);
+ }
+ {
+ std::vector items; items.reserve(14);
+ items.push_back("EROSIONPREVENTION");
+ items.push_back("FENESTRATION");
+ items.push_back("FOUNDATION");
+ items.push_back("LOADBEARING");
+ items.push_back("MOORING");
+ items.push_back("MOORINGSYSTEM");
+ items.push_back("NOTDEFINED");
+ items.push_back("OUTERSHELL");
+ items.push_back("PRESTRESSING");
+ items.push_back("REINFORCING");
+ items.push_back("SHADING");
+ items.push_back("TRACKCIRCUIT");
+ items.push_back("TRANSPORT");
+ items.push_back("USERDEFINED");
+ IFC4X3_RC2_IfcBuiltSystemTypeEnum_type = new enumeration_type("IfcBuiltSystemTypeEnum", 134, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X3_RC2_IfcBurnerTypeEnum_type = new enumeration_type("IfcBurnerTypeEnum", 137, items);
+ }
+ {
+ std::vector items; items.reserve(6);
+ items.push_back("BEND");
+ items.push_back("CROSS");
+ items.push_back("NOTDEFINED");
+ items.push_back("REDUCER");
+ items.push_back("TEE");
+ items.push_back("USERDEFINED");
+ IFC4X3_RC2_IfcCableCarrierFittingTypeEnum_type = new enumeration_type("IfcCableCarrierFittingTypeEnum", 140, 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_RC2_IfcCableCarrierSegmentTypeEnum_type = new enumeration_type("IfcCableCarrierSegmentTypeEnum", 143, 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_RC2_IfcCableFittingTypeEnum_type = new enumeration_type("IfcCableFittingTypeEnum", 146, 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_RC2_IfcCableSegmentTypeEnum_type = new enumeration_type("IfcCableSegmentTypeEnum", 149, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("CAISSON");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ items.push_back("WELL");
+ IFC4X3_RC2_IfcCaissonFoundationTypeEnum_type = new enumeration_type("IfcCaissonFoundationTypeEnum", 152, items);
+ }
+ IFC4X3_RC2_IfcCardinalPointReference_type = new type_declaration("IfcCardinalPointReference", 153, 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_RC2_IfcChangeActionEnum_type = new enumeration_type("IfcChangeActionEnum", 164, 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_RC2_IfcChillerTypeEnum_type = new enumeration_type("IfcChillerTypeEnum", 167, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X3_RC2_IfcChimneyTypeEnum_type = new enumeration_type("IfcChimneyTypeEnum", 170, 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_RC2_IfcCoilTypeEnum_type = new enumeration_type("IfcCoilTypeEnum", 185, 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_RC2_IfcColumnTypeEnum_type = new enumeration_type("IfcColumnTypeEnum", 194, items);
+ }
+ {
+ std::vector items; items.reserve(23);
+ items.push_back("ANTENNA");
+ items.push_back("AUTOMATON");
+ items.push_back("COMPUTER");
+ items.push_back("FAX");
+ items.push_back("GATEWAY");
+ items.push_back("INTELLIGENT_PERIPHERAL");
+ items.push_back("IP_NETWORK_EQUIPMENT");
+ items.push_back("MODEM");
+ items.push_back("NETWORKAPPLIANCE");
+ items.push_back("NETWORKBRIDGE");
+ items.push_back("NETWORKHUB");
+ items.push_back("NOTDEFINED");
+ items.push_back("OPTICAL_NETWORK_UNIT");
+ items.push_back("PRINTER");
+ 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_RC2_IfcCommunicationsApplianceTypeEnum_type = new enumeration_type("IfcCommunicationsApplianceTypeEnum", 197, items);
+ }
+ IFC4X3_RC2_IfcComplexNumber_type = new type_declaration("IfcComplexNumber", 198, 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_RC2_IfcComplexPropertyTemplateTypeEnum_type = new enumeration_type("IfcComplexPropertyTemplateTypeEnum", 201, items);
+ }
+ IFC4X3_RC2_IfcCompoundPlaneAngleMeasure_type = new type_declaration("IfcCompoundPlaneAngleMeasure", 206, 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_RC2_IfcCompressorTypeEnum_type = new enumeration_type("IfcCompressorTypeEnum", 209, 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_RC2_IfcCondenserTypeEnum_type = new enumeration_type("IfcCondenserTypeEnum", 212, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("ATEND");
+ items.push_back("ATPATH");
+ items.push_back("ATSTART");
+ items.push_back("NOTDEFINED");
+ IFC4X3_RC2_IfcConnectionTypeEnum_type = new enumeration_type("IfcConnectionTypeEnum", 220, 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_RC2_IfcConstraintEnum_type = new enumeration_type("IfcConstraintEnum", 223, 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_RC2_IfcConstructionEquipmentResourceTypeEnum_type = new enumeration_type("IfcConstructionEquipmentResourceTypeEnum", 226, 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_RC2_IfcConstructionMaterialResourceTypeEnum_type = new enumeration_type("IfcConstructionMaterialResourceTypeEnum", 229, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("ASSEMBLY");
+ items.push_back("FORMWORK");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X3_RC2_IfcConstructionProductResourceTypeEnum_type = new enumeration_type("IfcConstructionProductResourceTypeEnum", 232, items);
+ }
+ IFC4X3_RC2_IfcContextDependentMeasure_type = new type_declaration("IfcContextDependentMeasure", 236, 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_RC2_IfcControllerTypeEnum_type = new enumeration_type("IfcControllerTypeEnum", 241, 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_RC2_IfcConveyorSegmentTypeEnum_type = new enumeration_type("IfcConveyorSegmentTypeEnum", 246, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("ACTIVE");
+ items.push_back("NOTDEFINED");
+ items.push_back("PASSIVE");
+ items.push_back("USERDEFINED");
+ IFC4X3_RC2_IfcCooledBeamTypeEnum_type = new enumeration_type("IfcCooledBeamTypeEnum", 249, 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_RC2_IfcCoolingTowerTypeEnum_type = new enumeration_type("IfcCoolingTowerTypeEnum", 252, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X3_RC2_IfcCostItemTypeEnum_type = new enumeration_type("IfcCostItemTypeEnum", 257, 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_RC2_IfcCostScheduleTypeEnum_type = new enumeration_type("IfcCostScheduleTypeEnum", 259, items);
+ }
+ IFC4X3_RC2_IfcCountMeasure_type = new type_declaration("IfcCountMeasure", 261, new simple_type(simple_type::number_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_RC2_IfcCourseTypeEnum_type = new enumeration_type("IfcCourseTypeEnum", 264, items);
+ }
+ {
+ std::vector items; items.reserve(13);
+ 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("USERDEFINED");
+ items.push_back("WRAPPING");
+ IFC4X3_RC2_IfcCoveringTypeEnum_type = new enumeration_type("IfcCoveringTypeEnum", 267, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("NOTDEFINED");
+ items.push_back("OFFICE");
+ items.push_back("SITE");
+ items.push_back("USERDEFINED");
+ IFC4X3_RC2_IfcCrewResourceTypeEnum_type = new enumeration_type("IfcCrewResourceTypeEnum", 270, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X3_RC2_IfcCurtainWallTypeEnum_type = new enumeration_type("IfcCurtainWallTypeEnum", 278, items);
+ }
+ IFC4X3_RC2_IfcCurvatureMeasure_type = new type_declaration("IfcCurvatureMeasure", 279, 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_RC2_IfcCurveInterpolationEnum_type = new enumeration_type("IfcCurveInterpolationEnum", 284, 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_RC2_IfcDamperTypeEnum_type = new enumeration_type("IfcDamperTypeEnum", 298, 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_RC2_IfcDataOriginEnum_type = new enumeration_type("IfcDataOriginEnum", 299, items);
+ }
+ IFC4X3_RC2_IfcDate_type = new type_declaration("IfcDate", 300, new simple_type(simple_type::string_type));
+ IFC4X3_RC2_IfcDateTime_type = new type_declaration("IfcDateTime", 301, new simple_type(simple_type::string_type));
+ IFC4X3_RC2_IfcDayInMonthNumber_type = new type_declaration("IfcDayInMonthNumber", 302, new simple_type(simple_type::integer_type));
+ IFC4X3_RC2_IfcDayInWeekNumber_type = new type_declaration("IfcDayInWeekNumber", 303, 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_RC2_IfcDerivedUnitEnum_type = new enumeration_type("IfcDerivedUnitEnum", 311, items);
+ }
+ IFC4X3_RC2_IfcDescriptiveMeasure_type = new type_declaration("IfcDescriptiveMeasure", 312, new simple_type(simple_type::string_type));
+ IFC4X3_RC2_IfcDimensionCount_type = new type_declaration("IfcDimensionCount", 314, new simple_type(simple_type::integer_type));
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("NEGATIVE");
+ items.push_back("POSITIVE");
+ IFC4X3_RC2_IfcDirectionSenseEnum_type = new enumeration_type("IfcDirectionSenseEnum", 316, items);
+ }
+ {
+ std::vector items; items.reserve(19);
+ 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("INSULATOR");
+ items.push_back("LOCK");
+ items.push_back("NOTDEFINED");
+ items.push_back("PANEL_STRENGTHENING");
+ 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_RC2_IfcDiscreteAccessoryTypeEnum_type = new enumeration_type("IfcDiscreteAccessoryTypeEnum", 321, items);
+ }
+ {
+ std::vector items; items.reserve(7);
+ items.push_back("CONSUMERUNIT");
+ 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_RC2_IfcDistributionBoardTypeEnum_type = new enumeration_type("IfcDistributionBoardTypeEnum", 324, 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_RC2_IfcDistributionChamberElementTypeEnum_type = new enumeration_type("IfcDistributionChamberElementTypeEnum", 327, 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_RC2_IfcDistributionPortTypeEnum_type = new enumeration_type("IfcDistributionPortTypeEnum", 336, items);
+ }
+ {
+ std::vector items; items.reserve(47);
+ 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("FUEL");
+ items.push_back("GAS");
+ items.push_back("HAZARDOUS");
+ items.push_back("HEATING");
+ items.push_back("LIGHTING");
+ items.push_back("LIGHTNINGPROTECTION");
+ items.push_back("MUNICIPALSOLIDWASTE");
+ items.push_back("NOTDEFINED");
+ items.push_back("OIL");
+ items.push_back("OPERATIONAL");
+ 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_RC2_IfcDistributionSystemEnum_type = new enumeration_type("IfcDistributionSystemEnum", 338, 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_RC2_IfcDocumentConfidentialityEnum_type = new enumeration_type("IfcDocumentConfidentialityEnum", 339, 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_RC2_IfcDocumentStatusEnum_type = new enumeration_type("IfcDocumentStatusEnum", 344, 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_RC2_IfcDoorPanelOperationEnum_type = new enumeration_type("IfcDoorPanelOperationEnum", 347, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("LEFT");
+ items.push_back("MIDDLE");
+ items.push_back("NOTDEFINED");
+ items.push_back("RIGHT");
+ IFC4X3_RC2_IfcDoorPanelPositionEnum_type = new enumeration_type("IfcDoorPanelPositionEnum", 348, items);
+ }
+ {
+ std::vector items; items.reserve(9);
+ items.push_back("ALUMINIUM");
+ items.push_back("ALUMINIUM_PLASTIC");
+ items.push_back("ALUMINIUM_WOOD");
+ items.push_back("HIGH_GRADE_STEEL");
+ items.push_back("NOTDEFINED");
+ items.push_back("PLASTIC");
+ items.push_back("STEEL");
+ items.push_back("USERDEFINED");
+ items.push_back("WOOD");
+ IFC4X3_RC2_IfcDoorStyleConstructionEnum_type = new enumeration_type("IfcDoorStyleConstructionEnum", 352, items);
+ }
+ {
+ std::vector items; items.reserve(18);
+ items.push_back("DOUBLE_DOOR_DOUBLE_SWING");
+ items.push_back("DOUBLE_DOOR_FOLDING");
+ 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("NOTDEFINED");
+ items.push_back("REVOLVING");
+ 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("USERDEFINED");
+ IFC4X3_RC2_IfcDoorStyleOperationEnum_type = new enumeration_type("IfcDoorStyleOperationEnum", 353, 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_RC2_IfcDoorTypeEnum_type = new enumeration_type("IfcDoorTypeEnum", 355, items);
+ }
+ {
+ std::vector items; items.reserve(20);
+ items.push_back("DOUBLE_DOOR_DOUBLE_SWING");
+ items.push_back("DOUBLE_DOOR_FOLDING");
+ 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("NOTDEFINED");
+ items.push_back("REVOLVING");
+ 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_RC2_IfcDoorTypeOperationEnum_type = new enumeration_type("IfcDoorTypeOperationEnum", 356, items);
+ }
+ IFC4X3_RC2_IfcDoseEquivalentMeasure_type = new type_declaration("IfcDoseEquivalentMeasure", 357, 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_RC2_IfcDuctFittingTypeEnum_type = new enumeration_type("IfcDuctFittingTypeEnum", 362, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("FLEXIBLESEGMENT");
+ items.push_back("NOTDEFINED");
+ items.push_back("RIGIDSEGMENT");
+ items.push_back("USERDEFINED");
+ IFC4X3_RC2_IfcDuctSegmentTypeEnum_type = new enumeration_type("IfcDuctSegmentTypeEnum", 365, 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_RC2_IfcDuctSilencerTypeEnum_type = new enumeration_type("IfcDuctSilencerTypeEnum", 368, items);
+ }
+ IFC4X3_RC2_IfcDuration_type = new type_declaration("IfcDuration", 369, new simple_type(simple_type::string_type));
+ IFC4X3_RC2_IfcDynamicViscosityMeasure_type = new type_declaration("IfcDynamicViscosityMeasure", 370, 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_RC2_IfcEarthworksCutTypeEnum_type = new enumeration_type("IfcEarthworksCutTypeEnum", 372, 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_RC2_IfcEarthworksFillTypeEnum_type = new enumeration_type("IfcEarthworksFillTypeEnum", 375, 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_RC2_IfcElectricApplianceTypeEnum_type = new enumeration_type("IfcElectricApplianceTypeEnum", 381, items);
+ }
+ IFC4X3_RC2_IfcElectricCapacitanceMeasure_type = new type_declaration("IfcElectricCapacitanceMeasure", 382, new simple_type(simple_type::real_type));
+ IFC4X3_RC2_IfcElectricChargeMeasure_type = new type_declaration("IfcElectricChargeMeasure", 383, new simple_type(simple_type::real_type));
+ IFC4X3_RC2_IfcElectricConductanceMeasure_type = new type_declaration("IfcElectricConductanceMeasure", 384, new simple_type(simple_type::real_type));
+ IFC4X3_RC2_IfcElectricCurrentMeasure_type = new type_declaration("IfcElectricCurrentMeasure", 385, 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_RC2_IfcElectricDistributionBoardTypeEnum_type = new enumeration_type("IfcElectricDistributionBoardTypeEnum", 388, 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_RC2_IfcElectricFlowStorageDeviceTypeEnum_type = new enumeration_type("IfcElectricFlowStorageDeviceTypeEnum", 391, items);
+ }
+ {
+ std::vector items; items.reserve(3);
+ items.push_back("ELECTRONICFILTER");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X3_RC2_IfcElectricFlowTreatmentDeviceTypeEnum_type = new enumeration_type("IfcElectricFlowTreatmentDeviceTypeEnum", 394, 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_RC2_IfcElectricGeneratorTypeEnum_type = new enumeration_type("IfcElectricGeneratorTypeEnum", 397, 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_RC2_IfcElectricMotorTypeEnum_type = new enumeration_type("IfcElectricMotorTypeEnum", 400, items);
+ }
+ IFC4X3_RC2_IfcElectricResistanceMeasure_type = new type_declaration("IfcElectricResistanceMeasure", 401, 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_RC2_IfcElectricTimeControlTypeEnum_type = new enumeration_type("IfcElectricTimeControlTypeEnum", 404, items);
+ }
+ IFC4X3_RC2_IfcElectricVoltageMeasure_type = new type_declaration("IfcElectricVoltageMeasure", 405, 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_RC2_IfcElementAssemblyTypeEnum_type = new enumeration_type("IfcElementAssemblyTypeEnum", 410, items);
+ }
+ {
+ std::vector items; items.reserve(3);
+ items.push_back("COMPLEX");
+ items.push_back("ELEMENT");
+ items.push_back("PARTIAL");
+ IFC4X3_RC2_IfcElementCompositionEnum_type = new enumeration_type("IfcElementCompositionEnum", 413, items);
+ }
+ IFC4X3_RC2_IfcEnergyMeasure_type = new type_declaration("IfcEnergyMeasure", 420, 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_RC2_IfcEngineTypeEnum_type = new enumeration_type("IfcEngineTypeEnum", 423, 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_RC2_IfcEvaporativeCoolerTypeEnum_type = new enumeration_type("IfcEvaporativeCoolerTypeEnum", 426, 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_RC2_IfcEvaporatorTypeEnum_type = new enumeration_type("IfcEvaporatorTypeEnum", 429, 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_RC2_IfcEventTriggerTypeEnum_type = new enumeration_type("IfcEventTriggerTypeEnum", 432, 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_RC2_IfcEventTypeEnum_type = new enumeration_type("IfcEventTypeEnum", 434, 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_RC2_IfcExternalSpatialElementTypeEnum_type = new enumeration_type("IfcExternalSpatialElementTypeEnum", 443, 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_RC2_IfcFacilityPartCommonTypeEnum_type = new enumeration_type("IfcFacilityPartCommonTypeEnum", 456, 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_RC2_IfcFacilityUsageEnum_type = new enumeration_type("IfcFacilityUsageEnum", 458, 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_RC2_IfcFanTypeEnum_type = new enumeration_type("IfcFanTypeEnum", 462, 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_RC2_IfcFastenerTypeEnum_type = new enumeration_type("IfcFastenerTypeEnum", 465, 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_RC2_IfcFilterTypeEnum_type = new enumeration_type("IfcFilterTypeEnum", 475, items);
+ }
+ {
+ std::vector items; items.reserve(7);
+ items.push_back("BREECHINGINLET");
+ items.push_back("FIREHYDRANT");
+ items.push_back("HOSEREEL");
+ items.push_back("NOTDEFINED");
+ items.push_back("SPRINKLER");
+ items.push_back("SPRINKLERDEFLECTOR");
+ items.push_back("USERDEFINED");
+ IFC4X3_RC2_IfcFireSuppressionTerminalTypeEnum_type = new enumeration_type("IfcFireSuppressionTerminalTypeEnum", 478, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("NOTDEFINED");
+ items.push_back("SINK");
+ items.push_back("SOURCE");
+ items.push_back("SOURCEANDSINK");
+ IFC4X3_RC2_IfcFlowDirectionEnum_type = new enumeration_type("IfcFlowDirectionEnum", 482, 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_RC2_IfcFlowInstrumentTypeEnum_type = new enumeration_type("IfcFlowInstrumentTypeEnum", 487, 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_RC2_IfcFlowMeterTypeEnum_type = new enumeration_type("IfcFlowMeterTypeEnum", 490, items);
+ }
+ IFC4X3_RC2_IfcFontStyle_type = new type_declaration("IfcFontStyle", 501, new simple_type(simple_type::string_type));
+ IFC4X3_RC2_IfcFontVariant_type = new type_declaration("IfcFontVariant", 502, new simple_type(simple_type::string_type));
+ IFC4X3_RC2_IfcFontWeight_type = new type_declaration("IfcFontWeight", 503, 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_RC2_IfcFootingTypeEnum_type = new enumeration_type("IfcFootingTypeEnum", 506, items);
+ }
+ IFC4X3_RC2_IfcForceMeasure_type = new type_declaration("IfcForceMeasure", 507, new simple_type(simple_type::real_type));
+ IFC4X3_RC2_IfcFrequencyMeasure_type = new type_declaration("IfcFrequencyMeasure", 508, 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_RC2_IfcFurnitureTypeEnum_type = new enumeration_type("IfcFurnitureTypeEnum", 513, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("NOTDEFINED");
+ items.push_back("SOIL_BORING_POINT");
+ items.push_back("TERRAIN");
+ items.push_back("USERDEFINED");
+ IFC4X3_RC2_IfcGeographicElementTypeEnum_type = new enumeration_type("IfcGeographicElementTypeEnum", 516, 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_RC2_IfcGeometricProjectionEnum_type = new enumeration_type("IfcGeometricProjectionEnum", 518, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("GLOBAL_COORDS");
+ items.push_back("LOCAL_COORDS");
+ IFC4X3_RC2_IfcGlobalOrLocalEnum_type = new enumeration_type("IfcGlobalOrLocalEnum", 530, items);
+ }
+ IFC4X3_RC2_IfcGloballyUniqueId_type = new type_declaration("IfcGloballyUniqueId", 529, 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_RC2_IfcGridTypeEnum_type = new enumeration_type("IfcGridTypeEnum", 536, 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_RC2_IfcHeatExchangerTypeEnum_type = new enumeration_type("IfcHeatExchangerTypeEnum", 542, items);
+ }
+ IFC4X3_RC2_IfcHeatFluxDensityMeasure_type = new type_declaration("IfcHeatFluxDensityMeasure", 543, new simple_type(simple_type::real_type));
+ IFC4X3_RC2_IfcHeatingValueMeasure_type = new type_declaration("IfcHeatingValueMeasure", 544, 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_RC2_IfcHumidifierTypeEnum_type = new enumeration_type("IfcHumidifierTypeEnum", 547, items);
+ }
+ IFC4X3_RC2_IfcIdentifier_type = new type_declaration("IfcIdentifier", 548, new simple_type(simple_type::string_type));
+ IFC4X3_RC2_IfcIlluminanceMeasure_type = new type_declaration("IfcIlluminanceMeasure", 549, 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_RC2_IfcImpactProtectionDeviceTypeEnum_type = new enumeration_type("IfcImpactProtectionDeviceTypeEnum", 553, items);
+ }
+ IFC4X3_RC2_IfcInductanceMeasure_type = new type_declaration("IfcInductanceMeasure", 562, new simple_type(simple_type::real_type));
+ IFC4X3_RC2_IfcInteger_type = new type_declaration("IfcInteger", 563, new simple_type(simple_type::integer_type));
+ IFC4X3_RC2_IfcIntegerCountRateMeasure_type = new type_declaration("IfcIntegerCountRateMeasure", 564, 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_RC2_IfcInterceptorTypeEnum_type = new enumeration_type("IfcInterceptorTypeEnum", 567, 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_RC2_IfcInternalOrExternalEnum_type = new enumeration_type("IfcInternalOrExternalEnum", 569, 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_RC2_IfcInventoryTypeEnum_type = new enumeration_type("IfcInventoryTypeEnum", 572, items);
+ }
+ IFC4X3_RC2_IfcIonConcentrationMeasure_type = new type_declaration("IfcIonConcentrationMeasure", 573, new simple_type(simple_type::real_type));
+ IFC4X3_RC2_IfcIsothermalMoistureCapacityMeasure_type = new type_declaration("IfcIsothermalMoistureCapacityMeasure", 577, 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_RC2_IfcJunctionBoxTypeEnum_type = new enumeration_type("IfcJunctionBoxTypeEnum", 580, items);
+ }
+ IFC4X3_RC2_IfcKinematicViscosityMeasure_type = new type_declaration("IfcKinematicViscosityMeasure", 583, 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_RC2_IfcKnotType_type = new enumeration_type("IfcKnotType", 584, items);
+ }
+ IFC4X3_RC2_IfcLabel_type = new type_declaration("IfcLabel", 585, 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_RC2_IfcLaborResourceTypeEnum_type = new enumeration_type("IfcLaborResourceTypeEnum", 588, 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_RC2_IfcLampTypeEnum_type = new enumeration_type("IfcLampTypeEnum", 592, items);
+ }
+ IFC4X3_RC2_IfcLanguageId_type = new type_declaration("IfcLanguageId", 593, new named_type(IFC4X3_RC2_IfcIdentifier_type));
+ {
+ std::vector items; items.reserve(3);
+ items.push_back("AXIS1");
+ items.push_back("AXIS2");
+ items.push_back("AXIS3");
+ IFC4X3_RC2_IfcLayerSetDirectionEnum_type = new enumeration_type("IfcLayerSetDirectionEnum", 595, items);
+ }
+ IFC4X3_RC2_IfcLengthMeasure_type = new type_declaration("IfcLengthMeasure", 596, 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_RC2_IfcLightDistributionCurveEnum_type = new enumeration_type("IfcLightDistributionCurveEnum", 600, 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_RC2_IfcLightEmissionSourceEnum_type = new enumeration_type("IfcLightEmissionSourceEnum", 603, 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_RC2_IfcLightFixtureTypeEnum_type = new enumeration_type("IfcLightFixtureTypeEnum", 606, items);
+ }
+ IFC4X3_RC2_IfcLinearForceMeasure_type = new type_declaration("IfcLinearForceMeasure", 618, new simple_type(simple_type::real_type));
+ IFC4X3_RC2_IfcLinearMomentMeasure_type = new type_declaration("IfcLinearMomentMeasure", 619, new simple_type(simple_type::real_type));
+ IFC4X3_RC2_IfcLinearStiffnessMeasure_type = new type_declaration("IfcLinearStiffnessMeasure", 624, new simple_type(simple_type::real_type));
+ IFC4X3_RC2_IfcLinearVelocityMeasure_type = new type_declaration("IfcLinearVelocityMeasure", 625, 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_RC2_IfcLiquidTerminalTypeEnum_type = new enumeration_type("IfcLiquidTerminalTypeEnum", 630, 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_RC2_IfcLoadGroupTypeEnum_type = new enumeration_type("IfcLoadGroupTypeEnum", 631, items);
+ }
+ IFC4X3_RC2_IfcLogical_type = new type_declaration("IfcLogical", 633, 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_RC2_IfcLogicalOperatorEnum_type = new enumeration_type("IfcLogicalOperatorEnum", 634, items);
+ }
+ IFC4X3_RC2_IfcLuminousFluxMeasure_type = new type_declaration("IfcLuminousFluxMeasure", 637, new simple_type(simple_type::real_type));
+ IFC4X3_RC2_IfcLuminousIntensityDistributionMeasure_type = new type_declaration("IfcLuminousIntensityDistributionMeasure", 638, new simple_type(simple_type::real_type));
+ IFC4X3_RC2_IfcLuminousIntensityMeasure_type = new type_declaration("IfcLuminousIntensityMeasure", 639, new simple_type(simple_type::real_type));
+ IFC4X3_RC2_IfcMagneticFluxDensityMeasure_type = new type_declaration("IfcMagneticFluxDensityMeasure", 640, new simple_type(simple_type::real_type));
+ IFC4X3_RC2_IfcMagneticFluxMeasure_type = new type_declaration("IfcMagneticFluxMeasure", 641, 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("EMBANKMENT");
+ 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("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_RC2_IfcMarineFacilityTypeEnum_type = new enumeration_type("IfcMarineFacilityTypeEnum", 646, 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("STORAGE");
+ items.push_back("USERDEFINED");
+ items.push_back("VEHICLESERVICING");
+ items.push_back("WATERFIELD");
+ items.push_back("WEATHERSIDE");
+ IFC4X3_RC2_IfcMarinePartTypeEnum_type = new enumeration_type("IfcMarinePartTypeEnum", 647, items);
+ }
+ IFC4X3_RC2_IfcMassDensityMeasure_type = new type_declaration("IfcMassDensityMeasure", 648, new simple_type(simple_type::real_type));
+ IFC4X3_RC2_IfcMassFlowRateMeasure_type = new type_declaration("IfcMassFlowRateMeasure", 649, new simple_type(simple_type::real_type));
+ IFC4X3_RC2_IfcMassMeasure_type = new type_declaration("IfcMassMeasure", 650, new simple_type(simple_type::real_type));
+ IFC4X3_RC2_IfcMassPerLengthMeasure_type = new type_declaration("IfcMassPerLengthMeasure", 651, 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_RC2_IfcMechanicalFastenerTypeEnum_type = new enumeration_type("IfcMechanicalFastenerTypeEnum", 676, 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_RC2_IfcMedicalDeviceTypeEnum_type = new enumeration_type("IfcMedicalDeviceTypeEnum", 679, 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_RC2_IfcMemberTypeEnum_type = new enumeration_type("IfcMemberTypeEnum", 683, items);
+ }
+ {
+ std::vector items; items.reserve(9);
+ items.push_back("ACCESSPOINT");
+ items.push_back("BASEBANDUNIT");
+ items.push_back("BASETRANSCEIVERSTATION");
+ items.push_back("E_UTRAN_NODE_B");
+ items.push_back("MASTERUNIT");
+ items.push_back("NOTDEFINED");
+ items.push_back("REMOTEUNIT");
+ items.push_back("REMOTE_RADIO_UNIT");
+ items.push_back("USERDEFINED");
+ IFC4X3_RC2_IfcMobileTelecommunicationsApplianceTypeEnum_type = new enumeration_type("IfcMobileTelecommunicationsApplianceTypeEnum", 689, items);
+ }
+ IFC4X3_RC2_IfcModulusOfElasticityMeasure_type = new type_declaration("IfcModulusOfElasticityMeasure", 690, new simple_type(simple_type::real_type));
+ IFC4X3_RC2_IfcModulusOfLinearSubgradeReactionMeasure_type = new type_declaration("IfcModulusOfLinearSubgradeReactionMeasure", 691, new simple_type(simple_type::real_type));
+ IFC4X3_RC2_IfcModulusOfRotationalSubgradeReactionMeasure_type = new type_declaration("IfcModulusOfRotationalSubgradeReactionMeasure", 692, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IFC4X3_RC2_IfcBoolean_type);
+ items.push_back(IFC4X3_RC2_IfcModulusOfRotationalSubgradeReactionMeasure_type);
+ IFC4X3_RC2_IfcModulusOfRotationalSubgradeReactionSelect_type = new select_type("IfcModulusOfRotationalSubgradeReactionSelect", 693, items);
+ }
+ IFC4X3_RC2_IfcModulusOfSubgradeReactionMeasure_type = new type_declaration("IfcModulusOfSubgradeReactionMeasure", 694, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IFC4X3_RC2_IfcBoolean_type);
+ items.push_back(IFC4X3_RC2_IfcModulusOfSubgradeReactionMeasure_type);
+ IFC4X3_RC2_IfcModulusOfSubgradeReactionSelect_type = new select_type("IfcModulusOfSubgradeReactionSelect", 695, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IFC4X3_RC2_IfcBoolean_type);
+ items.push_back(IFC4X3_RC2_IfcModulusOfLinearSubgradeReactionMeasure_type);
+ IFC4X3_RC2_IfcModulusOfTranslationalSubgradeReactionSelect_type = new select_type("IfcModulusOfTranslationalSubgradeReactionSelect", 696, items);
+ }
+ IFC4X3_RC2_IfcMoistureDiffusivityMeasure_type = new type_declaration("IfcMoistureDiffusivityMeasure", 697, new simple_type(simple_type::real_type));
+ IFC4X3_RC2_IfcMolecularWeightMeasure_type = new type_declaration("IfcMolecularWeightMeasure", 698, new simple_type(simple_type::real_type));
+ IFC4X3_RC2_IfcMomentOfInertiaMeasure_type = new type_declaration("IfcMomentOfInertiaMeasure", 699, new simple_type(simple_type::real_type));
+ IFC4X3_RC2_IfcMonetaryMeasure_type = new type_declaration("IfcMonetaryMeasure", 700, new simple_type(simple_type::real_type));
+ IFC4X3_RC2_IfcMonthInYearNumber_type = new type_declaration("IfcMonthInYearNumber", 702, 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_RC2_IfcMooringDeviceTypeEnum_type = new enumeration_type("IfcMooringDeviceTypeEnum", 705, 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_RC2_IfcMotorConnectionTypeEnum_type = new enumeration_type("IfcMotorConnectionTypeEnum", 708, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("BEACON");
+ items.push_back("BUOY");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X3_RC2_IfcNavigationElementTypeEnum_type = new enumeration_type("IfcNavigationElementTypeEnum", 712, items);
+ }
+ IFC4X3_RC2_IfcNonNegativeLengthMeasure_type = new type_declaration("IfcNonNegativeLengthMeasure", 713, new named_type(IFC4X3_RC2_IfcLengthMeasure_type));
+ {
+ std::vector items; items.reserve(1);
+ items.push_back("NULL");
+ IFC4X3_RC2_IfcNullStyle_type = new enumeration_type("IfcNullStyle", 715, items);
+ }
+ IFC4X3_RC2_IfcNumericMeasure_type = new type_declaration("IfcNumericMeasure", 716, new simple_type(simple_type::number_type));
+ {
+ std::vector items; items.reserve(8);
+ items.push_back("ACTOR");
+ items.push_back("CONTROL");
+ items.push_back("GROUP");
+ items.push_back("NOTDEFINED");
+ items.push_back("PROCESS");
+ items.push_back("PRODUCT");
+ items.push_back("PROJECT");
+ items.push_back("RESOURCE");
+ IFC4X3_RC2_IfcObjectTypeEnum_type = new enumeration_type("IfcObjectTypeEnum", 723, items);
+ }
+ {
+ 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_RC2_IfcObjectiveEnum_type = new enumeration_type("IfcObjectiveEnum", 720, 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_RC2_IfcOccupantTypeEnum_type = new enumeration_type("IfcOccupantTypeEnum", 725, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("NOTDEFINED");
+ items.push_back("OPENING");
+ items.push_back("RECESS");
+ items.push_back("USERDEFINED");
+ IFC4X3_RC2_IfcOpeningElementTypeEnum_type = new enumeration_type("IfcOpeningElementTypeEnum", 732, 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_RC2_IfcOutletTypeEnum_type = new enumeration_type("IfcOutletTypeEnum", 741, items);
+ }
+ IFC4X3_RC2_IfcPHMeasure_type = new type_declaration("IfcPHMeasure", 757, new simple_type(simple_type::real_type));
+ IFC4X3_RC2_IfcParameterValue_type = new type_declaration("IfcParameterValue", 744, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X3_RC2_IfcPerformanceHistoryTypeEnum_type = new enumeration_type("IfcPerformanceHistoryTypeEnum", 750, 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_RC2_IfcPermeableCoveringOperationEnum_type = new enumeration_type("IfcPermeableCoveringOperationEnum", 751, 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_RC2_IfcPermitTypeEnum_type = new enumeration_type("IfcPermitTypeEnum", 754, items);
+ }
+ {
+ std::vector items; items.reserve(3);
+ items.push_back("NOTDEFINED");
+ items.push_back("PHYSICAL");
+ items.push_back("VIRTUAL");
+ IFC4X3_RC2_IfcPhysicalOrVirtualEnum_type = new enumeration_type("IfcPhysicalOrVirtualEnum", 759, 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_RC2_IfcPileConstructionEnum_type = new enumeration_type("IfcPileConstructionEnum", 763, 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_RC2_IfcPileTypeEnum_type = new enumeration_type("IfcPileTypeEnum", 765, 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_RC2_IfcPipeFittingTypeEnum_type = new enumeration_type("IfcPipeFittingTypeEnum", 768, 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_RC2_IfcPipeSegmentTypeEnum_type = new enumeration_type("IfcPipeSegmentTypeEnum", 771, items);
+ }
+ IFC4X3_RC2_IfcPlanarForceMeasure_type = new type_declaration("IfcPlanarForceMeasure", 776, new simple_type(simple_type::real_type));
+ IFC4X3_RC2_IfcPlaneAngleMeasure_type = new type_declaration("IfcPlaneAngleMeasure", 778, 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_RC2_IfcPlateTypeEnum_type = new enumeration_type("IfcPlateTypeEnum", 783, items);
+ }
+ IFC4X3_RC2_IfcPositiveInteger_type = new type_declaration("IfcPositiveInteger", 795, new named_type(IFC4X3_RC2_IfcInteger_type));
+ IFC4X3_RC2_IfcPositiveLengthMeasure_type = new type_declaration("IfcPositiveLengthMeasure", 796, new named_type(IFC4X3_RC2_IfcLengthMeasure_type));
+ IFC4X3_RC2_IfcPositivePlaneAngleMeasure_type = new type_declaration("IfcPositivePlaneAngleMeasure", 797, new named_type(IFC4X3_RC2_IfcPlaneAngleMeasure_type));
+ IFC4X3_RC2_IfcPowerMeasure_type = new type_declaration("IfcPowerMeasure", 800, 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_RC2_IfcPreferredSurfaceCurveRepresentation_type = new enumeration_type("IfcPreferredSurfaceCurveRepresentation", 807, items);
+ }
+ IFC4X3_RC2_IfcPresentableText_type = new type_declaration("IfcPresentableText", 808, new simple_type(simple_type::string_type));
+ IFC4X3_RC2_IfcPressureMeasure_type = new type_declaration("IfcPressureMeasure", 815, 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_RC2_IfcProcedureTypeEnum_type = new enumeration_type("IfcProcedureTypeEnum", 818, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("AREA");
+ items.push_back("CURVE");
+ IFC4X3_RC2_IfcProfileTypeEnum_type = new enumeration_type("IfcProfileTypeEnum", 828, 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_RC2_IfcProjectOrderTypeEnum_type = new enumeration_type("IfcProjectOrderTypeEnum", 836, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("PROJECTED_LENGTH");
+ items.push_back("TRUE_LENGTH");
+ IFC4X3_RC2_IfcProjectedOrTrueLengthEnum_type = new enumeration_type("IfcProjectedOrTrueLengthEnum", 831, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("BLISTER");
+ items.push_back("DEVIATOR");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X3_RC2_IfcProjectionElementTypeEnum_type = new enumeration_type("IfcProjectionElementTypeEnum", 833, items);
+ }
+ {
+ std::vector items; items.reserve(8);
+ items.push_back("NOTDEFINED");
+ items.push_back("PSET_OCCURRENCEDRIVEN");
+ items.push_back("PSET_PERFORMANCEDRIVEN");
+ 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_RC2_IfcPropertySetTemplateTypeEnum_type = new enumeration_type("IfcPropertySetTemplateTypeEnum", 851, 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_RC2_IfcProtectiveDeviceTrippingUnitTypeEnum_type = new enumeration_type("IfcProtectiveDeviceTrippingUnitTypeEnum", 859, 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_RC2_IfcProtectiveDeviceTypeEnum_type = new enumeration_type("IfcProtectiveDeviceTypeEnum", 861, 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_RC2_IfcPumpTypeEnum_type = new enumeration_type("IfcPumpTypeEnum", 865, items);
+ }
+ IFC4X3_RC2_IfcRadioActivityMeasure_type = new type_declaration("IfcRadioActivityMeasure", 873, 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_RC2_IfcRailTypeEnum_type = new enumeration_type("IfcRailTypeEnum", 879, 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_RC2_IfcRailingTypeEnum_type = new enumeration_type("IfcRailingTypeEnum", 877, items);
+ }
+ {
+ std::vector items; items.reserve(10);
+ items.push_back("DILATATIONSUPERSTRUCTURE");
+ items.push_back("LINESIDESTRUCTURE");
+ items.push_back("LINESIDESTRUCTUREPART");
+ items.push_back("NOTDEFINED");
+ items.push_back("PLAINTRACKSUPESTRUCTURE");
+ items.push_back("SUPERSTRUCTURE");
+ items.push_back("TRACKSTRUCTURE");
+ items.push_back("TRACKSTRUCTUREPART");
+ items.push_back("TURNOUTSUPERSTRUCTURE");
+ items.push_back("USERDEFINED");
+ IFC4X3_RC2_IfcRailwayPartTypeEnum_type = new enumeration_type("IfcRailwayPartTypeEnum", 881, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("NOTDEFINED");
+ items.push_back("SPIRAL");
+ items.push_back("STRAIGHT");
+ items.push_back("USERDEFINED");
+ IFC4X3_RC2_IfcRampFlightTypeEnum_type = new enumeration_type("IfcRampFlightTypeEnum", 885, 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_RC2_IfcRampTypeEnum_type = new enumeration_type("IfcRampTypeEnum", 887, items);
+ }
+ IFC4X3_RC2_IfcRatioMeasure_type = new type_declaration("IfcRatioMeasure", 888, new simple_type(simple_type::real_type));
+ IFC4X3_RC2_IfcReal_type = new type_declaration("IfcReal", 891, 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_RC2_IfcRecurrenceTypeEnum_type = new enumeration_type("IfcRecurrenceTypeEnum", 897, items);
+ }
+ {
+ std::vector items; items.reserve(6);
+ items.push_back("KILOPOINT");
+ items.push_back("MILEPOINT");
+ items.push_back("NOTDEFINED");
+ items.push_back("REFERENCEMARKER");
+ items.push_back("STATION");
+ items.push_back("USERDEFINED");
+ IFC4X3_RC2_IfcReferentTypeEnum_type = new enumeration_type("IfcReferentTypeEnum", 900, items);
+ }
+ {
+ std::vector items; items.reserve(10);
+ 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("PLASTIC");
+ items.push_back("STRAUSS");
+ IFC4X3_RC2_IfcReflectanceMethodEnum_type = new enumeration_type("IfcReflectanceMethodEnum", 901, 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_RC2_IfcReinforcedSoilTypeEnum_type = new enumeration_type("IfcReinforcedSoilTypeEnum", 904, 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_RC2_IfcReinforcingBarRoleEnum_type = new enumeration_type("IfcReinforcingBarRoleEnum", 908, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("PLAIN");
+ items.push_back("TEXTURED");
+ IFC4X3_RC2_IfcReinforcingBarSurfaceEnum_type = new enumeration_type("IfcReinforcingBarSurfaceEnum", 909, 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_RC2_IfcReinforcingBarTypeEnum_type = new enumeration_type("IfcReinforcingBarTypeEnum", 911, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X3_RC2_IfcReinforcingMeshTypeEnum_type = new enumeration_type("IfcReinforcingMeshTypeEnum", 916, 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_RC2_IfcRoadPartTypeEnum_type = new enumeration_type("IfcRoadPartTypeEnum", 984, 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_RC2_IfcRoleEnum_type = new enumeration_type("IfcRoleEnum", 985, 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_RC2_IfcRoofTypeEnum_type = new enumeration_type("IfcRoofTypeEnum", 988, items);
+ }
+ IFC4X3_RC2_IfcRotationalFrequencyMeasure_type = new type_declaration("IfcRotationalFrequencyMeasure", 990, new simple_type(simple_type::real_type));
+ IFC4X3_RC2_IfcRotationalMassMeasure_type = new type_declaration("IfcRotationalMassMeasure", 991, new simple_type(simple_type::real_type));
+ IFC4X3_RC2_IfcRotationalStiffnessMeasure_type = new type_declaration("IfcRotationalStiffnessMeasure", 992, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IFC4X3_RC2_IfcBoolean_type);
+ items.push_back(IFC4X3_RC2_IfcRotationalStiffnessMeasure_type);
+ IFC4X3_RC2_IfcRotationalStiffnessSelect_type = new select_type("IfcRotationalStiffnessSelect", 993, 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_RC2_IfcSIPrefix_type = new enumeration_type("IfcSIPrefix", 1036, 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_RC2_IfcSIUnitName_type = new enumeration_type("IfcSIUnitName", 1039, 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_RC2_IfcSanitaryTerminalTypeEnum_type = new enumeration_type("IfcSanitaryTerminalTypeEnum", 997, items);
+ }
+ IFC4X3_RC2_IfcSectionModulusMeasure_type = new type_declaration("IfcSectionModulusMeasure", 1005, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("TAPERED");
+ items.push_back("UNIFORM");
+ IFC4X3_RC2_IfcSectionTypeEnum_type = new enumeration_type("IfcSectionTypeEnum", 1008, items);
+ }
+ IFC4X3_RC2_IfcSectionalAreaIntegralMeasure_type = new type_declaration("IfcSectionalAreaIntegralMeasure", 1000, 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_RC2_IfcSensorTypeEnum_type = new enumeration_type("IfcSensorTypeEnum", 1014, 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_RC2_IfcSequenceEnum_type = new enumeration_type("IfcSequenceEnum", 1015, 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_RC2_IfcShadingDeviceTypeEnum_type = new enumeration_type("IfcShadingDeviceTypeEnum", 1019, items);
+ }
+ IFC4X3_RC2_IfcShearModulusMeasure_type = new type_declaration("IfcShearModulusMeasure", 1023, 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_RC2_IfcSignTypeEnum_type = new enumeration_type("IfcSignTypeEnum", 1031, 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_RC2_IfcSignalTypeEnum_type = new enumeration_type("IfcSignalTypeEnum", 1029, items);
+ }
+ {
+ std::vector items; items.reserve(12);
+ 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_TIME");
+ items.push_back("Q_VOLUME");
+ items.push_back("Q_WEIGHT");
+ IFC4X3_RC2_IfcSimplePropertyTemplateTypeEnum_type = new enumeration_type("IfcSimplePropertyTemplateTypeEnum", 1034, 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_RC2_IfcSlabTypeEnum_type = new enumeration_type("IfcSlabTypeEnum", 1045, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("NOTDEFINED");
+ items.push_back("SOLARCOLLECTOR");
+ items.push_back("SOLARPANEL");
+ items.push_back("USERDEFINED");
+ IFC4X3_RC2_IfcSolarDeviceTypeEnum_type = new enumeration_type("IfcSolarDeviceTypeEnum", 1049, items);
+ }
+ IFC4X3_RC2_IfcSolidAngleMeasure_type = new type_declaration("IfcSolidAngleMeasure", 1050, new simple_type(simple_type::real_type));
+ IFC4X3_RC2_IfcSoundPowerLevelMeasure_type = new type_declaration("IfcSoundPowerLevelMeasure", 1054, new simple_type(simple_type::real_type));
+ IFC4X3_RC2_IfcSoundPowerMeasure_type = new type_declaration("IfcSoundPowerMeasure", 1055, new simple_type(simple_type::real_type));
+ IFC4X3_RC2_IfcSoundPressureLevelMeasure_type = new type_declaration("IfcSoundPressureLevelMeasure", 1056, new simple_type(simple_type::real_type));
+ IFC4X3_RC2_IfcSoundPressureMeasure_type = new type_declaration("IfcSoundPressureMeasure", 1057, 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_RC2_IfcSpaceHeaterTypeEnum_type = new enumeration_type("IfcSpaceHeaterTypeEnum", 1062, items);
+ }
+ {
+ std::vector items; items.reserve(7);
+ 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_RC2_IfcSpaceTypeEnum_type = new enumeration_type("IfcSpaceTypeEnum", 1064, items);
+ }
+ {
+ std::vector items; items.reserve(11);
+ items.push_back("CONSTRUCTION");
+ items.push_back("FIRESAFETY");
+ 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_RC2_IfcSpatialZoneTypeEnum_type = new enumeration_type("IfcSpatialZoneTypeEnum", 1072, items);
+ }
+ IFC4X3_RC2_IfcSpecificHeatCapacityMeasure_type = new type_declaration("IfcSpecificHeatCapacityMeasure", 1073, new simple_type(simple_type::real_type));
+ IFC4X3_RC2_IfcSpecularExponent_type = new type_declaration("IfcSpecularExponent", 1074, new simple_type(simple_type::real_type));
+ IFC4X3_RC2_IfcSpecularRoughness_type = new type_declaration("IfcSpecularRoughness", 1076, 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_RC2_IfcStackTerminalTypeEnum_type = new enumeration_type("IfcStackTerminalTypeEnum", 1081, 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_RC2_IfcStairFlightTypeEnum_type = new enumeration_type("IfcStairFlightTypeEnum", 1085, 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_RC2_IfcStairTypeEnum_type = new enumeration_type("IfcStairTypeEnum", 1087, 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_RC2_IfcStateEnum_type = new enumeration_type("IfcStateEnum", 1088, items);
+ }
+ {
+ 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_RC2_IfcStructuralCurveActivityTypeEnum_type = new enumeration_type("IfcStructuralCurveActivityTypeEnum", 1096, 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_RC2_IfcStructuralCurveMemberTypeEnum_type = new enumeration_type("IfcStructuralCurveMemberTypeEnum", 1099, 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_RC2_IfcStructuralSurfaceActivityTypeEnum_type = new enumeration_type("IfcStructuralSurfaceActivityTypeEnum", 1125, 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_RC2_IfcStructuralSurfaceMemberTypeEnum_type = new enumeration_type("IfcStructuralSurfaceMemberTypeEnum", 1128, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("NOTDEFINED");
+ items.push_back("PURCHASE");
+ items.push_back("USERDEFINED");
+ items.push_back("WORK");
+ IFC4X3_RC2_IfcSubContractResourceTypeEnum_type = new enumeration_type("IfcSubContractResourceTypeEnum", 1137, 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_RC2_IfcSurfaceFeatureTypeEnum_type = new enumeration_type("IfcSurfaceFeatureTypeEnum", 1143, items);
+ }
+ {
+ std::vector items; items.reserve(3);
+ items.push_back("BOTH");
+ items.push_back("NEGATIVE");
+ items.push_back("POSITIVE");
+ IFC4X3_RC2_IfcSurfaceSide_type = new enumeration_type("IfcSurfaceSide", 1148, 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_RC2_IfcSwitchingDeviceTypeEnum_type = new enumeration_type("IfcSwitchingDeviceTypeEnum", 1163, 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_RC2_IfcSystemFurnitureElementTypeEnum_type = new enumeration_type("IfcSystemFurnitureElementTypeEnum", 1167, 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_RC2_IfcTankTypeEnum_type = new enumeration_type("IfcTankTypeEnum", 1173, items);
+ }
+ {
+ std::vector items; items.reserve(3);
+ items.push_back("ELAPSEDTIME");
+ items.push_back("NOTDEFINED");
+ items.push_back("WORKTIME");
+ IFC4X3_RC2_IfcTaskDurationEnum_type = new enumeration_type("IfcTaskDurationEnum", 1175, items);
+ }
+ {
+ std::vector items; items.reserve(14);
+ items.push_back("ATTENDANCE");
+ items.push_back("CONSTRUCTION");
+ items.push_back("DEMOLITION");
+ items.push_back("DISMANTLE");
+ items.push_back("DISPOSAL");
+ 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("USERDEFINED");
+ IFC4X3_RC2_IfcTaskTypeEnum_type = new enumeration_type("IfcTaskTypeEnum", 1179, items);
+ }
+ IFC4X3_RC2_IfcTemperatureGradientMeasure_type = new type_declaration("IfcTemperatureGradientMeasure", 1181, new simple_type(simple_type::real_type));
+ IFC4X3_RC2_IfcTemperatureRateOfChangeMeasure_type = new type_declaration("IfcTemperatureRateOfChangeMeasure", 1182, 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_RC2_IfcTendonAnchorTypeEnum_type = new enumeration_type("IfcTendonAnchorTypeEnum", 1186, 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_RC2_IfcTendonConduitTypeEnum_type = new enumeration_type("IfcTendonConduitTypeEnum", 1189, 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_RC2_IfcTendonTypeEnum_type = new enumeration_type("IfcTendonTypeEnum", 1191, items);
+ }
+ IFC4X3_RC2_IfcText_type = new type_declaration("IfcText", 1194, new simple_type(simple_type::string_type));
+ IFC4X3_RC2_IfcTextAlignment_type = new type_declaration("IfcTextAlignment", 1195, new simple_type(simple_type::string_type));
+ IFC4X3_RC2_IfcTextDecoration_type = new type_declaration("IfcTextDecoration", 1196, new simple_type(simple_type::string_type));
+ IFC4X3_RC2_IfcTextFontName_type = new type_declaration("IfcTextFontName", 1197, 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_RC2_IfcTextPath_type = new enumeration_type("IfcTextPath", 1201, items);
+ }
+ IFC4X3_RC2_IfcTextTransformation_type = new type_declaration("IfcTextTransformation", 1206, new simple_type(simple_type::string_type));
+ IFC4X3_RC2_IfcThermalAdmittanceMeasure_type = new type_declaration("IfcThermalAdmittanceMeasure", 1212, new simple_type(simple_type::real_type));
+ IFC4X3_RC2_IfcThermalConductivityMeasure_type = new type_declaration("IfcThermalConductivityMeasure", 1213, new simple_type(simple_type::real_type));
+ IFC4X3_RC2_IfcThermalExpansionCoefficientMeasure_type = new type_declaration("IfcThermalExpansionCoefficientMeasure", 1214, new simple_type(simple_type::real_type));
+ IFC4X3_RC2_IfcThermalResistanceMeasure_type = new type_declaration("IfcThermalResistanceMeasure", 1215, new simple_type(simple_type::real_type));
+ IFC4X3_RC2_IfcThermalTransmittanceMeasure_type = new type_declaration("IfcThermalTransmittanceMeasure", 1216, new simple_type(simple_type::real_type));
+ IFC4X3_RC2_IfcThermodynamicTemperatureMeasure_type = new type_declaration("IfcThermodynamicTemperatureMeasure", 1217, new simple_type(simple_type::real_type));
+ IFC4X3_RC2_IfcTime_type = new type_declaration("IfcTime", 1218, new simple_type(simple_type::string_type));
+ IFC4X3_RC2_IfcTimeMeasure_type = new type_declaration("IfcTimeMeasure", 1219, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IFC4X3_RC2_IfcDuration_type);
+ items.push_back(IFC4X3_RC2_IfcRatioMeasure_type);
+ IFC4X3_RC2_IfcTimeOrRatioSelect_type = new select_type("IfcTimeOrRatioSelect", 1220, 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_RC2_IfcTimeSeriesDataTypeEnum_type = new enumeration_type("IfcTimeSeriesDataTypeEnum", 1223, items);
+ }
+ IFC4X3_RC2_IfcTimeStamp_type = new type_declaration("IfcTimeStamp", 1225, new simple_type(simple_type::integer_type));
+ IFC4X3_RC2_IfcTorqueMeasure_type = new type_declaration("IfcTorqueMeasure", 1229, 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_RC2_IfcTrackElementTypeEnum_type = new enumeration_type("IfcTrackElementTypeEnum", 1232, 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_RC2_IfcTransformerTypeEnum_type = new enumeration_type("IfcTransformerTypeEnum", 1235, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("CONTINUOUS");
+ items.push_back("CONTSAMEGRADIENT");
+ items.push_back("CONTSAMEGRADIENTSAMECURVATURE");
+ items.push_back("DISCONTINUOUS");
+ IFC4X3_RC2_IfcTransitionCode_type = new enumeration_type("IfcTransitionCode", 1236, items);
+ }
+ {
+ std::vector items; items.reserve(6);
+ items.push_back("BIQUADRATICPARABOLA");
+ items.push_back("BLOSSCURVE");
+ items.push_back("CLOTHOIDCURVE");
+ items.push_back("COSINECURVE");
+ items.push_back("CUBICPARABOLA");
+ items.push_back("SINECURVE");
+ IFC4X3_RC2_IfcTransitionCurveType_type = new enumeration_type("IfcTransitionCurveType", 1238, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IFC4X3_RC2_IfcBoolean_type);
+ items.push_back(IFC4X3_RC2_IfcLinearStiffnessMeasure_type);
+ IFC4X3_RC2_IfcTranslationalStiffnessSelect_type = new select_type("IfcTranslationalStiffnessSelect", 1239, items);
+ }
+ {
+ std::vector items; items.reserve(7);
+ items.push_back("CRANEWAY");
+ items.push_back("ELEVATOR");
+ items.push_back("ESCALATOR");
+ items.push_back("LIFTINGGEAR");
+ items.push_back("MOVINGWALKWAY");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X3_RC2_IfcTransportElementFixedTypeEnum_type = new enumeration_type("IfcTransportElementFixedTypeEnum", 1241, items);
+ }
+ {
+ 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_RC2_IfcTransportElementNonFixedTypeEnum_type = new enumeration_type("IfcTransportElementNonFixedTypeEnum", 1242, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IFC4X3_RC2_IfcTransportElementFixedTypeEnum_type);
+ items.push_back(IFC4X3_RC2_IfcTransportElementNonFixedTypeEnum_type);
+ IFC4X3_RC2_IfcTransportElementTypeSelect_type = new select_type("IfcTransportElementTypeSelect", 1244, items);
+ }
+ {
+ std::vector items; items.reserve(3);
+ items.push_back("CARTESIAN");
+ items.push_back("PARAMETER");
+ items.push_back("UNSPECIFIED");
+ IFC4X3_RC2_IfcTrimmingPreference_type = new enumeration_type("IfcTrimmingPreference", 1249, items);
+ }
+ {
+ std::vector items; items.reserve(3);
+ items.push_back("FINNED");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X3_RC2_IfcTubeBundleTypeEnum_type = new enumeration_type("IfcTubeBundleTypeEnum", 1254, items);
+ }
+ IFC4X3_RC2_IfcURIReference_type = new type_declaration("IfcURIReference", 1268, 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_RC2_IfcUnitEnum_type = new enumeration_type("IfcUnitEnum", 1267, items);
+ }
+ {
+ std::vector items; items.reserve(11);
+ items.push_back("ALARMPANEL");
+ 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_RC2_IfcUnitaryControlElementTypeEnum_type = new enumeration_type("IfcUnitaryControlElementTypeEnum", 1262, 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_RC2_IfcUnitaryEquipmentTypeEnum_type = new enumeration_type("IfcUnitaryEquipmentTypeEnum", 1265, 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_RC2_IfcValveTypeEnum_type = new enumeration_type("IfcValveTypeEnum", 1273, items);
+ }
+ IFC4X3_RC2_IfcVaporPermeabilityMeasure_type = new type_declaration("IfcVaporPermeabilityMeasure", 1274, new simple_type(simple_type::real_type));
+ {
+ 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_RC2_IfcVibrationDamperTypeEnum_type = new enumeration_type("IfcVibrationDamperTypeEnum", 1282, 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_RC2_IfcVibrationIsolatorTypeEnum_type = new enumeration_type("IfcVibrationIsolatorTypeEnum", 1285, 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_RC2_IfcVoidingFeatureTypeEnum_type = new enumeration_type("IfcVoidingFeatureTypeEnum", 1289, items);
+ }
+ IFC4X3_RC2_IfcVolumeMeasure_type = new type_declaration("IfcVolumeMeasure", 1291, new simple_type(simple_type::real_type));
+ IFC4X3_RC2_IfcVolumetricFlowRateMeasure_type = new type_declaration("IfcVolumetricFlowRateMeasure", 1292, 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_RC2_IfcWallTypeEnum_type = new enumeration_type("IfcWallTypeEnum", 1297, items);
+ }
+ IFC4X3_RC2_IfcWarpingConstantMeasure_type = new type_declaration("IfcWarpingConstantMeasure", 1298, new simple_type(simple_type::real_type));
+ IFC4X3_RC2_IfcWarpingMomentMeasure_type = new type_declaration("IfcWarpingMomentMeasure", 1299, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IFC4X3_RC2_IfcBoolean_type);
+ items.push_back(IFC4X3_RC2_IfcWarpingMomentMeasure_type);
+ IFC4X3_RC2_IfcWarpingStiffnessSelect_type = new select_type("IfcWarpingStiffnessSelect", 1300, 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_RC2_IfcWasteTerminalTypeEnum_type = new enumeration_type("IfcWasteTerminalTypeEnum", 1303, items);
+ }
+ {
+ 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_RC2_IfcWindowPanelOperationEnum_type = new enumeration_type("IfcWindowPanelOperationEnum", 1307, 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_RC2_IfcWindowPanelPositionEnum_type = new enumeration_type("IfcWindowPanelPositionEnum", 1308, items);
+ }
+ {
+ std::vector items; items.reserve(8);
+ items.push_back("ALUMINIUM");
+ items.push_back("ALUMINIUM_WOOD");
+ items.push_back("HIGH_GRADE_STEEL");
+ items.push_back("NOTDEFINED");
+ items.push_back("OTHER_CONSTRUCTION");
+ items.push_back("PLASTIC");
+ items.push_back("STEEL");
+ items.push_back("WOOD");
+ IFC4X3_RC2_IfcWindowStyleConstructionEnum_type = new enumeration_type("IfcWindowStyleConstructionEnum", 1312, 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_RC2_IfcWindowStyleOperationEnum_type = new enumeration_type("IfcWindowStyleOperationEnum", 1313, 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_RC2_IfcWindowTypeEnum_type = new enumeration_type("IfcWindowTypeEnum", 1315, 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_RC2_IfcWindowTypePartitioningEnum_type = new enumeration_type("IfcWindowTypePartitioningEnum", 1316, 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_RC2_IfcWorkCalendarTypeEnum_type = new enumeration_type("IfcWorkCalendarTypeEnum", 1318, 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_RC2_IfcWorkPlanTypeEnum_type = new enumeration_type("IfcWorkPlanTypeEnum", 1321, 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_RC2_IfcWorkScheduleTypeEnum_type = new enumeration_type("IfcWorkScheduleTypeEnum", 1323, items);
+ }
+ IFC4X3_RC2_IfcActorRole_type = new entity("IfcActorRole", false, 7, 0);
+ IFC4X3_RC2_IfcAddress_type = new entity("IfcAddress", true, 12, 0);
+ IFC4X3_RC2_IfcAlignmentParameterSegment_type = new entity("IfcAlignmentParameterSegment", true, 40, 0);
+ IFC4X3_RC2_IfcAlignmentVerticalSegment_type = new entity("IfcAlignmentVerticalSegment", false, 44, IFC4X3_RC2_IfcAlignmentParameterSegment_type);
+ IFC4X3_RC2_IfcApplication_type = new entity("IfcApplication", false, 53, 0);
+ IFC4X3_RC2_IfcAppliedValue_type = new entity("IfcAppliedValue", false, 54, 0);
+ IFC4X3_RC2_IfcApproval_type = new entity("IfcApproval", false, 56, 0);
+ IFC4X3_RC2_IfcBoundaryCondition_type = new entity("IfcBoundaryCondition", true, 100, 0);
+ IFC4X3_RC2_IfcBoundaryEdgeCondition_type = new entity("IfcBoundaryEdgeCondition", false, 102, IFC4X3_RC2_IfcBoundaryCondition_type);
+ IFC4X3_RC2_IfcBoundaryFaceCondition_type = new entity("IfcBoundaryFaceCondition", false, 103, IFC4X3_RC2_IfcBoundaryCondition_type);
+ IFC4X3_RC2_IfcBoundaryNodeCondition_type = new entity("IfcBoundaryNodeCondition", false, 104, IFC4X3_RC2_IfcBoundaryCondition_type);
+ IFC4X3_RC2_IfcBoundaryNodeConditionWarping_type = new entity("IfcBoundaryNodeConditionWarping", false, 105, IFC4X3_RC2_IfcBoundaryNodeCondition_type);
+ IFC4X3_RC2_IfcConnectionGeometry_type = new entity("IfcConnectionGeometry", true, 216, 0);
+ IFC4X3_RC2_IfcConnectionPointGeometry_type = new entity("IfcConnectionPointGeometry", false, 218, IFC4X3_RC2_IfcConnectionGeometry_type);
+ IFC4X3_RC2_IfcConnectionSurfaceGeometry_type = new entity("IfcConnectionSurfaceGeometry", false, 219, IFC4X3_RC2_IfcConnectionGeometry_type);
+ IFC4X3_RC2_IfcConnectionVolumeGeometry_type = new entity("IfcConnectionVolumeGeometry", false, 221, IFC4X3_RC2_IfcConnectionGeometry_type);
+ IFC4X3_RC2_IfcConstraint_type = new entity("IfcConstraint", true, 222, 0);
+ IFC4X3_RC2_IfcCoordinateOperation_type = new entity("IfcCoordinateOperation", true, 253, 0);
+ IFC4X3_RC2_IfcCoordinateReferenceSystem_type = new entity("IfcCoordinateReferenceSystem", true, 254, 0);
+ IFC4X3_RC2_IfcCostValue_type = new entity("IfcCostValue", false, 260, IFC4X3_RC2_IfcAppliedValue_type);
+ IFC4X3_RC2_IfcDerivedUnit_type = new entity("IfcDerivedUnit", false, 309, 0);
+ IFC4X3_RC2_IfcDerivedUnitElement_type = new entity("IfcDerivedUnitElement", false, 310, 0);
+ IFC4X3_RC2_IfcDimensionalExponents_type = new entity("IfcDimensionalExponents", false, 313, 0);
+ IFC4X3_RC2_IfcExternalInformation_type = new entity("IfcExternalInformation", true, 436, 0);
+ IFC4X3_RC2_IfcExternalReference_type = new entity("IfcExternalReference", true, 440, 0);
+ IFC4X3_RC2_IfcExternallyDefinedHatchStyle_type = new entity("IfcExternallyDefinedHatchStyle", false, 437, IFC4X3_RC2_IfcExternalReference_type);
+ IFC4X3_RC2_IfcExternallyDefinedSurfaceStyle_type = new entity("IfcExternallyDefinedSurfaceStyle", false, 438, IFC4X3_RC2_IfcExternalReference_type);
+ IFC4X3_RC2_IfcExternallyDefinedTextFont_type = new entity("IfcExternallyDefinedTextFont", false, 439, IFC4X3_RC2_IfcExternalReference_type);
+ IFC4X3_RC2_IfcGridAxis_type = new entity("IfcGridAxis", false, 533, 0);
+ IFC4X3_RC2_IfcIrregularTimeSeriesValue_type = new entity("IfcIrregularTimeSeriesValue", false, 575, 0);
+ IFC4X3_RC2_IfcLibraryInformation_type = new entity("IfcLibraryInformation", false, 597, IFC4X3_RC2_IfcExternalInformation_type);
+ IFC4X3_RC2_IfcLibraryReference_type = new entity("IfcLibraryReference", false, 598, IFC4X3_RC2_IfcExternalReference_type);
+ IFC4X3_RC2_IfcLightDistributionData_type = new entity("IfcLightDistributionData", false, 601, 0);
+ IFC4X3_RC2_IfcLightIntensityDistribution_type = new entity("IfcLightIntensityDistribution", false, 607, 0);
+ IFC4X3_RC2_IfcMapConversion_type = new entity("IfcMapConversion", false, 643, IFC4X3_RC2_IfcCoordinateOperation_type);
+ IFC4X3_RC2_IfcMaterialClassificationRelationship_type = new entity("IfcMaterialClassificationRelationship", false, 653, 0);
+ IFC4X3_RC2_IfcMaterialDefinition_type = new entity("IfcMaterialDefinition", true, 656, 0);
+ IFC4X3_RC2_IfcMaterialLayer_type = new entity("IfcMaterialLayer", false, 658, IFC4X3_RC2_IfcMaterialDefinition_type);
+ IFC4X3_RC2_IfcMaterialLayerSet_type = new entity("IfcMaterialLayerSet", false, 659, IFC4X3_RC2_IfcMaterialDefinition_type);
+ IFC4X3_RC2_IfcMaterialLayerWithOffsets_type = new entity("IfcMaterialLayerWithOffsets", false, 661, IFC4X3_RC2_IfcMaterialLayer_type);
+ IFC4X3_RC2_IfcMaterialList_type = new entity("IfcMaterialList", false, 662, 0);
+ IFC4X3_RC2_IfcMaterialProfile_type = new entity("IfcMaterialProfile", false, 663, IFC4X3_RC2_IfcMaterialDefinition_type);
+ IFC4X3_RC2_IfcMaterialProfileSet_type = new entity("IfcMaterialProfileSet", false, 664, IFC4X3_RC2_IfcMaterialDefinition_type);
+ IFC4X3_RC2_IfcMaterialProfileWithOffsets_type = new entity("IfcMaterialProfileWithOffsets", false, 667, IFC4X3_RC2_IfcMaterialProfile_type);
+ IFC4X3_RC2_IfcMaterialUsageDefinition_type = new entity("IfcMaterialUsageDefinition", true, 671, 0);
+ IFC4X3_RC2_IfcMeasureWithUnit_type = new entity("IfcMeasureWithUnit", false, 673, 0);
+ IFC4X3_RC2_IfcMetric_type = new entity("IfcMetric", false, 684, IFC4X3_RC2_IfcConstraint_type);
+ IFC4X3_RC2_IfcMonetaryUnit_type = new entity("IfcMonetaryUnit", false, 701, 0);
+ IFC4X3_RC2_IfcNamedUnit_type = new entity("IfcNamedUnit", true, 709, 0);
+ IFC4X3_RC2_IfcObjectPlacement_type = new entity("IfcObjectPlacement", true, 721, 0);
+ IFC4X3_RC2_IfcObjective_type = new entity("IfcObjective", false, 719, IFC4X3_RC2_IfcConstraint_type);
+ IFC4X3_RC2_IfcOrganization_type = new entity("IfcOrganization", false, 735, 0);
+ IFC4X3_RC2_IfcOwnerHistory_type = new entity("IfcOwnerHistory", false, 742, 0);
+ IFC4X3_RC2_IfcPerson_type = new entity("IfcPerson", false, 755, 0);
+ IFC4X3_RC2_IfcPersonAndOrganization_type = new entity("IfcPersonAndOrganization", false, 756, 0);
+ IFC4X3_RC2_IfcPhysicalQuantity_type = new entity("IfcPhysicalQuantity", true, 760, 0);
+ IFC4X3_RC2_IfcPhysicalSimpleQuantity_type = new entity("IfcPhysicalSimpleQuantity", true, 761, IFC4X3_RC2_IfcPhysicalQuantity_type);
+ IFC4X3_RC2_IfcPostalAddress_type = new entity("IfcPostalAddress", false, 799, IFC4X3_RC2_IfcAddress_type);
+ IFC4X3_RC2_IfcPresentationItem_type = new entity("IfcPresentationItem", true, 809, 0);
+ IFC4X3_RC2_IfcPresentationLayerAssignment_type = new entity("IfcPresentationLayerAssignment", false, 810, 0);
+ IFC4X3_RC2_IfcPresentationLayerWithStyle_type = new entity("IfcPresentationLayerWithStyle", false, 811, IFC4X3_RC2_IfcPresentationLayerAssignment_type);
+ IFC4X3_RC2_IfcPresentationStyle_type = new entity("IfcPresentationStyle", true, 812, 0);
+ IFC4X3_RC2_IfcPresentationStyleAssignment_type = new entity("IfcPresentationStyleAssignment", false, 813, 0);
+ IFC4X3_RC2_IfcProductRepresentation_type = new entity("IfcProductRepresentation", true, 823, 0);
+ IFC4X3_RC2_IfcProfileDef_type = new entity("IfcProfileDef", false, 826, 0);
+ IFC4X3_RC2_IfcProjectedCRS_type = new entity("IfcProjectedCRS", false, 830, IFC4X3_RC2_IfcCoordinateReferenceSystem_type);
+ IFC4X3_RC2_IfcPropertyAbstraction_type = new entity("IfcPropertyAbstraction", true, 838, 0);
+ IFC4X3_RC2_IfcPropertyEnumeration_type = new entity("IfcPropertyEnumeration", false, 843, IFC4X3_RC2_IfcPropertyAbstraction_type);
+ IFC4X3_RC2_IfcQuantityArea_type = new entity("IfcQuantityArea", false, 866, IFC4X3_RC2_IfcPhysicalSimpleQuantity_type);
+ IFC4X3_RC2_IfcQuantityCount_type = new entity("IfcQuantityCount", false, 867, IFC4X3_RC2_IfcPhysicalSimpleQuantity_type);
+ IFC4X3_RC2_IfcQuantityLength_type = new entity("IfcQuantityLength", false, 868, IFC4X3_RC2_IfcPhysicalSimpleQuantity_type);
+ IFC4X3_RC2_IfcQuantityTime_type = new entity("IfcQuantityTime", false, 870, IFC4X3_RC2_IfcPhysicalSimpleQuantity_type);
+ IFC4X3_RC2_IfcQuantityVolume_type = new entity("IfcQuantityVolume", false, 871, IFC4X3_RC2_IfcPhysicalSimpleQuantity_type);
+ IFC4X3_RC2_IfcQuantityWeight_type = new entity("IfcQuantityWeight", false, 872, IFC4X3_RC2_IfcPhysicalSimpleQuantity_type);
+ IFC4X3_RC2_IfcRecurrencePattern_type = new entity("IfcRecurrencePattern", false, 896, 0);
+ IFC4X3_RC2_IfcReference_type = new entity("IfcReference", false, 898, 0);
+ IFC4X3_RC2_IfcRepresentation_type = new entity("IfcRepresentation", true, 968, 0);
+ IFC4X3_RC2_IfcRepresentationContext_type = new entity("IfcRepresentationContext", true, 969, 0);
+ IFC4X3_RC2_IfcRepresentationItem_type = new entity("IfcRepresentationItem", true, 970, 0);
+ IFC4X3_RC2_IfcRepresentationMap_type = new entity("IfcRepresentationMap", false, 971, 0);
+ IFC4X3_RC2_IfcResourceLevelRelationship_type = new entity("IfcResourceLevelRelationship", true, 975, 0);
+ IFC4X3_RC2_IfcRoot_type = new entity("IfcRoot", true, 989, 0);
+ IFC4X3_RC2_IfcSIUnit_type = new entity("IfcSIUnit", false, 1038, IFC4X3_RC2_IfcNamedUnit_type);
+ IFC4X3_RC2_IfcSchedulingTime_type = new entity("IfcSchedulingTime", true, 998, 0);
+ IFC4X3_RC2_IfcShapeAspect_type = new entity("IfcShapeAspect", false, 1020, 0);
+ IFC4X3_RC2_IfcShapeModel_type = new entity("IfcShapeModel", true, 1021, IFC4X3_RC2_IfcRepresentation_type);
+ IFC4X3_RC2_IfcShapeRepresentation_type = new entity("IfcShapeRepresentation", false, 1022, IFC4X3_RC2_IfcShapeModel_type);
+ IFC4X3_RC2_IfcStructuralConnectionCondition_type = new entity("IfcStructuralConnectionCondition", true, 1094, 0);
+ IFC4X3_RC2_IfcStructuralLoad_type = new entity("IfcStructuralLoad", true, 1104, 0);
+ IFC4X3_RC2_IfcStructuralLoadConfiguration_type = new entity("IfcStructuralLoadConfiguration", false, 1106, IFC4X3_RC2_IfcStructuralLoad_type);
+ IFC4X3_RC2_IfcStructuralLoadOrResult_type = new entity("IfcStructuralLoadOrResult", true, 1109, IFC4X3_RC2_IfcStructuralLoad_type);
+ IFC4X3_RC2_IfcStructuralLoadStatic_type = new entity("IfcStructuralLoadStatic", true, 1115, IFC4X3_RC2_IfcStructuralLoadOrResult_type);
+ IFC4X3_RC2_IfcStructuralLoadTemperature_type = new entity("IfcStructuralLoadTemperature", false, 1116, IFC4X3_RC2_IfcStructuralLoadStatic_type);
+ IFC4X3_RC2_IfcStyleModel_type = new entity("IfcStyleModel", true, 1134, IFC4X3_RC2_IfcRepresentation_type);
+ IFC4X3_RC2_IfcStyledItem_type = new entity("IfcStyledItem", false, 1132, IFC4X3_RC2_IfcRepresentationItem_type);
+ IFC4X3_RC2_IfcStyledRepresentation_type = new entity("IfcStyledRepresentation", false, 1133, IFC4X3_RC2_IfcStyleModel_type);
+ IFC4X3_RC2_IfcSurfaceReinforcementArea_type = new entity("IfcSurfaceReinforcementArea", false, 1147, IFC4X3_RC2_IfcStructuralLoadOrResult_type);
+ IFC4X3_RC2_IfcSurfaceStyle_type = new entity("IfcSurfaceStyle", false, 1149, IFC4X3_RC2_IfcPresentationStyle_type);
+ IFC4X3_RC2_IfcSurfaceStyleLighting_type = new entity("IfcSurfaceStyleLighting", false, 1151, IFC4X3_RC2_IfcPresentationItem_type);
+ IFC4X3_RC2_IfcSurfaceStyleRefraction_type = new entity("IfcSurfaceStyleRefraction", false, 1152, IFC4X3_RC2_IfcPresentationItem_type);
+ IFC4X3_RC2_IfcSurfaceStyleShading_type = new entity("IfcSurfaceStyleShading", false, 1154, IFC4X3_RC2_IfcPresentationItem_type);
+ IFC4X3_RC2_IfcSurfaceStyleWithTextures_type = new entity("IfcSurfaceStyleWithTextures", false, 1155, IFC4X3_RC2_IfcPresentationItem_type);
+ IFC4X3_RC2_IfcSurfaceTexture_type = new entity("IfcSurfaceTexture", true, 1156, IFC4X3_RC2_IfcPresentationItem_type);
+ IFC4X3_RC2_IfcTable_type = new entity("IfcTable", false, 1168, 0);
+ IFC4X3_RC2_IfcTableColumn_type = new entity("IfcTableColumn", false, 1169, 0);
+ IFC4X3_RC2_IfcTableRow_type = new entity("IfcTableRow", false, 1170, 0);
+ IFC4X3_RC2_IfcTaskTime_type = new entity("IfcTaskTime", false, 1176, IFC4X3_RC2_IfcSchedulingTime_type);
+ IFC4X3_RC2_IfcTaskTimeRecurring_type = new entity("IfcTaskTimeRecurring", false, 1177, IFC4X3_RC2_IfcTaskTime_type);
+ IFC4X3_RC2_IfcTelecomAddress_type = new entity("IfcTelecomAddress", false, 1180, IFC4X3_RC2_IfcAddress_type);
+ IFC4X3_RC2_IfcTextStyle_type = new entity("IfcTextStyle", false, 1202, IFC4X3_RC2_IfcPresentationStyle_type);
+ IFC4X3_RC2_IfcTextStyleForDefinedFont_type = new entity("IfcTextStyleForDefinedFont", false, 1204, IFC4X3_RC2_IfcPresentationItem_type);
+ IFC4X3_RC2_IfcTextStyleTextModel_type = new entity("IfcTextStyleTextModel", false, 1205, IFC4X3_RC2_IfcPresentationItem_type);
+ IFC4X3_RC2_IfcTextureCoordinate_type = new entity("IfcTextureCoordinate", true, 1207, IFC4X3_RC2_IfcPresentationItem_type);
+ IFC4X3_RC2_IfcTextureCoordinateGenerator_type = new entity("IfcTextureCoordinateGenerator", false, 1208, IFC4X3_RC2_IfcTextureCoordinate_type);
+ IFC4X3_RC2_IfcTextureMap_type = new entity("IfcTextureMap", false, 1209, IFC4X3_RC2_IfcTextureCoordinate_type);
+ IFC4X3_RC2_IfcTextureVertex_type = new entity("IfcTextureVertex", false, 1210, IFC4X3_RC2_IfcPresentationItem_type);
+ IFC4X3_RC2_IfcTextureVertexList_type = new entity("IfcTextureVertexList", false, 1211, IFC4X3_RC2_IfcPresentationItem_type);
+ IFC4X3_RC2_IfcTimePeriod_type = new entity("IfcTimePeriod", false, 1221, 0);
+ IFC4X3_RC2_IfcTimeSeries_type = new entity("IfcTimeSeries", true, 1222, 0);
+ IFC4X3_RC2_IfcTimeSeriesValue_type = new entity("IfcTimeSeriesValue", false, 1224, 0);
+ IFC4X3_RC2_IfcTopologicalRepresentationItem_type = new entity("IfcTopologicalRepresentationItem", true, 1226, IFC4X3_RC2_IfcRepresentationItem_type);
+ IFC4X3_RC2_IfcTopologyRepresentation_type = new entity("IfcTopologyRepresentation", false, 1227, IFC4X3_RC2_IfcShapeModel_type);
+ IFC4X3_RC2_IfcUnitAssignment_type = new entity("IfcUnitAssignment", false, 1266, 0);
+ IFC4X3_RC2_IfcVertex_type = new entity("IfcVertex", false, 1277, IFC4X3_RC2_IfcTopologicalRepresentationItem_type);
+ IFC4X3_RC2_IfcVertexPoint_type = new entity("IfcVertexPoint", false, 1279, IFC4X3_RC2_IfcVertex_type);
+ IFC4X3_RC2_IfcVirtualGridIntersection_type = new entity("IfcVirtualGridIntersection", false, 1287, 0);
+ IFC4X3_RC2_IfcWorkTime_type = new entity("IfcWorkTime", false, 1324, IFC4X3_RC2_IfcSchedulingTime_type);
+ {
+ std::vector items; items.reserve(3);
+ items.push_back(IFC4X3_RC2_IfcOrganization_type);
+ items.push_back(IFC4X3_RC2_IfcPerson_type);
+ items.push_back(IFC4X3_RC2_IfcPersonAndOrganization_type);
+ IFC4X3_RC2_IfcActorSelect_type = new select_type("IfcActorSelect", 8, items);
+ }
+ IFC4X3_RC2_IfcArcIndex_type = new type_declaration("IfcArcIndex", 61, new aggregation_type(aggregation_type::list_type, 3, 3, new named_type(IFC4X3_RC2_IfcPositiveInteger_type)));
+ {
+ std::vector