diff --git a/src/ifcparse/Ifc4x3-definitions.h b/src/ifcparse/Ifc4x3-definitions.h
new file mode 100644
index 0000000000..cfab4fc05e
--- /dev/null
+++ b/src/ifcparse/Ifc4x3-definitions.h
@@ -0,0 +1,4028 @@
+/********************************************************************************
+ * *
+ * 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_IfcFacilityUsageEnum
+#define SCHEMA_HAS_IfcFanTypeEnum
+#define SCHEMA_HAS_IfcFastenerTypeEnum
+#define SCHEMA_HAS_IfcFillStyleSelect
+#define SCHEMA_HAS_IfcFilterTypeEnum
+#define SCHEMA_HAS_IfcFireSuppressionTerminalTypeEnum
+#define SCHEMA_HAS_IfcFlowDirectionEnum
+#define SCHEMA_HAS_IfcFlowInstrumentTypeEnum
+#define SCHEMA_HAS_IfcFlowMeterTypeEnum
+#define SCHEMA_HAS_IfcFontStyle
+#define SCHEMA_HAS_IfcFontVariant
+#define SCHEMA_HAS_IfcFontWeight
+#define SCHEMA_HAS_IfcFootingTypeEnum
+#define SCHEMA_HAS_IfcForceMeasure
+#define SCHEMA_HAS_IfcFrequencyMeasure
+#define SCHEMA_HAS_IfcFurnitureTypeEnum
+#define SCHEMA_HAS_IfcGeographicElementTypeEnum
+#define SCHEMA_HAS_IfcGeometricProjectionEnum
+#define SCHEMA_HAS_IfcGeometricSetSelect
+#define SCHEMA_HAS_IfcGeotechnicalStratumTypeEnum
+#define SCHEMA_HAS_IfcGlobalOrLocalEnum
+#define SCHEMA_HAS_IfcGloballyUniqueId
+#define SCHEMA_HAS_IfcGridPlacementDirectionSelect
+#define SCHEMA_HAS_IfcGridTypeEnum
+#define SCHEMA_HAS_IfcHatchLineDistanceSelect
+#define SCHEMA_HAS_IfcHeatExchangerTypeEnum
+#define SCHEMA_HAS_IfcHeatFluxDensityMeasure
+#define SCHEMA_HAS_IfcHeatingValueMeasure
+#define SCHEMA_HAS_IfcHumidifierTypeEnum
+#define SCHEMA_HAS_IfcIdentifier
+#define SCHEMA_HAS_IfcIlluminanceMeasure
+#define SCHEMA_HAS_IfcImpactProtectionDeviceTypeEnum
+#define SCHEMA_HAS_IfcInductanceMeasure
+#define SCHEMA_HAS_IfcInteger
+#define SCHEMA_HAS_IfcIntegerCountRateMeasure
+#define SCHEMA_HAS_IfcInterceptorTypeEnum
+#define SCHEMA_HAS_IfcInterferenceSelect
+#define SCHEMA_HAS_IfcInternalOrExternalEnum
+#define SCHEMA_HAS_IfcInventoryTypeEnum
+#define SCHEMA_HAS_IfcIonConcentrationMeasure
+#define SCHEMA_HAS_IfcIsothermalMoistureCapacityMeasure
+#define SCHEMA_HAS_IfcJunctionBoxTypeEnum
+#define SCHEMA_HAS_IfcKinematicViscosityMeasure
+#define SCHEMA_HAS_IfcKnotType
+#define SCHEMA_HAS_IfcLabel
+#define SCHEMA_HAS_IfcLaborResourceTypeEnum
+#define SCHEMA_HAS_IfcLampTypeEnum
+#define SCHEMA_HAS_IfcLanguageId
+#define SCHEMA_HAS_IfcLayerSetDirectionEnum
+#define SCHEMA_HAS_IfcLayeredItem
+#define SCHEMA_HAS_IfcLengthMeasure
+#define SCHEMA_HAS_IfcLibrarySelect
+#define SCHEMA_HAS_IfcLightDistributionCurveEnum
+#define SCHEMA_HAS_IfcLightDistributionDataSourceSelect
+#define SCHEMA_HAS_IfcLightEmissionSourceEnum
+#define SCHEMA_HAS_IfcLightFixtureTypeEnum
+#define SCHEMA_HAS_IfcLineIndex
+#define SCHEMA_HAS_IfcLinearForceMeasure
+#define SCHEMA_HAS_IfcLinearMomentMeasure
+#define SCHEMA_HAS_IfcLinearStiffnessMeasure
+#define SCHEMA_HAS_IfcLinearVelocityMeasure
+#define SCHEMA_HAS_IfcLiquidTerminalTypeEnum
+#define SCHEMA_HAS_IfcLoadGroupTypeEnum
+#define SCHEMA_HAS_IfcLogical
+#define SCHEMA_HAS_IfcLogicalOperatorEnum
+#define SCHEMA_HAS_IfcLuminousFluxMeasure
+#define SCHEMA_HAS_IfcLuminousIntensityDistributionMeasure
+#define SCHEMA_HAS_IfcLuminousIntensityMeasure
+#define SCHEMA_HAS_IfcMagneticFluxDensityMeasure
+#define SCHEMA_HAS_IfcMagneticFluxMeasure
+#define SCHEMA_HAS_IfcMarineFacilityTypeEnum
+#define SCHEMA_HAS_IfcMarinePartTypeEnum
+#define SCHEMA_HAS_IfcMassDensityMeasure
+#define SCHEMA_HAS_IfcMassFlowRateMeasure
+#define SCHEMA_HAS_IfcMassMeasure
+#define SCHEMA_HAS_IfcMassPerLengthMeasure
+#define SCHEMA_HAS_IfcMaterialSelect
+#define SCHEMA_HAS_IfcMeasureValue
+#define SCHEMA_HAS_IfcMechanicalFastenerTypeEnum
+#define SCHEMA_HAS_IfcMedicalDeviceTypeEnum
+#define SCHEMA_HAS_IfcMemberTypeEnum
+#define SCHEMA_HAS_IfcMetricValueSelect
+#define SCHEMA_HAS_IfcMobileTelecommunicationsApplianceTypeEnum
+#define SCHEMA_HAS_IfcModulusOfElasticityMeasure
+#define SCHEMA_HAS_IfcModulusOfLinearSubgradeReactionMeasure
+#define SCHEMA_HAS_IfcModulusOfRotationalSubgradeReactionMeasure
+#define SCHEMA_HAS_IfcModulusOfRotationalSubgradeReactionSelect
+#define SCHEMA_HAS_IfcModulusOfSubgradeReactionMeasure
+#define SCHEMA_HAS_IfcModulusOfSubgradeReactionSelect
+#define SCHEMA_HAS_IfcModulusOfTranslationalSubgradeReactionSelect
+#define SCHEMA_HAS_IfcMoistureDiffusivityMeasure
+#define SCHEMA_HAS_IfcMolecularWeightMeasure
+#define SCHEMA_HAS_IfcMomentOfInertiaMeasure
+#define SCHEMA_HAS_IfcMonetaryMeasure
+#define SCHEMA_HAS_IfcMonthInYearNumber
+#define SCHEMA_HAS_IfcMooringDeviceTypeEnum
+#define SCHEMA_HAS_IfcMotorConnectionTypeEnum
+#define SCHEMA_HAS_IfcNavigationElementTypeEnum
+#define SCHEMA_HAS_IfcNonNegativeLengthMeasure
+#define SCHEMA_HAS_IfcNormalisedRatioMeasure
+#define SCHEMA_HAS_IfcNumericMeasure
+#define SCHEMA_HAS_IfcObjectReferenceSelect
+#define SCHEMA_HAS_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_IfcPavementTypeEnum
+#define SCHEMA_HAS_IfcPerformanceHistoryTypeEnum
+#define SCHEMA_HAS_IfcPermeableCoveringOperationEnum
+#define SCHEMA_HAS_IfcPermitTypeEnum
+#define SCHEMA_HAS_IfcPhysicalOrVirtualEnum
+#define SCHEMA_HAS_IfcPileConstructionEnum
+#define SCHEMA_HAS_IfcPileTypeEnum
+#define SCHEMA_HAS_IfcPipeFittingTypeEnum
+#define SCHEMA_HAS_IfcPipeSegmentTypeEnum
+#define SCHEMA_HAS_IfcPlanarForceMeasure
+#define SCHEMA_HAS_IfcPlaneAngleMeasure
+#define SCHEMA_HAS_IfcPlateTypeEnum
+#define SCHEMA_HAS_IfcPointOrVertexPoint
+#define SCHEMA_HAS_IfcPositiveInteger
+#define SCHEMA_HAS_IfcPositiveLengthMeasure
+#define SCHEMA_HAS_IfcPositivePlaneAngleMeasure
+#define SCHEMA_HAS_IfcPositiveRatioMeasure
+#define SCHEMA_HAS_IfcPowerMeasure
+#define SCHEMA_HAS_IfcPreferredSurfaceCurveRepresentation
+#define SCHEMA_HAS_IfcPresentableText
+#define SCHEMA_HAS_IfcPressureMeasure
+#define SCHEMA_HAS_IfcProcedureTypeEnum
+#define SCHEMA_HAS_IfcProcessSelect
+#define SCHEMA_HAS_IfcProductRepresentationSelect
+#define SCHEMA_HAS_IfcProductSelect
+#define SCHEMA_HAS_IfcProfileTypeEnum
+#define SCHEMA_HAS_IfcProjectOrderTypeEnum
+#define SCHEMA_HAS_IfcProjectedOrTrueLengthEnum
+#define SCHEMA_HAS_IfcProjectionElementTypeEnum
+#define SCHEMA_HAS_IfcPropertySetDefinitionSelect
+#define SCHEMA_HAS_IfcPropertySetDefinitionSet
+#define SCHEMA_HAS_IfcPropertySetTemplateTypeEnum
+#define SCHEMA_HAS_IfcProtectiveDeviceTrippingUnitTypeEnum
+#define SCHEMA_HAS_IfcProtectiveDeviceTypeEnum
+#define SCHEMA_HAS_IfcPumpTypeEnum
+#define SCHEMA_HAS_IfcRadioActivityMeasure
+#define SCHEMA_HAS_IfcRailTypeEnum
+#define SCHEMA_HAS_IfcRailingTypeEnum
+#define SCHEMA_HAS_IfcRailwayPartTypeEnum
+#define SCHEMA_HAS_IfcRailwayTypeEnum
+#define SCHEMA_HAS_IfcRampFlightTypeEnum
+#define SCHEMA_HAS_IfcRampTypeEnum
+#define SCHEMA_HAS_IfcRatioMeasure
+#define SCHEMA_HAS_IfcReal
+#define SCHEMA_HAS_IfcRecurrenceTypeEnum
+#define SCHEMA_HAS_IfcReferentTypeEnum
+#define SCHEMA_HAS_IfcReflectanceMethodEnum
+#define SCHEMA_HAS_IfcReinforcedSoilTypeEnum
+#define SCHEMA_HAS_IfcReinforcingBarRoleEnum
+#define SCHEMA_HAS_IfcReinforcingBarSurfaceEnum
+#define SCHEMA_HAS_IfcReinforcingBarTypeEnum
+#define SCHEMA_HAS_IfcReinforcingMeshTypeEnum
+#define SCHEMA_HAS_IfcResourceObjectSelect
+#define SCHEMA_HAS_IfcResourceSelect
+#define SCHEMA_HAS_IfcRoadPartTypeEnum
+#define SCHEMA_HAS_IfcRoadTypeEnum
+#define SCHEMA_HAS_IfcRoleEnum
+#define SCHEMA_HAS_IfcRoofTypeEnum
+#define SCHEMA_HAS_IfcRotationalFrequencyMeasure
+#define SCHEMA_HAS_IfcRotationalMassMeasure
+#define SCHEMA_HAS_IfcRotationalStiffnessMeasure
+#define SCHEMA_HAS_IfcRotationalStiffnessSelect
+#define SCHEMA_HAS_IfcSIPrefix
+#define SCHEMA_HAS_IfcSIUnitName
+#define SCHEMA_HAS_IfcSanitaryTerminalTypeEnum
+#define SCHEMA_HAS_IfcSectionModulusMeasure
+#define SCHEMA_HAS_IfcSectionTypeEnum
+#define SCHEMA_HAS_IfcSectionalAreaIntegralMeasure
+#define SCHEMA_HAS_IfcSegmentIndexSelect
+#define SCHEMA_HAS_IfcSensorTypeEnum
+#define SCHEMA_HAS_IfcSequenceEnum
+#define SCHEMA_HAS_IfcShadingDeviceTypeEnum
+#define SCHEMA_HAS_IfcShearModulusMeasure
+#define SCHEMA_HAS_IfcShell
+#define SCHEMA_HAS_IfcSignTypeEnum
+#define SCHEMA_HAS_IfcSignalTypeEnum
+#define SCHEMA_HAS_IfcSimplePropertyTemplateTypeEnum
+#define SCHEMA_HAS_IfcSimpleValue
+#define SCHEMA_HAS_IfcSizeSelect
+#define SCHEMA_HAS_IfcSlabTypeEnum
+#define SCHEMA_HAS_IfcSolarDeviceTypeEnum
+#define SCHEMA_HAS_IfcSolidAngleMeasure
+#define SCHEMA_HAS_IfcSolidOrShell
+#define SCHEMA_HAS_IfcSoundPowerLevelMeasure
+#define SCHEMA_HAS_IfcSoundPowerMeasure
+#define SCHEMA_HAS_IfcSoundPressureLevelMeasure
+#define SCHEMA_HAS_IfcSoundPressureMeasure
+#define SCHEMA_HAS_IfcSpaceBoundarySelect
+#define SCHEMA_HAS_IfcSpaceHeaterTypeEnum
+#define SCHEMA_HAS_IfcSpaceTypeEnum
+#define SCHEMA_HAS_IfcSpatialReferenceSelect
+#define SCHEMA_HAS_IfcSpatialZoneTypeEnum
+#define SCHEMA_HAS_IfcSpecificHeatCapacityMeasure
+#define SCHEMA_HAS_IfcSpecularExponent
+#define SCHEMA_HAS_IfcSpecularHighlightSelect
+#define SCHEMA_HAS_IfcSpecularRoughness
+#define SCHEMA_HAS_IfcStackTerminalTypeEnum
+#define SCHEMA_HAS_IfcStairFlightTypeEnum
+#define SCHEMA_HAS_IfcStairTypeEnum
+#define SCHEMA_HAS_IfcStateEnum
+#define SCHEMA_HAS_IfcStructuralActivityAssignmentSelect
+#define SCHEMA_HAS_IfcStructuralCurveActivityTypeEnum
+#define SCHEMA_HAS_IfcStructuralCurveMemberTypeEnum
+#define SCHEMA_HAS_IfcStructuralSurfaceActivityTypeEnum
+#define SCHEMA_HAS_IfcStructuralSurfaceMemberTypeEnum
+#define SCHEMA_HAS_IfcSubContractResourceTypeEnum
+#define SCHEMA_HAS_IfcSurfaceFeatureTypeEnum
+#define SCHEMA_HAS_IfcSurfaceOrFaceSurface
+#define SCHEMA_HAS_IfcSurfaceSide
+#define SCHEMA_HAS_IfcSurfaceStyleElementSelect
+#define SCHEMA_HAS_IfcSwitchingDeviceTypeEnum
+#define SCHEMA_HAS_IfcSystemFurnitureElementTypeEnum
+#define SCHEMA_HAS_IfcTankTypeEnum
+#define SCHEMA_HAS_IfcTaskDurationEnum
+#define SCHEMA_HAS_IfcTaskTypeEnum
+#define SCHEMA_HAS_IfcTemperatureGradientMeasure
+#define SCHEMA_HAS_IfcTemperatureRateOfChangeMeasure
+#define SCHEMA_HAS_IfcTendonAnchorTypeEnum
+#define SCHEMA_HAS_IfcTendonConduitTypeEnum
+#define SCHEMA_HAS_IfcTendonTypeEnum
+#define SCHEMA_HAS_IfcText
+#define SCHEMA_HAS_IfcTextAlignment
+#define SCHEMA_HAS_IfcTextDecoration
+#define SCHEMA_HAS_IfcTextFontName
+#define SCHEMA_HAS_IfcTextFontSelect
+#define SCHEMA_HAS_IfcTextPath
+#define SCHEMA_HAS_IfcTextTransformation
+#define SCHEMA_HAS_IfcThermalAdmittanceMeasure
+#define SCHEMA_HAS_IfcThermalConductivityMeasure
+#define SCHEMA_HAS_IfcThermalExpansionCoefficientMeasure
+#define SCHEMA_HAS_IfcThermalResistanceMeasure
+#define SCHEMA_HAS_IfcThermalTransmittanceMeasure
+#define SCHEMA_HAS_IfcThermodynamicTemperatureMeasure
+#define SCHEMA_HAS_IfcTime
+#define SCHEMA_HAS_IfcTimeMeasure
+#define SCHEMA_HAS_IfcTimeOrRatioSelect
+#define SCHEMA_HAS_IfcTimeSeriesDataTypeEnum
+#define SCHEMA_HAS_IfcTimeStamp
+#define SCHEMA_HAS_IfcTorqueMeasure
+#define SCHEMA_HAS_IfcTrackElementTypeEnum
+#define SCHEMA_HAS_IfcTransformerTypeEnum
+#define SCHEMA_HAS_IfcTransitionCode
+#define SCHEMA_HAS_IfcTranslationalStiffnessSelect
+#define SCHEMA_HAS_IfcTransportElementTypeEnum
+#define SCHEMA_HAS_IfcTrimmingPreference
+#define SCHEMA_HAS_IfcTrimmingSelect
+#define SCHEMA_HAS_IfcTubeBundleTypeEnum
+#define SCHEMA_HAS_IfcURIReference
+#define SCHEMA_HAS_IfcUnit
+#define SCHEMA_HAS_IfcUnitEnum
+#define SCHEMA_HAS_IfcUnitaryControlElementTypeEnum
+#define SCHEMA_HAS_IfcUnitaryEquipmentTypeEnum
+#define SCHEMA_HAS_IfcValue
+#define SCHEMA_HAS_IfcValveTypeEnum
+#define SCHEMA_HAS_IfcVaporPermeabilityMeasure
+#define SCHEMA_HAS_IfcVectorOrDirection
+#define SCHEMA_HAS_IfcVehicleTypeEnum
+#define SCHEMA_HAS_IfcVibrationDamperTypeEnum
+#define SCHEMA_HAS_IfcVibrationIsolatorTypeEnum
+#define SCHEMA_HAS_IfcVirtualElementTypeEnum
+#define SCHEMA_HAS_IfcVoidingFeatureTypeEnum
+#define SCHEMA_HAS_IfcVolumeMeasure
+#define SCHEMA_HAS_IfcVolumetricFlowRateMeasure
+#define SCHEMA_HAS_IfcWallTypeEnum
+#define SCHEMA_HAS_IfcWarpingConstantMeasure
+#define SCHEMA_HAS_IfcWarpingMomentMeasure
+#define SCHEMA_HAS_IfcWarpingStiffnessSelect
+#define SCHEMA_HAS_IfcWasteTerminalTypeEnum
+#define SCHEMA_HAS_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_IfcAlignmentCant
+#define SCHEMA_IfcAlignmentCant_HAS_RailHeadDistance
+#define SCHEMA_HAS_IfcAlignmentCantSegment
+#define SCHEMA_IfcAlignmentCantSegment_HAS_StartDistAlong
+#define SCHEMA_IfcAlignmentCantSegment_HAS_HorizontalLength
+#define SCHEMA_IfcAlignmentCantSegment_HAS_StartCantLeft
+#define SCHEMA_IfcAlignmentCantSegment_HAS_EndCantLeft
+#define SCHEMA_IfcAlignmentCantSegment_EndCantLeft_IS_OPTIONAL
+#define SCHEMA_IfcAlignmentCantSegment_HAS_StartCantRight
+#define SCHEMA_IfcAlignmentCantSegment_HAS_EndCantRight
+#define SCHEMA_IfcAlignmentCantSegment_EndCantRight_IS_OPTIONAL
+#define SCHEMA_IfcAlignmentCantSegment_HAS_PredefinedType
+#define SCHEMA_HAS_IfcAlignmentHorizontal
+#define SCHEMA_HAS_IfcAlignmentHorizontalSegment
+#define SCHEMA_IfcAlignmentHorizontalSegment_HAS_StartPoint
+#define SCHEMA_IfcAlignmentHorizontalSegment_HAS_StartDirection
+#define SCHEMA_IfcAlignmentHorizontalSegment_HAS_StartRadiusOfCurvature
+#define SCHEMA_IfcAlignmentHorizontalSegment_HAS_EndRadiusOfCurvature
+#define SCHEMA_IfcAlignmentHorizontalSegment_HAS_SegmentLength
+#define SCHEMA_IfcAlignmentHorizontalSegment_HAS_GravityCenterLineHeight
+#define SCHEMA_IfcAlignmentHorizontalSegment_GravityCenterLineHeight_IS_OPTIONAL
+#define SCHEMA_IfcAlignmentHorizontalSegment_HAS_PredefinedType
+#define SCHEMA_HAS_IfcAlignmentParameterSegment
+#define SCHEMA_IfcAlignmentParameterSegment_HAS_StartTag
+#define SCHEMA_IfcAlignmentParameterSegment_StartTag_IS_OPTIONAL
+#define SCHEMA_IfcAlignmentParameterSegment_HAS_EndTag
+#define SCHEMA_IfcAlignmentParameterSegment_EndTag_IS_OPTIONAL
+#define SCHEMA_HAS_IfcAlignmentSegment
+#define SCHEMA_IfcAlignmentSegment_HAS_DesignParameters
+#define SCHEMA_HAS_IfcAlignmentVertical
+#define SCHEMA_HAS_IfcAlignmentVerticalSegment
+#define SCHEMA_IfcAlignmentVerticalSegment_HAS_StartDistAlong
+#define SCHEMA_IfcAlignmentVerticalSegment_HAS_HorizontalLength
+#define SCHEMA_IfcAlignmentVerticalSegment_HAS_StartHeight
+#define SCHEMA_IfcAlignmentVerticalSegment_HAS_StartGradient
+#define SCHEMA_IfcAlignmentVerticalSegment_HAS_EndGradient
+#define SCHEMA_IfcAlignmentVerticalSegment_HAS_RadiusOfCurvature
+#define SCHEMA_IfcAlignmentVerticalSegment_RadiusOfCurvature_IS_OPTIONAL
+#define SCHEMA_IfcAlignmentVerticalSegment_HAS_PredefinedType
+#define SCHEMA_HAS_IfcAnnotation
+#define SCHEMA_IfcAnnotation_HAS_PredefinedType
+#define SCHEMA_IfcAnnotation_PredefinedType_IS_OPTIONAL
+#define SCHEMA_IfcAnnotation_HAS_ContainedInStructure
+#define SCHEMA_HAS_IfcAnnotationFillArea
+#define SCHEMA_IfcAnnotationFillArea_HAS_OuterBoundary
+#define SCHEMA_IfcAnnotationFillArea_HAS_InnerBoundaries
+#define SCHEMA_IfcAnnotationFillArea_InnerBoundaries_IS_OPTIONAL
+#define SCHEMA_HAS_IfcApplication
+#define SCHEMA_IfcApplication_HAS_ApplicationDeveloper
+#define SCHEMA_IfcApplication_HAS_Version
+#define SCHEMA_IfcApplication_HAS_ApplicationFullName
+#define SCHEMA_IfcApplication_HAS_ApplicationIdentifier
+#define SCHEMA_HAS_IfcAppliedValue
+#define SCHEMA_IfcAppliedValue_HAS_Name
+#define SCHEMA_IfcAppliedValue_Name_IS_OPTIONAL
+#define SCHEMA_IfcAppliedValue_HAS_Description
+#define SCHEMA_IfcAppliedValue_Description_IS_OPTIONAL
+#define SCHEMA_IfcAppliedValue_HAS_AppliedValue
+#define SCHEMA_IfcAppliedValue_AppliedValue_IS_OPTIONAL
+#define SCHEMA_IfcAppliedValue_HAS_UnitBasis
+#define SCHEMA_IfcAppliedValue_UnitBasis_IS_OPTIONAL
+#define SCHEMA_IfcAppliedValue_HAS_ApplicableDate
+#define SCHEMA_IfcAppliedValue_ApplicableDate_IS_OPTIONAL
+#define SCHEMA_IfcAppliedValue_HAS_FixedUntilDate
+#define SCHEMA_IfcAppliedValue_FixedUntilDate_IS_OPTIONAL
+#define SCHEMA_IfcAppliedValue_HAS_Category
+#define SCHEMA_IfcAppliedValue_Category_IS_OPTIONAL
+#define SCHEMA_IfcAppliedValue_HAS_Condition
+#define SCHEMA_IfcAppliedValue_Condition_IS_OPTIONAL
+#define SCHEMA_IfcAppliedValue_HAS_ArithmeticOperator
+#define SCHEMA_IfcAppliedValue_ArithmeticOperator_IS_OPTIONAL
+#define SCHEMA_IfcAppliedValue_HAS_Components
+#define SCHEMA_IfcAppliedValue_Components_IS_OPTIONAL
+#define SCHEMA_IfcAppliedValue_HAS_HasExternalReference
+#define SCHEMA_HAS_IfcApproval
+#define SCHEMA_IfcApproval_HAS_Identifier
+#define SCHEMA_IfcApproval_Identifier_IS_OPTIONAL
+#define SCHEMA_IfcApproval_HAS_Name
+#define SCHEMA_IfcApproval_Name_IS_OPTIONAL
+#define SCHEMA_IfcApproval_HAS_Description
+#define SCHEMA_IfcApproval_Description_IS_OPTIONAL
+#define SCHEMA_IfcApproval_HAS_TimeOfApproval
+#define SCHEMA_IfcApproval_TimeOfApproval_IS_OPTIONAL
+#define SCHEMA_IfcApproval_HAS_Status
+#define SCHEMA_IfcApproval_Status_IS_OPTIONAL
+#define SCHEMA_IfcApproval_HAS_Level
+#define SCHEMA_IfcApproval_Level_IS_OPTIONAL
+#define SCHEMA_IfcApproval_HAS_Qualifier
+#define SCHEMA_IfcApproval_Qualifier_IS_OPTIONAL
+#define SCHEMA_IfcApproval_HAS_RequestingApproval
+#define SCHEMA_IfcApproval_RequestingApproval_IS_OPTIONAL
+#define SCHEMA_IfcApproval_HAS_GivingApproval
+#define SCHEMA_IfcApproval_GivingApproval_IS_OPTIONAL
+#define SCHEMA_IfcApproval_HAS_HasExternalReferences
+#define SCHEMA_IfcApproval_HAS_ApprovedObjects
+#define SCHEMA_IfcApproval_HAS_ApprovedResources
+#define SCHEMA_IfcApproval_HAS_IsRelatedWith
+#define SCHEMA_IfcApproval_HAS_Relates
+#define SCHEMA_HAS_IfcApprovalRelationship
+#define SCHEMA_IfcApprovalRelationship_HAS_RelatingApproval
+#define SCHEMA_IfcApprovalRelationship_HAS_RelatedApprovals
+#define SCHEMA_HAS_IfcArbitraryClosedProfileDef
+#define SCHEMA_IfcArbitraryClosedProfileDef_HAS_OuterCurve
+#define SCHEMA_HAS_IfcArbitraryOpenProfileDef
+#define SCHEMA_IfcArbitraryOpenProfileDef_HAS_Curve
+#define SCHEMA_HAS_IfcArbitraryProfileDefWithVoids
+#define SCHEMA_IfcArbitraryProfileDefWithVoids_HAS_InnerCurves
+#define SCHEMA_HAS_IfcAsset
+#define SCHEMA_IfcAsset_HAS_Identification
+#define SCHEMA_IfcAsset_Identification_IS_OPTIONAL
+#define SCHEMA_IfcAsset_HAS_OriginalValue
+#define SCHEMA_IfcAsset_OriginalValue_IS_OPTIONAL
+#define SCHEMA_IfcAsset_HAS_CurrentValue
+#define SCHEMA_IfcAsset_CurrentValue_IS_OPTIONAL
+#define SCHEMA_IfcAsset_HAS_TotalReplacementCost
+#define SCHEMA_IfcAsset_TotalReplacementCost_IS_OPTIONAL
+#define SCHEMA_IfcAsset_HAS_Owner
+#define SCHEMA_IfcAsset_Owner_IS_OPTIONAL
+#define SCHEMA_IfcAsset_HAS_User
+#define SCHEMA_IfcAsset_User_IS_OPTIONAL
+#define SCHEMA_IfcAsset_HAS_ResponsiblePerson
+#define SCHEMA_IfcAsset_ResponsiblePerson_IS_OPTIONAL
+#define SCHEMA_IfcAsset_HAS_IncorporationDate
+#define SCHEMA_IfcAsset_IncorporationDate_IS_OPTIONAL
+#define SCHEMA_IfcAsset_HAS_DepreciatedValue
+#define SCHEMA_IfcAsset_DepreciatedValue_IS_OPTIONAL
+#define SCHEMA_HAS_IfcAsymmetricIShapeProfileDef
+#define SCHEMA_IfcAsymmetricIShapeProfileDef_HAS_BottomFlangeWidth
+#define SCHEMA_IfcAsymmetricIShapeProfileDef_HAS_OverallDepth
+#define SCHEMA_IfcAsymmetricIShapeProfileDef_HAS_WebThickness
+#define SCHEMA_IfcAsymmetricIShapeProfileDef_HAS_BottomFlangeThickness
+#define SCHEMA_IfcAsymmetricIShapeProfileDef_HAS_BottomFlangeFilletRadius
+#define SCHEMA_IfcAsymmetricIShapeProfileDef_BottomFlangeFilletRadius_IS_OPTIONAL
+#define SCHEMA_IfcAsymmetricIShapeProfileDef_HAS_TopFlangeWidth
+#define SCHEMA_IfcAsymmetricIShapeProfileDef_HAS_TopFlangeThickness
+#define SCHEMA_IfcAsymmetricIShapeProfileDef_TopFlangeThickness_IS_OPTIONAL
+#define SCHEMA_IfcAsymmetricIShapeProfileDef_HAS_TopFlangeFilletRadius
+#define SCHEMA_IfcAsymmetricIShapeProfileDef_TopFlangeFilletRadius_IS_OPTIONAL
+#define SCHEMA_IfcAsymmetricIShapeProfileDef_HAS_BottomFlangeEdgeRadius
+#define SCHEMA_IfcAsymmetricIShapeProfileDef_BottomFlangeEdgeRadius_IS_OPTIONAL
+#define SCHEMA_IfcAsymmetricIShapeProfileDef_HAS_BottomFlangeSlope
+#define SCHEMA_IfcAsymmetricIShapeProfileDef_BottomFlangeSlope_IS_OPTIONAL
+#define SCHEMA_IfcAsymmetricIShapeProfileDef_HAS_TopFlangeEdgeRadius
+#define SCHEMA_IfcAsymmetricIShapeProfileDef_TopFlangeEdgeRadius_IS_OPTIONAL
+#define SCHEMA_IfcAsymmetricIShapeProfileDef_HAS_TopFlangeSlope
+#define SCHEMA_IfcAsymmetricIShapeProfileDef_TopFlangeSlope_IS_OPTIONAL
+#define SCHEMA_HAS_IfcAudioVisualAppliance
+#define SCHEMA_IfcAudioVisualAppliance_HAS_PredefinedType
+#define SCHEMA_IfcAudioVisualAppliance_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcAudioVisualApplianceType
+#define SCHEMA_IfcAudioVisualApplianceType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcAxis1Placement
+#define SCHEMA_IfcAxis1Placement_HAS_Axis
+#define SCHEMA_IfcAxis1Placement_Axis_IS_OPTIONAL
+#define SCHEMA_HAS_IfcAxis2Placement2D
+#define SCHEMA_IfcAxis2Placement2D_HAS_RefDirection
+#define SCHEMA_IfcAxis2Placement2D_RefDirection_IS_OPTIONAL
+#define SCHEMA_HAS_IfcAxis2Placement3D
+#define SCHEMA_IfcAxis2Placement3D_HAS_Axis
+#define SCHEMA_IfcAxis2Placement3D_Axis_IS_OPTIONAL
+#define SCHEMA_IfcAxis2Placement3D_HAS_RefDirection
+#define SCHEMA_IfcAxis2Placement3D_RefDirection_IS_OPTIONAL
+#define SCHEMA_HAS_IfcAxis2PlacementLinear
+#define SCHEMA_IfcAxis2PlacementLinear_HAS_Axis
+#define SCHEMA_IfcAxis2PlacementLinear_Axis_IS_OPTIONAL
+#define SCHEMA_IfcAxis2PlacementLinear_HAS_RefDirection
+#define SCHEMA_IfcAxis2PlacementLinear_RefDirection_IS_OPTIONAL
+#define SCHEMA_HAS_IfcBSplineCurve
+#define SCHEMA_IfcBSplineCurve_HAS_Degree
+#define SCHEMA_IfcBSplineCurve_HAS_ControlPointsList
+#define SCHEMA_IfcBSplineCurve_HAS_CurveForm
+#define SCHEMA_IfcBSplineCurve_HAS_ClosedCurve
+#define SCHEMA_IfcBSplineCurve_HAS_SelfIntersect
+#define SCHEMA_HAS_IfcBSplineCurveWithKnots
+#define SCHEMA_IfcBSplineCurveWithKnots_HAS_KnotMultiplicities
+#define SCHEMA_IfcBSplineCurveWithKnots_HAS_Knots
+#define SCHEMA_IfcBSplineCurveWithKnots_HAS_KnotSpec
+#define SCHEMA_HAS_IfcBSplineSurface
+#define SCHEMA_IfcBSplineSurface_HAS_UDegree
+#define SCHEMA_IfcBSplineSurface_HAS_VDegree
+#define SCHEMA_IfcBSplineSurface_HAS_ControlPointsList
+#define SCHEMA_IfcBSplineSurface_HAS_SurfaceForm
+#define SCHEMA_IfcBSplineSurface_HAS_UClosed
+#define SCHEMA_IfcBSplineSurface_HAS_VClosed
+#define SCHEMA_IfcBSplineSurface_HAS_SelfIntersect
+#define SCHEMA_HAS_IfcBSplineSurfaceWithKnots
+#define SCHEMA_IfcBSplineSurfaceWithKnots_HAS_UMultiplicities
+#define SCHEMA_IfcBSplineSurfaceWithKnots_HAS_VMultiplicities
+#define SCHEMA_IfcBSplineSurfaceWithKnots_HAS_UKnots
+#define SCHEMA_IfcBSplineSurfaceWithKnots_HAS_VKnots
+#define SCHEMA_IfcBSplineSurfaceWithKnots_HAS_KnotSpec
+#define SCHEMA_HAS_IfcBeam
+#define SCHEMA_IfcBeam_HAS_PredefinedType
+#define SCHEMA_IfcBeam_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcBeamType
+#define SCHEMA_IfcBeamType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcBearing
+#define SCHEMA_IfcBearing_HAS_PredefinedType
+#define SCHEMA_IfcBearing_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcBearingType
+#define SCHEMA_IfcBearingType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcBlobTexture
+#define SCHEMA_IfcBlobTexture_HAS_RasterFormat
+#define SCHEMA_IfcBlobTexture_HAS_RasterCode
+#define SCHEMA_HAS_IfcBlock
+#define SCHEMA_IfcBlock_HAS_XLength
+#define SCHEMA_IfcBlock_HAS_YLength
+#define SCHEMA_IfcBlock_HAS_ZLength
+#define SCHEMA_HAS_IfcBoiler
+#define SCHEMA_IfcBoiler_HAS_PredefinedType
+#define SCHEMA_IfcBoiler_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcBoilerType
+#define SCHEMA_IfcBoilerType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcBooleanClippingResult
+#define SCHEMA_HAS_IfcBooleanResult
+#define SCHEMA_IfcBooleanResult_HAS_Operator
+#define SCHEMA_IfcBooleanResult_HAS_FirstOperand
+#define SCHEMA_IfcBooleanResult_HAS_SecondOperand
+#define SCHEMA_HAS_IfcBorehole
+#define SCHEMA_HAS_IfcBoundaryCondition
+#define SCHEMA_IfcBoundaryCondition_HAS_Name
+#define SCHEMA_IfcBoundaryCondition_Name_IS_OPTIONAL
+#define SCHEMA_HAS_IfcBoundaryCurve
+#define SCHEMA_HAS_IfcBoundaryEdgeCondition
+#define SCHEMA_IfcBoundaryEdgeCondition_HAS_TranslationalStiffnessByLengthX
+#define SCHEMA_IfcBoundaryEdgeCondition_TranslationalStiffnessByLengthX_IS_OPTIONAL
+#define SCHEMA_IfcBoundaryEdgeCondition_HAS_TranslationalStiffnessByLengthY
+#define SCHEMA_IfcBoundaryEdgeCondition_TranslationalStiffnessByLengthY_IS_OPTIONAL
+#define SCHEMA_IfcBoundaryEdgeCondition_HAS_TranslationalStiffnessByLengthZ
+#define SCHEMA_IfcBoundaryEdgeCondition_TranslationalStiffnessByLengthZ_IS_OPTIONAL
+#define SCHEMA_IfcBoundaryEdgeCondition_HAS_RotationalStiffnessByLengthX
+#define SCHEMA_IfcBoundaryEdgeCondition_RotationalStiffnessByLengthX_IS_OPTIONAL
+#define SCHEMA_IfcBoundaryEdgeCondition_HAS_RotationalStiffnessByLengthY
+#define SCHEMA_IfcBoundaryEdgeCondition_RotationalStiffnessByLengthY_IS_OPTIONAL
+#define SCHEMA_IfcBoundaryEdgeCondition_HAS_RotationalStiffnessByLengthZ
+#define SCHEMA_IfcBoundaryEdgeCondition_RotationalStiffnessByLengthZ_IS_OPTIONAL
+#define SCHEMA_HAS_IfcBoundaryFaceCondition
+#define SCHEMA_IfcBoundaryFaceCondition_HAS_TranslationalStiffnessByAreaX
+#define SCHEMA_IfcBoundaryFaceCondition_TranslationalStiffnessByAreaX_IS_OPTIONAL
+#define SCHEMA_IfcBoundaryFaceCondition_HAS_TranslationalStiffnessByAreaY
+#define SCHEMA_IfcBoundaryFaceCondition_TranslationalStiffnessByAreaY_IS_OPTIONAL
+#define SCHEMA_IfcBoundaryFaceCondition_HAS_TranslationalStiffnessByAreaZ
+#define SCHEMA_IfcBoundaryFaceCondition_TranslationalStiffnessByAreaZ_IS_OPTIONAL
+#define SCHEMA_HAS_IfcBoundaryNodeCondition
+#define SCHEMA_IfcBoundaryNodeCondition_HAS_TranslationalStiffnessX
+#define SCHEMA_IfcBoundaryNodeCondition_TranslationalStiffnessX_IS_OPTIONAL
+#define SCHEMA_IfcBoundaryNodeCondition_HAS_TranslationalStiffnessY
+#define SCHEMA_IfcBoundaryNodeCondition_TranslationalStiffnessY_IS_OPTIONAL
+#define SCHEMA_IfcBoundaryNodeCondition_HAS_TranslationalStiffnessZ
+#define SCHEMA_IfcBoundaryNodeCondition_TranslationalStiffnessZ_IS_OPTIONAL
+#define SCHEMA_IfcBoundaryNodeCondition_HAS_RotationalStiffnessX
+#define SCHEMA_IfcBoundaryNodeCondition_RotationalStiffnessX_IS_OPTIONAL
+#define SCHEMA_IfcBoundaryNodeCondition_HAS_RotationalStiffnessY
+#define SCHEMA_IfcBoundaryNodeCondition_RotationalStiffnessY_IS_OPTIONAL
+#define SCHEMA_IfcBoundaryNodeCondition_HAS_RotationalStiffnessZ
+#define SCHEMA_IfcBoundaryNodeCondition_RotationalStiffnessZ_IS_OPTIONAL
+#define SCHEMA_HAS_IfcBoundaryNodeConditionWarping
+#define SCHEMA_IfcBoundaryNodeConditionWarping_HAS_WarpingStiffness
+#define SCHEMA_IfcBoundaryNodeConditionWarping_WarpingStiffness_IS_OPTIONAL
+#define SCHEMA_HAS_IfcBoundedCurve
+#define SCHEMA_HAS_IfcBoundedSurface
+#define SCHEMA_HAS_IfcBoundingBox
+#define SCHEMA_IfcBoundingBox_HAS_Corner
+#define SCHEMA_IfcBoundingBox_HAS_XDim
+#define SCHEMA_IfcBoundingBox_HAS_YDim
+#define SCHEMA_IfcBoundingBox_HAS_ZDim
+#define SCHEMA_HAS_IfcBoxedHalfSpace
+#define SCHEMA_IfcBoxedHalfSpace_HAS_Enclosure
+#define SCHEMA_HAS_IfcBridge
+#define SCHEMA_IfcBridge_HAS_PredefinedType
+#define SCHEMA_IfcBridge_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcBridgePart
+#define SCHEMA_IfcBridgePart_HAS_PredefinedType
+#define SCHEMA_IfcBridgePart_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcBuilding
+#define SCHEMA_IfcBuilding_HAS_ElevationOfRefHeight
+#define SCHEMA_IfcBuilding_ElevationOfRefHeight_IS_OPTIONAL
+#define SCHEMA_IfcBuilding_HAS_ElevationOfTerrain
+#define SCHEMA_IfcBuilding_ElevationOfTerrain_IS_OPTIONAL
+#define SCHEMA_IfcBuilding_HAS_BuildingAddress
+#define SCHEMA_IfcBuilding_BuildingAddress_IS_OPTIONAL
+#define SCHEMA_HAS_IfcBuildingElementPart
+#define SCHEMA_IfcBuildingElementPart_HAS_PredefinedType
+#define SCHEMA_IfcBuildingElementPart_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcBuildingElementPartType
+#define SCHEMA_IfcBuildingElementPartType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcBuildingElementProxy
+#define SCHEMA_IfcBuildingElementProxy_HAS_PredefinedType
+#define SCHEMA_IfcBuildingElementProxy_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcBuildingElementProxyType
+#define SCHEMA_IfcBuildingElementProxyType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcBuildingStorey
+#define SCHEMA_IfcBuildingStorey_HAS_Elevation
+#define SCHEMA_IfcBuildingStorey_Elevation_IS_OPTIONAL
+#define SCHEMA_HAS_IfcBuildingSystem
+#define SCHEMA_IfcBuildingSystem_HAS_PredefinedType
+#define SCHEMA_IfcBuildingSystem_PredefinedType_IS_OPTIONAL
+#define SCHEMA_IfcBuildingSystem_HAS_LongName
+#define SCHEMA_IfcBuildingSystem_LongName_IS_OPTIONAL
+#define SCHEMA_HAS_IfcBuiltElement
+#define SCHEMA_HAS_IfcBuiltElementType
+#define SCHEMA_HAS_IfcBuiltSystem
+#define SCHEMA_IfcBuiltSystem_HAS_PredefinedType
+#define SCHEMA_IfcBuiltSystem_PredefinedType_IS_OPTIONAL
+#define SCHEMA_IfcBuiltSystem_HAS_LongName
+#define SCHEMA_IfcBuiltSystem_LongName_IS_OPTIONAL
+#define SCHEMA_HAS_IfcBurner
+#define SCHEMA_IfcBurner_HAS_PredefinedType
+#define SCHEMA_IfcBurner_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcBurnerType
+#define SCHEMA_IfcBurnerType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcCShapeProfileDef
+#define SCHEMA_IfcCShapeProfileDef_HAS_Depth
+#define SCHEMA_IfcCShapeProfileDef_HAS_Width
+#define SCHEMA_IfcCShapeProfileDef_HAS_WallThickness
+#define SCHEMA_IfcCShapeProfileDef_HAS_Girth
+#define SCHEMA_IfcCShapeProfileDef_HAS_InternalFilletRadius
+#define SCHEMA_IfcCShapeProfileDef_InternalFilletRadius_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCableCarrierFitting
+#define SCHEMA_IfcCableCarrierFitting_HAS_PredefinedType
+#define SCHEMA_IfcCableCarrierFitting_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCableCarrierFittingType
+#define SCHEMA_IfcCableCarrierFittingType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcCableCarrierSegment
+#define SCHEMA_IfcCableCarrierSegment_HAS_PredefinedType
+#define SCHEMA_IfcCableCarrierSegment_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCableCarrierSegmentType
+#define SCHEMA_IfcCableCarrierSegmentType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcCableFitting
+#define SCHEMA_IfcCableFitting_HAS_PredefinedType
+#define SCHEMA_IfcCableFitting_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCableFittingType
+#define SCHEMA_IfcCableFittingType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcCableSegment
+#define SCHEMA_IfcCableSegment_HAS_PredefinedType
+#define SCHEMA_IfcCableSegment_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCableSegmentType
+#define SCHEMA_IfcCableSegmentType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcCaissonFoundation
+#define SCHEMA_IfcCaissonFoundation_HAS_PredefinedType
+#define SCHEMA_IfcCaissonFoundation_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCaissonFoundationType
+#define SCHEMA_IfcCaissonFoundationType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcCartesianPoint
+#define SCHEMA_IfcCartesianPoint_HAS_Coordinates
+#define SCHEMA_HAS_IfcCartesianPointList
+#define SCHEMA_HAS_IfcCartesianPointList2D
+#define SCHEMA_IfcCartesianPointList2D_HAS_CoordList
+#define SCHEMA_IfcCartesianPointList2D_HAS_TagList
+#define SCHEMA_IfcCartesianPointList2D_TagList_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCartesianPointList3D
+#define SCHEMA_IfcCartesianPointList3D_HAS_CoordList
+#define SCHEMA_IfcCartesianPointList3D_HAS_TagList
+#define SCHEMA_IfcCartesianPointList3D_TagList_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCartesianTransformationOperator
+#define SCHEMA_IfcCartesianTransformationOperator_HAS_Axis1
+#define SCHEMA_IfcCartesianTransformationOperator_Axis1_IS_OPTIONAL
+#define SCHEMA_IfcCartesianTransformationOperator_HAS_Axis2
+#define SCHEMA_IfcCartesianTransformationOperator_Axis2_IS_OPTIONAL
+#define SCHEMA_IfcCartesianTransformationOperator_HAS_LocalOrigin
+#define SCHEMA_IfcCartesianTransformationOperator_HAS_Scale
+#define SCHEMA_IfcCartesianTransformationOperator_Scale_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCartesianTransformationOperator2D
+#define SCHEMA_HAS_IfcCartesianTransformationOperator2DnonUniform
+#define SCHEMA_IfcCartesianTransformationOperator2DnonUniform_HAS_Scale2
+#define SCHEMA_IfcCartesianTransformationOperator2DnonUniform_Scale2_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCartesianTransformationOperator3D
+#define SCHEMA_IfcCartesianTransformationOperator3D_HAS_Axis3
+#define SCHEMA_IfcCartesianTransformationOperator3D_Axis3_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCartesianTransformationOperator3DnonUniform
+#define SCHEMA_IfcCartesianTransformationOperator3DnonUniform_HAS_Scale2
+#define SCHEMA_IfcCartesianTransformationOperator3DnonUniform_Scale2_IS_OPTIONAL
+#define SCHEMA_IfcCartesianTransformationOperator3DnonUniform_HAS_Scale3
+#define SCHEMA_IfcCartesianTransformationOperator3DnonUniform_Scale3_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCenterLineProfileDef
+#define SCHEMA_IfcCenterLineProfileDef_HAS_Thickness
+#define SCHEMA_HAS_IfcChiller
+#define SCHEMA_IfcChiller_HAS_PredefinedType
+#define SCHEMA_IfcChiller_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcChillerType
+#define SCHEMA_IfcChillerType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcChimney
+#define SCHEMA_IfcChimney_HAS_PredefinedType
+#define SCHEMA_IfcChimney_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcChimneyType
+#define SCHEMA_IfcChimneyType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcCircle
+#define SCHEMA_IfcCircle_HAS_Radius
+#define SCHEMA_HAS_IfcCircleHollowProfileDef
+#define SCHEMA_IfcCircleHollowProfileDef_HAS_WallThickness
+#define SCHEMA_HAS_IfcCircleProfileDef
+#define SCHEMA_IfcCircleProfileDef_HAS_Radius
+#define SCHEMA_HAS_IfcCivilElement
+#define SCHEMA_HAS_IfcCivilElementType
+#define SCHEMA_HAS_IfcClassification
+#define SCHEMA_IfcClassification_HAS_Source
+#define SCHEMA_IfcClassification_Source_IS_OPTIONAL
+#define SCHEMA_IfcClassification_HAS_Edition
+#define SCHEMA_IfcClassification_Edition_IS_OPTIONAL
+#define SCHEMA_IfcClassification_HAS_EditionDate
+#define SCHEMA_IfcClassification_EditionDate_IS_OPTIONAL
+#define SCHEMA_IfcClassification_HAS_Name
+#define SCHEMA_IfcClassification_HAS_Description
+#define SCHEMA_IfcClassification_Description_IS_OPTIONAL
+#define SCHEMA_IfcClassification_HAS_Specification
+#define SCHEMA_IfcClassification_Specification_IS_OPTIONAL
+#define SCHEMA_IfcClassification_HAS_ReferenceTokens
+#define SCHEMA_IfcClassification_ReferenceTokens_IS_OPTIONAL
+#define SCHEMA_IfcClassification_HAS_ClassificationForObjects
+#define SCHEMA_IfcClassification_HAS_HasReferences
+#define SCHEMA_HAS_IfcClassificationReference
+#define SCHEMA_IfcClassificationReference_HAS_ReferencedSource
+#define SCHEMA_IfcClassificationReference_ReferencedSource_IS_OPTIONAL
+#define SCHEMA_IfcClassificationReference_HAS_Description
+#define SCHEMA_IfcClassificationReference_Description_IS_OPTIONAL
+#define SCHEMA_IfcClassificationReference_HAS_Sort
+#define SCHEMA_IfcClassificationReference_Sort_IS_OPTIONAL
+#define SCHEMA_IfcClassificationReference_HAS_ClassificationRefForObjects
+#define SCHEMA_IfcClassificationReference_HAS_HasReferences
+#define SCHEMA_HAS_IfcClosedShell
+#define SCHEMA_HAS_IfcClothoid
+#define SCHEMA_IfcClothoid_HAS_ClothoidConstant
+#define SCHEMA_HAS_IfcCoil
+#define SCHEMA_IfcCoil_HAS_PredefinedType
+#define SCHEMA_IfcCoil_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCoilType
+#define SCHEMA_IfcCoilType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcColourRgb
+#define SCHEMA_IfcColourRgb_HAS_Red
+#define SCHEMA_IfcColourRgb_HAS_Green
+#define SCHEMA_IfcColourRgb_HAS_Blue
+#define SCHEMA_HAS_IfcColourRgbList
+#define SCHEMA_IfcColourRgbList_HAS_ColourList
+#define SCHEMA_HAS_IfcColourSpecification
+#define SCHEMA_IfcColourSpecification_HAS_Name
+#define SCHEMA_IfcColourSpecification_Name_IS_OPTIONAL
+#define SCHEMA_HAS_IfcColumn
+#define SCHEMA_IfcColumn_HAS_PredefinedType
+#define SCHEMA_IfcColumn_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcColumnType
+#define SCHEMA_IfcColumnType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcCommunicationsAppliance
+#define SCHEMA_IfcCommunicationsAppliance_HAS_PredefinedType
+#define SCHEMA_IfcCommunicationsAppliance_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCommunicationsApplianceType
+#define SCHEMA_IfcCommunicationsApplianceType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcComplexProperty
+#define SCHEMA_IfcComplexProperty_HAS_UsageName
+#define SCHEMA_IfcComplexProperty_HAS_HasProperties
+#define SCHEMA_HAS_IfcComplexPropertyTemplate
+#define SCHEMA_IfcComplexPropertyTemplate_HAS_UsageName
+#define SCHEMA_IfcComplexPropertyTemplate_UsageName_IS_OPTIONAL
+#define SCHEMA_IfcComplexPropertyTemplate_HAS_TemplateType
+#define SCHEMA_IfcComplexPropertyTemplate_TemplateType_IS_OPTIONAL
+#define SCHEMA_IfcComplexPropertyTemplate_HAS_HasPropertyTemplates
+#define SCHEMA_IfcComplexPropertyTemplate_HasPropertyTemplates_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCompositeCurve
+#define SCHEMA_IfcCompositeCurve_HAS_Segments
+#define SCHEMA_IfcCompositeCurve_HAS_SelfIntersect
+#define SCHEMA_HAS_IfcCompositeCurveOnSurface
+#define SCHEMA_HAS_IfcCompositeCurveSegment
+#define SCHEMA_IfcCompositeCurveSegment_HAS_SameSense
+#define SCHEMA_IfcCompositeCurveSegment_HAS_ParentCurve
+#define SCHEMA_HAS_IfcCompositeProfileDef
+#define SCHEMA_IfcCompositeProfileDef_HAS_Profiles
+#define SCHEMA_IfcCompositeProfileDef_HAS_Label
+#define SCHEMA_IfcCompositeProfileDef_Label_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCompressor
+#define SCHEMA_IfcCompressor_HAS_PredefinedType
+#define SCHEMA_IfcCompressor_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCompressorType
+#define SCHEMA_IfcCompressorType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcCondenser
+#define SCHEMA_IfcCondenser_HAS_PredefinedType
+#define SCHEMA_IfcCondenser_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCondenserType
+#define SCHEMA_IfcCondenserType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcConic
+#define SCHEMA_IfcConic_HAS_Position
+#define SCHEMA_HAS_IfcConnectedFaceSet
+#define SCHEMA_IfcConnectedFaceSet_HAS_CfsFaces
+#define SCHEMA_HAS_IfcConnectionCurveGeometry
+#define SCHEMA_IfcConnectionCurveGeometry_HAS_CurveOnRelatingElement
+#define SCHEMA_IfcConnectionCurveGeometry_HAS_CurveOnRelatedElement
+#define SCHEMA_IfcConnectionCurveGeometry_CurveOnRelatedElement_IS_OPTIONAL
+#define SCHEMA_HAS_IfcConnectionGeometry
+#define SCHEMA_HAS_IfcConnectionPointEccentricity
+#define SCHEMA_IfcConnectionPointEccentricity_HAS_EccentricityInX
+#define SCHEMA_IfcConnectionPointEccentricity_EccentricityInX_IS_OPTIONAL
+#define SCHEMA_IfcConnectionPointEccentricity_HAS_EccentricityInY
+#define SCHEMA_IfcConnectionPointEccentricity_EccentricityInY_IS_OPTIONAL
+#define SCHEMA_IfcConnectionPointEccentricity_HAS_EccentricityInZ
+#define SCHEMA_IfcConnectionPointEccentricity_EccentricityInZ_IS_OPTIONAL
+#define SCHEMA_HAS_IfcConnectionPointGeometry
+#define SCHEMA_IfcConnectionPointGeometry_HAS_PointOnRelatingElement
+#define SCHEMA_IfcConnectionPointGeometry_HAS_PointOnRelatedElement
+#define SCHEMA_IfcConnectionPointGeometry_PointOnRelatedElement_IS_OPTIONAL
+#define SCHEMA_HAS_IfcConnectionSurfaceGeometry
+#define SCHEMA_IfcConnectionSurfaceGeometry_HAS_SurfaceOnRelatingElement
+#define SCHEMA_IfcConnectionSurfaceGeometry_HAS_SurfaceOnRelatedElement
+#define SCHEMA_IfcConnectionSurfaceGeometry_SurfaceOnRelatedElement_IS_OPTIONAL
+#define SCHEMA_HAS_IfcConnectionVolumeGeometry
+#define SCHEMA_IfcConnectionVolumeGeometry_HAS_VolumeOnRelatingElement
+#define SCHEMA_IfcConnectionVolumeGeometry_HAS_VolumeOnRelatedElement
+#define SCHEMA_IfcConnectionVolumeGeometry_VolumeOnRelatedElement_IS_OPTIONAL
+#define SCHEMA_HAS_IfcConstraint
+#define SCHEMA_IfcConstraint_HAS_Name
+#define SCHEMA_IfcConstraint_HAS_Description
+#define SCHEMA_IfcConstraint_Description_IS_OPTIONAL
+#define SCHEMA_IfcConstraint_HAS_ConstraintGrade
+#define SCHEMA_IfcConstraint_HAS_ConstraintSource
+#define SCHEMA_IfcConstraint_ConstraintSource_IS_OPTIONAL
+#define SCHEMA_IfcConstraint_HAS_CreatingActor
+#define SCHEMA_IfcConstraint_CreatingActor_IS_OPTIONAL
+#define SCHEMA_IfcConstraint_HAS_CreationTime
+#define SCHEMA_IfcConstraint_CreationTime_IS_OPTIONAL
+#define SCHEMA_IfcConstraint_HAS_UserDefinedGrade
+#define SCHEMA_IfcConstraint_UserDefinedGrade_IS_OPTIONAL
+#define SCHEMA_IfcConstraint_HAS_HasExternalReferences
+#define SCHEMA_IfcConstraint_HAS_PropertiesForConstraint
+#define SCHEMA_HAS_IfcConstructionEquipmentResource
+#define SCHEMA_IfcConstructionEquipmentResource_HAS_PredefinedType
+#define SCHEMA_IfcConstructionEquipmentResource_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcConstructionEquipmentResourceType
+#define SCHEMA_IfcConstructionEquipmentResourceType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcConstructionMaterialResource
+#define SCHEMA_IfcConstructionMaterialResource_HAS_PredefinedType
+#define SCHEMA_IfcConstructionMaterialResource_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcConstructionMaterialResourceType
+#define SCHEMA_IfcConstructionMaterialResourceType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcConstructionProductResource
+#define SCHEMA_IfcConstructionProductResource_HAS_PredefinedType
+#define SCHEMA_IfcConstructionProductResource_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcConstructionProductResourceType
+#define SCHEMA_IfcConstructionProductResourceType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcConstructionResource
+#define SCHEMA_IfcConstructionResource_HAS_Usage
+#define SCHEMA_IfcConstructionResource_Usage_IS_OPTIONAL
+#define SCHEMA_IfcConstructionResource_HAS_BaseCosts
+#define SCHEMA_IfcConstructionResource_BaseCosts_IS_OPTIONAL
+#define SCHEMA_IfcConstructionResource_HAS_BaseQuantity
+#define SCHEMA_IfcConstructionResource_BaseQuantity_IS_OPTIONAL
+#define SCHEMA_HAS_IfcConstructionResourceType
+#define SCHEMA_IfcConstructionResourceType_HAS_BaseCosts
+#define SCHEMA_IfcConstructionResourceType_BaseCosts_IS_OPTIONAL
+#define SCHEMA_IfcConstructionResourceType_HAS_BaseQuantity
+#define SCHEMA_IfcConstructionResourceType_BaseQuantity_IS_OPTIONAL
+#define SCHEMA_HAS_IfcContext
+#define SCHEMA_IfcContext_HAS_ObjectType
+#define SCHEMA_IfcContext_ObjectType_IS_OPTIONAL
+#define SCHEMA_IfcContext_HAS_LongName
+#define SCHEMA_IfcContext_LongName_IS_OPTIONAL
+#define SCHEMA_IfcContext_HAS_Phase
+#define SCHEMA_IfcContext_Phase_IS_OPTIONAL
+#define SCHEMA_IfcContext_HAS_RepresentationContexts
+#define SCHEMA_IfcContext_RepresentationContexts_IS_OPTIONAL
+#define SCHEMA_IfcContext_HAS_UnitsInContext
+#define SCHEMA_IfcContext_UnitsInContext_IS_OPTIONAL
+#define SCHEMA_IfcContext_HAS_IsDefinedBy
+#define SCHEMA_IfcContext_HAS_Declares
+#define SCHEMA_HAS_IfcContextDependentUnit
+#define SCHEMA_IfcContextDependentUnit_HAS_Name
+#define SCHEMA_IfcContextDependentUnit_HAS_HasExternalReference
+#define SCHEMA_HAS_IfcControl
+#define SCHEMA_IfcControl_HAS_Identification
+#define SCHEMA_IfcControl_Identification_IS_OPTIONAL
+#define SCHEMA_IfcControl_HAS_Controls
+#define SCHEMA_HAS_IfcController
+#define SCHEMA_IfcController_HAS_PredefinedType
+#define SCHEMA_IfcController_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcControllerType
+#define SCHEMA_IfcControllerType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcConversionBasedUnit
+#define SCHEMA_IfcConversionBasedUnit_HAS_Name
+#define SCHEMA_IfcConversionBasedUnit_HAS_ConversionFactor
+#define SCHEMA_IfcConversionBasedUnit_HAS_HasExternalReference
+#define SCHEMA_HAS_IfcConversionBasedUnitWithOffset
+#define SCHEMA_IfcConversionBasedUnitWithOffset_HAS_ConversionOffset
+#define SCHEMA_HAS_IfcConveyorSegment
+#define SCHEMA_IfcConveyorSegment_HAS_PredefinedType
+#define SCHEMA_IfcConveyorSegment_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcConveyorSegmentType
+#define SCHEMA_IfcConveyorSegmentType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcCooledBeam
+#define SCHEMA_IfcCooledBeam_HAS_PredefinedType
+#define SCHEMA_IfcCooledBeam_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCooledBeamType
+#define SCHEMA_IfcCooledBeamType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcCoolingTower
+#define SCHEMA_IfcCoolingTower_HAS_PredefinedType
+#define SCHEMA_IfcCoolingTower_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCoolingTowerType
+#define SCHEMA_IfcCoolingTowerType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcCoordinateOperation
+#define SCHEMA_IfcCoordinateOperation_HAS_SourceCRS
+#define SCHEMA_IfcCoordinateOperation_HAS_TargetCRS
+#define SCHEMA_HAS_IfcCoordinateReferenceSystem
+#define SCHEMA_IfcCoordinateReferenceSystem_HAS_Name
+#define SCHEMA_IfcCoordinateReferenceSystem_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_IfcCosineSpiral
+#define SCHEMA_IfcCosineSpiral_HAS_CosineTerm
+#define SCHEMA_IfcCosineSpiral_HAS_ConstantTerm
+#define SCHEMA_IfcCosineSpiral_ConstantTerm_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCostItem
+#define SCHEMA_IfcCostItem_HAS_PredefinedType
+#define SCHEMA_IfcCostItem_PredefinedType_IS_OPTIONAL
+#define SCHEMA_IfcCostItem_HAS_CostValues
+#define SCHEMA_IfcCostItem_CostValues_IS_OPTIONAL
+#define SCHEMA_IfcCostItem_HAS_CostQuantities
+#define SCHEMA_IfcCostItem_CostQuantities_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCostSchedule
+#define SCHEMA_IfcCostSchedule_HAS_PredefinedType
+#define SCHEMA_IfcCostSchedule_PredefinedType_IS_OPTIONAL
+#define SCHEMA_IfcCostSchedule_HAS_Status
+#define SCHEMA_IfcCostSchedule_Status_IS_OPTIONAL
+#define SCHEMA_IfcCostSchedule_HAS_SubmittedOn
+#define SCHEMA_IfcCostSchedule_SubmittedOn_IS_OPTIONAL
+#define SCHEMA_IfcCostSchedule_HAS_UpdateDate
+#define SCHEMA_IfcCostSchedule_UpdateDate_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCostValue
+#define SCHEMA_HAS_IfcCourse
+#define SCHEMA_IfcCourse_HAS_PredefinedType
+#define SCHEMA_IfcCourse_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCourseType
+#define SCHEMA_IfcCourseType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcCovering
+#define SCHEMA_IfcCovering_HAS_PredefinedType
+#define SCHEMA_IfcCovering_PredefinedType_IS_OPTIONAL
+#define SCHEMA_IfcCovering_HAS_CoversSpaces
+#define SCHEMA_IfcCovering_HAS_CoversElements
+#define SCHEMA_HAS_IfcCoveringType
+#define SCHEMA_IfcCoveringType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcCrewResource
+#define SCHEMA_IfcCrewResource_HAS_PredefinedType
+#define SCHEMA_IfcCrewResource_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCrewResourceType
+#define SCHEMA_IfcCrewResourceType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcCsgPrimitive3D
+#define SCHEMA_IfcCsgPrimitive3D_HAS_Position
+#define SCHEMA_HAS_IfcCsgSolid
+#define SCHEMA_IfcCsgSolid_HAS_TreeRootExpression
+#define SCHEMA_HAS_IfcCurrencyRelationship
+#define SCHEMA_IfcCurrencyRelationship_HAS_RelatingMonetaryUnit
+#define SCHEMA_IfcCurrencyRelationship_HAS_RelatedMonetaryUnit
+#define SCHEMA_IfcCurrencyRelationship_HAS_ExchangeRate
+#define SCHEMA_IfcCurrencyRelationship_HAS_RateDateTime
+#define SCHEMA_IfcCurrencyRelationship_RateDateTime_IS_OPTIONAL
+#define SCHEMA_IfcCurrencyRelationship_HAS_RateSource
+#define SCHEMA_IfcCurrencyRelationship_RateSource_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCurtainWall
+#define SCHEMA_IfcCurtainWall_HAS_PredefinedType
+#define SCHEMA_IfcCurtainWall_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCurtainWallType
+#define SCHEMA_IfcCurtainWallType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcCurve
+#define SCHEMA_HAS_IfcCurveBoundedPlane
+#define SCHEMA_IfcCurveBoundedPlane_HAS_BasisSurface
+#define SCHEMA_IfcCurveBoundedPlane_HAS_OuterBoundary
+#define SCHEMA_IfcCurveBoundedPlane_HAS_InnerBoundaries
+#define SCHEMA_HAS_IfcCurveBoundedSurface
+#define SCHEMA_IfcCurveBoundedSurface_HAS_BasisSurface
+#define SCHEMA_IfcCurveBoundedSurface_HAS_Boundaries
+#define SCHEMA_IfcCurveBoundedSurface_HAS_ImplicitOuter
+#define SCHEMA_HAS_IfcCurveSegment
+#define SCHEMA_IfcCurveSegment_HAS_Placement
+#define SCHEMA_IfcCurveSegment_HAS_SegmentStart
+#define SCHEMA_IfcCurveSegment_HAS_SegmentLength
+#define SCHEMA_IfcCurveSegment_HAS_ParentCurve
+#define SCHEMA_HAS_IfcCurveStyle
+#define SCHEMA_IfcCurveStyle_HAS_CurveFont
+#define SCHEMA_IfcCurveStyle_CurveFont_IS_OPTIONAL
+#define SCHEMA_IfcCurveStyle_HAS_CurveWidth
+#define SCHEMA_IfcCurveStyle_CurveWidth_IS_OPTIONAL
+#define SCHEMA_IfcCurveStyle_HAS_CurveColour
+#define SCHEMA_IfcCurveStyle_CurveColour_IS_OPTIONAL
+#define SCHEMA_IfcCurveStyle_HAS_ModelOrDraughting
+#define SCHEMA_IfcCurveStyle_ModelOrDraughting_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCurveStyleFont
+#define SCHEMA_IfcCurveStyleFont_HAS_Name
+#define SCHEMA_IfcCurveStyleFont_Name_IS_OPTIONAL
+#define SCHEMA_IfcCurveStyleFont_HAS_PatternList
+#define SCHEMA_HAS_IfcCurveStyleFontAndScaling
+#define SCHEMA_IfcCurveStyleFontAndScaling_HAS_Name
+#define SCHEMA_IfcCurveStyleFontAndScaling_Name_IS_OPTIONAL
+#define SCHEMA_IfcCurveStyleFontAndScaling_HAS_CurveStyleFont
+#define SCHEMA_IfcCurveStyleFontAndScaling_HAS_CurveFontScaling
+#define SCHEMA_HAS_IfcCurveStyleFontPattern
+#define SCHEMA_IfcCurveStyleFontPattern_HAS_VisibleSegmentLength
+#define SCHEMA_IfcCurveStyleFontPattern_HAS_InvisibleSegmentLength
+#define SCHEMA_HAS_IfcCylindricalSurface
+#define SCHEMA_IfcCylindricalSurface_HAS_Radius
+#define SCHEMA_HAS_IfcDamper
+#define SCHEMA_IfcDamper_HAS_PredefinedType
+#define SCHEMA_IfcDamper_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcDamperType
+#define SCHEMA_IfcDamperType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcDeepFoundation
+#define SCHEMA_HAS_IfcDeepFoundationType
+#define SCHEMA_HAS_IfcDerivedProfileDef
+#define SCHEMA_IfcDerivedProfileDef_HAS_ParentProfile
+#define SCHEMA_IfcDerivedProfileDef_HAS_Operator
+#define SCHEMA_IfcDerivedProfileDef_HAS_Label
+#define SCHEMA_IfcDerivedProfileDef_Label_IS_OPTIONAL
+#define SCHEMA_HAS_IfcDerivedUnit
+#define SCHEMA_IfcDerivedUnit_HAS_Elements
+#define SCHEMA_IfcDerivedUnit_HAS_UnitType
+#define SCHEMA_IfcDerivedUnit_HAS_UserDefinedType
+#define SCHEMA_IfcDerivedUnit_UserDefinedType_IS_OPTIONAL
+#define SCHEMA_IfcDerivedUnit_HAS_Name
+#define SCHEMA_IfcDerivedUnit_Name_IS_OPTIONAL
+#define SCHEMA_HAS_IfcDerivedUnitElement
+#define SCHEMA_IfcDerivedUnitElement_HAS_Unit
+#define SCHEMA_IfcDerivedUnitElement_HAS_Exponent
+#define SCHEMA_HAS_IfcDimensionalExponents
+#define SCHEMA_IfcDimensionalExponents_HAS_LengthExponent
+#define SCHEMA_IfcDimensionalExponents_HAS_MassExponent
+#define SCHEMA_IfcDimensionalExponents_HAS_TimeExponent
+#define SCHEMA_IfcDimensionalExponents_HAS_ElectricCurrentExponent
+#define SCHEMA_IfcDimensionalExponents_HAS_ThermodynamicTemperatureExponent
+#define SCHEMA_IfcDimensionalExponents_HAS_AmountOfSubstanceExponent
+#define SCHEMA_IfcDimensionalExponents_HAS_LuminousIntensityExponent
+#define SCHEMA_HAS_IfcDirection
+#define SCHEMA_IfcDirection_HAS_DirectionRatios
+#define SCHEMA_HAS_IfcDirectrixCurveSweptAreaSolid
+#define SCHEMA_IfcDirectrixCurveSweptAreaSolid_HAS_Directrix
+#define SCHEMA_IfcDirectrixCurveSweptAreaSolid_HAS_StartParam
+#define SCHEMA_IfcDirectrixCurveSweptAreaSolid_StartParam_IS_OPTIONAL
+#define SCHEMA_IfcDirectrixCurveSweptAreaSolid_HAS_EndParam
+#define SCHEMA_IfcDirectrixCurveSweptAreaSolid_EndParam_IS_OPTIONAL
+#define SCHEMA_HAS_IfcDirectrixDerivedReferenceSweptAreaSolid
+#define SCHEMA_HAS_IfcDiscreteAccessory
+#define SCHEMA_IfcDiscreteAccessory_HAS_PredefinedType
+#define SCHEMA_IfcDiscreteAccessory_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcDiscreteAccessoryType
+#define SCHEMA_IfcDiscreteAccessoryType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcDistributionBoard
+#define SCHEMA_IfcDistributionBoard_HAS_PredefinedType
+#define SCHEMA_IfcDistributionBoard_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcDistributionBoardType
+#define SCHEMA_IfcDistributionBoardType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcDistributionChamberElement
+#define SCHEMA_IfcDistributionChamberElement_HAS_PredefinedType
+#define SCHEMA_IfcDistributionChamberElement_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcDistributionChamberElementType
+#define SCHEMA_IfcDistributionChamberElementType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcDistributionCircuit
+#define SCHEMA_HAS_IfcDistributionControlElement
+#define SCHEMA_IfcDistributionControlElement_HAS_AssignedToFlowElement
+#define SCHEMA_HAS_IfcDistributionControlElementType
+#define SCHEMA_HAS_IfcDistributionElement
+#define SCHEMA_IfcDistributionElement_HAS_HasPorts
+#define SCHEMA_HAS_IfcDistributionElementType
+#define SCHEMA_HAS_IfcDistributionFlowElement
+#define SCHEMA_IfcDistributionFlowElement_HAS_HasControlElements
+#define SCHEMA_HAS_IfcDistributionFlowElementType
+#define SCHEMA_HAS_IfcDistributionPort
+#define SCHEMA_IfcDistributionPort_HAS_FlowDirection
+#define SCHEMA_IfcDistributionPort_FlowDirection_IS_OPTIONAL
+#define SCHEMA_IfcDistributionPort_HAS_PredefinedType
+#define SCHEMA_IfcDistributionPort_PredefinedType_IS_OPTIONAL
+#define SCHEMA_IfcDistributionPort_HAS_SystemType
+#define SCHEMA_IfcDistributionPort_SystemType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcDistributionSystem
+#define SCHEMA_IfcDistributionSystem_HAS_LongName
+#define SCHEMA_IfcDistributionSystem_LongName_IS_OPTIONAL
+#define SCHEMA_IfcDistributionSystem_HAS_PredefinedType
+#define SCHEMA_IfcDistributionSystem_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcDocumentInformation
+#define SCHEMA_IfcDocumentInformation_HAS_Identification
+#define SCHEMA_IfcDocumentInformation_HAS_Name
+#define SCHEMA_IfcDocumentInformation_HAS_Description
+#define SCHEMA_IfcDocumentInformation_Description_IS_OPTIONAL
+#define SCHEMA_IfcDocumentInformation_HAS_Location
+#define SCHEMA_IfcDocumentInformation_Location_IS_OPTIONAL
+#define SCHEMA_IfcDocumentInformation_HAS_Purpose
+#define SCHEMA_IfcDocumentInformation_Purpose_IS_OPTIONAL
+#define SCHEMA_IfcDocumentInformation_HAS_IntendedUse
+#define SCHEMA_IfcDocumentInformation_IntendedUse_IS_OPTIONAL
+#define SCHEMA_IfcDocumentInformation_HAS_Scope
+#define SCHEMA_IfcDocumentInformation_Scope_IS_OPTIONAL
+#define SCHEMA_IfcDocumentInformation_HAS_Revision
+#define SCHEMA_IfcDocumentInformation_Revision_IS_OPTIONAL
+#define SCHEMA_IfcDocumentInformation_HAS_DocumentOwner
+#define SCHEMA_IfcDocumentInformation_DocumentOwner_IS_OPTIONAL
+#define SCHEMA_IfcDocumentInformation_HAS_Editors
+#define SCHEMA_IfcDocumentInformation_Editors_IS_OPTIONAL
+#define SCHEMA_IfcDocumentInformation_HAS_CreationTime
+#define SCHEMA_IfcDocumentInformation_CreationTime_IS_OPTIONAL
+#define SCHEMA_IfcDocumentInformation_HAS_LastRevisionTime
+#define SCHEMA_IfcDocumentInformation_LastRevisionTime_IS_OPTIONAL
+#define SCHEMA_IfcDocumentInformation_HAS_ElectronicFormat
+#define SCHEMA_IfcDocumentInformation_ElectronicFormat_IS_OPTIONAL
+#define SCHEMA_IfcDocumentInformation_HAS_ValidFrom
+#define SCHEMA_IfcDocumentInformation_ValidFrom_IS_OPTIONAL
+#define SCHEMA_IfcDocumentInformation_HAS_ValidUntil
+#define SCHEMA_IfcDocumentInformation_ValidUntil_IS_OPTIONAL
+#define SCHEMA_IfcDocumentInformation_HAS_Confidentiality
+#define SCHEMA_IfcDocumentInformation_Confidentiality_IS_OPTIONAL
+#define SCHEMA_IfcDocumentInformation_HAS_Status
+#define SCHEMA_IfcDocumentInformation_Status_IS_OPTIONAL
+#define SCHEMA_IfcDocumentInformation_HAS_DocumentInfoForObjects
+#define SCHEMA_IfcDocumentInformation_HAS_HasDocumentReferences
+#define SCHEMA_IfcDocumentInformation_HAS_IsPointedTo
+#define SCHEMA_IfcDocumentInformation_HAS_IsPointer
+#define SCHEMA_HAS_IfcDocumentInformationRelationship
+#define SCHEMA_IfcDocumentInformationRelationship_HAS_RelatingDocument
+#define SCHEMA_IfcDocumentInformationRelationship_HAS_RelatedDocuments
+#define SCHEMA_IfcDocumentInformationRelationship_HAS_RelationshipType
+#define SCHEMA_IfcDocumentInformationRelationship_RelationshipType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcDocumentReference
+#define SCHEMA_IfcDocumentReference_HAS_Description
+#define SCHEMA_IfcDocumentReference_Description_IS_OPTIONAL
+#define SCHEMA_IfcDocumentReference_HAS_ReferencedDocument
+#define SCHEMA_IfcDocumentReference_ReferencedDocument_IS_OPTIONAL
+#define SCHEMA_IfcDocumentReference_HAS_DocumentRefForObjects
+#define SCHEMA_HAS_IfcDoor
+#define SCHEMA_IfcDoor_HAS_OverallHeight
+#define SCHEMA_IfcDoor_OverallHeight_IS_OPTIONAL
+#define SCHEMA_IfcDoor_HAS_OverallWidth
+#define SCHEMA_IfcDoor_OverallWidth_IS_OPTIONAL
+#define SCHEMA_IfcDoor_HAS_PredefinedType
+#define SCHEMA_IfcDoor_PredefinedType_IS_OPTIONAL
+#define SCHEMA_IfcDoor_HAS_OperationType
+#define SCHEMA_IfcDoor_OperationType_IS_OPTIONAL
+#define SCHEMA_IfcDoor_HAS_UserDefinedOperationType
+#define SCHEMA_IfcDoor_UserDefinedOperationType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcDoorLiningProperties
+#define SCHEMA_IfcDoorLiningProperties_HAS_LiningDepth
+#define SCHEMA_IfcDoorLiningProperties_LiningDepth_IS_OPTIONAL
+#define SCHEMA_IfcDoorLiningProperties_HAS_LiningThickness
+#define SCHEMA_IfcDoorLiningProperties_LiningThickness_IS_OPTIONAL
+#define SCHEMA_IfcDoorLiningProperties_HAS_ThresholdDepth
+#define SCHEMA_IfcDoorLiningProperties_ThresholdDepth_IS_OPTIONAL
+#define SCHEMA_IfcDoorLiningProperties_HAS_ThresholdThickness
+#define SCHEMA_IfcDoorLiningProperties_ThresholdThickness_IS_OPTIONAL
+#define SCHEMA_IfcDoorLiningProperties_HAS_TransomThickness
+#define SCHEMA_IfcDoorLiningProperties_TransomThickness_IS_OPTIONAL
+#define SCHEMA_IfcDoorLiningProperties_HAS_TransomOffset
+#define SCHEMA_IfcDoorLiningProperties_TransomOffset_IS_OPTIONAL
+#define SCHEMA_IfcDoorLiningProperties_HAS_LiningOffset
+#define SCHEMA_IfcDoorLiningProperties_LiningOffset_IS_OPTIONAL
+#define SCHEMA_IfcDoorLiningProperties_HAS_ThresholdOffset
+#define SCHEMA_IfcDoorLiningProperties_ThresholdOffset_IS_OPTIONAL
+#define SCHEMA_IfcDoorLiningProperties_HAS_CasingThickness
+#define SCHEMA_IfcDoorLiningProperties_CasingThickness_IS_OPTIONAL
+#define SCHEMA_IfcDoorLiningProperties_HAS_CasingDepth
+#define SCHEMA_IfcDoorLiningProperties_CasingDepth_IS_OPTIONAL
+#define SCHEMA_IfcDoorLiningProperties_HAS_ShapeAspectStyle
+#define SCHEMA_IfcDoorLiningProperties_ShapeAspectStyle_IS_OPTIONAL
+#define SCHEMA_IfcDoorLiningProperties_HAS_LiningToPanelOffsetX
+#define SCHEMA_IfcDoorLiningProperties_LiningToPanelOffsetX_IS_OPTIONAL
+#define SCHEMA_IfcDoorLiningProperties_HAS_LiningToPanelOffsetY
+#define SCHEMA_IfcDoorLiningProperties_LiningToPanelOffsetY_IS_OPTIONAL
+#define SCHEMA_HAS_IfcDoorPanelProperties
+#define SCHEMA_IfcDoorPanelProperties_HAS_PanelDepth
+#define SCHEMA_IfcDoorPanelProperties_PanelDepth_IS_OPTIONAL
+#define SCHEMA_IfcDoorPanelProperties_HAS_PanelOperation
+#define SCHEMA_IfcDoorPanelProperties_HAS_PanelWidth
+#define SCHEMA_IfcDoorPanelProperties_PanelWidth_IS_OPTIONAL
+#define SCHEMA_IfcDoorPanelProperties_HAS_PanelPosition
+#define SCHEMA_IfcDoorPanelProperties_HAS_ShapeAspectStyle
+#define SCHEMA_IfcDoorPanelProperties_ShapeAspectStyle_IS_OPTIONAL
+#define SCHEMA_HAS_IfcDoorType
+#define SCHEMA_IfcDoorType_HAS_PredefinedType
+#define SCHEMA_IfcDoorType_HAS_OperationType
+#define SCHEMA_IfcDoorType_HAS_ParameterTakesPrecedence
+#define SCHEMA_IfcDoorType_ParameterTakesPrecedence_IS_OPTIONAL
+#define SCHEMA_IfcDoorType_HAS_UserDefinedOperationType
+#define SCHEMA_IfcDoorType_UserDefinedOperationType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcDraughtingPreDefinedColour
+#define SCHEMA_HAS_IfcDraughtingPreDefinedCurveFont
+#define SCHEMA_HAS_IfcDuctFitting
+#define SCHEMA_IfcDuctFitting_HAS_PredefinedType
+#define SCHEMA_IfcDuctFitting_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcDuctFittingType
+#define SCHEMA_IfcDuctFittingType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcDuctSegment
+#define SCHEMA_IfcDuctSegment_HAS_PredefinedType
+#define SCHEMA_IfcDuctSegment_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcDuctSegmentType
+#define SCHEMA_IfcDuctSegmentType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcDuctSilencer
+#define SCHEMA_IfcDuctSilencer_HAS_PredefinedType
+#define SCHEMA_IfcDuctSilencer_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcDuctSilencerType
+#define SCHEMA_IfcDuctSilencerType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcEarthworksCut
+#define SCHEMA_IfcEarthworksCut_HAS_PredefinedType
+#define SCHEMA_IfcEarthworksCut_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcEarthworksElement
+#define SCHEMA_HAS_IfcEarthworksFill
+#define SCHEMA_IfcEarthworksFill_HAS_PredefinedType
+#define SCHEMA_IfcEarthworksFill_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcEdge
+#define SCHEMA_IfcEdge_HAS_EdgeStart
+#define SCHEMA_IfcEdge_HAS_EdgeEnd
+#define SCHEMA_HAS_IfcEdgeCurve
+#define SCHEMA_IfcEdgeCurve_HAS_EdgeGeometry
+#define SCHEMA_IfcEdgeCurve_HAS_SameSense
+#define SCHEMA_HAS_IfcEdgeLoop
+#define SCHEMA_IfcEdgeLoop_HAS_EdgeList
+#define SCHEMA_HAS_IfcElectricAppliance
+#define SCHEMA_IfcElectricAppliance_HAS_PredefinedType
+#define SCHEMA_IfcElectricAppliance_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcElectricApplianceType
+#define SCHEMA_IfcElectricApplianceType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcElectricDistributionBoard
+#define SCHEMA_IfcElectricDistributionBoard_HAS_PredefinedType
+#define SCHEMA_IfcElectricDistributionBoard_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcElectricDistributionBoardType
+#define SCHEMA_IfcElectricDistributionBoardType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcElectricFlowStorageDevice
+#define SCHEMA_IfcElectricFlowStorageDevice_HAS_PredefinedType
+#define SCHEMA_IfcElectricFlowStorageDevice_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcElectricFlowStorageDeviceType
+#define SCHEMA_IfcElectricFlowStorageDeviceType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcElectricFlowTreatmentDevice
+#define SCHEMA_IfcElectricFlowTreatmentDevice_HAS_PredefinedType
+#define SCHEMA_IfcElectricFlowTreatmentDevice_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcElectricFlowTreatmentDeviceType
+#define SCHEMA_IfcElectricFlowTreatmentDeviceType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcElectricGenerator
+#define SCHEMA_IfcElectricGenerator_HAS_PredefinedType
+#define SCHEMA_IfcElectricGenerator_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcElectricGeneratorType
+#define SCHEMA_IfcElectricGeneratorType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcElectricMotor
+#define SCHEMA_IfcElectricMotor_HAS_PredefinedType
+#define SCHEMA_IfcElectricMotor_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcElectricMotorType
+#define SCHEMA_IfcElectricMotorType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcElectricTimeControl
+#define SCHEMA_IfcElectricTimeControl_HAS_PredefinedType
+#define SCHEMA_IfcElectricTimeControl_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcElectricTimeControlType
+#define SCHEMA_IfcElectricTimeControlType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcElement
+#define SCHEMA_IfcElement_HAS_Tag
+#define SCHEMA_IfcElement_Tag_IS_OPTIONAL
+#define SCHEMA_IfcElement_HAS_FillsVoids
+#define SCHEMA_IfcElement_HAS_ConnectedTo
+#define SCHEMA_IfcElement_HAS_IsInterferedByElements
+#define SCHEMA_IfcElement_HAS_InterferesElements
+#define SCHEMA_IfcElement_HAS_HasProjections
+#define SCHEMA_IfcElement_HAS_HasOpenings
+#define SCHEMA_IfcElement_HAS_IsConnectionRealization
+#define SCHEMA_IfcElement_HAS_ProvidesBoundaries
+#define SCHEMA_IfcElement_HAS_ConnectedFrom
+#define SCHEMA_IfcElement_HAS_ContainedInStructure
+#define SCHEMA_IfcElement_HAS_HasCoverings
+#define SCHEMA_IfcElement_HAS_HasSurfaceFeatures
+#define SCHEMA_HAS_IfcElementAssembly
+#define SCHEMA_IfcElementAssembly_HAS_AssemblyPlace
+#define SCHEMA_IfcElementAssembly_AssemblyPlace_IS_OPTIONAL
+#define SCHEMA_IfcElementAssembly_HAS_PredefinedType
+#define SCHEMA_IfcElementAssembly_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcElementAssemblyType
+#define SCHEMA_IfcElementAssemblyType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcElementComponent
+#define SCHEMA_HAS_IfcElementComponentType
+#define SCHEMA_HAS_IfcElementQuantity
+#define SCHEMA_IfcElementQuantity_HAS_MethodOfMeasurement
+#define SCHEMA_IfcElementQuantity_MethodOfMeasurement_IS_OPTIONAL
+#define SCHEMA_IfcElementQuantity_HAS_Quantities
+#define SCHEMA_HAS_IfcElementType
+#define SCHEMA_IfcElementType_HAS_ElementType
+#define SCHEMA_IfcElementType_ElementType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcElementarySurface
+#define SCHEMA_IfcElementarySurface_HAS_Position
+#define SCHEMA_HAS_IfcEllipse
+#define SCHEMA_IfcEllipse_HAS_SemiAxis1
+#define SCHEMA_IfcEllipse_HAS_SemiAxis2
+#define SCHEMA_HAS_IfcEllipseProfileDef
+#define SCHEMA_IfcEllipseProfileDef_HAS_SemiAxis1
+#define SCHEMA_IfcEllipseProfileDef_HAS_SemiAxis2
+#define SCHEMA_HAS_IfcEnergyConversionDevice
+#define SCHEMA_HAS_IfcEnergyConversionDeviceType
+#define SCHEMA_HAS_IfcEngine
+#define SCHEMA_IfcEngine_HAS_PredefinedType
+#define SCHEMA_IfcEngine_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcEngineType
+#define SCHEMA_IfcEngineType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcEvaporativeCooler
+#define SCHEMA_IfcEvaporativeCooler_HAS_PredefinedType
+#define SCHEMA_IfcEvaporativeCooler_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcEvaporativeCoolerType
+#define SCHEMA_IfcEvaporativeCoolerType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcEvaporator
+#define SCHEMA_IfcEvaporator_HAS_PredefinedType
+#define SCHEMA_IfcEvaporator_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcEvaporatorType
+#define SCHEMA_IfcEvaporatorType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcEvent
+#define SCHEMA_IfcEvent_HAS_PredefinedType
+#define SCHEMA_IfcEvent_PredefinedType_IS_OPTIONAL
+#define SCHEMA_IfcEvent_HAS_EventTriggerType
+#define SCHEMA_IfcEvent_EventTriggerType_IS_OPTIONAL
+#define SCHEMA_IfcEvent_HAS_UserDefinedEventTriggerType
+#define SCHEMA_IfcEvent_UserDefinedEventTriggerType_IS_OPTIONAL
+#define SCHEMA_IfcEvent_HAS_EventOccurenceTime
+#define SCHEMA_IfcEvent_EventOccurenceTime_IS_OPTIONAL
+#define SCHEMA_HAS_IfcEventTime
+#define SCHEMA_IfcEventTime_HAS_ActualDate
+#define SCHEMA_IfcEventTime_ActualDate_IS_OPTIONAL
+#define SCHEMA_IfcEventTime_HAS_EarlyDate
+#define SCHEMA_IfcEventTime_EarlyDate_IS_OPTIONAL
+#define SCHEMA_IfcEventTime_HAS_LateDate
+#define SCHEMA_IfcEventTime_LateDate_IS_OPTIONAL
+#define SCHEMA_IfcEventTime_HAS_ScheduleDate
+#define SCHEMA_IfcEventTime_ScheduleDate_IS_OPTIONAL
+#define SCHEMA_HAS_IfcEventType
+#define SCHEMA_IfcEventType_HAS_PredefinedType
+#define SCHEMA_IfcEventType_HAS_EventTriggerType
+#define SCHEMA_IfcEventType_HAS_UserDefinedEventTriggerType
+#define SCHEMA_IfcEventType_UserDefinedEventTriggerType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcExtendedProperties
+#define SCHEMA_IfcExtendedProperties_HAS_Name
+#define SCHEMA_IfcExtendedProperties_Name_IS_OPTIONAL
+#define SCHEMA_IfcExtendedProperties_HAS_Description
+#define SCHEMA_IfcExtendedProperties_Description_IS_OPTIONAL
+#define SCHEMA_IfcExtendedProperties_HAS_Properties
+#define SCHEMA_HAS_IfcExternalInformation
+#define SCHEMA_HAS_IfcExternalReference
+#define SCHEMA_IfcExternalReference_HAS_Location
+#define SCHEMA_IfcExternalReference_Location_IS_OPTIONAL
+#define SCHEMA_IfcExternalReference_HAS_Identification
+#define SCHEMA_IfcExternalReference_Identification_IS_OPTIONAL
+#define SCHEMA_IfcExternalReference_HAS_Name
+#define SCHEMA_IfcExternalReference_Name_IS_OPTIONAL
+#define SCHEMA_IfcExternalReference_HAS_ExternalReferenceForResources
+#define SCHEMA_HAS_IfcExternalReferenceRelationship
+#define SCHEMA_IfcExternalReferenceRelationship_HAS_RelatingReference
+#define SCHEMA_IfcExternalReferenceRelationship_HAS_RelatedResourceObjects
+#define SCHEMA_HAS_IfcExternalSpatialElement
+#define SCHEMA_IfcExternalSpatialElement_HAS_PredefinedType
+#define SCHEMA_IfcExternalSpatialElement_PredefinedType_IS_OPTIONAL
+#define SCHEMA_IfcExternalSpatialElement_HAS_BoundedBy
+#define SCHEMA_HAS_IfcExternalSpatialStructureElement
+#define SCHEMA_HAS_IfcExternallyDefinedHatchStyle
+#define SCHEMA_HAS_IfcExternallyDefinedSurfaceStyle
+#define SCHEMA_HAS_IfcExternallyDefinedTextFont
+#define SCHEMA_HAS_IfcExtrudedAreaSolid
+#define SCHEMA_IfcExtrudedAreaSolid_HAS_ExtrudedDirection
+#define SCHEMA_IfcExtrudedAreaSolid_HAS_Depth
+#define SCHEMA_HAS_IfcExtrudedAreaSolidTapered
+#define SCHEMA_IfcExtrudedAreaSolidTapered_HAS_EndSweptArea
+#define SCHEMA_HAS_IfcFace
+#define SCHEMA_IfcFace_HAS_Bounds
+#define SCHEMA_IfcFace_HAS_HasTextureMaps
+#define SCHEMA_HAS_IfcFaceBasedSurfaceModel
+#define SCHEMA_IfcFaceBasedSurfaceModel_HAS_FbsmFaces
+#define SCHEMA_HAS_IfcFaceBound
+#define SCHEMA_IfcFaceBound_HAS_Bound
+#define SCHEMA_IfcFaceBound_HAS_Orientation
+#define SCHEMA_HAS_IfcFaceOuterBound
+#define SCHEMA_HAS_IfcFaceSurface
+#define SCHEMA_IfcFaceSurface_HAS_FaceSurface
+#define SCHEMA_IfcFaceSurface_HAS_SameSense
+#define SCHEMA_HAS_IfcFacetedBrep
+#define SCHEMA_HAS_IfcFacetedBrepWithVoids
+#define SCHEMA_IfcFacetedBrepWithVoids_HAS_Voids
+#define SCHEMA_HAS_IfcFacility
+#define SCHEMA_HAS_IfcFacilityPart
+#define SCHEMA_IfcFacilityPart_HAS_UsageType
+#define SCHEMA_HAS_IfcFacilityPartCommon
+#define SCHEMA_IfcFacilityPartCommon_HAS_PredefinedType
+#define SCHEMA_IfcFacilityPartCommon_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcFailureConnectionCondition
+#define SCHEMA_IfcFailureConnectionCondition_HAS_TensionFailureX
+#define SCHEMA_IfcFailureConnectionCondition_TensionFailureX_IS_OPTIONAL
+#define SCHEMA_IfcFailureConnectionCondition_HAS_TensionFailureY
+#define SCHEMA_IfcFailureConnectionCondition_TensionFailureY_IS_OPTIONAL
+#define SCHEMA_IfcFailureConnectionCondition_HAS_TensionFailureZ
+#define SCHEMA_IfcFailureConnectionCondition_TensionFailureZ_IS_OPTIONAL
+#define SCHEMA_IfcFailureConnectionCondition_HAS_CompressionFailureX
+#define SCHEMA_IfcFailureConnectionCondition_CompressionFailureX_IS_OPTIONAL
+#define SCHEMA_IfcFailureConnectionCondition_HAS_CompressionFailureY
+#define SCHEMA_IfcFailureConnectionCondition_CompressionFailureY_IS_OPTIONAL
+#define SCHEMA_IfcFailureConnectionCondition_HAS_CompressionFailureZ
+#define SCHEMA_IfcFailureConnectionCondition_CompressionFailureZ_IS_OPTIONAL
+#define SCHEMA_HAS_IfcFan
+#define SCHEMA_IfcFan_HAS_PredefinedType
+#define SCHEMA_IfcFan_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcFanType
+#define SCHEMA_IfcFanType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcFastener
+#define SCHEMA_IfcFastener_HAS_PredefinedType
+#define SCHEMA_IfcFastener_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcFastenerType
+#define SCHEMA_IfcFastenerType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcFeatureElement
+#define SCHEMA_HAS_IfcFeatureElementAddition
+#define SCHEMA_IfcFeatureElementAddition_HAS_ProjectsElements
+#define SCHEMA_HAS_IfcFeatureElementSubtraction
+#define SCHEMA_IfcFeatureElementSubtraction_HAS_VoidsElements
+#define SCHEMA_HAS_IfcFillAreaStyle
+#define SCHEMA_IfcFillAreaStyle_HAS_FillStyles
+#define SCHEMA_IfcFillAreaStyle_HAS_ModelOrDraughting
+#define SCHEMA_IfcFillAreaStyle_ModelOrDraughting_IS_OPTIONAL
+#define SCHEMA_HAS_IfcFillAreaStyleHatching
+#define SCHEMA_IfcFillAreaStyleHatching_HAS_HatchLineAppearance
+#define SCHEMA_IfcFillAreaStyleHatching_HAS_StartOfNextHatchLine
+#define SCHEMA_IfcFillAreaStyleHatching_HAS_PointOfReferenceHatchLine
+#define SCHEMA_IfcFillAreaStyleHatching_PointOfReferenceHatchLine_IS_OPTIONAL
+#define SCHEMA_IfcFillAreaStyleHatching_HAS_PatternStart
+#define SCHEMA_IfcFillAreaStyleHatching_PatternStart_IS_OPTIONAL
+#define SCHEMA_IfcFillAreaStyleHatching_HAS_HatchLineAngle
+#define SCHEMA_HAS_IfcFillAreaStyleTiles
+#define SCHEMA_IfcFillAreaStyleTiles_HAS_TilingPattern
+#define SCHEMA_IfcFillAreaStyleTiles_HAS_Tiles
+#define SCHEMA_IfcFillAreaStyleTiles_HAS_TilingScale
+#define SCHEMA_HAS_IfcFilter
+#define SCHEMA_IfcFilter_HAS_PredefinedType
+#define SCHEMA_IfcFilter_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcFilterType
+#define SCHEMA_IfcFilterType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcFireSuppressionTerminal
+#define SCHEMA_IfcFireSuppressionTerminal_HAS_PredefinedType
+#define SCHEMA_IfcFireSuppressionTerminal_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcFireSuppressionTerminalType
+#define SCHEMA_IfcFireSuppressionTerminalType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcFixedReferenceSweptAreaSolid
+#define SCHEMA_IfcFixedReferenceSweptAreaSolid_HAS_FixedReference
+#define SCHEMA_HAS_IfcFlowController
+#define SCHEMA_HAS_IfcFlowControllerType
+#define SCHEMA_HAS_IfcFlowFitting
+#define SCHEMA_HAS_IfcFlowFittingType
+#define SCHEMA_HAS_IfcFlowInstrument
+#define SCHEMA_IfcFlowInstrument_HAS_PredefinedType
+#define SCHEMA_IfcFlowInstrument_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcFlowInstrumentType
+#define SCHEMA_IfcFlowInstrumentType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcFlowMeter
+#define SCHEMA_IfcFlowMeter_HAS_PredefinedType
+#define SCHEMA_IfcFlowMeter_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcFlowMeterType
+#define SCHEMA_IfcFlowMeterType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcFlowMovingDevice
+#define SCHEMA_HAS_IfcFlowMovingDeviceType
+#define SCHEMA_HAS_IfcFlowSegment
+#define SCHEMA_HAS_IfcFlowSegmentType
+#define SCHEMA_HAS_IfcFlowStorageDevice
+#define SCHEMA_HAS_IfcFlowStorageDeviceType
+#define SCHEMA_HAS_IfcFlowTerminal
+#define SCHEMA_HAS_IfcFlowTerminalType
+#define SCHEMA_HAS_IfcFlowTreatmentDevice
+#define SCHEMA_HAS_IfcFlowTreatmentDeviceType
+#define SCHEMA_HAS_IfcFooting
+#define SCHEMA_IfcFooting_HAS_PredefinedType
+#define SCHEMA_IfcFooting_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcFootingType
+#define SCHEMA_IfcFootingType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcFurnishingElement
+#define SCHEMA_HAS_IfcFurnishingElementType
+#define SCHEMA_HAS_IfcFurniture
+#define SCHEMA_IfcFurniture_HAS_PredefinedType
+#define SCHEMA_IfcFurniture_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcFurnitureType
+#define SCHEMA_IfcFurnitureType_HAS_AssemblyPlace
+#define SCHEMA_IfcFurnitureType_HAS_PredefinedType
+#define SCHEMA_IfcFurnitureType_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcGeographicElement
+#define SCHEMA_IfcGeographicElement_HAS_PredefinedType
+#define SCHEMA_IfcGeographicElement_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcGeographicElementType
+#define SCHEMA_IfcGeographicElementType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcGeometricCurveSet
+#define SCHEMA_HAS_IfcGeometricRepresentationContext
+#define SCHEMA_IfcGeometricRepresentationContext_HAS_CoordinateSpaceDimension
+#define SCHEMA_IfcGeometricRepresentationContext_HAS_Precision
+#define SCHEMA_IfcGeometricRepresentationContext_Precision_IS_OPTIONAL
+#define SCHEMA_IfcGeometricRepresentationContext_HAS_WorldCoordinateSystem
+#define SCHEMA_IfcGeometricRepresentationContext_HAS_TrueNorth
+#define SCHEMA_IfcGeometricRepresentationContext_TrueNorth_IS_OPTIONAL
+#define SCHEMA_IfcGeometricRepresentationContext_HAS_HasSubContexts
+#define SCHEMA_IfcGeometricRepresentationContext_HAS_HasCoordinateOperation
+#define SCHEMA_HAS_IfcGeometricRepresentationItem
+#define SCHEMA_HAS_IfcGeometricRepresentationSubContext
+#define SCHEMA_IfcGeometricRepresentationSubContext_HAS_ParentContext
+#define SCHEMA_IfcGeometricRepresentationSubContext_HAS_TargetScale
+#define SCHEMA_IfcGeometricRepresentationSubContext_TargetScale_IS_OPTIONAL
+#define SCHEMA_IfcGeometricRepresentationSubContext_HAS_TargetView
+#define SCHEMA_IfcGeometricRepresentationSubContext_HAS_UserDefinedTargetView
+#define SCHEMA_IfcGeometricRepresentationSubContext_UserDefinedTargetView_IS_OPTIONAL
+#define SCHEMA_HAS_IfcGeometricSet
+#define SCHEMA_IfcGeometricSet_HAS_Elements
+#define SCHEMA_HAS_IfcGeomodel
+#define SCHEMA_HAS_IfcGeoslice
+#define SCHEMA_HAS_IfcGeotechnicalAssembly
+#define SCHEMA_HAS_IfcGeotechnicalElement
+#define SCHEMA_HAS_IfcGeotechnicalStratum
+#define SCHEMA_IfcGeotechnicalStratum_HAS_PredefinedType
+#define SCHEMA_IfcGeotechnicalStratum_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcGradientCurve
+#define SCHEMA_IfcGradientCurve_HAS_BaseCurve
+#define SCHEMA_IfcGradientCurve_HAS_EndPoint
+#define SCHEMA_IfcGradientCurve_EndPoint_IS_OPTIONAL
+#define SCHEMA_HAS_IfcGrid
+#define SCHEMA_IfcGrid_HAS_UAxes
+#define SCHEMA_IfcGrid_HAS_VAxes
+#define SCHEMA_IfcGrid_HAS_WAxes
+#define SCHEMA_IfcGrid_WAxes_IS_OPTIONAL
+#define SCHEMA_IfcGrid_HAS_PredefinedType
+#define SCHEMA_IfcGrid_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcGridAxis
+#define SCHEMA_IfcGridAxis_HAS_AxisTag
+#define SCHEMA_IfcGridAxis_AxisTag_IS_OPTIONAL
+#define SCHEMA_IfcGridAxis_HAS_AxisCurve
+#define SCHEMA_IfcGridAxis_HAS_SameSense
+#define SCHEMA_IfcGridAxis_HAS_PartOfW
+#define SCHEMA_IfcGridAxis_HAS_PartOfV
+#define SCHEMA_IfcGridAxis_HAS_PartOfU
+#define SCHEMA_IfcGridAxis_HAS_HasIntersections
+#define SCHEMA_HAS_IfcGridPlacement
+#define SCHEMA_IfcGridPlacement_HAS_PlacementLocation
+#define SCHEMA_IfcGridPlacement_HAS_PlacementRefDirection
+#define SCHEMA_IfcGridPlacement_PlacementRefDirection_IS_OPTIONAL
+#define SCHEMA_HAS_IfcGroup
+#define SCHEMA_IfcGroup_HAS_IsGroupedBy
+#define SCHEMA_IfcGroup_HAS_ReferencedInStructures
+#define SCHEMA_HAS_IfcHalfSpaceSolid
+#define SCHEMA_IfcHalfSpaceSolid_HAS_BaseSurface
+#define SCHEMA_IfcHalfSpaceSolid_HAS_AgreementFlag
+#define SCHEMA_HAS_IfcHeatExchanger
+#define SCHEMA_IfcHeatExchanger_HAS_PredefinedType
+#define SCHEMA_IfcHeatExchanger_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcHeatExchangerType
+#define SCHEMA_IfcHeatExchangerType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcHumidifier
+#define SCHEMA_IfcHumidifier_HAS_PredefinedType
+#define SCHEMA_IfcHumidifier_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcHumidifierType
+#define SCHEMA_IfcHumidifierType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcIShapeProfileDef
+#define SCHEMA_IfcIShapeProfileDef_HAS_OverallWidth
+#define SCHEMA_IfcIShapeProfileDef_HAS_OverallDepth
+#define SCHEMA_IfcIShapeProfileDef_HAS_WebThickness
+#define SCHEMA_IfcIShapeProfileDef_HAS_FlangeThickness
+#define SCHEMA_IfcIShapeProfileDef_HAS_FilletRadius
+#define SCHEMA_IfcIShapeProfileDef_FilletRadius_IS_OPTIONAL
+#define SCHEMA_IfcIShapeProfileDef_HAS_FlangeEdgeRadius
+#define SCHEMA_IfcIShapeProfileDef_FlangeEdgeRadius_IS_OPTIONAL
+#define SCHEMA_IfcIShapeProfileDef_HAS_FlangeSlope
+#define SCHEMA_IfcIShapeProfileDef_FlangeSlope_IS_OPTIONAL
+#define SCHEMA_HAS_IfcImageTexture
+#define SCHEMA_IfcImageTexture_HAS_URLReference
+#define SCHEMA_HAS_IfcImpactProtectionDevice
+#define SCHEMA_IfcImpactProtectionDevice_HAS_PredefinedType
+#define SCHEMA_IfcImpactProtectionDevice_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcImpactProtectionDeviceType
+#define SCHEMA_IfcImpactProtectionDeviceType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcIndexedColourMap
+#define SCHEMA_IfcIndexedColourMap_HAS_MappedTo
+#define SCHEMA_IfcIndexedColourMap_HAS_Opacity
+#define SCHEMA_IfcIndexedColourMap_Opacity_IS_OPTIONAL
+#define SCHEMA_IfcIndexedColourMap_HAS_Colours
+#define SCHEMA_IfcIndexedColourMap_HAS_ColourIndex
+#define SCHEMA_HAS_IfcIndexedPolyCurve
+#define SCHEMA_IfcIndexedPolyCurve_HAS_Points
+#define SCHEMA_IfcIndexedPolyCurve_HAS_Segments
+#define SCHEMA_IfcIndexedPolyCurve_Segments_IS_OPTIONAL
+#define SCHEMA_IfcIndexedPolyCurve_HAS_SelfIntersect
+#define SCHEMA_HAS_IfcIndexedPolygonalFace
+#define SCHEMA_IfcIndexedPolygonalFace_HAS_CoordIndex
+#define SCHEMA_IfcIndexedPolygonalFace_HAS_ToFaceSet
+#define SCHEMA_IfcIndexedPolygonalFace_HAS_HasTexCoords
+#define SCHEMA_HAS_IfcIndexedPolygonalFaceWithVoids
+#define SCHEMA_IfcIndexedPolygonalFaceWithVoids_HAS_InnerCoordIndices
+#define SCHEMA_HAS_IfcIndexedPolygonalTextureMap
+#define SCHEMA_IfcIndexedPolygonalTextureMap_HAS_TexCoordIndices
+#define SCHEMA_HAS_IfcIndexedTextureMap
+#define SCHEMA_IfcIndexedTextureMap_HAS_MappedTo
+#define SCHEMA_IfcIndexedTextureMap_HAS_TexCoords
+#define SCHEMA_HAS_IfcIndexedTriangleTextureMap
+#define SCHEMA_IfcIndexedTriangleTextureMap_HAS_TexCoordIndex
+#define SCHEMA_IfcIndexedTriangleTextureMap_TexCoordIndex_IS_OPTIONAL
+#define SCHEMA_HAS_IfcInterceptor
+#define SCHEMA_IfcInterceptor_HAS_PredefinedType
+#define SCHEMA_IfcInterceptor_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcInterceptorType
+#define SCHEMA_IfcInterceptorType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcIntersectionCurve
+#define SCHEMA_HAS_IfcInventory
+#define SCHEMA_IfcInventory_HAS_PredefinedType
+#define SCHEMA_IfcInventory_PredefinedType_IS_OPTIONAL
+#define SCHEMA_IfcInventory_HAS_Jurisdiction
+#define SCHEMA_IfcInventory_Jurisdiction_IS_OPTIONAL
+#define SCHEMA_IfcInventory_HAS_ResponsiblePersons
+#define SCHEMA_IfcInventory_ResponsiblePersons_IS_OPTIONAL
+#define SCHEMA_IfcInventory_HAS_LastUpdateDate
+#define SCHEMA_IfcInventory_LastUpdateDate_IS_OPTIONAL
+#define SCHEMA_IfcInventory_HAS_CurrentValue
+#define SCHEMA_IfcInventory_CurrentValue_IS_OPTIONAL
+#define SCHEMA_IfcInventory_HAS_OriginalValue
+#define SCHEMA_IfcInventory_OriginalValue_IS_OPTIONAL
+#define SCHEMA_HAS_IfcIrregularTimeSeries
+#define SCHEMA_IfcIrregularTimeSeries_HAS_Values
+#define SCHEMA_HAS_IfcIrregularTimeSeriesValue
+#define SCHEMA_IfcIrregularTimeSeriesValue_HAS_TimeStamp
+#define SCHEMA_IfcIrregularTimeSeriesValue_HAS_ListValues
+#define SCHEMA_HAS_IfcJunctionBox
+#define SCHEMA_IfcJunctionBox_HAS_PredefinedType
+#define SCHEMA_IfcJunctionBox_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcJunctionBoxType
+#define SCHEMA_IfcJunctionBoxType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcKerb
+#define SCHEMA_IfcKerb_HAS_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_IfcLinearElement
+#define SCHEMA_HAS_IfcLinearPlacement
+#define SCHEMA_IfcLinearPlacement_HAS_RelativePlacement
+#define SCHEMA_IfcLinearPlacement_HAS_CartesianPosition
+#define SCHEMA_IfcLinearPlacement_CartesianPosition_IS_OPTIONAL
+#define SCHEMA_HAS_IfcLinearPositioningElement
+#define SCHEMA_HAS_IfcLiquidTerminal
+#define SCHEMA_IfcLiquidTerminal_HAS_PredefinedType
+#define SCHEMA_IfcLiquidTerminal_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcLiquidTerminalType
+#define SCHEMA_IfcLiquidTerminalType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcLocalPlacement
+#define SCHEMA_IfcLocalPlacement_HAS_RelativePlacement
+#define SCHEMA_HAS_IfcLoop
+#define SCHEMA_HAS_IfcManifoldSolidBrep
+#define SCHEMA_IfcManifoldSolidBrep_HAS_Outer
+#define SCHEMA_HAS_IfcMapConversion
+#define SCHEMA_IfcMapConversion_HAS_Eastings
+#define SCHEMA_IfcMapConversion_HAS_Northings
+#define SCHEMA_IfcMapConversion_HAS_OrthogonalHeight
+#define SCHEMA_IfcMapConversion_HAS_XAxisAbscissa
+#define SCHEMA_IfcMapConversion_XAxisAbscissa_IS_OPTIONAL
+#define SCHEMA_IfcMapConversion_HAS_XAxisOrdinate
+#define SCHEMA_IfcMapConversion_XAxisOrdinate_IS_OPTIONAL
+#define SCHEMA_IfcMapConversion_HAS_Scale
+#define SCHEMA_IfcMapConversion_Scale_IS_OPTIONAL
+#define SCHEMA_IfcMapConversion_HAS_ScaleY
+#define SCHEMA_IfcMapConversion_ScaleY_IS_OPTIONAL
+#define SCHEMA_IfcMapConversion_HAS_ScaleZ
+#define SCHEMA_IfcMapConversion_ScaleZ_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_IfcMarineFacility_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcMarinePart
+#define SCHEMA_IfcMarinePart_HAS_PredefinedType
+#define SCHEMA_IfcMarinePart_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcMaterial
+#define SCHEMA_IfcMaterial_HAS_Name
+#define SCHEMA_IfcMaterial_HAS_Description
+#define SCHEMA_IfcMaterial_Description_IS_OPTIONAL
+#define SCHEMA_IfcMaterial_HAS_Category
+#define SCHEMA_IfcMaterial_Category_IS_OPTIONAL
+#define SCHEMA_IfcMaterial_HAS_HasRepresentation
+#define SCHEMA_IfcMaterial_HAS_IsRelatedWith
+#define SCHEMA_IfcMaterial_HAS_RelatesTo
+#define SCHEMA_HAS_IfcMaterialClassificationRelationship
+#define SCHEMA_IfcMaterialClassificationRelationship_HAS_MaterialClassifications
+#define SCHEMA_IfcMaterialClassificationRelationship_HAS_ClassifiedMaterial
+#define SCHEMA_HAS_IfcMaterialConstituent
+#define SCHEMA_IfcMaterialConstituent_HAS_Name
+#define SCHEMA_IfcMaterialConstituent_Name_IS_OPTIONAL
+#define SCHEMA_IfcMaterialConstituent_HAS_Description
+#define SCHEMA_IfcMaterialConstituent_Description_IS_OPTIONAL
+#define SCHEMA_IfcMaterialConstituent_HAS_Material
+#define SCHEMA_IfcMaterialConstituent_HAS_Fraction
+#define SCHEMA_IfcMaterialConstituent_Fraction_IS_OPTIONAL
+#define SCHEMA_IfcMaterialConstituent_HAS_Category
+#define SCHEMA_IfcMaterialConstituent_Category_IS_OPTIONAL
+#define SCHEMA_IfcMaterialConstituent_HAS_ToMaterialConstituentSet
+#define SCHEMA_HAS_IfcMaterialConstituentSet
+#define SCHEMA_IfcMaterialConstituentSet_HAS_Name
+#define SCHEMA_IfcMaterialConstituentSet_Name_IS_OPTIONAL
+#define SCHEMA_IfcMaterialConstituentSet_HAS_Description
+#define SCHEMA_IfcMaterialConstituentSet_Description_IS_OPTIONAL
+#define SCHEMA_IfcMaterialConstituentSet_HAS_MaterialConstituents
+#define SCHEMA_IfcMaterialConstituentSet_MaterialConstituents_IS_OPTIONAL
+#define SCHEMA_HAS_IfcMaterialDefinition
+#define SCHEMA_IfcMaterialDefinition_HAS_AssociatedTo
+#define SCHEMA_IfcMaterialDefinition_HAS_HasExternalReferences
+#define SCHEMA_IfcMaterialDefinition_HAS_HasProperties
+#define SCHEMA_HAS_IfcMaterialDefinitionRepresentation
+#define SCHEMA_IfcMaterialDefinitionRepresentation_HAS_RepresentedMaterial
+#define SCHEMA_HAS_IfcMaterialLayer
+#define SCHEMA_IfcMaterialLayer_HAS_Material
+#define SCHEMA_IfcMaterialLayer_Material_IS_OPTIONAL
+#define SCHEMA_IfcMaterialLayer_HAS_LayerThickness
+#define SCHEMA_IfcMaterialLayer_HAS_IsVentilated
+#define SCHEMA_IfcMaterialLayer_IsVentilated_IS_OPTIONAL
+#define SCHEMA_IfcMaterialLayer_HAS_Name
+#define SCHEMA_IfcMaterialLayer_Name_IS_OPTIONAL
+#define SCHEMA_IfcMaterialLayer_HAS_Description
+#define SCHEMA_IfcMaterialLayer_Description_IS_OPTIONAL
+#define SCHEMA_IfcMaterialLayer_HAS_Category
+#define SCHEMA_IfcMaterialLayer_Category_IS_OPTIONAL
+#define SCHEMA_IfcMaterialLayer_HAS_Priority
+#define SCHEMA_IfcMaterialLayer_Priority_IS_OPTIONAL
+#define SCHEMA_IfcMaterialLayer_HAS_ToMaterialLayerSet
+#define SCHEMA_HAS_IfcMaterialLayerSet
+#define SCHEMA_IfcMaterialLayerSet_HAS_MaterialLayers
+#define SCHEMA_IfcMaterialLayerSet_HAS_LayerSetName
+#define SCHEMA_IfcMaterialLayerSet_LayerSetName_IS_OPTIONAL
+#define SCHEMA_IfcMaterialLayerSet_HAS_Description
+#define SCHEMA_IfcMaterialLayerSet_Description_IS_OPTIONAL
+#define SCHEMA_HAS_IfcMaterialLayerSetUsage
+#define SCHEMA_IfcMaterialLayerSetUsage_HAS_ForLayerSet
+#define SCHEMA_IfcMaterialLayerSetUsage_HAS_LayerSetDirection
+#define SCHEMA_IfcMaterialLayerSetUsage_HAS_DirectionSense
+#define SCHEMA_IfcMaterialLayerSetUsage_HAS_OffsetFromReferenceLine
+#define SCHEMA_IfcMaterialLayerSetUsage_HAS_ReferenceExtent
+#define SCHEMA_IfcMaterialLayerSetUsage_ReferenceExtent_IS_OPTIONAL
+#define SCHEMA_HAS_IfcMaterialLayerWithOffsets
+#define SCHEMA_IfcMaterialLayerWithOffsets_HAS_OffsetDirection
+#define SCHEMA_IfcMaterialLayerWithOffsets_HAS_OffsetValues
+#define SCHEMA_HAS_IfcMaterialList
+#define SCHEMA_IfcMaterialList_HAS_Materials
+#define SCHEMA_HAS_IfcMaterialProfile
+#define SCHEMA_IfcMaterialProfile_HAS_Name
+#define SCHEMA_IfcMaterialProfile_Name_IS_OPTIONAL
+#define SCHEMA_IfcMaterialProfile_HAS_Description
+#define SCHEMA_IfcMaterialProfile_Description_IS_OPTIONAL
+#define SCHEMA_IfcMaterialProfile_HAS_Material
+#define SCHEMA_IfcMaterialProfile_Material_IS_OPTIONAL
+#define SCHEMA_IfcMaterialProfile_HAS_Profile
+#define SCHEMA_IfcMaterialProfile_HAS_Priority
+#define SCHEMA_IfcMaterialProfile_Priority_IS_OPTIONAL
+#define SCHEMA_IfcMaterialProfile_HAS_Category
+#define SCHEMA_IfcMaterialProfile_Category_IS_OPTIONAL
+#define SCHEMA_IfcMaterialProfile_HAS_ToMaterialProfileSet
+#define SCHEMA_HAS_IfcMaterialProfileSet
+#define SCHEMA_IfcMaterialProfileSet_HAS_Name
+#define SCHEMA_IfcMaterialProfileSet_Name_IS_OPTIONAL
+#define SCHEMA_IfcMaterialProfileSet_HAS_Description
+#define SCHEMA_IfcMaterialProfileSet_Description_IS_OPTIONAL
+#define SCHEMA_IfcMaterialProfileSet_HAS_MaterialProfiles
+#define SCHEMA_IfcMaterialProfileSet_HAS_CompositeProfile
+#define SCHEMA_IfcMaterialProfileSet_CompositeProfile_IS_OPTIONAL
+#define SCHEMA_HAS_IfcMaterialProfileSetUsage
+#define SCHEMA_IfcMaterialProfileSetUsage_HAS_ForProfileSet
+#define SCHEMA_IfcMaterialProfileSetUsage_HAS_CardinalPoint
+#define SCHEMA_IfcMaterialProfileSetUsage_CardinalPoint_IS_OPTIONAL
+#define SCHEMA_IfcMaterialProfileSetUsage_HAS_ReferenceExtent
+#define SCHEMA_IfcMaterialProfileSetUsage_ReferenceExtent_IS_OPTIONAL
+#define SCHEMA_HAS_IfcMaterialProfileSetUsageTapering
+#define SCHEMA_IfcMaterialProfileSetUsageTapering_HAS_ForProfileEndSet
+#define SCHEMA_IfcMaterialProfileSetUsageTapering_HAS_CardinalEndPoint
+#define SCHEMA_IfcMaterialProfileSetUsageTapering_CardinalEndPoint_IS_OPTIONAL
+#define SCHEMA_HAS_IfcMaterialProfileWithOffsets
+#define SCHEMA_IfcMaterialProfileWithOffsets_HAS_OffsetValues
+#define SCHEMA_HAS_IfcMaterialProperties
+#define SCHEMA_IfcMaterialProperties_HAS_Material
+#define SCHEMA_HAS_IfcMaterialRelationship
+#define SCHEMA_IfcMaterialRelationship_HAS_RelatingMaterial
+#define SCHEMA_IfcMaterialRelationship_HAS_RelatedMaterials
+#define SCHEMA_IfcMaterialRelationship_HAS_MaterialExpression
+#define SCHEMA_IfcMaterialRelationship_MaterialExpression_IS_OPTIONAL
+#define SCHEMA_HAS_IfcMaterialUsageDefinition
+#define SCHEMA_IfcMaterialUsageDefinition_HAS_AssociatedTo
+#define SCHEMA_HAS_IfcMeasureWithUnit
+#define SCHEMA_IfcMeasureWithUnit_HAS_ValueComponent
+#define SCHEMA_IfcMeasureWithUnit_HAS_UnitComponent
+#define SCHEMA_HAS_IfcMechanicalFastener
+#define SCHEMA_IfcMechanicalFastener_HAS_NominalDiameter
+#define SCHEMA_IfcMechanicalFastener_NominalDiameter_IS_OPTIONAL
+#define SCHEMA_IfcMechanicalFastener_HAS_NominalLength
+#define SCHEMA_IfcMechanicalFastener_NominalLength_IS_OPTIONAL
+#define SCHEMA_IfcMechanicalFastener_HAS_PredefinedType
+#define SCHEMA_IfcMechanicalFastener_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcMechanicalFastenerType
+#define SCHEMA_IfcMechanicalFastenerType_HAS_PredefinedType
+#define SCHEMA_IfcMechanicalFastenerType_HAS_NominalDiameter
+#define SCHEMA_IfcMechanicalFastenerType_NominalDiameter_IS_OPTIONAL
+#define SCHEMA_IfcMechanicalFastenerType_HAS_NominalLength
+#define SCHEMA_IfcMechanicalFastenerType_NominalLength_IS_OPTIONAL
+#define SCHEMA_HAS_IfcMedicalDevice
+#define SCHEMA_IfcMedicalDevice_HAS_PredefinedType
+#define SCHEMA_IfcMedicalDevice_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcMedicalDeviceType
+#define SCHEMA_IfcMedicalDeviceType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcMember
+#define SCHEMA_IfcMember_HAS_PredefinedType
+#define SCHEMA_IfcMember_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcMemberType
+#define SCHEMA_IfcMemberType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcMetric
+#define SCHEMA_IfcMetric_HAS_Benchmark
+#define SCHEMA_IfcMetric_HAS_ValueSource
+#define SCHEMA_IfcMetric_ValueSource_IS_OPTIONAL
+#define SCHEMA_IfcMetric_HAS_DataValue
+#define SCHEMA_IfcMetric_DataValue_IS_OPTIONAL
+#define SCHEMA_IfcMetric_HAS_ReferencePath
+#define SCHEMA_IfcMetric_ReferencePath_IS_OPTIONAL
+#define SCHEMA_HAS_IfcMirroredProfileDef
+#define SCHEMA_HAS_IfcMobileTelecommunicationsAppliance
+#define SCHEMA_IfcMobileTelecommunicationsAppliance_HAS_PredefinedType
+#define SCHEMA_IfcMobileTelecommunicationsAppliance_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcMobileTelecommunicationsApplianceType
+#define SCHEMA_IfcMobileTelecommunicationsApplianceType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcMonetaryUnit
+#define SCHEMA_IfcMonetaryUnit_HAS_Currency
+#define SCHEMA_HAS_IfcMooringDevice
+#define SCHEMA_IfcMooringDevice_HAS_PredefinedType
+#define SCHEMA_IfcMooringDevice_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcMooringDeviceType
+#define SCHEMA_IfcMooringDeviceType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcMotorConnection
+#define SCHEMA_IfcMotorConnection_HAS_PredefinedType
+#define SCHEMA_IfcMotorConnection_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcMotorConnectionType
+#define SCHEMA_IfcMotorConnectionType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcNamedUnit
+#define SCHEMA_IfcNamedUnit_HAS_Dimensions
+#define SCHEMA_IfcNamedUnit_HAS_UnitType
+#define SCHEMA_HAS_IfcNavigationElement
+#define SCHEMA_IfcNavigationElement_HAS_PredefinedType
+#define SCHEMA_IfcNavigationElement_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcNavigationElementType
+#define SCHEMA_IfcNavigationElementType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcObject
+#define SCHEMA_IfcObject_HAS_ObjectType
+#define SCHEMA_IfcObject_ObjectType_IS_OPTIONAL
+#define SCHEMA_IfcObject_HAS_IsDeclaredBy
+#define SCHEMA_IfcObject_HAS_Declares
+#define SCHEMA_IfcObject_HAS_IsTypedBy
+#define SCHEMA_IfcObject_HAS_IsDefinedBy
+#define SCHEMA_HAS_IfcObjectDefinition
+#define SCHEMA_IfcObjectDefinition_HAS_HasAssignments
+#define SCHEMA_IfcObjectDefinition_HAS_Nests
+#define SCHEMA_IfcObjectDefinition_HAS_IsNestedBy
+#define SCHEMA_IfcObjectDefinition_HAS_HasContext
+#define SCHEMA_IfcObjectDefinition_HAS_IsDecomposedBy
+#define SCHEMA_IfcObjectDefinition_HAS_Decomposes
+#define SCHEMA_IfcObjectDefinition_HAS_HasAssociations
+#define SCHEMA_HAS_IfcObjectPlacement
+#define SCHEMA_IfcObjectPlacement_HAS_PlacementRelTo
+#define SCHEMA_IfcObjectPlacement_PlacementRelTo_IS_OPTIONAL
+#define SCHEMA_IfcObjectPlacement_HAS_PlacesObject
+#define SCHEMA_IfcObjectPlacement_HAS_ReferencedByPlacements
+#define SCHEMA_HAS_IfcObjective
+#define SCHEMA_IfcObjective_HAS_BenchmarkValues
+#define SCHEMA_IfcObjective_BenchmarkValues_IS_OPTIONAL
+#define SCHEMA_IfcObjective_HAS_LogicalAggregator
+#define SCHEMA_IfcObjective_LogicalAggregator_IS_OPTIONAL
+#define SCHEMA_IfcObjective_HAS_ObjectiveQualifier
+#define SCHEMA_IfcObjective_HAS_UserDefinedQualifier
+#define SCHEMA_IfcObjective_UserDefinedQualifier_IS_OPTIONAL
+#define SCHEMA_HAS_IfcOccupant
+#define SCHEMA_IfcOccupant_HAS_PredefinedType
+#define SCHEMA_IfcOccupant_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcOffsetCurve
+#define SCHEMA_IfcOffsetCurve_HAS_BasisCurve
+#define SCHEMA_HAS_IfcOffsetCurve2D
+#define SCHEMA_IfcOffsetCurve2D_HAS_Distance
+#define SCHEMA_IfcOffsetCurve2D_HAS_SelfIntersect
+#define SCHEMA_HAS_IfcOffsetCurve3D
+#define SCHEMA_IfcOffsetCurve3D_HAS_Distance
+#define SCHEMA_IfcOffsetCurve3D_HAS_SelfIntersect
+#define SCHEMA_IfcOffsetCurve3D_HAS_RefDirection
+#define SCHEMA_HAS_IfcOffsetCurveByDistances
+#define SCHEMA_IfcOffsetCurveByDistances_HAS_OffsetValues
+#define SCHEMA_IfcOffsetCurveByDistances_HAS_Tag
+#define SCHEMA_IfcOffsetCurveByDistances_Tag_IS_OPTIONAL
+#define SCHEMA_HAS_IfcOpenCrossProfileDef
+#define SCHEMA_IfcOpenCrossProfileDef_HAS_HorizontalWidths
+#define SCHEMA_IfcOpenCrossProfileDef_HAS_Widths
+#define SCHEMA_IfcOpenCrossProfileDef_HAS_Slopes
+#define SCHEMA_IfcOpenCrossProfileDef_HAS_Tags
+#define SCHEMA_IfcOpenCrossProfileDef_Tags_IS_OPTIONAL
+#define SCHEMA_IfcOpenCrossProfileDef_HAS_OffsetPoint
+#define SCHEMA_IfcOpenCrossProfileDef_OffsetPoint_IS_OPTIONAL
+#define SCHEMA_HAS_IfcOpenShell
+#define SCHEMA_HAS_IfcOpeningElement
+#define SCHEMA_IfcOpeningElement_HAS_PredefinedType
+#define SCHEMA_IfcOpeningElement_PredefinedType_IS_OPTIONAL
+#define SCHEMA_IfcOpeningElement_HAS_HasFillings
+#define SCHEMA_HAS_IfcOrganization
+#define SCHEMA_IfcOrganization_HAS_Identification
+#define SCHEMA_IfcOrganization_Identification_IS_OPTIONAL
+#define SCHEMA_IfcOrganization_HAS_Name
+#define SCHEMA_IfcOrganization_HAS_Description
+#define SCHEMA_IfcOrganization_Description_IS_OPTIONAL
+#define SCHEMA_IfcOrganization_HAS_Roles
+#define SCHEMA_IfcOrganization_Roles_IS_OPTIONAL
+#define SCHEMA_IfcOrganization_HAS_Addresses
+#define SCHEMA_IfcOrganization_Addresses_IS_OPTIONAL
+#define SCHEMA_IfcOrganization_HAS_IsRelatedBy
+#define SCHEMA_IfcOrganization_HAS_Relates
+#define SCHEMA_IfcOrganization_HAS_Engages
+#define SCHEMA_HAS_IfcOrganizationRelationship
+#define SCHEMA_IfcOrganizationRelationship_HAS_RelatingOrganization
+#define SCHEMA_IfcOrganizationRelationship_HAS_RelatedOrganizations
+#define SCHEMA_HAS_IfcOrientedEdge
+#define SCHEMA_IfcOrientedEdge_HAS_EdgeElement
+#define SCHEMA_IfcOrientedEdge_HAS_Orientation
+#define SCHEMA_HAS_IfcOuterBoundaryCurve
+#define SCHEMA_HAS_IfcOutlet
+#define SCHEMA_IfcOutlet_HAS_PredefinedType
+#define SCHEMA_IfcOutlet_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcOutletType
+#define SCHEMA_IfcOutletType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcOwnerHistory
+#define SCHEMA_IfcOwnerHistory_HAS_OwningUser
+#define SCHEMA_IfcOwnerHistory_HAS_OwningApplication
+#define SCHEMA_IfcOwnerHistory_HAS_State
+#define SCHEMA_IfcOwnerHistory_State_IS_OPTIONAL
+#define SCHEMA_IfcOwnerHistory_HAS_ChangeAction
+#define SCHEMA_IfcOwnerHistory_ChangeAction_IS_OPTIONAL
+#define SCHEMA_IfcOwnerHistory_HAS_LastModifiedDate
+#define SCHEMA_IfcOwnerHistory_LastModifiedDate_IS_OPTIONAL
+#define SCHEMA_IfcOwnerHistory_HAS_LastModifyingUser
+#define SCHEMA_IfcOwnerHistory_LastModifyingUser_IS_OPTIONAL
+#define SCHEMA_IfcOwnerHistory_HAS_LastModifyingApplication
+#define SCHEMA_IfcOwnerHistory_LastModifyingApplication_IS_OPTIONAL
+#define SCHEMA_IfcOwnerHistory_HAS_CreationDate
+#define SCHEMA_HAS_IfcParameterizedProfileDef
+#define SCHEMA_IfcParameterizedProfileDef_HAS_Position
+#define SCHEMA_IfcParameterizedProfileDef_Position_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPath
+#define SCHEMA_IfcPath_HAS_EdgeList
+#define SCHEMA_HAS_IfcPavement
+#define SCHEMA_IfcPavement_HAS_PredefinedType
+#define SCHEMA_IfcPavement_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPavementType
+#define SCHEMA_IfcPavementType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcPcurve
+#define SCHEMA_IfcPcurve_HAS_BasisSurface
+#define SCHEMA_IfcPcurve_HAS_ReferenceCurve
+#define SCHEMA_HAS_IfcPerformanceHistory
+#define SCHEMA_IfcPerformanceHistory_HAS_LifeCyclePhase
+#define SCHEMA_IfcPerformanceHistory_HAS_PredefinedType
+#define SCHEMA_IfcPerformanceHistory_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPermeableCoveringProperties
+#define SCHEMA_IfcPermeableCoveringProperties_HAS_OperationType
+#define SCHEMA_IfcPermeableCoveringProperties_HAS_PanelPosition
+#define SCHEMA_IfcPermeableCoveringProperties_HAS_FrameDepth
+#define SCHEMA_IfcPermeableCoveringProperties_FrameDepth_IS_OPTIONAL
+#define SCHEMA_IfcPermeableCoveringProperties_HAS_FrameThickness
+#define SCHEMA_IfcPermeableCoveringProperties_FrameThickness_IS_OPTIONAL
+#define SCHEMA_IfcPermeableCoveringProperties_HAS_ShapeAspectStyle
+#define SCHEMA_IfcPermeableCoveringProperties_ShapeAspectStyle_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPermit
+#define SCHEMA_IfcPermit_HAS_PredefinedType
+#define SCHEMA_IfcPermit_PredefinedType_IS_OPTIONAL
+#define SCHEMA_IfcPermit_HAS_Status
+#define SCHEMA_IfcPermit_Status_IS_OPTIONAL
+#define SCHEMA_IfcPermit_HAS_LongDescription
+#define SCHEMA_IfcPermit_LongDescription_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPerson
+#define SCHEMA_IfcPerson_HAS_Identification
+#define SCHEMA_IfcPerson_Identification_IS_OPTIONAL
+#define SCHEMA_IfcPerson_HAS_FamilyName
+#define SCHEMA_IfcPerson_FamilyName_IS_OPTIONAL
+#define SCHEMA_IfcPerson_HAS_GivenName
+#define SCHEMA_IfcPerson_GivenName_IS_OPTIONAL
+#define SCHEMA_IfcPerson_HAS_MiddleNames
+#define SCHEMA_IfcPerson_MiddleNames_IS_OPTIONAL
+#define SCHEMA_IfcPerson_HAS_PrefixTitles
+#define SCHEMA_IfcPerson_PrefixTitles_IS_OPTIONAL
+#define SCHEMA_IfcPerson_HAS_SuffixTitles
+#define SCHEMA_IfcPerson_SuffixTitles_IS_OPTIONAL
+#define SCHEMA_IfcPerson_HAS_Roles
+#define SCHEMA_IfcPerson_Roles_IS_OPTIONAL
+#define SCHEMA_IfcPerson_HAS_Addresses
+#define SCHEMA_IfcPerson_Addresses_IS_OPTIONAL
+#define SCHEMA_IfcPerson_HAS_EngagedIn
+#define SCHEMA_HAS_IfcPersonAndOrganization
+#define SCHEMA_IfcPersonAndOrganization_HAS_ThePerson
+#define SCHEMA_IfcPersonAndOrganization_HAS_TheOrganization
+#define SCHEMA_IfcPersonAndOrganization_HAS_Roles
+#define SCHEMA_IfcPersonAndOrganization_Roles_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPhysicalComplexQuantity
+#define SCHEMA_IfcPhysicalComplexQuantity_HAS_HasQuantities
+#define SCHEMA_IfcPhysicalComplexQuantity_HAS_Discrimination
+#define SCHEMA_IfcPhysicalComplexQuantity_HAS_Quality
+#define SCHEMA_IfcPhysicalComplexQuantity_Quality_IS_OPTIONAL
+#define SCHEMA_IfcPhysicalComplexQuantity_HAS_Usage
+#define SCHEMA_IfcPhysicalComplexQuantity_Usage_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPhysicalQuantity
+#define SCHEMA_IfcPhysicalQuantity_HAS_Name
+#define SCHEMA_IfcPhysicalQuantity_HAS_Description
+#define SCHEMA_IfcPhysicalQuantity_Description_IS_OPTIONAL
+#define SCHEMA_IfcPhysicalQuantity_HAS_HasExternalReferences
+#define SCHEMA_IfcPhysicalQuantity_HAS_PartOfComplex
+#define SCHEMA_HAS_IfcPhysicalSimpleQuantity
+#define SCHEMA_IfcPhysicalSimpleQuantity_HAS_Unit
+#define SCHEMA_IfcPhysicalSimpleQuantity_Unit_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPile
+#define SCHEMA_IfcPile_HAS_PredefinedType
+#define SCHEMA_IfcPile_PredefinedType_IS_OPTIONAL
+#define SCHEMA_IfcPile_HAS_ConstructionType
+#define SCHEMA_IfcPile_ConstructionType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPileType
+#define SCHEMA_IfcPileType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcPipeFitting
+#define SCHEMA_IfcPipeFitting_HAS_PredefinedType
+#define SCHEMA_IfcPipeFitting_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPipeFittingType
+#define SCHEMA_IfcPipeFittingType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcPipeSegment
+#define SCHEMA_IfcPipeSegment_HAS_PredefinedType
+#define SCHEMA_IfcPipeSegment_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPipeSegmentType
+#define SCHEMA_IfcPipeSegmentType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcPixelTexture
+#define SCHEMA_IfcPixelTexture_HAS_Width
+#define SCHEMA_IfcPixelTexture_HAS_Height
+#define SCHEMA_IfcPixelTexture_HAS_ColourComponents
+#define SCHEMA_IfcPixelTexture_HAS_Pixel
+#define SCHEMA_HAS_IfcPlacement
+#define SCHEMA_IfcPlacement_HAS_Location
+#define SCHEMA_HAS_IfcPlanarBox
+#define SCHEMA_IfcPlanarBox_HAS_Placement
+#define SCHEMA_HAS_IfcPlanarExtent
+#define SCHEMA_IfcPlanarExtent_HAS_SizeInX
+#define SCHEMA_IfcPlanarExtent_HAS_SizeInY
+#define SCHEMA_HAS_IfcPlane
+#define SCHEMA_HAS_IfcPlate
+#define SCHEMA_IfcPlate_HAS_PredefinedType
+#define SCHEMA_IfcPlate_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPlateType
+#define SCHEMA_IfcPlateType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcPoint
+#define SCHEMA_HAS_IfcPointByDistanceExpression
+#define SCHEMA_IfcPointByDistanceExpression_HAS_DistanceAlong
+#define SCHEMA_IfcPointByDistanceExpression_HAS_OffsetLateral
+#define SCHEMA_IfcPointByDistanceExpression_OffsetLateral_IS_OPTIONAL
+#define SCHEMA_IfcPointByDistanceExpression_HAS_OffsetVertical
+#define SCHEMA_IfcPointByDistanceExpression_OffsetVertical_IS_OPTIONAL
+#define SCHEMA_IfcPointByDistanceExpression_HAS_OffsetLongitudinal
+#define SCHEMA_IfcPointByDistanceExpression_OffsetLongitudinal_IS_OPTIONAL
+#define SCHEMA_IfcPointByDistanceExpression_HAS_BasisCurve
+#define SCHEMA_HAS_IfcPointOnCurve
+#define SCHEMA_IfcPointOnCurve_HAS_BasisCurve
+#define SCHEMA_IfcPointOnCurve_HAS_PointParameter
+#define SCHEMA_HAS_IfcPointOnSurface
+#define SCHEMA_IfcPointOnSurface_HAS_BasisSurface
+#define SCHEMA_IfcPointOnSurface_HAS_PointParameterU
+#define SCHEMA_IfcPointOnSurface_HAS_PointParameterV
+#define SCHEMA_HAS_IfcPolyLoop
+#define SCHEMA_IfcPolyLoop_HAS_Polygon
+#define SCHEMA_HAS_IfcPolygonalBoundedHalfSpace
+#define SCHEMA_IfcPolygonalBoundedHalfSpace_HAS_Position
+#define SCHEMA_IfcPolygonalBoundedHalfSpace_HAS_PolygonalBoundary
+#define SCHEMA_HAS_IfcPolygonalFaceSet
+#define SCHEMA_IfcPolygonalFaceSet_HAS_Faces
+#define SCHEMA_IfcPolygonalFaceSet_HAS_PnIndex
+#define SCHEMA_IfcPolygonalFaceSet_PnIndex_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPolyline
+#define SCHEMA_IfcPolyline_HAS_Points
+#define SCHEMA_HAS_IfcPolynomialCurve
+#define SCHEMA_IfcPolynomialCurve_HAS_Position
+#define SCHEMA_IfcPolynomialCurve_HAS_CoefficientsX
+#define SCHEMA_IfcPolynomialCurve_CoefficientsX_IS_OPTIONAL
+#define SCHEMA_IfcPolynomialCurve_HAS_CoefficientsY
+#define SCHEMA_IfcPolynomialCurve_CoefficientsY_IS_OPTIONAL
+#define SCHEMA_IfcPolynomialCurve_HAS_CoefficientsZ
+#define SCHEMA_IfcPolynomialCurve_CoefficientsZ_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPort
+#define SCHEMA_IfcPort_HAS_ContainedIn
+#define SCHEMA_IfcPort_HAS_ConnectedFrom
+#define SCHEMA_IfcPort_HAS_ConnectedTo
+#define SCHEMA_HAS_IfcPositioningElement
+#define SCHEMA_IfcPositioningElement_HAS_ContainedInStructure
+#define SCHEMA_IfcPositioningElement_HAS_Positions
+#define SCHEMA_HAS_IfcPostalAddress
+#define SCHEMA_IfcPostalAddress_HAS_InternalLocation
+#define SCHEMA_IfcPostalAddress_InternalLocation_IS_OPTIONAL
+#define SCHEMA_IfcPostalAddress_HAS_AddressLines
+#define SCHEMA_IfcPostalAddress_AddressLines_IS_OPTIONAL
+#define SCHEMA_IfcPostalAddress_HAS_PostalBox
+#define SCHEMA_IfcPostalAddress_PostalBox_IS_OPTIONAL
+#define SCHEMA_IfcPostalAddress_HAS_Town
+#define SCHEMA_IfcPostalAddress_Town_IS_OPTIONAL
+#define SCHEMA_IfcPostalAddress_HAS_Region
+#define SCHEMA_IfcPostalAddress_Region_IS_OPTIONAL
+#define SCHEMA_IfcPostalAddress_HAS_PostalCode
+#define SCHEMA_IfcPostalAddress_PostalCode_IS_OPTIONAL
+#define SCHEMA_IfcPostalAddress_HAS_Country
+#define SCHEMA_IfcPostalAddress_Country_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPreDefinedColour
+#define SCHEMA_HAS_IfcPreDefinedCurveFont
+#define SCHEMA_HAS_IfcPreDefinedItem
+#define SCHEMA_IfcPreDefinedItem_HAS_Name
+#define SCHEMA_HAS_IfcPreDefinedProperties
+#define SCHEMA_HAS_IfcPreDefinedPropertySet
+#define SCHEMA_HAS_IfcPreDefinedTextFont
+#define SCHEMA_HAS_IfcPresentationItem
+#define SCHEMA_HAS_IfcPresentationLayerAssignment
+#define SCHEMA_IfcPresentationLayerAssignment_HAS_Name
+#define SCHEMA_IfcPresentationLayerAssignment_HAS_Description
+#define SCHEMA_IfcPresentationLayerAssignment_Description_IS_OPTIONAL
+#define SCHEMA_IfcPresentationLayerAssignment_HAS_AssignedItems
+#define SCHEMA_IfcPresentationLayerAssignment_HAS_Identifier
+#define SCHEMA_IfcPresentationLayerAssignment_Identifier_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPresentationLayerWithStyle
+#define SCHEMA_IfcPresentationLayerWithStyle_HAS_LayerOn
+#define SCHEMA_IfcPresentationLayerWithStyle_HAS_LayerFrozen
+#define SCHEMA_IfcPresentationLayerWithStyle_HAS_LayerBlocked
+#define SCHEMA_IfcPresentationLayerWithStyle_HAS_LayerStyles
+#define SCHEMA_HAS_IfcPresentationStyle
+#define SCHEMA_IfcPresentationStyle_HAS_Name
+#define SCHEMA_IfcPresentationStyle_Name_IS_OPTIONAL
+#define SCHEMA_HAS_IfcProcedure
+#define SCHEMA_IfcProcedure_HAS_PredefinedType
+#define SCHEMA_IfcProcedure_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcProcedureType
+#define SCHEMA_IfcProcedureType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcProcess
+#define SCHEMA_IfcProcess_HAS_Identification
+#define SCHEMA_IfcProcess_Identification_IS_OPTIONAL
+#define SCHEMA_IfcProcess_HAS_LongDescription
+#define SCHEMA_IfcProcess_LongDescription_IS_OPTIONAL
+#define SCHEMA_IfcProcess_HAS_IsPredecessorTo
+#define SCHEMA_IfcProcess_HAS_IsSuccessorFrom
+#define SCHEMA_IfcProcess_HAS_OperatesOn
+#define SCHEMA_HAS_IfcProduct
+#define SCHEMA_IfcProduct_HAS_ObjectPlacement
+#define SCHEMA_IfcProduct_ObjectPlacement_IS_OPTIONAL
+#define SCHEMA_IfcProduct_HAS_Representation
+#define SCHEMA_IfcProduct_Representation_IS_OPTIONAL
+#define SCHEMA_IfcProduct_HAS_ReferencedBy
+#define SCHEMA_IfcProduct_HAS_PositionedRelativeTo
+#define SCHEMA_IfcProduct_HAS_ReferencedInStructures
+#define SCHEMA_HAS_IfcProductDefinitionShape
+#define SCHEMA_IfcProductDefinitionShape_HAS_ShapeOfProduct
+#define SCHEMA_IfcProductDefinitionShape_HAS_HasShapeAspects
+#define SCHEMA_HAS_IfcProductRepresentation
+#define SCHEMA_IfcProductRepresentation_HAS_Name
+#define SCHEMA_IfcProductRepresentation_Name_IS_OPTIONAL
+#define SCHEMA_IfcProductRepresentation_HAS_Description
+#define SCHEMA_IfcProductRepresentation_Description_IS_OPTIONAL
+#define SCHEMA_IfcProductRepresentation_HAS_Representations
+#define SCHEMA_HAS_IfcProfileDef
+#define SCHEMA_IfcProfileDef_HAS_ProfileType
+#define SCHEMA_IfcProfileDef_HAS_ProfileName
+#define SCHEMA_IfcProfileDef_ProfileName_IS_OPTIONAL
+#define SCHEMA_IfcProfileDef_HAS_HasExternalReference
+#define SCHEMA_IfcProfileDef_HAS_HasProperties
+#define SCHEMA_HAS_IfcProfileProperties
+#define SCHEMA_IfcProfileProperties_HAS_ProfileDefinition
+#define SCHEMA_HAS_IfcProject
+#define SCHEMA_HAS_IfcProjectLibrary
+#define SCHEMA_HAS_IfcProjectOrder
+#define SCHEMA_IfcProjectOrder_HAS_PredefinedType
+#define SCHEMA_IfcProjectOrder_PredefinedType_IS_OPTIONAL
+#define SCHEMA_IfcProjectOrder_HAS_Status
+#define SCHEMA_IfcProjectOrder_Status_IS_OPTIONAL
+#define SCHEMA_IfcProjectOrder_HAS_LongDescription
+#define SCHEMA_IfcProjectOrder_LongDescription_IS_OPTIONAL
+#define SCHEMA_HAS_IfcProjectedCRS
+#define SCHEMA_IfcProjectedCRS_HAS_MapProjection
+#define SCHEMA_IfcProjectedCRS_MapProjection_IS_OPTIONAL
+#define SCHEMA_IfcProjectedCRS_HAS_MapZone
+#define SCHEMA_IfcProjectedCRS_MapZone_IS_OPTIONAL
+#define SCHEMA_IfcProjectedCRS_HAS_MapUnit
+#define SCHEMA_IfcProjectedCRS_MapUnit_IS_OPTIONAL
+#define SCHEMA_HAS_IfcProjectionElement
+#define SCHEMA_IfcProjectionElement_HAS_PredefinedType
+#define SCHEMA_IfcProjectionElement_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcProperty
+#define SCHEMA_IfcProperty_HAS_Name
+#define SCHEMA_IfcProperty_HAS_Specification
+#define SCHEMA_IfcProperty_Specification_IS_OPTIONAL
+#define SCHEMA_IfcProperty_HAS_PartOfPset
+#define SCHEMA_IfcProperty_HAS_PropertyForDependance
+#define SCHEMA_IfcProperty_HAS_PropertyDependsOn
+#define SCHEMA_IfcProperty_HAS_PartOfComplex
+#define SCHEMA_IfcProperty_HAS_HasConstraints
+#define SCHEMA_IfcProperty_HAS_HasApprovals
+#define SCHEMA_HAS_IfcPropertyAbstraction
+#define SCHEMA_IfcPropertyAbstraction_HAS_HasExternalReferences
+#define SCHEMA_HAS_IfcPropertyBoundedValue
+#define SCHEMA_IfcPropertyBoundedValue_HAS_UpperBoundValue
+#define SCHEMA_IfcPropertyBoundedValue_UpperBoundValue_IS_OPTIONAL
+#define SCHEMA_IfcPropertyBoundedValue_HAS_LowerBoundValue
+#define SCHEMA_IfcPropertyBoundedValue_LowerBoundValue_IS_OPTIONAL
+#define SCHEMA_IfcPropertyBoundedValue_HAS_Unit
+#define SCHEMA_IfcPropertyBoundedValue_Unit_IS_OPTIONAL
+#define SCHEMA_IfcPropertyBoundedValue_HAS_SetPointValue
+#define SCHEMA_IfcPropertyBoundedValue_SetPointValue_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPropertyDefinition
+#define SCHEMA_IfcPropertyDefinition_HAS_HasContext
+#define SCHEMA_IfcPropertyDefinition_HAS_HasAssociations
+#define SCHEMA_HAS_IfcPropertyDependencyRelationship
+#define SCHEMA_IfcPropertyDependencyRelationship_HAS_DependingProperty
+#define SCHEMA_IfcPropertyDependencyRelationship_HAS_DependantProperty
+#define SCHEMA_IfcPropertyDependencyRelationship_HAS_Expression
+#define SCHEMA_IfcPropertyDependencyRelationship_Expression_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPropertyEnumeratedValue
+#define SCHEMA_IfcPropertyEnumeratedValue_HAS_EnumerationValues
+#define SCHEMA_IfcPropertyEnumeratedValue_EnumerationValues_IS_OPTIONAL
+#define SCHEMA_IfcPropertyEnumeratedValue_HAS_EnumerationReference
+#define SCHEMA_IfcPropertyEnumeratedValue_EnumerationReference_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPropertyEnumeration
+#define SCHEMA_IfcPropertyEnumeration_HAS_Name
+#define SCHEMA_IfcPropertyEnumeration_HAS_EnumerationValues
+#define SCHEMA_IfcPropertyEnumeration_HAS_Unit
+#define SCHEMA_IfcPropertyEnumeration_Unit_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPropertyListValue
+#define SCHEMA_IfcPropertyListValue_HAS_ListValues
+#define SCHEMA_IfcPropertyListValue_ListValues_IS_OPTIONAL
+#define SCHEMA_IfcPropertyListValue_HAS_Unit
+#define SCHEMA_IfcPropertyListValue_Unit_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPropertyReferenceValue
+#define SCHEMA_IfcPropertyReferenceValue_HAS_UsageName
+#define SCHEMA_IfcPropertyReferenceValue_UsageName_IS_OPTIONAL
+#define SCHEMA_IfcPropertyReferenceValue_HAS_PropertyReference
+#define SCHEMA_IfcPropertyReferenceValue_PropertyReference_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPropertySet
+#define SCHEMA_IfcPropertySet_HAS_HasProperties
+#define SCHEMA_HAS_IfcPropertySetDefinition
+#define SCHEMA_IfcPropertySetDefinition_HAS_DefinesType
+#define SCHEMA_IfcPropertySetDefinition_HAS_IsDefinedBy
+#define SCHEMA_IfcPropertySetDefinition_HAS_DefinesOccurrence
+#define SCHEMA_HAS_IfcPropertySetTemplate
+#define SCHEMA_IfcPropertySetTemplate_HAS_TemplateType
+#define SCHEMA_IfcPropertySetTemplate_TemplateType_IS_OPTIONAL
+#define SCHEMA_IfcPropertySetTemplate_HAS_ApplicableEntity
+#define SCHEMA_IfcPropertySetTemplate_ApplicableEntity_IS_OPTIONAL
+#define SCHEMA_IfcPropertySetTemplate_HAS_HasPropertyTemplates
+#define SCHEMA_IfcPropertySetTemplate_HAS_Defines
+#define SCHEMA_HAS_IfcPropertySingleValue
+#define SCHEMA_IfcPropertySingleValue_HAS_NominalValue
+#define SCHEMA_IfcPropertySingleValue_NominalValue_IS_OPTIONAL
+#define SCHEMA_IfcPropertySingleValue_HAS_Unit
+#define SCHEMA_IfcPropertySingleValue_Unit_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPropertyTableValue
+#define SCHEMA_IfcPropertyTableValue_HAS_DefiningValues
+#define SCHEMA_IfcPropertyTableValue_DefiningValues_IS_OPTIONAL
+#define SCHEMA_IfcPropertyTableValue_HAS_DefinedValues
+#define SCHEMA_IfcPropertyTableValue_DefinedValues_IS_OPTIONAL
+#define SCHEMA_IfcPropertyTableValue_HAS_Expression
+#define SCHEMA_IfcPropertyTableValue_Expression_IS_OPTIONAL
+#define SCHEMA_IfcPropertyTableValue_HAS_DefiningUnit
+#define SCHEMA_IfcPropertyTableValue_DefiningUnit_IS_OPTIONAL
+#define SCHEMA_IfcPropertyTableValue_HAS_DefinedUnit
+#define SCHEMA_IfcPropertyTableValue_DefinedUnit_IS_OPTIONAL
+#define SCHEMA_IfcPropertyTableValue_HAS_CurveInterpolation
+#define SCHEMA_IfcPropertyTableValue_CurveInterpolation_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPropertyTemplate
+#define SCHEMA_IfcPropertyTemplate_HAS_PartOfComplexTemplate
+#define SCHEMA_IfcPropertyTemplate_HAS_PartOfPsetTemplate
+#define SCHEMA_HAS_IfcPropertyTemplateDefinition
+#define SCHEMA_HAS_IfcProtectiveDevice
+#define SCHEMA_IfcProtectiveDevice_HAS_PredefinedType
+#define SCHEMA_IfcProtectiveDevice_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcProtectiveDeviceTrippingUnit
+#define SCHEMA_IfcProtectiveDeviceTrippingUnit_HAS_PredefinedType
+#define SCHEMA_IfcProtectiveDeviceTrippingUnit_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcProtectiveDeviceTrippingUnitType
+#define SCHEMA_IfcProtectiveDeviceTrippingUnitType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcProtectiveDeviceType
+#define SCHEMA_IfcProtectiveDeviceType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcPump
+#define SCHEMA_IfcPump_HAS_PredefinedType
+#define SCHEMA_IfcPump_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPumpType
+#define SCHEMA_IfcPumpType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcQuantityArea
+#define SCHEMA_IfcQuantityArea_HAS_AreaValue
+#define SCHEMA_IfcQuantityArea_HAS_Formula
+#define SCHEMA_IfcQuantityArea_Formula_IS_OPTIONAL
+#define SCHEMA_HAS_IfcQuantityCount
+#define SCHEMA_IfcQuantityCount_HAS_CountValue
+#define SCHEMA_IfcQuantityCount_HAS_Formula
+#define SCHEMA_IfcQuantityCount_Formula_IS_OPTIONAL
+#define SCHEMA_HAS_IfcQuantityLength
+#define SCHEMA_IfcQuantityLength_HAS_LengthValue
+#define SCHEMA_IfcQuantityLength_HAS_Formula
+#define SCHEMA_IfcQuantityLength_Formula_IS_OPTIONAL
+#define SCHEMA_HAS_IfcQuantityNumber
+#define SCHEMA_IfcQuantityNumber_HAS_NumberValue
+#define SCHEMA_IfcQuantityNumber_HAS_Formula
+#define SCHEMA_IfcQuantityNumber_Formula_IS_OPTIONAL
+#define SCHEMA_HAS_IfcQuantitySet
+#define SCHEMA_HAS_IfcQuantityTime
+#define SCHEMA_IfcQuantityTime_HAS_TimeValue
+#define SCHEMA_IfcQuantityTime_HAS_Formula
+#define SCHEMA_IfcQuantityTime_Formula_IS_OPTIONAL
+#define SCHEMA_HAS_IfcQuantityVolume
+#define SCHEMA_IfcQuantityVolume_HAS_VolumeValue
+#define SCHEMA_IfcQuantityVolume_HAS_Formula
+#define SCHEMA_IfcQuantityVolume_Formula_IS_OPTIONAL
+#define SCHEMA_HAS_IfcQuantityWeight
+#define SCHEMA_IfcQuantityWeight_HAS_WeightValue
+#define SCHEMA_IfcQuantityWeight_HAS_Formula
+#define SCHEMA_IfcQuantityWeight_Formula_IS_OPTIONAL
+#define SCHEMA_HAS_IfcRail
+#define SCHEMA_IfcRail_HAS_PredefinedType
+#define SCHEMA_IfcRail_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcRailType
+#define SCHEMA_IfcRailType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcRailing
+#define SCHEMA_IfcRailing_HAS_PredefinedType
+#define SCHEMA_IfcRailing_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcRailingType
+#define SCHEMA_IfcRailingType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcRailway
+#define SCHEMA_IfcRailway_HAS_PredefinedType
+#define SCHEMA_IfcRailway_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcRailwayPart
+#define SCHEMA_IfcRailwayPart_HAS_PredefinedType
+#define SCHEMA_IfcRailwayPart_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcRamp
+#define SCHEMA_IfcRamp_HAS_PredefinedType
+#define SCHEMA_IfcRamp_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcRampFlight
+#define SCHEMA_IfcRampFlight_HAS_PredefinedType
+#define SCHEMA_IfcRampFlight_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcRampFlightType
+#define SCHEMA_IfcRampFlightType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcRampType
+#define SCHEMA_IfcRampType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcRationalBSplineCurveWithKnots
+#define SCHEMA_IfcRationalBSplineCurveWithKnots_HAS_WeightsData
+#define SCHEMA_HAS_IfcRationalBSplineSurfaceWithKnots
+#define SCHEMA_IfcRationalBSplineSurfaceWithKnots_HAS_WeightsData
+#define SCHEMA_HAS_IfcRectangleHollowProfileDef
+#define SCHEMA_IfcRectangleHollowProfileDef_HAS_WallThickness
+#define SCHEMA_IfcRectangleHollowProfileDef_HAS_InnerFilletRadius
+#define SCHEMA_IfcRectangleHollowProfileDef_InnerFilletRadius_IS_OPTIONAL
+#define SCHEMA_IfcRectangleHollowProfileDef_HAS_OuterFilletRadius
+#define SCHEMA_IfcRectangleHollowProfileDef_OuterFilletRadius_IS_OPTIONAL
+#define SCHEMA_HAS_IfcRectangleProfileDef
+#define SCHEMA_IfcRectangleProfileDef_HAS_XDim
+#define SCHEMA_IfcRectangleProfileDef_HAS_YDim
+#define SCHEMA_HAS_IfcRectangularPyramid
+#define SCHEMA_IfcRectangularPyramid_HAS_XLength
+#define SCHEMA_IfcRectangularPyramid_HAS_YLength
+#define SCHEMA_IfcRectangularPyramid_HAS_Height
+#define SCHEMA_HAS_IfcRectangularTrimmedSurface
+#define SCHEMA_IfcRectangularTrimmedSurface_HAS_BasisSurface
+#define SCHEMA_IfcRectangularTrimmedSurface_HAS_U1
+#define SCHEMA_IfcRectangularTrimmedSurface_HAS_V1
+#define SCHEMA_IfcRectangularTrimmedSurface_HAS_U2
+#define SCHEMA_IfcRectangularTrimmedSurface_HAS_V2
+#define SCHEMA_IfcRectangularTrimmedSurface_HAS_Usense
+#define SCHEMA_IfcRectangularTrimmedSurface_HAS_Vsense
+#define SCHEMA_HAS_IfcRecurrencePattern
+#define SCHEMA_IfcRecurrencePattern_HAS_RecurrenceType
+#define SCHEMA_IfcRecurrencePattern_HAS_DayComponent
+#define SCHEMA_IfcRecurrencePattern_DayComponent_IS_OPTIONAL
+#define SCHEMA_IfcRecurrencePattern_HAS_WeekdayComponent
+#define SCHEMA_IfcRecurrencePattern_WeekdayComponent_IS_OPTIONAL
+#define SCHEMA_IfcRecurrencePattern_HAS_MonthComponent
+#define SCHEMA_IfcRecurrencePattern_MonthComponent_IS_OPTIONAL
+#define SCHEMA_IfcRecurrencePattern_HAS_Position
+#define SCHEMA_IfcRecurrencePattern_Position_IS_OPTIONAL
+#define SCHEMA_IfcRecurrencePattern_HAS_Interval
+#define SCHEMA_IfcRecurrencePattern_Interval_IS_OPTIONAL
+#define SCHEMA_IfcRecurrencePattern_HAS_Occurrences
+#define SCHEMA_IfcRecurrencePattern_Occurrences_IS_OPTIONAL
+#define SCHEMA_IfcRecurrencePattern_HAS_TimePeriods
+#define SCHEMA_IfcRecurrencePattern_TimePeriods_IS_OPTIONAL
+#define SCHEMA_HAS_IfcReference
+#define SCHEMA_IfcReference_HAS_TypeIdentifier
+#define SCHEMA_IfcReference_TypeIdentifier_IS_OPTIONAL
+#define SCHEMA_IfcReference_HAS_AttributeIdentifier
+#define SCHEMA_IfcReference_AttributeIdentifier_IS_OPTIONAL
+#define SCHEMA_IfcReference_HAS_InstanceName
+#define SCHEMA_IfcReference_InstanceName_IS_OPTIONAL
+#define SCHEMA_IfcReference_HAS_ListPositions
+#define SCHEMA_IfcReference_ListPositions_IS_OPTIONAL
+#define SCHEMA_IfcReference_HAS_InnerReference
+#define SCHEMA_IfcReference_InnerReference_IS_OPTIONAL
+#define SCHEMA_HAS_IfcReferent
+#define SCHEMA_IfcReferent_HAS_PredefinedType
+#define SCHEMA_IfcReferent_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcRegularTimeSeries
+#define SCHEMA_IfcRegularTimeSeries_HAS_TimeStep
+#define SCHEMA_IfcRegularTimeSeries_HAS_Values
+#define SCHEMA_HAS_IfcReinforcedSoil
+#define SCHEMA_IfcReinforcedSoil_HAS_PredefinedType
+#define SCHEMA_IfcReinforcedSoil_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcReinforcementBarProperties
+#define SCHEMA_IfcReinforcementBarProperties_HAS_TotalCrossSectionArea
+#define SCHEMA_IfcReinforcementBarProperties_HAS_SteelGrade
+#define SCHEMA_IfcReinforcementBarProperties_HAS_BarSurface
+#define SCHEMA_IfcReinforcementBarProperties_BarSurface_IS_OPTIONAL
+#define SCHEMA_IfcReinforcementBarProperties_HAS_EffectiveDepth
+#define SCHEMA_IfcReinforcementBarProperties_EffectiveDepth_IS_OPTIONAL
+#define SCHEMA_IfcReinforcementBarProperties_HAS_NominalBarDiameter
+#define SCHEMA_IfcReinforcementBarProperties_NominalBarDiameter_IS_OPTIONAL
+#define SCHEMA_IfcReinforcementBarProperties_HAS_BarCount
+#define SCHEMA_IfcReinforcementBarProperties_BarCount_IS_OPTIONAL
+#define SCHEMA_HAS_IfcReinforcementDefinitionProperties
+#define SCHEMA_IfcReinforcementDefinitionProperties_HAS_DefinitionType
+#define SCHEMA_IfcReinforcementDefinitionProperties_DefinitionType_IS_OPTIONAL
+#define SCHEMA_IfcReinforcementDefinitionProperties_HAS_ReinforcementSectionDefinitions
+#define SCHEMA_HAS_IfcReinforcingBar
+#define SCHEMA_IfcReinforcingBar_HAS_NominalDiameter
+#define SCHEMA_IfcReinforcingBar_NominalDiameter_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingBar_HAS_CrossSectionArea
+#define SCHEMA_IfcReinforcingBar_CrossSectionArea_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingBar_HAS_BarLength
+#define SCHEMA_IfcReinforcingBar_BarLength_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingBar_HAS_PredefinedType
+#define SCHEMA_IfcReinforcingBar_PredefinedType_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingBar_HAS_BarSurface
+#define SCHEMA_IfcReinforcingBar_BarSurface_IS_OPTIONAL
+#define SCHEMA_HAS_IfcReinforcingBarType
+#define SCHEMA_IfcReinforcingBarType_HAS_PredefinedType
+#define SCHEMA_IfcReinforcingBarType_HAS_NominalDiameter
+#define SCHEMA_IfcReinforcingBarType_NominalDiameter_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingBarType_HAS_CrossSectionArea
+#define SCHEMA_IfcReinforcingBarType_CrossSectionArea_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingBarType_HAS_BarLength
+#define SCHEMA_IfcReinforcingBarType_BarLength_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingBarType_HAS_BarSurface
+#define SCHEMA_IfcReinforcingBarType_BarSurface_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingBarType_HAS_BendingShapeCode
+#define SCHEMA_IfcReinforcingBarType_BendingShapeCode_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingBarType_HAS_BendingParameters
+#define SCHEMA_IfcReinforcingBarType_BendingParameters_IS_OPTIONAL
+#define SCHEMA_HAS_IfcReinforcingElement
+#define SCHEMA_IfcReinforcingElement_HAS_SteelGrade
+#define SCHEMA_IfcReinforcingElement_SteelGrade_IS_OPTIONAL
+#define SCHEMA_HAS_IfcReinforcingElementType
+#define SCHEMA_HAS_IfcReinforcingMesh
+#define SCHEMA_IfcReinforcingMesh_HAS_MeshLength
+#define SCHEMA_IfcReinforcingMesh_MeshLength_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingMesh_HAS_MeshWidth
+#define SCHEMA_IfcReinforcingMesh_MeshWidth_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingMesh_HAS_LongitudinalBarNominalDiameter
+#define SCHEMA_IfcReinforcingMesh_LongitudinalBarNominalDiameter_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingMesh_HAS_TransverseBarNominalDiameter
+#define SCHEMA_IfcReinforcingMesh_TransverseBarNominalDiameter_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingMesh_HAS_LongitudinalBarCrossSectionArea
+#define SCHEMA_IfcReinforcingMesh_LongitudinalBarCrossSectionArea_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingMesh_HAS_TransverseBarCrossSectionArea
+#define SCHEMA_IfcReinforcingMesh_TransverseBarCrossSectionArea_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingMesh_HAS_LongitudinalBarSpacing
+#define SCHEMA_IfcReinforcingMesh_LongitudinalBarSpacing_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingMesh_HAS_TransverseBarSpacing
+#define SCHEMA_IfcReinforcingMesh_TransverseBarSpacing_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingMesh_HAS_PredefinedType
+#define SCHEMA_IfcReinforcingMesh_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcReinforcingMeshType
+#define SCHEMA_IfcReinforcingMeshType_HAS_PredefinedType
+#define SCHEMA_IfcReinforcingMeshType_HAS_MeshLength
+#define SCHEMA_IfcReinforcingMeshType_MeshLength_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingMeshType_HAS_MeshWidth
+#define SCHEMA_IfcReinforcingMeshType_MeshWidth_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingMeshType_HAS_LongitudinalBarNominalDiameter
+#define SCHEMA_IfcReinforcingMeshType_LongitudinalBarNominalDiameter_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingMeshType_HAS_TransverseBarNominalDiameter
+#define SCHEMA_IfcReinforcingMeshType_TransverseBarNominalDiameter_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingMeshType_HAS_LongitudinalBarCrossSectionArea
+#define SCHEMA_IfcReinforcingMeshType_LongitudinalBarCrossSectionArea_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingMeshType_HAS_TransverseBarCrossSectionArea
+#define SCHEMA_IfcReinforcingMeshType_TransverseBarCrossSectionArea_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingMeshType_HAS_LongitudinalBarSpacing
+#define SCHEMA_IfcReinforcingMeshType_LongitudinalBarSpacing_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingMeshType_HAS_TransverseBarSpacing
+#define SCHEMA_IfcReinforcingMeshType_TransverseBarSpacing_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingMeshType_HAS_BendingShapeCode
+#define SCHEMA_IfcReinforcingMeshType_BendingShapeCode_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingMeshType_HAS_BendingParameters
+#define SCHEMA_IfcReinforcingMeshType_BendingParameters_IS_OPTIONAL
+#define SCHEMA_HAS_IfcRelAdheresToElement
+#define SCHEMA_IfcRelAdheresToElement_HAS_RelatingElement
+#define SCHEMA_IfcRelAdheresToElement_HAS_RelatedSurfaceFeatures
+#define SCHEMA_HAS_IfcRelAggregates
+#define SCHEMA_IfcRelAggregates_HAS_RelatingObject
+#define SCHEMA_IfcRelAggregates_HAS_RelatedObjects
+#define SCHEMA_HAS_IfcRelAssigns
+#define SCHEMA_IfcRelAssigns_HAS_RelatedObjects
+#define SCHEMA_IfcRelAssigns_HAS_RelatedObjectsType
+#define SCHEMA_IfcRelAssigns_RelatedObjectsType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcRelAssignsToActor
+#define SCHEMA_IfcRelAssignsToActor_HAS_RelatingActor
+#define SCHEMA_IfcRelAssignsToActor_HAS_ActingRole
+#define SCHEMA_IfcRelAssignsToActor_ActingRole_IS_OPTIONAL
+#define SCHEMA_HAS_IfcRelAssignsToControl
+#define SCHEMA_IfcRelAssignsToControl_HAS_RelatingControl
+#define SCHEMA_HAS_IfcRelAssignsToGroup
+#define SCHEMA_IfcRelAssignsToGroup_HAS_RelatingGroup
+#define SCHEMA_HAS_IfcRelAssignsToGroupByFactor
+#define SCHEMA_IfcRelAssignsToGroupByFactor_HAS_Factor
+#define SCHEMA_HAS_IfcRelAssignsToProcess
+#define SCHEMA_IfcRelAssignsToProcess_HAS_RelatingProcess
+#define SCHEMA_IfcRelAssignsToProcess_HAS_QuantityInProcess
+#define SCHEMA_IfcRelAssignsToProcess_QuantityInProcess_IS_OPTIONAL
+#define SCHEMA_HAS_IfcRelAssignsToProduct
+#define SCHEMA_IfcRelAssignsToProduct_HAS_RelatingProduct
+#define SCHEMA_HAS_IfcRelAssignsToResource
+#define SCHEMA_IfcRelAssignsToResource_HAS_RelatingResource
+#define SCHEMA_HAS_IfcRelAssociates
+#define SCHEMA_IfcRelAssociates_HAS_RelatedObjects
+#define SCHEMA_HAS_IfcRelAssociatesApproval
+#define SCHEMA_IfcRelAssociatesApproval_HAS_RelatingApproval
+#define SCHEMA_HAS_IfcRelAssociatesClassification
+#define SCHEMA_IfcRelAssociatesClassification_HAS_RelatingClassification
+#define SCHEMA_HAS_IfcRelAssociatesConstraint
+#define SCHEMA_IfcRelAssociatesConstraint_HAS_Intent
+#define SCHEMA_IfcRelAssociatesConstraint_Intent_IS_OPTIONAL
+#define SCHEMA_IfcRelAssociatesConstraint_HAS_RelatingConstraint
+#define SCHEMA_HAS_IfcRelAssociatesDocument
+#define SCHEMA_IfcRelAssociatesDocument_HAS_RelatingDocument
+#define SCHEMA_HAS_IfcRelAssociatesLibrary
+#define SCHEMA_IfcRelAssociatesLibrary_HAS_RelatingLibrary
+#define SCHEMA_HAS_IfcRelAssociatesMaterial
+#define SCHEMA_IfcRelAssociatesMaterial_HAS_RelatingMaterial
+#define SCHEMA_HAS_IfcRelAssociatesProfileDef
+#define SCHEMA_IfcRelAssociatesProfileDef_HAS_RelatingProfileDef
+#define SCHEMA_HAS_IfcRelConnects
+#define SCHEMA_HAS_IfcRelConnectsElements
+#define SCHEMA_IfcRelConnectsElements_HAS_ConnectionGeometry
+#define SCHEMA_IfcRelConnectsElements_ConnectionGeometry_IS_OPTIONAL
+#define SCHEMA_IfcRelConnectsElements_HAS_RelatingElement
+#define SCHEMA_IfcRelConnectsElements_HAS_RelatedElement
+#define SCHEMA_HAS_IfcRelConnectsPathElements
+#define SCHEMA_IfcRelConnectsPathElements_HAS_RelatingPriorities
+#define SCHEMA_IfcRelConnectsPathElements_HAS_RelatedPriorities
+#define SCHEMA_IfcRelConnectsPathElements_HAS_RelatedConnectionType
+#define SCHEMA_IfcRelConnectsPathElements_HAS_RelatingConnectionType
+#define SCHEMA_HAS_IfcRelConnectsPortToElement
+#define SCHEMA_IfcRelConnectsPortToElement_HAS_RelatingPort
+#define SCHEMA_IfcRelConnectsPortToElement_HAS_RelatedElement
+#define SCHEMA_HAS_IfcRelConnectsPorts
+#define SCHEMA_IfcRelConnectsPorts_HAS_RelatingPort
+#define SCHEMA_IfcRelConnectsPorts_HAS_RelatedPort
+#define SCHEMA_IfcRelConnectsPorts_HAS_RealizingElement
+#define SCHEMA_IfcRelConnectsPorts_RealizingElement_IS_OPTIONAL
+#define SCHEMA_HAS_IfcRelConnectsStructuralActivity
+#define SCHEMA_IfcRelConnectsStructuralActivity_HAS_RelatingElement
+#define SCHEMA_IfcRelConnectsStructuralActivity_HAS_RelatedStructuralActivity
+#define SCHEMA_HAS_IfcRelConnectsStructuralMember
+#define SCHEMA_IfcRelConnectsStructuralMember_HAS_RelatingStructuralMember
+#define SCHEMA_IfcRelConnectsStructuralMember_HAS_RelatedStructuralConnection
+#define SCHEMA_IfcRelConnectsStructuralMember_HAS_AppliedCondition
+#define SCHEMA_IfcRelConnectsStructuralMember_AppliedCondition_IS_OPTIONAL
+#define SCHEMA_IfcRelConnectsStructuralMember_HAS_AdditionalConditions
+#define SCHEMA_IfcRelConnectsStructuralMember_AdditionalConditions_IS_OPTIONAL
+#define SCHEMA_IfcRelConnectsStructuralMember_HAS_SupportedLength
+#define SCHEMA_IfcRelConnectsStructuralMember_SupportedLength_IS_OPTIONAL
+#define SCHEMA_IfcRelConnectsStructuralMember_HAS_ConditionCoordinateSystem
+#define SCHEMA_IfcRelConnectsStructuralMember_ConditionCoordinateSystem_IS_OPTIONAL
+#define SCHEMA_HAS_IfcRelConnectsWithEccentricity
+#define SCHEMA_IfcRelConnectsWithEccentricity_HAS_ConnectionConstraint
+#define SCHEMA_HAS_IfcRelConnectsWithRealizingElements
+#define SCHEMA_IfcRelConnectsWithRealizingElements_HAS_RealizingElements
+#define SCHEMA_IfcRelConnectsWithRealizingElements_HAS_ConnectionType
+#define SCHEMA_IfcRelConnectsWithRealizingElements_ConnectionType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcRelContainedInSpatialStructure
+#define SCHEMA_IfcRelContainedInSpatialStructure_HAS_RelatedElements
+#define SCHEMA_IfcRelContainedInSpatialStructure_HAS_RelatingStructure
+#define SCHEMA_HAS_IfcRelCoversBldgElements
+#define SCHEMA_IfcRelCoversBldgElements_HAS_RelatingBuildingElement
+#define SCHEMA_IfcRelCoversBldgElements_HAS_RelatedCoverings
+#define SCHEMA_HAS_IfcRelCoversSpaces
+#define SCHEMA_IfcRelCoversSpaces_HAS_RelatingSpace
+#define SCHEMA_IfcRelCoversSpaces_HAS_RelatedCoverings
+#define SCHEMA_HAS_IfcRelDeclares
+#define SCHEMA_IfcRelDeclares_HAS_RelatingContext
+#define SCHEMA_IfcRelDeclares_HAS_RelatedDefinitions
+#define SCHEMA_HAS_IfcRelDecomposes
+#define SCHEMA_HAS_IfcRelDefines
+#define SCHEMA_HAS_IfcRelDefinesByObject
+#define SCHEMA_IfcRelDefinesByObject_HAS_RelatedObjects
+#define SCHEMA_IfcRelDefinesByObject_HAS_RelatingObject
+#define SCHEMA_HAS_IfcRelDefinesByProperties
+#define SCHEMA_IfcRelDefinesByProperties_HAS_RelatedObjects
+#define SCHEMA_IfcRelDefinesByProperties_HAS_RelatingPropertyDefinition
+#define SCHEMA_HAS_IfcRelDefinesByTemplate
+#define SCHEMA_IfcRelDefinesByTemplate_HAS_RelatedPropertySets
+#define SCHEMA_IfcRelDefinesByTemplate_HAS_RelatingTemplate
+#define SCHEMA_HAS_IfcRelDefinesByType
+#define SCHEMA_IfcRelDefinesByType_HAS_RelatedObjects
+#define SCHEMA_IfcRelDefinesByType_HAS_RelatingType
+#define SCHEMA_HAS_IfcRelFillsElement
+#define SCHEMA_IfcRelFillsElement_HAS_RelatingOpeningElement
+#define SCHEMA_IfcRelFillsElement_HAS_RelatedBuildingElement
+#define SCHEMA_HAS_IfcRelFlowControlElements
+#define SCHEMA_IfcRelFlowControlElements_HAS_RelatedControlElements
+#define SCHEMA_IfcRelFlowControlElements_HAS_RelatingFlowElement
+#define SCHEMA_HAS_IfcRelInterferesElements
+#define SCHEMA_IfcRelInterferesElements_HAS_RelatingElement
+#define SCHEMA_IfcRelInterferesElements_HAS_RelatedElement
+#define SCHEMA_IfcRelInterferesElements_HAS_InterferenceGeometry
+#define SCHEMA_IfcRelInterferesElements_InterferenceGeometry_IS_OPTIONAL
+#define SCHEMA_IfcRelInterferesElements_HAS_InterferenceSpace
+#define SCHEMA_IfcRelInterferesElements_InterferenceSpace_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_IfcRoad_HAS_PredefinedType
+#define SCHEMA_IfcRoad_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcRoadPart
+#define SCHEMA_IfcRoadPart_HAS_PredefinedType
+#define SCHEMA_IfcRoadPart_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcRoof
+#define SCHEMA_IfcRoof_HAS_PredefinedType
+#define SCHEMA_IfcRoof_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcRoofType
+#define SCHEMA_IfcRoofType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcRoot
+#define SCHEMA_IfcRoot_HAS_GlobalId
+#define SCHEMA_IfcRoot_HAS_OwnerHistory
+#define SCHEMA_IfcRoot_OwnerHistory_IS_OPTIONAL
+#define SCHEMA_IfcRoot_HAS_Name
+#define SCHEMA_IfcRoot_Name_IS_OPTIONAL
+#define SCHEMA_IfcRoot_HAS_Description
+#define SCHEMA_IfcRoot_Description_IS_OPTIONAL
+#define SCHEMA_HAS_IfcRoundedRectangleProfileDef
+#define SCHEMA_IfcRoundedRectangleProfileDef_HAS_RoundingRadius
+#define SCHEMA_HAS_IfcSIUnit
+#define SCHEMA_IfcSIUnit_HAS_Prefix
+#define SCHEMA_IfcSIUnit_Prefix_IS_OPTIONAL
+#define SCHEMA_IfcSIUnit_HAS_Name
+#define SCHEMA_HAS_IfcSanitaryTerminal
+#define SCHEMA_IfcSanitaryTerminal_HAS_PredefinedType
+#define SCHEMA_IfcSanitaryTerminal_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSanitaryTerminalType
+#define SCHEMA_IfcSanitaryTerminalType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcSchedulingTime
+#define SCHEMA_IfcSchedulingTime_HAS_Name
+#define SCHEMA_IfcSchedulingTime_Name_IS_OPTIONAL
+#define SCHEMA_IfcSchedulingTime_HAS_DataOrigin
+#define SCHEMA_IfcSchedulingTime_DataOrigin_IS_OPTIONAL
+#define SCHEMA_IfcSchedulingTime_HAS_UserDefinedDataOrigin
+#define SCHEMA_IfcSchedulingTime_UserDefinedDataOrigin_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSeamCurve
+#define SCHEMA_HAS_IfcSecondOrderPolynomialSpiral
+#define SCHEMA_IfcSecondOrderPolynomialSpiral_HAS_QuadraticTerm
+#define SCHEMA_IfcSecondOrderPolynomialSpiral_HAS_LinearTerm
+#define SCHEMA_IfcSecondOrderPolynomialSpiral_LinearTerm_IS_OPTIONAL
+#define SCHEMA_IfcSecondOrderPolynomialSpiral_HAS_ConstantTerm
+#define SCHEMA_IfcSecondOrderPolynomialSpiral_ConstantTerm_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSectionProperties
+#define SCHEMA_IfcSectionProperties_HAS_SectionType
+#define SCHEMA_IfcSectionProperties_HAS_StartProfile
+#define SCHEMA_IfcSectionProperties_HAS_EndProfile
+#define SCHEMA_IfcSectionProperties_EndProfile_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSectionReinforcementProperties
+#define SCHEMA_IfcSectionReinforcementProperties_HAS_LongitudinalStartPosition
+#define SCHEMA_IfcSectionReinforcementProperties_HAS_LongitudinalEndPosition
+#define SCHEMA_IfcSectionReinforcementProperties_HAS_TransversePosition
+#define SCHEMA_IfcSectionReinforcementProperties_TransversePosition_IS_OPTIONAL
+#define SCHEMA_IfcSectionReinforcementProperties_HAS_ReinforcementRole
+#define SCHEMA_IfcSectionReinforcementProperties_HAS_SectionDefinition
+#define SCHEMA_IfcSectionReinforcementProperties_HAS_CrossSectionReinforcementDefinitions
+#define SCHEMA_HAS_IfcSectionedSolid
+#define SCHEMA_IfcSectionedSolid_HAS_Directrix
+#define SCHEMA_IfcSectionedSolid_HAS_CrossSections
+#define SCHEMA_HAS_IfcSectionedSolidHorizontal
+#define SCHEMA_IfcSectionedSolidHorizontal_HAS_CrossSectionPositions
+#define SCHEMA_HAS_IfcSectionedSpine
+#define SCHEMA_IfcSectionedSpine_HAS_SpineCurve
+#define SCHEMA_IfcSectionedSpine_HAS_CrossSections
+#define SCHEMA_IfcSectionedSpine_HAS_CrossSectionPositions
+#define SCHEMA_HAS_IfcSectionedSurface
+#define SCHEMA_IfcSectionedSurface_HAS_Directrix
+#define SCHEMA_IfcSectionedSurface_HAS_CrossSectionPositions
+#define SCHEMA_IfcSectionedSurface_HAS_CrossSections
+#define SCHEMA_HAS_IfcSegment
+#define SCHEMA_IfcSegment_HAS_Transition
+#define SCHEMA_IfcSegment_HAS_UsingCurves
+#define SCHEMA_HAS_IfcSegmentedReferenceCurve
+#define SCHEMA_IfcSegmentedReferenceCurve_HAS_BaseCurve
+#define SCHEMA_IfcSegmentedReferenceCurve_HAS_EndPoint
+#define SCHEMA_IfcSegmentedReferenceCurve_EndPoint_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSensor
+#define SCHEMA_IfcSensor_HAS_PredefinedType
+#define SCHEMA_IfcSensor_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSensorType
+#define SCHEMA_IfcSensorType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcSeventhOrderPolynomialSpiral
+#define SCHEMA_IfcSeventhOrderPolynomialSpiral_HAS_SepticTerm
+#define SCHEMA_IfcSeventhOrderPolynomialSpiral_HAS_SexticTerm
+#define SCHEMA_IfcSeventhOrderPolynomialSpiral_SexticTerm_IS_OPTIONAL
+#define SCHEMA_IfcSeventhOrderPolynomialSpiral_HAS_QuinticTerm
+#define SCHEMA_IfcSeventhOrderPolynomialSpiral_QuinticTerm_IS_OPTIONAL
+#define SCHEMA_IfcSeventhOrderPolynomialSpiral_HAS_QuarticTerm
+#define SCHEMA_IfcSeventhOrderPolynomialSpiral_QuarticTerm_IS_OPTIONAL
+#define SCHEMA_IfcSeventhOrderPolynomialSpiral_HAS_CubicTerm
+#define SCHEMA_IfcSeventhOrderPolynomialSpiral_CubicTerm_IS_OPTIONAL
+#define SCHEMA_IfcSeventhOrderPolynomialSpiral_HAS_QuadraticTerm
+#define SCHEMA_IfcSeventhOrderPolynomialSpiral_QuadraticTerm_IS_OPTIONAL
+#define SCHEMA_IfcSeventhOrderPolynomialSpiral_HAS_LinearTerm
+#define SCHEMA_IfcSeventhOrderPolynomialSpiral_LinearTerm_IS_OPTIONAL
+#define SCHEMA_IfcSeventhOrderPolynomialSpiral_HAS_ConstantTerm
+#define SCHEMA_IfcSeventhOrderPolynomialSpiral_ConstantTerm_IS_OPTIONAL
+#define SCHEMA_HAS_IfcShadingDevice
+#define SCHEMA_IfcShadingDevice_HAS_PredefinedType
+#define SCHEMA_IfcShadingDevice_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcShadingDeviceType
+#define SCHEMA_IfcShadingDeviceType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcShapeAspect
+#define SCHEMA_IfcShapeAspect_HAS_ShapeRepresentations
+#define SCHEMA_IfcShapeAspect_HAS_Name
+#define SCHEMA_IfcShapeAspect_Name_IS_OPTIONAL
+#define SCHEMA_IfcShapeAspect_HAS_Description
+#define SCHEMA_IfcShapeAspect_Description_IS_OPTIONAL
+#define SCHEMA_IfcShapeAspect_HAS_ProductDefinitional
+#define SCHEMA_IfcShapeAspect_HAS_PartOfProductDefinitionShape
+#define SCHEMA_IfcShapeAspect_PartOfProductDefinitionShape_IS_OPTIONAL
+#define SCHEMA_IfcShapeAspect_HAS_HasExternalReferences
+#define SCHEMA_HAS_IfcShapeModel
+#define SCHEMA_IfcShapeModel_HAS_OfShapeAspect
+#define SCHEMA_HAS_IfcShapeRepresentation
+#define SCHEMA_HAS_IfcShellBasedSurfaceModel
+#define SCHEMA_IfcShellBasedSurfaceModel_HAS_SbsmBoundary
+#define SCHEMA_HAS_IfcSign
+#define SCHEMA_IfcSign_HAS_PredefinedType
+#define SCHEMA_IfcSign_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSignType
+#define SCHEMA_IfcSignType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcSignal
+#define SCHEMA_IfcSignal_HAS_PredefinedType
+#define SCHEMA_IfcSignal_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSignalType
+#define SCHEMA_IfcSignalType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcSimpleProperty
+#define SCHEMA_HAS_IfcSimplePropertyTemplate
+#define SCHEMA_IfcSimplePropertyTemplate_HAS_TemplateType
+#define SCHEMA_IfcSimplePropertyTemplate_TemplateType_IS_OPTIONAL
+#define SCHEMA_IfcSimplePropertyTemplate_HAS_PrimaryMeasureType
+#define SCHEMA_IfcSimplePropertyTemplate_PrimaryMeasureType_IS_OPTIONAL
+#define SCHEMA_IfcSimplePropertyTemplate_HAS_SecondaryMeasureType
+#define SCHEMA_IfcSimplePropertyTemplate_SecondaryMeasureType_IS_OPTIONAL
+#define SCHEMA_IfcSimplePropertyTemplate_HAS_Enumerators
+#define SCHEMA_IfcSimplePropertyTemplate_Enumerators_IS_OPTIONAL
+#define SCHEMA_IfcSimplePropertyTemplate_HAS_PrimaryUnit
+#define SCHEMA_IfcSimplePropertyTemplate_PrimaryUnit_IS_OPTIONAL
+#define SCHEMA_IfcSimplePropertyTemplate_HAS_SecondaryUnit
+#define SCHEMA_IfcSimplePropertyTemplate_SecondaryUnit_IS_OPTIONAL
+#define SCHEMA_IfcSimplePropertyTemplate_HAS_Expression
+#define SCHEMA_IfcSimplePropertyTemplate_Expression_IS_OPTIONAL
+#define SCHEMA_IfcSimplePropertyTemplate_HAS_AccessState
+#define SCHEMA_IfcSimplePropertyTemplate_AccessState_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSineSpiral
+#define SCHEMA_IfcSineSpiral_HAS_SineTerm
+#define SCHEMA_IfcSineSpiral_HAS_LinearTerm
+#define SCHEMA_IfcSineSpiral_LinearTerm_IS_OPTIONAL
+#define SCHEMA_IfcSineSpiral_HAS_ConstantTerm
+#define SCHEMA_IfcSineSpiral_ConstantTerm_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSite
+#define SCHEMA_IfcSite_HAS_RefLatitude
+#define SCHEMA_IfcSite_RefLatitude_IS_OPTIONAL
+#define SCHEMA_IfcSite_HAS_RefLongitude
+#define SCHEMA_IfcSite_RefLongitude_IS_OPTIONAL
+#define SCHEMA_IfcSite_HAS_RefElevation
+#define SCHEMA_IfcSite_RefElevation_IS_OPTIONAL
+#define SCHEMA_IfcSite_HAS_LandTitleNumber
+#define SCHEMA_IfcSite_LandTitleNumber_IS_OPTIONAL
+#define SCHEMA_IfcSite_HAS_SiteAddress
+#define SCHEMA_IfcSite_SiteAddress_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSlab
+#define SCHEMA_IfcSlab_HAS_PredefinedType
+#define SCHEMA_IfcSlab_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSlabType
+#define SCHEMA_IfcSlabType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcSlippageConnectionCondition
+#define SCHEMA_IfcSlippageConnectionCondition_HAS_SlippageX
+#define SCHEMA_IfcSlippageConnectionCondition_SlippageX_IS_OPTIONAL
+#define SCHEMA_IfcSlippageConnectionCondition_HAS_SlippageY
+#define SCHEMA_IfcSlippageConnectionCondition_SlippageY_IS_OPTIONAL
+#define SCHEMA_IfcSlippageConnectionCondition_HAS_SlippageZ
+#define SCHEMA_IfcSlippageConnectionCondition_SlippageZ_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSolarDevice
+#define SCHEMA_IfcSolarDevice_HAS_PredefinedType
+#define SCHEMA_IfcSolarDevice_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSolarDeviceType
+#define SCHEMA_IfcSolarDeviceType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcSolidModel
+#define SCHEMA_HAS_IfcSpace
+#define SCHEMA_IfcSpace_HAS_PredefinedType
+#define SCHEMA_IfcSpace_PredefinedType_IS_OPTIONAL
+#define SCHEMA_IfcSpace_HAS_ElevationWithFlooring
+#define SCHEMA_IfcSpace_ElevationWithFlooring_IS_OPTIONAL
+#define SCHEMA_IfcSpace_HAS_HasCoverings
+#define SCHEMA_IfcSpace_HAS_BoundedBy
+#define SCHEMA_HAS_IfcSpaceHeater
+#define SCHEMA_IfcSpaceHeater_HAS_PredefinedType
+#define SCHEMA_IfcSpaceHeater_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSpaceHeaterType
+#define SCHEMA_IfcSpaceHeaterType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcSpaceType
+#define SCHEMA_IfcSpaceType_HAS_PredefinedType
+#define SCHEMA_IfcSpaceType_HAS_LongName
+#define SCHEMA_IfcSpaceType_LongName_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSpatialElement
+#define SCHEMA_IfcSpatialElement_HAS_LongName
+#define SCHEMA_IfcSpatialElement_LongName_IS_OPTIONAL
+#define SCHEMA_IfcSpatialElement_HAS_ContainsElements
+#define SCHEMA_IfcSpatialElement_HAS_ServicedBySystems
+#define SCHEMA_IfcSpatialElement_HAS_ReferencesElements
+#define SCHEMA_IfcSpatialElement_HAS_IsInterferedByElements
+#define SCHEMA_IfcSpatialElement_HAS_InterferesElements
+#define SCHEMA_HAS_IfcSpatialElementType
+#define SCHEMA_IfcSpatialElementType_HAS_ElementType
+#define SCHEMA_IfcSpatialElementType_ElementType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSpatialStructureElement
+#define SCHEMA_IfcSpatialStructureElement_HAS_CompositionType
+#define SCHEMA_IfcSpatialStructureElement_CompositionType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSpatialStructureElementType
+#define SCHEMA_HAS_IfcSpatialZone
+#define SCHEMA_IfcSpatialZone_HAS_PredefinedType
+#define SCHEMA_IfcSpatialZone_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSpatialZoneType
+#define SCHEMA_IfcSpatialZoneType_HAS_PredefinedType
+#define SCHEMA_IfcSpatialZoneType_HAS_LongName
+#define SCHEMA_IfcSpatialZoneType_LongName_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSphere
+#define SCHEMA_IfcSphere_HAS_Radius
+#define SCHEMA_HAS_IfcSphericalSurface
+#define SCHEMA_IfcSphericalSurface_HAS_Radius
+#define SCHEMA_HAS_IfcSpiral
+#define SCHEMA_IfcSpiral_HAS_Position
+#define SCHEMA_IfcSpiral_Position_IS_OPTIONAL
+#define SCHEMA_HAS_IfcStackTerminal
+#define SCHEMA_IfcStackTerminal_HAS_PredefinedType
+#define SCHEMA_IfcStackTerminal_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcStackTerminalType
+#define SCHEMA_IfcStackTerminalType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcStair
+#define SCHEMA_IfcStair_HAS_PredefinedType
+#define SCHEMA_IfcStair_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcStairFlight
+#define SCHEMA_IfcStairFlight_HAS_NumberOfRisers
+#define SCHEMA_IfcStairFlight_NumberOfRisers_IS_OPTIONAL
+#define SCHEMA_IfcStairFlight_HAS_NumberOfTreads
+#define SCHEMA_IfcStairFlight_NumberOfTreads_IS_OPTIONAL
+#define SCHEMA_IfcStairFlight_HAS_RiserHeight
+#define SCHEMA_IfcStairFlight_RiserHeight_IS_OPTIONAL
+#define SCHEMA_IfcStairFlight_HAS_TreadLength
+#define SCHEMA_IfcStairFlight_TreadLength_IS_OPTIONAL
+#define SCHEMA_IfcStairFlight_HAS_PredefinedType
+#define SCHEMA_IfcStairFlight_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcStairFlightType
+#define SCHEMA_IfcStairFlightType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcStairType
+#define SCHEMA_IfcStairType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcStructuralAction
+#define SCHEMA_IfcStructuralAction_HAS_DestabilizingLoad
+#define SCHEMA_IfcStructuralAction_DestabilizingLoad_IS_OPTIONAL
+#define SCHEMA_HAS_IfcStructuralActivity
+#define SCHEMA_IfcStructuralActivity_HAS_AppliedLoad
+#define SCHEMA_IfcStructuralActivity_HAS_GlobalOrLocal
+#define SCHEMA_IfcStructuralActivity_HAS_AssignedToStructuralItem
+#define SCHEMA_HAS_IfcStructuralAnalysisModel
+#define SCHEMA_IfcStructuralAnalysisModel_HAS_PredefinedType
+#define SCHEMA_IfcStructuralAnalysisModel_HAS_OrientationOf2DPlane
+#define SCHEMA_IfcStructuralAnalysisModel_OrientationOf2DPlane_IS_OPTIONAL
+#define SCHEMA_IfcStructuralAnalysisModel_HAS_LoadedBy
+#define SCHEMA_IfcStructuralAnalysisModel_LoadedBy_IS_OPTIONAL
+#define SCHEMA_IfcStructuralAnalysisModel_HAS_HasResults
+#define SCHEMA_IfcStructuralAnalysisModel_HasResults_IS_OPTIONAL
+#define SCHEMA_IfcStructuralAnalysisModel_HAS_SharedPlacement
+#define SCHEMA_IfcStructuralAnalysisModel_SharedPlacement_IS_OPTIONAL
+#define SCHEMA_HAS_IfcStructuralConnection
+#define SCHEMA_IfcStructuralConnection_HAS_AppliedCondition
+#define SCHEMA_IfcStructuralConnection_AppliedCondition_IS_OPTIONAL
+#define SCHEMA_IfcStructuralConnection_HAS_ConnectsStructuralMembers
+#define SCHEMA_HAS_IfcStructuralConnectionCondition
+#define SCHEMA_IfcStructuralConnectionCondition_HAS_Name
+#define SCHEMA_IfcStructuralConnectionCondition_Name_IS_OPTIONAL
+#define SCHEMA_HAS_IfcStructuralCurveAction
+#define SCHEMA_IfcStructuralCurveAction_HAS_ProjectedOrTrue
+#define SCHEMA_IfcStructuralCurveAction_ProjectedOrTrue_IS_OPTIONAL
+#define SCHEMA_IfcStructuralCurveAction_HAS_PredefinedType
+#define SCHEMA_HAS_IfcStructuralCurveConnection
+#define SCHEMA_IfcStructuralCurveConnection_HAS_AxisDirection
+#define SCHEMA_HAS_IfcStructuralCurveMember
+#define SCHEMA_IfcStructuralCurveMember_HAS_PredefinedType
+#define SCHEMA_IfcStructuralCurveMember_HAS_Axis
+#define SCHEMA_HAS_IfcStructuralCurveMemberVarying
+#define SCHEMA_HAS_IfcStructuralCurveReaction
+#define SCHEMA_IfcStructuralCurveReaction_HAS_PredefinedType
+#define SCHEMA_HAS_IfcStructuralItem
+#define SCHEMA_IfcStructuralItem_HAS_AssignedStructuralActivity
+#define SCHEMA_HAS_IfcStructuralLinearAction
+#define SCHEMA_HAS_IfcStructuralLoad
+#define SCHEMA_IfcStructuralLoad_HAS_Name
+#define SCHEMA_IfcStructuralLoad_Name_IS_OPTIONAL
+#define SCHEMA_HAS_IfcStructuralLoadCase
+#define SCHEMA_IfcStructuralLoadCase_HAS_SelfWeightCoefficients
+#define SCHEMA_IfcStructuralLoadCase_SelfWeightCoefficients_IS_OPTIONAL
+#define SCHEMA_HAS_IfcStructuralLoadConfiguration
+#define SCHEMA_IfcStructuralLoadConfiguration_HAS_Values
+#define SCHEMA_IfcStructuralLoadConfiguration_HAS_Locations
+#define SCHEMA_IfcStructuralLoadConfiguration_Locations_IS_OPTIONAL
+#define SCHEMA_HAS_IfcStructuralLoadGroup
+#define SCHEMA_IfcStructuralLoadGroup_HAS_PredefinedType
+#define SCHEMA_IfcStructuralLoadGroup_HAS_ActionType
+#define SCHEMA_IfcStructuralLoadGroup_HAS_ActionSource
+#define SCHEMA_IfcStructuralLoadGroup_HAS_Coefficient
+#define SCHEMA_IfcStructuralLoadGroup_Coefficient_IS_OPTIONAL
+#define SCHEMA_IfcStructuralLoadGroup_HAS_Purpose
+#define SCHEMA_IfcStructuralLoadGroup_Purpose_IS_OPTIONAL
+#define SCHEMA_IfcStructuralLoadGroup_HAS_SourceOfResultGroup
+#define SCHEMA_IfcStructuralLoadGroup_HAS_LoadGroupFor
+#define SCHEMA_HAS_IfcStructuralLoadLinearForce
+#define SCHEMA_IfcStructuralLoadLinearForce_HAS_LinearForceX
+#define SCHEMA_IfcStructuralLoadLinearForce_LinearForceX_IS_OPTIONAL
+#define SCHEMA_IfcStructuralLoadLinearForce_HAS_LinearForceY
+#define SCHEMA_IfcStructuralLoadLinearForce_LinearForceY_IS_OPTIONAL
+#define SCHEMA_IfcStructuralLoadLinearForce_HAS_LinearForceZ
+#define SCHEMA_IfcStructuralLoadLinearForce_LinearForceZ_IS_OPTIONAL
+#define SCHEMA_IfcStructuralLoadLinearForce_HAS_LinearMomentX
+#define SCHEMA_IfcStructuralLoadLinearForce_LinearMomentX_IS_OPTIONAL
+#define SCHEMA_IfcStructuralLoadLinearForce_HAS_LinearMomentY
+#define SCHEMA_IfcStructuralLoadLinearForce_LinearMomentY_IS_OPTIONAL
+#define SCHEMA_IfcStructuralLoadLinearForce_HAS_LinearMomentZ
+#define SCHEMA_IfcStructuralLoadLinearForce_LinearMomentZ_IS_OPTIONAL
+#define SCHEMA_HAS_IfcStructuralLoadOrResult
+#define SCHEMA_HAS_IfcStructuralLoadPlanarForce
+#define SCHEMA_IfcStructuralLoadPlanarForce_HAS_PlanarForceX
+#define SCHEMA_IfcStructuralLoadPlanarForce_PlanarForceX_IS_OPTIONAL
+#define SCHEMA_IfcStructuralLoadPlanarForce_HAS_PlanarForceY
+#define SCHEMA_IfcStructuralLoadPlanarForce_PlanarForceY_IS_OPTIONAL
+#define SCHEMA_IfcStructuralLoadPlanarForce_HAS_PlanarForceZ
+#define SCHEMA_IfcStructuralLoadPlanarForce_PlanarForceZ_IS_OPTIONAL
+#define SCHEMA_HAS_IfcStructuralLoadSingleDisplacement
+#define SCHEMA_IfcStructuralLoadSingleDisplacement_HAS_DisplacementX
+#define SCHEMA_IfcStructuralLoadSingleDisplacement_DisplacementX_IS_OPTIONAL
+#define SCHEMA_IfcStructuralLoadSingleDisplacement_HAS_DisplacementY
+#define SCHEMA_IfcStructuralLoadSingleDisplacement_DisplacementY_IS_OPTIONAL
+#define SCHEMA_IfcStructuralLoadSingleDisplacement_HAS_DisplacementZ
+#define SCHEMA_IfcStructuralLoadSingleDisplacement_DisplacementZ_IS_OPTIONAL
+#define SCHEMA_IfcStructuralLoadSingleDisplacement_HAS_RotationalDisplacementRX
+#define SCHEMA_IfcStructuralLoadSingleDisplacement_RotationalDisplacementRX_IS_OPTIONAL
+#define SCHEMA_IfcStructuralLoadSingleDisplacement_HAS_RotationalDisplacementRY
+#define SCHEMA_IfcStructuralLoadSingleDisplacement_RotationalDisplacementRY_IS_OPTIONAL
+#define SCHEMA_IfcStructuralLoadSingleDisplacement_HAS_RotationalDisplacementRZ
+#define SCHEMA_IfcStructuralLoadSingleDisplacement_RotationalDisplacementRZ_IS_OPTIONAL
+#define SCHEMA_HAS_IfcStructuralLoadSingleDisplacementDistortion
+#define SCHEMA_IfcStructuralLoadSingleDisplacementDistortion_HAS_Distortion
+#define SCHEMA_IfcStructuralLoadSingleDisplacementDistortion_Distortion_IS_OPTIONAL
+#define SCHEMA_HAS_IfcStructuralLoadSingleForce
+#define SCHEMA_IfcStructuralLoadSingleForce_HAS_ForceX
+#define SCHEMA_IfcStructuralLoadSingleForce_ForceX_IS_OPTIONAL
+#define SCHEMA_IfcStructuralLoadSingleForce_HAS_ForceY
+#define SCHEMA_IfcStructuralLoadSingleForce_ForceY_IS_OPTIONAL
+#define SCHEMA_IfcStructuralLoadSingleForce_HAS_ForceZ
+#define SCHEMA_IfcStructuralLoadSingleForce_ForceZ_IS_OPTIONAL
+#define SCHEMA_IfcStructuralLoadSingleForce_HAS_MomentX
+#define SCHEMA_IfcStructuralLoadSingleForce_MomentX_IS_OPTIONAL
+#define SCHEMA_IfcStructuralLoadSingleForce_HAS_MomentY
+#define SCHEMA_IfcStructuralLoadSingleForce_MomentY_IS_OPTIONAL
+#define SCHEMA_IfcStructuralLoadSingleForce_HAS_MomentZ
+#define SCHEMA_IfcStructuralLoadSingleForce_MomentZ_IS_OPTIONAL
+#define SCHEMA_HAS_IfcStructuralLoadSingleForceWarping
+#define SCHEMA_IfcStructuralLoadSingleForceWarping_HAS_WarpingMoment
+#define SCHEMA_IfcStructuralLoadSingleForceWarping_WarpingMoment_IS_OPTIONAL
+#define SCHEMA_HAS_IfcStructuralLoadStatic
+#define SCHEMA_HAS_IfcStructuralLoadTemperature
+#define SCHEMA_IfcStructuralLoadTemperature_HAS_DeltaTConstant
+#define SCHEMA_IfcStructuralLoadTemperature_DeltaTConstant_IS_OPTIONAL
+#define SCHEMA_IfcStructuralLoadTemperature_HAS_DeltaTY
+#define SCHEMA_IfcStructuralLoadTemperature_DeltaTY_IS_OPTIONAL
+#define SCHEMA_IfcStructuralLoadTemperature_HAS_DeltaTZ
+#define SCHEMA_IfcStructuralLoadTemperature_DeltaTZ_IS_OPTIONAL
+#define SCHEMA_HAS_IfcStructuralMember
+#define SCHEMA_IfcStructuralMember_HAS_ConnectedBy
+#define SCHEMA_HAS_IfcStructuralPlanarAction
+#define SCHEMA_HAS_IfcStructuralPointAction
+#define SCHEMA_HAS_IfcStructuralPointConnection
+#define SCHEMA_IfcStructuralPointConnection_HAS_ConditionCoordinateSystem
+#define SCHEMA_IfcStructuralPointConnection_ConditionCoordinateSystem_IS_OPTIONAL
+#define SCHEMA_HAS_IfcStructuralPointReaction
+#define SCHEMA_HAS_IfcStructuralReaction
+#define SCHEMA_HAS_IfcStructuralResultGroup
+#define SCHEMA_IfcStructuralResultGroup_HAS_TheoryType
+#define SCHEMA_IfcStructuralResultGroup_HAS_ResultForLoadGroup
+#define SCHEMA_IfcStructuralResultGroup_ResultForLoadGroup_IS_OPTIONAL
+#define SCHEMA_IfcStructuralResultGroup_HAS_IsLinear
+#define SCHEMA_IfcStructuralResultGroup_HAS_ResultGroupFor
+#define SCHEMA_HAS_IfcStructuralSurfaceAction
+#define SCHEMA_IfcStructuralSurfaceAction_HAS_ProjectedOrTrue
+#define SCHEMA_IfcStructuralSurfaceAction_ProjectedOrTrue_IS_OPTIONAL
+#define SCHEMA_IfcStructuralSurfaceAction_HAS_PredefinedType
+#define SCHEMA_HAS_IfcStructuralSurfaceConnection
+#define SCHEMA_HAS_IfcStructuralSurfaceMember
+#define SCHEMA_IfcStructuralSurfaceMember_HAS_PredefinedType
+#define SCHEMA_IfcStructuralSurfaceMember_HAS_Thickness
+#define SCHEMA_IfcStructuralSurfaceMember_Thickness_IS_OPTIONAL
+#define SCHEMA_HAS_IfcStructuralSurfaceMemberVarying
+#define SCHEMA_HAS_IfcStructuralSurfaceReaction
+#define SCHEMA_IfcStructuralSurfaceReaction_HAS_PredefinedType
+#define SCHEMA_HAS_IfcStyleModel
+#define SCHEMA_HAS_IfcStyledItem
+#define SCHEMA_IfcStyledItem_HAS_Item
+#define SCHEMA_IfcStyledItem_Item_IS_OPTIONAL
+#define SCHEMA_IfcStyledItem_HAS_Styles
+#define SCHEMA_IfcStyledItem_HAS_Name
+#define SCHEMA_IfcStyledItem_Name_IS_OPTIONAL
+#define SCHEMA_HAS_IfcStyledRepresentation
+#define SCHEMA_HAS_IfcSubContractResource
+#define SCHEMA_IfcSubContractResource_HAS_PredefinedType
+#define SCHEMA_IfcSubContractResource_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSubContractResourceType
+#define SCHEMA_IfcSubContractResourceType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcSubedge
+#define SCHEMA_IfcSubedge_HAS_ParentEdge
+#define SCHEMA_HAS_IfcSurface
+#define SCHEMA_HAS_IfcSurfaceCurve
+#define SCHEMA_IfcSurfaceCurve_HAS_Curve3D
+#define SCHEMA_IfcSurfaceCurve_HAS_AssociatedGeometry
+#define SCHEMA_IfcSurfaceCurve_HAS_MasterRepresentation
+#define SCHEMA_HAS_IfcSurfaceCurveSweptAreaSolid
+#define SCHEMA_IfcSurfaceCurveSweptAreaSolid_HAS_ReferenceSurface
+#define SCHEMA_HAS_IfcSurfaceFeature
+#define SCHEMA_IfcSurfaceFeature_HAS_PredefinedType
+#define SCHEMA_IfcSurfaceFeature_PredefinedType_IS_OPTIONAL
+#define SCHEMA_IfcSurfaceFeature_HAS_AdheresToElement
+#define SCHEMA_HAS_IfcSurfaceOfLinearExtrusion
+#define SCHEMA_IfcSurfaceOfLinearExtrusion_HAS_ExtrudedDirection
+#define SCHEMA_IfcSurfaceOfLinearExtrusion_HAS_Depth
+#define SCHEMA_HAS_IfcSurfaceOfRevolution
+#define SCHEMA_IfcSurfaceOfRevolution_HAS_AxisPosition
+#define SCHEMA_HAS_IfcSurfaceReinforcementArea
+#define SCHEMA_IfcSurfaceReinforcementArea_HAS_SurfaceReinforcement1
+#define SCHEMA_IfcSurfaceReinforcementArea_SurfaceReinforcement1_IS_OPTIONAL
+#define SCHEMA_IfcSurfaceReinforcementArea_HAS_SurfaceReinforcement2
+#define SCHEMA_IfcSurfaceReinforcementArea_SurfaceReinforcement2_IS_OPTIONAL
+#define SCHEMA_IfcSurfaceReinforcementArea_HAS_ShearReinforcement
+#define SCHEMA_IfcSurfaceReinforcementArea_ShearReinforcement_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSurfaceStyle
+#define SCHEMA_IfcSurfaceStyle_HAS_Side
+#define SCHEMA_IfcSurfaceStyle_HAS_Styles
+#define SCHEMA_HAS_IfcSurfaceStyleLighting
+#define SCHEMA_IfcSurfaceStyleLighting_HAS_DiffuseTransmissionColour
+#define SCHEMA_IfcSurfaceStyleLighting_HAS_DiffuseReflectionColour
+#define SCHEMA_IfcSurfaceStyleLighting_HAS_TransmissionColour
+#define SCHEMA_IfcSurfaceStyleLighting_HAS_ReflectanceColour
+#define SCHEMA_HAS_IfcSurfaceStyleRefraction
+#define SCHEMA_IfcSurfaceStyleRefraction_HAS_RefractionIndex
+#define SCHEMA_IfcSurfaceStyleRefraction_RefractionIndex_IS_OPTIONAL
+#define SCHEMA_IfcSurfaceStyleRefraction_HAS_DispersionFactor
+#define SCHEMA_IfcSurfaceStyleRefraction_DispersionFactor_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSurfaceStyleRendering
+#define SCHEMA_IfcSurfaceStyleRendering_HAS_DiffuseColour
+#define SCHEMA_IfcSurfaceStyleRendering_DiffuseColour_IS_OPTIONAL
+#define SCHEMA_IfcSurfaceStyleRendering_HAS_TransmissionColour
+#define SCHEMA_IfcSurfaceStyleRendering_TransmissionColour_IS_OPTIONAL
+#define SCHEMA_IfcSurfaceStyleRendering_HAS_DiffuseTransmissionColour
+#define SCHEMA_IfcSurfaceStyleRendering_DiffuseTransmissionColour_IS_OPTIONAL
+#define SCHEMA_IfcSurfaceStyleRendering_HAS_ReflectionColour
+#define SCHEMA_IfcSurfaceStyleRendering_ReflectionColour_IS_OPTIONAL
+#define SCHEMA_IfcSurfaceStyleRendering_HAS_SpecularColour
+#define SCHEMA_IfcSurfaceStyleRendering_SpecularColour_IS_OPTIONAL
+#define SCHEMA_IfcSurfaceStyleRendering_HAS_SpecularHighlight
+#define SCHEMA_IfcSurfaceStyleRendering_SpecularHighlight_IS_OPTIONAL
+#define SCHEMA_IfcSurfaceStyleRendering_HAS_ReflectanceMethod
+#define SCHEMA_HAS_IfcSurfaceStyleShading
+#define SCHEMA_IfcSurfaceStyleShading_HAS_SurfaceColour
+#define SCHEMA_IfcSurfaceStyleShading_HAS_Transparency
+#define SCHEMA_IfcSurfaceStyleShading_Transparency_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSurfaceStyleWithTextures
+#define SCHEMA_IfcSurfaceStyleWithTextures_HAS_Textures
+#define SCHEMA_HAS_IfcSurfaceTexture
+#define SCHEMA_IfcSurfaceTexture_HAS_RepeatS
+#define SCHEMA_IfcSurfaceTexture_HAS_RepeatT
+#define SCHEMA_IfcSurfaceTexture_HAS_Mode
+#define SCHEMA_IfcSurfaceTexture_Mode_IS_OPTIONAL
+#define SCHEMA_IfcSurfaceTexture_HAS_TextureTransform
+#define SCHEMA_IfcSurfaceTexture_TextureTransform_IS_OPTIONAL
+#define SCHEMA_IfcSurfaceTexture_HAS_Parameter
+#define SCHEMA_IfcSurfaceTexture_Parameter_IS_OPTIONAL
+#define SCHEMA_IfcSurfaceTexture_HAS_IsMappedBy
+#define SCHEMA_IfcSurfaceTexture_HAS_UsedInStyles
+#define SCHEMA_HAS_IfcSweptAreaSolid
+#define SCHEMA_IfcSweptAreaSolid_HAS_SweptArea
+#define SCHEMA_IfcSweptAreaSolid_HAS_Position
+#define SCHEMA_IfcSweptAreaSolid_Position_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSweptDiskSolid
+#define SCHEMA_IfcSweptDiskSolid_HAS_Directrix
+#define SCHEMA_IfcSweptDiskSolid_HAS_Radius
+#define SCHEMA_IfcSweptDiskSolid_HAS_InnerRadius
+#define SCHEMA_IfcSweptDiskSolid_InnerRadius_IS_OPTIONAL
+#define SCHEMA_IfcSweptDiskSolid_HAS_StartParam
+#define SCHEMA_IfcSweptDiskSolid_StartParam_IS_OPTIONAL
+#define SCHEMA_IfcSweptDiskSolid_HAS_EndParam
+#define SCHEMA_IfcSweptDiskSolid_EndParam_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSweptDiskSolidPolygonal
+#define SCHEMA_IfcSweptDiskSolidPolygonal_HAS_FilletRadius
+#define SCHEMA_IfcSweptDiskSolidPolygonal_FilletRadius_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSweptSurface
+#define SCHEMA_IfcSweptSurface_HAS_SweptCurve
+#define SCHEMA_IfcSweptSurface_HAS_Position
+#define SCHEMA_IfcSweptSurface_Position_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSwitchingDevice
+#define SCHEMA_IfcSwitchingDevice_HAS_PredefinedType
+#define SCHEMA_IfcSwitchingDevice_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSwitchingDeviceType
+#define SCHEMA_IfcSwitchingDeviceType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcSystem
+#define SCHEMA_IfcSystem_HAS_ServicesBuildings
+#define SCHEMA_IfcSystem_HAS_ServicesFacilities
+#define SCHEMA_HAS_IfcSystemFurnitureElement
+#define SCHEMA_IfcSystemFurnitureElement_HAS_PredefinedType
+#define SCHEMA_IfcSystemFurnitureElement_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSystemFurnitureElementType
+#define SCHEMA_IfcSystemFurnitureElementType_HAS_PredefinedType
+#define SCHEMA_IfcSystemFurnitureElementType_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcTShapeProfileDef
+#define SCHEMA_IfcTShapeProfileDef_HAS_Depth
+#define SCHEMA_IfcTShapeProfileDef_HAS_FlangeWidth
+#define SCHEMA_IfcTShapeProfileDef_HAS_WebThickness
+#define SCHEMA_IfcTShapeProfileDef_HAS_FlangeThickness
+#define SCHEMA_IfcTShapeProfileDef_HAS_FilletRadius
+#define SCHEMA_IfcTShapeProfileDef_FilletRadius_IS_OPTIONAL
+#define SCHEMA_IfcTShapeProfileDef_HAS_FlangeEdgeRadius
+#define SCHEMA_IfcTShapeProfileDef_FlangeEdgeRadius_IS_OPTIONAL
+#define SCHEMA_IfcTShapeProfileDef_HAS_WebEdgeRadius
+#define SCHEMA_IfcTShapeProfileDef_WebEdgeRadius_IS_OPTIONAL
+#define SCHEMA_IfcTShapeProfileDef_HAS_WebSlope
+#define SCHEMA_IfcTShapeProfileDef_WebSlope_IS_OPTIONAL
+#define SCHEMA_IfcTShapeProfileDef_HAS_FlangeSlope
+#define SCHEMA_IfcTShapeProfileDef_FlangeSlope_IS_OPTIONAL
+#define SCHEMA_HAS_IfcTable
+#define SCHEMA_IfcTable_HAS_Name
+#define SCHEMA_IfcTable_Name_IS_OPTIONAL
+#define SCHEMA_IfcTable_HAS_Rows
+#define SCHEMA_IfcTable_Rows_IS_OPTIONAL
+#define SCHEMA_IfcTable_HAS_Columns
+#define SCHEMA_IfcTable_Columns_IS_OPTIONAL
+#define SCHEMA_HAS_IfcTableColumn
+#define SCHEMA_IfcTableColumn_HAS_Identifier
+#define SCHEMA_IfcTableColumn_Identifier_IS_OPTIONAL
+#define SCHEMA_IfcTableColumn_HAS_Name
+#define SCHEMA_IfcTableColumn_Name_IS_OPTIONAL
+#define SCHEMA_IfcTableColumn_HAS_Description
+#define SCHEMA_IfcTableColumn_Description_IS_OPTIONAL
+#define SCHEMA_IfcTableColumn_HAS_Unit
+#define SCHEMA_IfcTableColumn_Unit_IS_OPTIONAL
+#define SCHEMA_IfcTableColumn_HAS_ReferencePath
+#define SCHEMA_IfcTableColumn_ReferencePath_IS_OPTIONAL
+#define SCHEMA_HAS_IfcTableRow
+#define SCHEMA_IfcTableRow_HAS_RowCells
+#define SCHEMA_IfcTableRow_RowCells_IS_OPTIONAL
+#define SCHEMA_IfcTableRow_HAS_IsHeading
+#define SCHEMA_IfcTableRow_IsHeading_IS_OPTIONAL
+#define SCHEMA_HAS_IfcTank
+#define SCHEMA_IfcTank_HAS_PredefinedType
+#define SCHEMA_IfcTank_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcTankType
+#define SCHEMA_IfcTankType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcTask
+#define SCHEMA_IfcTask_HAS_Status
+#define SCHEMA_IfcTask_Status_IS_OPTIONAL
+#define SCHEMA_IfcTask_HAS_WorkMethod
+#define SCHEMA_IfcTask_WorkMethod_IS_OPTIONAL
+#define SCHEMA_IfcTask_HAS_IsMilestone
+#define SCHEMA_IfcTask_HAS_Priority
+#define SCHEMA_IfcTask_Priority_IS_OPTIONAL
+#define SCHEMA_IfcTask_HAS_TaskTime
+#define SCHEMA_IfcTask_TaskTime_IS_OPTIONAL
+#define SCHEMA_IfcTask_HAS_PredefinedType
+#define SCHEMA_IfcTask_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcTaskTime
+#define SCHEMA_IfcTaskTime_HAS_DurationType
+#define SCHEMA_IfcTaskTime_DurationType_IS_OPTIONAL
+#define SCHEMA_IfcTaskTime_HAS_ScheduleDuration
+#define SCHEMA_IfcTaskTime_ScheduleDuration_IS_OPTIONAL
+#define SCHEMA_IfcTaskTime_HAS_ScheduleStart
+#define SCHEMA_IfcTaskTime_ScheduleStart_IS_OPTIONAL
+#define SCHEMA_IfcTaskTime_HAS_ScheduleFinish
+#define SCHEMA_IfcTaskTime_ScheduleFinish_IS_OPTIONAL
+#define SCHEMA_IfcTaskTime_HAS_EarlyStart
+#define SCHEMA_IfcTaskTime_EarlyStart_IS_OPTIONAL
+#define SCHEMA_IfcTaskTime_HAS_EarlyFinish
+#define SCHEMA_IfcTaskTime_EarlyFinish_IS_OPTIONAL
+#define SCHEMA_IfcTaskTime_HAS_LateStart
+#define SCHEMA_IfcTaskTime_LateStart_IS_OPTIONAL
+#define SCHEMA_IfcTaskTime_HAS_LateFinish
+#define SCHEMA_IfcTaskTime_LateFinish_IS_OPTIONAL
+#define SCHEMA_IfcTaskTime_HAS_FreeFloat
+#define SCHEMA_IfcTaskTime_FreeFloat_IS_OPTIONAL
+#define SCHEMA_IfcTaskTime_HAS_TotalFloat
+#define SCHEMA_IfcTaskTime_TotalFloat_IS_OPTIONAL
+#define SCHEMA_IfcTaskTime_HAS_IsCritical
+#define SCHEMA_IfcTaskTime_IsCritical_IS_OPTIONAL
+#define SCHEMA_IfcTaskTime_HAS_StatusTime
+#define SCHEMA_IfcTaskTime_StatusTime_IS_OPTIONAL
+#define SCHEMA_IfcTaskTime_HAS_ActualDuration
+#define SCHEMA_IfcTaskTime_ActualDuration_IS_OPTIONAL
+#define SCHEMA_IfcTaskTime_HAS_ActualStart
+#define SCHEMA_IfcTaskTime_ActualStart_IS_OPTIONAL
+#define SCHEMA_IfcTaskTime_HAS_ActualFinish
+#define SCHEMA_IfcTaskTime_ActualFinish_IS_OPTIONAL
+#define SCHEMA_IfcTaskTime_HAS_RemainingTime
+#define SCHEMA_IfcTaskTime_RemainingTime_IS_OPTIONAL
+#define SCHEMA_IfcTaskTime_HAS_Completion
+#define SCHEMA_IfcTaskTime_Completion_IS_OPTIONAL
+#define SCHEMA_HAS_IfcTaskTimeRecurring
+#define SCHEMA_IfcTaskTimeRecurring_HAS_Recurrence
+#define SCHEMA_HAS_IfcTaskType
+#define SCHEMA_IfcTaskType_HAS_PredefinedType
+#define SCHEMA_IfcTaskType_HAS_WorkMethod
+#define SCHEMA_IfcTaskType_WorkMethod_IS_OPTIONAL
+#define SCHEMA_HAS_IfcTelecomAddress
+#define SCHEMA_IfcTelecomAddress_HAS_TelephoneNumbers
+#define SCHEMA_IfcTelecomAddress_TelephoneNumbers_IS_OPTIONAL
+#define SCHEMA_IfcTelecomAddress_HAS_FacsimileNumbers
+#define SCHEMA_IfcTelecomAddress_FacsimileNumbers_IS_OPTIONAL
+#define SCHEMA_IfcTelecomAddress_HAS_PagerNumber
+#define SCHEMA_IfcTelecomAddress_PagerNumber_IS_OPTIONAL
+#define SCHEMA_IfcTelecomAddress_HAS_ElectronicMailAddresses
+#define SCHEMA_IfcTelecomAddress_ElectronicMailAddresses_IS_OPTIONAL
+#define SCHEMA_IfcTelecomAddress_HAS_WWWHomePageURL
+#define SCHEMA_IfcTelecomAddress_WWWHomePageURL_IS_OPTIONAL
+#define SCHEMA_IfcTelecomAddress_HAS_MessagingIDs
+#define SCHEMA_IfcTelecomAddress_MessagingIDs_IS_OPTIONAL
+#define SCHEMA_HAS_IfcTendon
+#define SCHEMA_IfcTendon_HAS_PredefinedType
+#define SCHEMA_IfcTendon_PredefinedType_IS_OPTIONAL
+#define SCHEMA_IfcTendon_HAS_NominalDiameter
+#define SCHEMA_IfcTendon_NominalDiameter_IS_OPTIONAL
+#define SCHEMA_IfcTendon_HAS_CrossSectionArea
+#define SCHEMA_IfcTendon_CrossSectionArea_IS_OPTIONAL
+#define SCHEMA_IfcTendon_HAS_TensionForce
+#define SCHEMA_IfcTendon_TensionForce_IS_OPTIONAL
+#define SCHEMA_IfcTendon_HAS_PreStress
+#define SCHEMA_IfcTendon_PreStress_IS_OPTIONAL
+#define SCHEMA_IfcTendon_HAS_FrictionCoefficient
+#define SCHEMA_IfcTendon_FrictionCoefficient_IS_OPTIONAL
+#define SCHEMA_IfcTendon_HAS_AnchorageSlip
+#define SCHEMA_IfcTendon_AnchorageSlip_IS_OPTIONAL
+#define SCHEMA_IfcTendon_HAS_MinCurvatureRadius
+#define SCHEMA_IfcTendon_MinCurvatureRadius_IS_OPTIONAL
+#define SCHEMA_HAS_IfcTendonAnchor
+#define SCHEMA_IfcTendonAnchor_HAS_PredefinedType
+#define SCHEMA_IfcTendonAnchor_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcTendonAnchorType
+#define SCHEMA_IfcTendonAnchorType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcTendonConduit
+#define SCHEMA_IfcTendonConduit_HAS_PredefinedType
+#define SCHEMA_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_Closed
+#define SCHEMA_IfcTessellatedFaceSet_Closed_IS_OPTIONAL
+#define SCHEMA_IfcTessellatedFaceSet_HAS_HasColours
+#define SCHEMA_IfcTessellatedFaceSet_HAS_HasTextures
+#define SCHEMA_HAS_IfcTessellatedItem
+#define SCHEMA_HAS_IfcTextLiteral
+#define SCHEMA_IfcTextLiteral_HAS_Literal
+#define SCHEMA_IfcTextLiteral_HAS_Placement
+#define SCHEMA_IfcTextLiteral_HAS_Path
+#define SCHEMA_HAS_IfcTextLiteralWithExtent
+#define SCHEMA_IfcTextLiteralWithExtent_HAS_Extent
+#define SCHEMA_IfcTextLiteralWithExtent_HAS_BoxAlignment
+#define SCHEMA_HAS_IfcTextStyle
+#define SCHEMA_IfcTextStyle_HAS_TextCharacterAppearance
+#define SCHEMA_IfcTextStyle_TextCharacterAppearance_IS_OPTIONAL
+#define SCHEMA_IfcTextStyle_HAS_TextStyle
+#define SCHEMA_IfcTextStyle_TextStyle_IS_OPTIONAL
+#define SCHEMA_IfcTextStyle_HAS_TextFontStyle
+#define SCHEMA_IfcTextStyle_HAS_ModelOrDraughting
+#define SCHEMA_IfcTextStyle_ModelOrDraughting_IS_OPTIONAL
+#define SCHEMA_HAS_IfcTextStyleFontModel
+#define SCHEMA_IfcTextStyleFontModel_HAS_FontFamily
+#define SCHEMA_IfcTextStyleFontModel_HAS_FontStyle
+#define SCHEMA_IfcTextStyleFontModel_FontStyle_IS_OPTIONAL
+#define SCHEMA_IfcTextStyleFontModel_HAS_FontVariant
+#define SCHEMA_IfcTextStyleFontModel_FontVariant_IS_OPTIONAL
+#define SCHEMA_IfcTextStyleFontModel_HAS_FontWeight
+#define SCHEMA_IfcTextStyleFontModel_FontWeight_IS_OPTIONAL
+#define SCHEMA_IfcTextStyleFontModel_HAS_FontSize
+#define SCHEMA_HAS_IfcTextStyleForDefinedFont
+#define SCHEMA_IfcTextStyleForDefinedFont_HAS_Colour
+#define SCHEMA_IfcTextStyleForDefinedFont_HAS_BackgroundColour
+#define SCHEMA_IfcTextStyleForDefinedFont_BackgroundColour_IS_OPTIONAL
+#define SCHEMA_HAS_IfcTextStyleTextModel
+#define SCHEMA_IfcTextStyleTextModel_HAS_TextIndent
+#define SCHEMA_IfcTextStyleTextModel_TextIndent_IS_OPTIONAL
+#define SCHEMA_IfcTextStyleTextModel_HAS_TextAlign
+#define SCHEMA_IfcTextStyleTextModel_TextAlign_IS_OPTIONAL
+#define SCHEMA_IfcTextStyleTextModel_HAS_TextDecoration
+#define SCHEMA_IfcTextStyleTextModel_TextDecoration_IS_OPTIONAL
+#define SCHEMA_IfcTextStyleTextModel_HAS_LetterSpacing
+#define SCHEMA_IfcTextStyleTextModel_LetterSpacing_IS_OPTIONAL
+#define SCHEMA_IfcTextStyleTextModel_HAS_WordSpacing
+#define SCHEMA_IfcTextStyleTextModel_WordSpacing_IS_OPTIONAL
+#define SCHEMA_IfcTextStyleTextModel_HAS_TextTransform
+#define SCHEMA_IfcTextStyleTextModel_TextTransform_IS_OPTIONAL
+#define SCHEMA_IfcTextStyleTextModel_HAS_LineHeight
+#define SCHEMA_IfcTextStyleTextModel_LineHeight_IS_OPTIONAL
+#define SCHEMA_HAS_IfcTextureCoordinate
+#define SCHEMA_IfcTextureCoordinate_HAS_Maps
+#define SCHEMA_HAS_IfcTextureCoordinateGenerator
+#define SCHEMA_IfcTextureCoordinateGenerator_HAS_Mode
+#define SCHEMA_IfcTextureCoordinateGenerator_HAS_Parameter
+#define SCHEMA_IfcTextureCoordinateGenerator_Parameter_IS_OPTIONAL
+#define SCHEMA_HAS_IfcTextureCoordinateIndices
+#define SCHEMA_IfcTextureCoordinateIndices_HAS_TexCoordIndex
+#define SCHEMA_IfcTextureCoordinateIndices_HAS_TexCoordsOf
+#define SCHEMA_IfcTextureCoordinateIndices_HAS_ToTexMap
+#define SCHEMA_HAS_IfcTextureCoordinateIndicesWithVoids
+#define SCHEMA_IfcTextureCoordinateIndicesWithVoids_HAS_InnerTexCoordIndices
+#define SCHEMA_HAS_IfcTextureMap
+#define SCHEMA_IfcTextureMap_HAS_Vertices
+#define SCHEMA_IfcTextureMap_HAS_MappedTo
+#define SCHEMA_HAS_IfcTextureVertex
+#define SCHEMA_IfcTextureVertex_HAS_Coordinates
+#define SCHEMA_HAS_IfcTextureVertexList
+#define SCHEMA_IfcTextureVertexList_HAS_TexCoordsList
+#define SCHEMA_HAS_IfcThirdOrderPolynomialSpiral
+#define SCHEMA_IfcThirdOrderPolynomialSpiral_HAS_CubicTerm
+#define SCHEMA_IfcThirdOrderPolynomialSpiral_HAS_QuadraticTerm
+#define SCHEMA_IfcThirdOrderPolynomialSpiral_QuadraticTerm_IS_OPTIONAL
+#define SCHEMA_IfcThirdOrderPolynomialSpiral_HAS_LinearTerm
+#define SCHEMA_IfcThirdOrderPolynomialSpiral_LinearTerm_IS_OPTIONAL
+#define SCHEMA_IfcThirdOrderPolynomialSpiral_HAS_ConstantTerm
+#define SCHEMA_IfcThirdOrderPolynomialSpiral_ConstantTerm_IS_OPTIONAL
+#define SCHEMA_HAS_IfcTimePeriod
+#define SCHEMA_IfcTimePeriod_HAS_StartTime
+#define SCHEMA_IfcTimePeriod_HAS_EndTime
+#define SCHEMA_HAS_IfcTimeSeries
+#define SCHEMA_IfcTimeSeries_HAS_Name
+#define SCHEMA_IfcTimeSeries_HAS_Description
+#define SCHEMA_IfcTimeSeries_Description_IS_OPTIONAL
+#define SCHEMA_IfcTimeSeries_HAS_StartTime
+#define SCHEMA_IfcTimeSeries_HAS_EndTime
+#define SCHEMA_IfcTimeSeries_HAS_TimeSeriesDataType
+#define SCHEMA_IfcTimeSeries_HAS_DataOrigin
+#define SCHEMA_IfcTimeSeries_HAS_UserDefinedDataOrigin
+#define SCHEMA_IfcTimeSeries_UserDefinedDataOrigin_IS_OPTIONAL
+#define SCHEMA_IfcTimeSeries_HAS_Unit
+#define SCHEMA_IfcTimeSeries_Unit_IS_OPTIONAL
+#define SCHEMA_IfcTimeSeries_HAS_HasExternalReference
+#define SCHEMA_HAS_IfcTimeSeriesValue
+#define SCHEMA_IfcTimeSeriesValue_HAS_ListValues
+#define SCHEMA_HAS_IfcTopologicalRepresentationItem
+#define SCHEMA_HAS_IfcTopologyRepresentation
+#define SCHEMA_HAS_IfcToroidalSurface
+#define SCHEMA_IfcToroidalSurface_HAS_MajorRadius
+#define SCHEMA_IfcToroidalSurface_HAS_MinorRadius
+#define SCHEMA_HAS_IfcTrackElement
+#define SCHEMA_IfcTrackElement_HAS_PredefinedType
+#define SCHEMA_IfcTrackElement_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcTrackElementType
+#define SCHEMA_IfcTrackElementType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcTransformer
+#define SCHEMA_IfcTransformer_HAS_PredefinedType
+#define SCHEMA_IfcTransformer_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcTransformerType
+#define SCHEMA_IfcTransformerType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcTransportElement
+#define SCHEMA_IfcTransportElement_HAS_PredefinedType
+#define SCHEMA_IfcTransportElement_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcTransportElementType
+#define SCHEMA_IfcTransportElementType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcTransportationDevice
+#define SCHEMA_HAS_IfcTransportationDeviceType
+#define SCHEMA_HAS_IfcTrapeziumProfileDef
+#define SCHEMA_IfcTrapeziumProfileDef_HAS_BottomXDim
+#define SCHEMA_IfcTrapeziumProfileDef_HAS_TopXDim
+#define SCHEMA_IfcTrapeziumProfileDef_HAS_YDim
+#define SCHEMA_IfcTrapeziumProfileDef_HAS_TopXOffset
+#define SCHEMA_HAS_IfcTriangulatedFaceSet
+#define SCHEMA_IfcTriangulatedFaceSet_HAS_Normals
+#define SCHEMA_IfcTriangulatedFaceSet_Normals_IS_OPTIONAL
+#define SCHEMA_IfcTriangulatedFaceSet_HAS_CoordIndex
+#define SCHEMA_IfcTriangulatedFaceSet_HAS_PnIndex
+#define SCHEMA_IfcTriangulatedFaceSet_PnIndex_IS_OPTIONAL
+#define SCHEMA_HAS_IfcTriangulatedIrregularNetwork
+#define SCHEMA_IfcTriangulatedIrregularNetwork_HAS_Flags
+#define SCHEMA_HAS_IfcTrimmedCurve
+#define SCHEMA_IfcTrimmedCurve_HAS_BasisCurve
+#define SCHEMA_IfcTrimmedCurve_HAS_Trim1
+#define SCHEMA_IfcTrimmedCurve_HAS_Trim2
+#define SCHEMA_IfcTrimmedCurve_HAS_SenseAgreement
+#define SCHEMA_IfcTrimmedCurve_HAS_MasterRepresentation
+#define SCHEMA_HAS_IfcTubeBundle
+#define SCHEMA_IfcTubeBundle_HAS_PredefinedType
+#define SCHEMA_IfcTubeBundle_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcTubeBundleType
+#define SCHEMA_IfcTubeBundleType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcTypeObject
+#define SCHEMA_IfcTypeObject_HAS_ApplicableOccurrence
+#define SCHEMA_IfcTypeObject_ApplicableOccurrence_IS_OPTIONAL
+#define SCHEMA_IfcTypeObject_HAS_HasPropertySets
+#define SCHEMA_IfcTypeObject_HasPropertySets_IS_OPTIONAL
+#define SCHEMA_IfcTypeObject_HAS_Types
+#define SCHEMA_HAS_IfcTypeProcess
+#define SCHEMA_IfcTypeProcess_HAS_Identification
+#define SCHEMA_IfcTypeProcess_Identification_IS_OPTIONAL
+#define SCHEMA_IfcTypeProcess_HAS_LongDescription
+#define SCHEMA_IfcTypeProcess_LongDescription_IS_OPTIONAL
+#define SCHEMA_IfcTypeProcess_HAS_ProcessType
+#define SCHEMA_IfcTypeProcess_ProcessType_IS_OPTIONAL
+#define SCHEMA_IfcTypeProcess_HAS_OperatesOn
+#define SCHEMA_HAS_IfcTypeProduct
+#define SCHEMA_IfcTypeProduct_HAS_RepresentationMaps
+#define SCHEMA_IfcTypeProduct_RepresentationMaps_IS_OPTIONAL
+#define SCHEMA_IfcTypeProduct_HAS_Tag
+#define SCHEMA_IfcTypeProduct_Tag_IS_OPTIONAL
+#define SCHEMA_IfcTypeProduct_HAS_ReferencedBy
+#define SCHEMA_HAS_IfcTypeResource
+#define SCHEMA_IfcTypeResource_HAS_Identification
+#define SCHEMA_IfcTypeResource_Identification_IS_OPTIONAL
+#define SCHEMA_IfcTypeResource_HAS_LongDescription
+#define SCHEMA_IfcTypeResource_LongDescription_IS_OPTIONAL
+#define SCHEMA_IfcTypeResource_HAS_ResourceType
+#define SCHEMA_IfcTypeResource_ResourceType_IS_OPTIONAL
+#define SCHEMA_IfcTypeResource_HAS_ResourceOf
+#define SCHEMA_HAS_IfcUShapeProfileDef
+#define SCHEMA_IfcUShapeProfileDef_HAS_Depth
+#define SCHEMA_IfcUShapeProfileDef_HAS_FlangeWidth
+#define SCHEMA_IfcUShapeProfileDef_HAS_WebThickness
+#define SCHEMA_IfcUShapeProfileDef_HAS_FlangeThickness
+#define SCHEMA_IfcUShapeProfileDef_HAS_FilletRadius
+#define SCHEMA_IfcUShapeProfileDef_FilletRadius_IS_OPTIONAL
+#define SCHEMA_IfcUShapeProfileDef_HAS_EdgeRadius
+#define SCHEMA_IfcUShapeProfileDef_EdgeRadius_IS_OPTIONAL
+#define SCHEMA_IfcUShapeProfileDef_HAS_FlangeSlope
+#define SCHEMA_IfcUShapeProfileDef_FlangeSlope_IS_OPTIONAL
+#define SCHEMA_HAS_IfcUnitAssignment
+#define SCHEMA_IfcUnitAssignment_HAS_Units
+#define SCHEMA_HAS_IfcUnitaryControlElement
+#define SCHEMA_IfcUnitaryControlElement_HAS_PredefinedType
+#define SCHEMA_IfcUnitaryControlElement_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcUnitaryControlElementType
+#define SCHEMA_IfcUnitaryControlElementType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcUnitaryEquipment
+#define SCHEMA_IfcUnitaryEquipment_HAS_PredefinedType
+#define SCHEMA_IfcUnitaryEquipment_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcUnitaryEquipmentType
+#define SCHEMA_IfcUnitaryEquipmentType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcValve
+#define SCHEMA_IfcValve_HAS_PredefinedType
+#define SCHEMA_IfcValve_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcValveType
+#define SCHEMA_IfcValveType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcVector
+#define SCHEMA_IfcVector_HAS_Orientation
+#define SCHEMA_IfcVector_HAS_Magnitude
+#define SCHEMA_HAS_IfcVehicle
+#define SCHEMA_IfcVehicle_HAS_PredefinedType
+#define SCHEMA_IfcVehicle_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcVehicleType
+#define SCHEMA_IfcVehicleType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcVertex
+#define SCHEMA_HAS_IfcVertexLoop
+#define SCHEMA_IfcVertexLoop_HAS_LoopVertex
+#define SCHEMA_HAS_IfcVertexPoint
+#define SCHEMA_IfcVertexPoint_HAS_VertexGeometry
+#define SCHEMA_HAS_IfcVibrationDamper
+#define SCHEMA_IfcVibrationDamper_HAS_PredefinedType
+#define SCHEMA_IfcVibrationDamper_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcVibrationDamperType
+#define SCHEMA_IfcVibrationDamperType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcVibrationIsolator
+#define SCHEMA_IfcVibrationIsolator_HAS_PredefinedType
+#define SCHEMA_IfcVibrationIsolator_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcVibrationIsolatorType
+#define SCHEMA_IfcVibrationIsolatorType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcVirtualElement
+#define SCHEMA_IfcVirtualElement_HAS_PredefinedType
+#define SCHEMA_IfcVirtualElement_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcVirtualGridIntersection
+#define SCHEMA_IfcVirtualGridIntersection_HAS_IntersectingAxes
+#define SCHEMA_IfcVirtualGridIntersection_HAS_OffsetDistances
+#define SCHEMA_HAS_IfcVoidingFeature
+#define SCHEMA_IfcVoidingFeature_HAS_PredefinedType
+#define SCHEMA_IfcVoidingFeature_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcWall
+#define SCHEMA_IfcWall_HAS_PredefinedType
+#define SCHEMA_IfcWall_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcWallStandardCase
+#define SCHEMA_HAS_IfcWallType
+#define SCHEMA_IfcWallType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcWasteTerminal
+#define SCHEMA_IfcWasteTerminal_HAS_PredefinedType
+#define SCHEMA_IfcWasteTerminal_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcWasteTerminalType
+#define SCHEMA_IfcWasteTerminalType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcWindow
+#define SCHEMA_IfcWindow_HAS_OverallHeight
+#define SCHEMA_IfcWindow_OverallHeight_IS_OPTIONAL
+#define SCHEMA_IfcWindow_HAS_OverallWidth
+#define SCHEMA_IfcWindow_OverallWidth_IS_OPTIONAL
+#define SCHEMA_IfcWindow_HAS_PredefinedType
+#define SCHEMA_IfcWindow_PredefinedType_IS_OPTIONAL
+#define SCHEMA_IfcWindow_HAS_PartitioningType
+#define SCHEMA_IfcWindow_PartitioningType_IS_OPTIONAL
+#define SCHEMA_IfcWindow_HAS_UserDefinedPartitioningType
+#define SCHEMA_IfcWindow_UserDefinedPartitioningType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcWindowLiningProperties
+#define SCHEMA_IfcWindowLiningProperties_HAS_LiningDepth
+#define SCHEMA_IfcWindowLiningProperties_LiningDepth_IS_OPTIONAL
+#define SCHEMA_IfcWindowLiningProperties_HAS_LiningThickness
+#define SCHEMA_IfcWindowLiningProperties_LiningThickness_IS_OPTIONAL
+#define SCHEMA_IfcWindowLiningProperties_HAS_TransomThickness
+#define SCHEMA_IfcWindowLiningProperties_TransomThickness_IS_OPTIONAL
+#define SCHEMA_IfcWindowLiningProperties_HAS_MullionThickness
+#define SCHEMA_IfcWindowLiningProperties_MullionThickness_IS_OPTIONAL
+#define SCHEMA_IfcWindowLiningProperties_HAS_FirstTransomOffset
+#define SCHEMA_IfcWindowLiningProperties_FirstTransomOffset_IS_OPTIONAL
+#define SCHEMA_IfcWindowLiningProperties_HAS_SecondTransomOffset
+#define SCHEMA_IfcWindowLiningProperties_SecondTransomOffset_IS_OPTIONAL
+#define SCHEMA_IfcWindowLiningProperties_HAS_FirstMullionOffset
+#define SCHEMA_IfcWindowLiningProperties_FirstMullionOffset_IS_OPTIONAL
+#define SCHEMA_IfcWindowLiningProperties_HAS_SecondMullionOffset
+#define SCHEMA_IfcWindowLiningProperties_SecondMullionOffset_IS_OPTIONAL
+#define SCHEMA_IfcWindowLiningProperties_HAS_ShapeAspectStyle
+#define SCHEMA_IfcWindowLiningProperties_ShapeAspectStyle_IS_OPTIONAL
+#define SCHEMA_IfcWindowLiningProperties_HAS_LiningOffset
+#define SCHEMA_IfcWindowLiningProperties_LiningOffset_IS_OPTIONAL
+#define SCHEMA_IfcWindowLiningProperties_HAS_LiningToPanelOffsetX
+#define SCHEMA_IfcWindowLiningProperties_LiningToPanelOffsetX_IS_OPTIONAL
+#define SCHEMA_IfcWindowLiningProperties_HAS_LiningToPanelOffsetY
+#define SCHEMA_IfcWindowLiningProperties_LiningToPanelOffsetY_IS_OPTIONAL
+#define SCHEMA_HAS_IfcWindowPanelProperties
+#define SCHEMA_IfcWindowPanelProperties_HAS_OperationType
+#define SCHEMA_IfcWindowPanelProperties_HAS_PanelPosition
+#define SCHEMA_IfcWindowPanelProperties_HAS_FrameDepth
+#define SCHEMA_IfcWindowPanelProperties_FrameDepth_IS_OPTIONAL
+#define SCHEMA_IfcWindowPanelProperties_HAS_FrameThickness
+#define SCHEMA_IfcWindowPanelProperties_FrameThickness_IS_OPTIONAL
+#define SCHEMA_IfcWindowPanelProperties_HAS_ShapeAspectStyle
+#define SCHEMA_IfcWindowPanelProperties_ShapeAspectStyle_IS_OPTIONAL
+#define SCHEMA_HAS_IfcWindowType
+#define SCHEMA_IfcWindowType_HAS_PredefinedType
+#define SCHEMA_IfcWindowType_HAS_PartitioningType
+#define SCHEMA_IfcWindowType_HAS_ParameterTakesPrecedence
+#define SCHEMA_IfcWindowType_ParameterTakesPrecedence_IS_OPTIONAL
+#define SCHEMA_IfcWindowType_HAS_UserDefinedPartitioningType
+#define SCHEMA_IfcWindowType_UserDefinedPartitioningType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcWorkCalendar
+#define SCHEMA_IfcWorkCalendar_HAS_WorkingTimes
+#define SCHEMA_IfcWorkCalendar_WorkingTimes_IS_OPTIONAL
+#define SCHEMA_IfcWorkCalendar_HAS_ExceptionTimes
+#define SCHEMA_IfcWorkCalendar_ExceptionTimes_IS_OPTIONAL
+#define SCHEMA_IfcWorkCalendar_HAS_PredefinedType
+#define SCHEMA_IfcWorkCalendar_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcWorkControl
+#define SCHEMA_IfcWorkControl_HAS_CreationDate
+#define SCHEMA_IfcWorkControl_HAS_Creators
+#define SCHEMA_IfcWorkControl_Creators_IS_OPTIONAL
+#define SCHEMA_IfcWorkControl_HAS_Purpose
+#define SCHEMA_IfcWorkControl_Purpose_IS_OPTIONAL
+#define SCHEMA_IfcWorkControl_HAS_Duration
+#define SCHEMA_IfcWorkControl_Duration_IS_OPTIONAL
+#define SCHEMA_IfcWorkControl_HAS_TotalFloat
+#define SCHEMA_IfcWorkControl_TotalFloat_IS_OPTIONAL
+#define SCHEMA_IfcWorkControl_HAS_StartTime
+#define SCHEMA_IfcWorkControl_HAS_FinishTime
+#define SCHEMA_IfcWorkControl_FinishTime_IS_OPTIONAL
+#define SCHEMA_HAS_IfcWorkPlan
+#define SCHEMA_IfcWorkPlan_HAS_PredefinedType
+#define SCHEMA_IfcWorkPlan_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcWorkSchedule
+#define SCHEMA_IfcWorkSchedule_HAS_PredefinedType
+#define SCHEMA_IfcWorkSchedule_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcWorkTime
+#define SCHEMA_IfcWorkTime_HAS_RecurrencePattern
+#define SCHEMA_IfcWorkTime_RecurrencePattern_IS_OPTIONAL
+#define SCHEMA_IfcWorkTime_HAS_StartDate
+#define SCHEMA_IfcWorkTime_StartDate_IS_OPTIONAL
+#define SCHEMA_IfcWorkTime_HAS_FinishDate
+#define SCHEMA_IfcWorkTime_FinishDate_IS_OPTIONAL
+#define SCHEMA_HAS_IfcZShapeProfileDef
+#define SCHEMA_IfcZShapeProfileDef_HAS_Depth
+#define SCHEMA_IfcZShapeProfileDef_HAS_FlangeWidth
+#define SCHEMA_IfcZShapeProfileDef_HAS_WebThickness
+#define SCHEMA_IfcZShapeProfileDef_HAS_FlangeThickness
+#define SCHEMA_IfcZShapeProfileDef_HAS_FilletRadius
+#define SCHEMA_IfcZShapeProfileDef_FilletRadius_IS_OPTIONAL
+#define SCHEMA_IfcZShapeProfileDef_HAS_EdgeRadius
+#define SCHEMA_IfcZShapeProfileDef_EdgeRadius_IS_OPTIONAL
+#define SCHEMA_HAS_IfcZone
+#define SCHEMA_IfcZone_HAS_LongName
+#define SCHEMA_IfcZone_LongName_IS_OPTIONAL
diff --git a/src/ifcparse/Ifc4x3-schema.cpp b/src/ifcparse/Ifc4x3-schema.cpp
new file mode 100644
index 0000000000..762f7c4598
--- /dev/null
+++ b/src/ifcparse/Ifc4x3-schema.cpp
@@ -0,0 +1,17108 @@
+/********************************************************************************
+ * *
+ * 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.h"
+
+using namespace IfcParse;
+
+entity* IFC4X3_IfcActionRequest_type = 0;
+entity* IFC4X3_IfcActor_type = 0;
+entity* IFC4X3_IfcActorRole_type = 0;
+entity* IFC4X3_IfcActuator_type = 0;
+entity* IFC4X3_IfcActuatorType_type = 0;
+entity* IFC4X3_IfcAddress_type = 0;
+entity* IFC4X3_IfcAdvancedBrep_type = 0;
+entity* IFC4X3_IfcAdvancedBrepWithVoids_type = 0;
+entity* IFC4X3_IfcAdvancedFace_type = 0;
+entity* IFC4X3_IfcAirTerminal_type = 0;
+entity* IFC4X3_IfcAirTerminalBox_type = 0;
+entity* IFC4X3_IfcAirTerminalBoxType_type = 0;
+entity* IFC4X3_IfcAirTerminalType_type = 0;
+entity* IFC4X3_IfcAirToAirHeatRecovery_type = 0;
+entity* IFC4X3_IfcAirToAirHeatRecoveryType_type = 0;
+entity* IFC4X3_IfcAlarm_type = 0;
+entity* IFC4X3_IfcAlarmType_type = 0;
+entity* IFC4X3_IfcAlignment_type = 0;
+entity* IFC4X3_IfcAlignmentCant_type = 0;
+entity* IFC4X3_IfcAlignmentCantSegment_type = 0;
+entity* IFC4X3_IfcAlignmentHorizontal_type = 0;
+entity* IFC4X3_IfcAlignmentHorizontalSegment_type = 0;
+entity* IFC4X3_IfcAlignmentParameterSegment_type = 0;
+entity* IFC4X3_IfcAlignmentSegment_type = 0;
+entity* IFC4X3_IfcAlignmentVertical_type = 0;
+entity* IFC4X3_IfcAlignmentVerticalSegment_type = 0;
+entity* IFC4X3_IfcAnnotation_type = 0;
+entity* IFC4X3_IfcAnnotationFillArea_type = 0;
+entity* IFC4X3_IfcApplication_type = 0;
+entity* IFC4X3_IfcAppliedValue_type = 0;
+entity* IFC4X3_IfcApproval_type = 0;
+entity* IFC4X3_IfcApprovalRelationship_type = 0;
+entity* IFC4X3_IfcArbitraryClosedProfileDef_type = 0;
+entity* IFC4X3_IfcArbitraryOpenProfileDef_type = 0;
+entity* IFC4X3_IfcArbitraryProfileDefWithVoids_type = 0;
+entity* IFC4X3_IfcAsset_type = 0;
+entity* IFC4X3_IfcAsymmetricIShapeProfileDef_type = 0;
+entity* IFC4X3_IfcAudioVisualAppliance_type = 0;
+entity* IFC4X3_IfcAudioVisualApplianceType_type = 0;
+entity* IFC4X3_IfcAxis1Placement_type = 0;
+entity* IFC4X3_IfcAxis2Placement2D_type = 0;
+entity* IFC4X3_IfcAxis2Placement3D_type = 0;
+entity* IFC4X3_IfcAxis2PlacementLinear_type = 0;
+entity* IFC4X3_IfcBSplineCurve_type = 0;
+entity* IFC4X3_IfcBSplineCurveWithKnots_type = 0;
+entity* IFC4X3_IfcBSplineSurface_type = 0;
+entity* IFC4X3_IfcBSplineSurfaceWithKnots_type = 0;
+entity* IFC4X3_IfcBeam_type = 0;
+entity* IFC4X3_IfcBeamType_type = 0;
+entity* IFC4X3_IfcBearing_type = 0;
+entity* IFC4X3_IfcBearingType_type = 0;
+entity* IFC4X3_IfcBlobTexture_type = 0;
+entity* IFC4X3_IfcBlock_type = 0;
+entity* IFC4X3_IfcBoiler_type = 0;
+entity* IFC4X3_IfcBoilerType_type = 0;
+entity* IFC4X3_IfcBooleanClippingResult_type = 0;
+entity* IFC4X3_IfcBooleanResult_type = 0;
+entity* IFC4X3_IfcBorehole_type = 0;
+entity* IFC4X3_IfcBoundaryCondition_type = 0;
+entity* IFC4X3_IfcBoundaryCurve_type = 0;
+entity* IFC4X3_IfcBoundaryEdgeCondition_type = 0;
+entity* IFC4X3_IfcBoundaryFaceCondition_type = 0;
+entity* IFC4X3_IfcBoundaryNodeCondition_type = 0;
+entity* IFC4X3_IfcBoundaryNodeConditionWarping_type = 0;
+entity* IFC4X3_IfcBoundedCurve_type = 0;
+entity* IFC4X3_IfcBoundedSurface_type = 0;
+entity* IFC4X3_IfcBoundingBox_type = 0;
+entity* IFC4X3_IfcBoxedHalfSpace_type = 0;
+entity* IFC4X3_IfcBridge_type = 0;
+entity* IFC4X3_IfcBridgePart_type = 0;
+entity* IFC4X3_IfcBuilding_type = 0;
+entity* IFC4X3_IfcBuildingElementPart_type = 0;
+entity* IFC4X3_IfcBuildingElementPartType_type = 0;
+entity* IFC4X3_IfcBuildingElementProxy_type = 0;
+entity* IFC4X3_IfcBuildingElementProxyType_type = 0;
+entity* IFC4X3_IfcBuildingStorey_type = 0;
+entity* IFC4X3_IfcBuildingSystem_type = 0;
+entity* IFC4X3_IfcBuiltElement_type = 0;
+entity* IFC4X3_IfcBuiltElementType_type = 0;
+entity* IFC4X3_IfcBuiltSystem_type = 0;
+entity* IFC4X3_IfcBurner_type = 0;
+entity* IFC4X3_IfcBurnerType_type = 0;
+entity* IFC4X3_IfcCShapeProfileDef_type = 0;
+entity* IFC4X3_IfcCableCarrierFitting_type = 0;
+entity* IFC4X3_IfcCableCarrierFittingType_type = 0;
+entity* IFC4X3_IfcCableCarrierSegment_type = 0;
+entity* IFC4X3_IfcCableCarrierSegmentType_type = 0;
+entity* IFC4X3_IfcCableFitting_type = 0;
+entity* IFC4X3_IfcCableFittingType_type = 0;
+entity* IFC4X3_IfcCableSegment_type = 0;
+entity* IFC4X3_IfcCableSegmentType_type = 0;
+entity* IFC4X3_IfcCaissonFoundation_type = 0;
+entity* IFC4X3_IfcCaissonFoundationType_type = 0;
+entity* IFC4X3_IfcCartesianPoint_type = 0;
+entity* IFC4X3_IfcCartesianPointList_type = 0;
+entity* IFC4X3_IfcCartesianPointList2D_type = 0;
+entity* IFC4X3_IfcCartesianPointList3D_type = 0;
+entity* IFC4X3_IfcCartesianTransformationOperator_type = 0;
+entity* IFC4X3_IfcCartesianTransformationOperator2D_type = 0;
+entity* IFC4X3_IfcCartesianTransformationOperator2DnonUniform_type = 0;
+entity* IFC4X3_IfcCartesianTransformationOperator3D_type = 0;
+entity* IFC4X3_IfcCartesianTransformationOperator3DnonUniform_type = 0;
+entity* IFC4X3_IfcCenterLineProfileDef_type = 0;
+entity* IFC4X3_IfcChiller_type = 0;
+entity* IFC4X3_IfcChillerType_type = 0;
+entity* IFC4X3_IfcChimney_type = 0;
+entity* IFC4X3_IfcChimneyType_type = 0;
+entity* IFC4X3_IfcCircle_type = 0;
+entity* IFC4X3_IfcCircleHollowProfileDef_type = 0;
+entity* IFC4X3_IfcCircleProfileDef_type = 0;
+entity* IFC4X3_IfcCivilElement_type = 0;
+entity* IFC4X3_IfcCivilElementType_type = 0;
+entity* IFC4X3_IfcClassification_type = 0;
+entity* IFC4X3_IfcClassificationReference_type = 0;
+entity* IFC4X3_IfcClosedShell_type = 0;
+entity* IFC4X3_IfcClothoid_type = 0;
+entity* IFC4X3_IfcCoil_type = 0;
+entity* IFC4X3_IfcCoilType_type = 0;
+entity* IFC4X3_IfcColourRgb_type = 0;
+entity* IFC4X3_IfcColourRgbList_type = 0;
+entity* IFC4X3_IfcColourSpecification_type = 0;
+entity* IFC4X3_IfcColumn_type = 0;
+entity* IFC4X3_IfcColumnType_type = 0;
+entity* IFC4X3_IfcCommunicationsAppliance_type = 0;
+entity* IFC4X3_IfcCommunicationsApplianceType_type = 0;
+entity* IFC4X3_IfcComplexProperty_type = 0;
+entity* IFC4X3_IfcComplexPropertyTemplate_type = 0;
+entity* IFC4X3_IfcCompositeCurve_type = 0;
+entity* IFC4X3_IfcCompositeCurveOnSurface_type = 0;
+entity* IFC4X3_IfcCompositeCurveSegment_type = 0;
+entity* IFC4X3_IfcCompositeProfileDef_type = 0;
+entity* IFC4X3_IfcCompressor_type = 0;
+entity* IFC4X3_IfcCompressorType_type = 0;
+entity* IFC4X3_IfcCondenser_type = 0;
+entity* IFC4X3_IfcCondenserType_type = 0;
+entity* IFC4X3_IfcConic_type = 0;
+entity* IFC4X3_IfcConnectedFaceSet_type = 0;
+entity* IFC4X3_IfcConnectionCurveGeometry_type = 0;
+entity* IFC4X3_IfcConnectionGeometry_type = 0;
+entity* IFC4X3_IfcConnectionPointEccentricity_type = 0;
+entity* IFC4X3_IfcConnectionPointGeometry_type = 0;
+entity* IFC4X3_IfcConnectionSurfaceGeometry_type = 0;
+entity* IFC4X3_IfcConnectionVolumeGeometry_type = 0;
+entity* IFC4X3_IfcConstraint_type = 0;
+entity* IFC4X3_IfcConstructionEquipmentResource_type = 0;
+entity* IFC4X3_IfcConstructionEquipmentResourceType_type = 0;
+entity* IFC4X3_IfcConstructionMaterialResource_type = 0;
+entity* IFC4X3_IfcConstructionMaterialResourceType_type = 0;
+entity* IFC4X3_IfcConstructionProductResource_type = 0;
+entity* IFC4X3_IfcConstructionProductResourceType_type = 0;
+entity* IFC4X3_IfcConstructionResource_type = 0;
+entity* IFC4X3_IfcConstructionResourceType_type = 0;
+entity* IFC4X3_IfcContext_type = 0;
+entity* IFC4X3_IfcContextDependentUnit_type = 0;
+entity* IFC4X3_IfcControl_type = 0;
+entity* IFC4X3_IfcController_type = 0;
+entity* IFC4X3_IfcControllerType_type = 0;
+entity* IFC4X3_IfcConversionBasedUnit_type = 0;
+entity* IFC4X3_IfcConversionBasedUnitWithOffset_type = 0;
+entity* IFC4X3_IfcConveyorSegment_type = 0;
+entity* IFC4X3_IfcConveyorSegmentType_type = 0;
+entity* IFC4X3_IfcCooledBeam_type = 0;
+entity* IFC4X3_IfcCooledBeamType_type = 0;
+entity* IFC4X3_IfcCoolingTower_type = 0;
+entity* IFC4X3_IfcCoolingTowerType_type = 0;
+entity* IFC4X3_IfcCoordinateOperation_type = 0;
+entity* IFC4X3_IfcCoordinateReferenceSystem_type = 0;
+entity* IFC4X3_IfcCosineSpiral_type = 0;
+entity* IFC4X3_IfcCostItem_type = 0;
+entity* IFC4X3_IfcCostSchedule_type = 0;
+entity* IFC4X3_IfcCostValue_type = 0;
+entity* IFC4X3_IfcCourse_type = 0;
+entity* IFC4X3_IfcCourseType_type = 0;
+entity* IFC4X3_IfcCovering_type = 0;
+entity* IFC4X3_IfcCoveringType_type = 0;
+entity* IFC4X3_IfcCrewResource_type = 0;
+entity* IFC4X3_IfcCrewResourceType_type = 0;
+entity* IFC4X3_IfcCsgPrimitive3D_type = 0;
+entity* IFC4X3_IfcCsgSolid_type = 0;
+entity* IFC4X3_IfcCurrencyRelationship_type = 0;
+entity* IFC4X3_IfcCurtainWall_type = 0;
+entity* IFC4X3_IfcCurtainWallType_type = 0;
+entity* IFC4X3_IfcCurve_type = 0;
+entity* IFC4X3_IfcCurveBoundedPlane_type = 0;
+entity* IFC4X3_IfcCurveBoundedSurface_type = 0;
+entity* IFC4X3_IfcCurveSegment_type = 0;
+entity* IFC4X3_IfcCurveStyle_type = 0;
+entity* IFC4X3_IfcCurveStyleFont_type = 0;
+entity* IFC4X3_IfcCurveStyleFontAndScaling_type = 0;
+entity* IFC4X3_IfcCurveStyleFontPattern_type = 0;
+entity* IFC4X3_IfcCylindricalSurface_type = 0;
+entity* IFC4X3_IfcDamper_type = 0;
+entity* IFC4X3_IfcDamperType_type = 0;
+entity* IFC4X3_IfcDeepFoundation_type = 0;
+entity* IFC4X3_IfcDeepFoundationType_type = 0;
+entity* IFC4X3_IfcDerivedProfileDef_type = 0;
+entity* IFC4X3_IfcDerivedUnit_type = 0;
+entity* IFC4X3_IfcDerivedUnitElement_type = 0;
+entity* IFC4X3_IfcDimensionalExponents_type = 0;
+entity* IFC4X3_IfcDirection_type = 0;
+entity* IFC4X3_IfcDirectrixCurveSweptAreaSolid_type = 0;
+entity* IFC4X3_IfcDirectrixDerivedReferenceSweptAreaSolid_type = 0;
+entity* IFC4X3_IfcDiscreteAccessory_type = 0;
+entity* IFC4X3_IfcDiscreteAccessoryType_type = 0;
+entity* IFC4X3_IfcDistributionBoard_type = 0;
+entity* IFC4X3_IfcDistributionBoardType_type = 0;
+entity* IFC4X3_IfcDistributionChamberElement_type = 0;
+entity* IFC4X3_IfcDistributionChamberElementType_type = 0;
+entity* IFC4X3_IfcDistributionCircuit_type = 0;
+entity* IFC4X3_IfcDistributionControlElement_type = 0;
+entity* IFC4X3_IfcDistributionControlElementType_type = 0;
+entity* IFC4X3_IfcDistributionElement_type = 0;
+entity* IFC4X3_IfcDistributionElementType_type = 0;
+entity* IFC4X3_IfcDistributionFlowElement_type = 0;
+entity* IFC4X3_IfcDistributionFlowElementType_type = 0;
+entity* IFC4X3_IfcDistributionPort_type = 0;
+entity* IFC4X3_IfcDistributionSystem_type = 0;
+entity* IFC4X3_IfcDocumentInformation_type = 0;
+entity* IFC4X3_IfcDocumentInformationRelationship_type = 0;
+entity* IFC4X3_IfcDocumentReference_type = 0;
+entity* IFC4X3_IfcDoor_type = 0;
+entity* IFC4X3_IfcDoorLiningProperties_type = 0;
+entity* IFC4X3_IfcDoorPanelProperties_type = 0;
+entity* IFC4X3_IfcDoorType_type = 0;
+entity* IFC4X3_IfcDraughtingPreDefinedColour_type = 0;
+entity* IFC4X3_IfcDraughtingPreDefinedCurveFont_type = 0;
+entity* IFC4X3_IfcDuctFitting_type = 0;
+entity* IFC4X3_IfcDuctFittingType_type = 0;
+entity* IFC4X3_IfcDuctSegment_type = 0;
+entity* IFC4X3_IfcDuctSegmentType_type = 0;
+entity* IFC4X3_IfcDuctSilencer_type = 0;
+entity* IFC4X3_IfcDuctSilencerType_type = 0;
+entity* IFC4X3_IfcEarthworksCut_type = 0;
+entity* IFC4X3_IfcEarthworksElement_type = 0;
+entity* IFC4X3_IfcEarthworksFill_type = 0;
+entity* IFC4X3_IfcEdge_type = 0;
+entity* IFC4X3_IfcEdgeCurve_type = 0;
+entity* IFC4X3_IfcEdgeLoop_type = 0;
+entity* IFC4X3_IfcElectricAppliance_type = 0;
+entity* IFC4X3_IfcElectricApplianceType_type = 0;
+entity* IFC4X3_IfcElectricDistributionBoard_type = 0;
+entity* IFC4X3_IfcElectricDistributionBoardType_type = 0;
+entity* IFC4X3_IfcElectricFlowStorageDevice_type = 0;
+entity* IFC4X3_IfcElectricFlowStorageDeviceType_type = 0;
+entity* IFC4X3_IfcElectricFlowTreatmentDevice_type = 0;
+entity* IFC4X3_IfcElectricFlowTreatmentDeviceType_type = 0;
+entity* IFC4X3_IfcElectricGenerator_type = 0;
+entity* IFC4X3_IfcElectricGeneratorType_type = 0;
+entity* IFC4X3_IfcElectricMotor_type = 0;
+entity* IFC4X3_IfcElectricMotorType_type = 0;
+entity* IFC4X3_IfcElectricTimeControl_type = 0;
+entity* IFC4X3_IfcElectricTimeControlType_type = 0;
+entity* IFC4X3_IfcElement_type = 0;
+entity* IFC4X3_IfcElementAssembly_type = 0;
+entity* IFC4X3_IfcElementAssemblyType_type = 0;
+entity* IFC4X3_IfcElementComponent_type = 0;
+entity* IFC4X3_IfcElementComponentType_type = 0;
+entity* IFC4X3_IfcElementQuantity_type = 0;
+entity* IFC4X3_IfcElementType_type = 0;
+entity* IFC4X3_IfcElementarySurface_type = 0;
+entity* IFC4X3_IfcEllipse_type = 0;
+entity* IFC4X3_IfcEllipseProfileDef_type = 0;
+entity* IFC4X3_IfcEnergyConversionDevice_type = 0;
+entity* IFC4X3_IfcEnergyConversionDeviceType_type = 0;
+entity* IFC4X3_IfcEngine_type = 0;
+entity* IFC4X3_IfcEngineType_type = 0;
+entity* IFC4X3_IfcEvaporativeCooler_type = 0;
+entity* IFC4X3_IfcEvaporativeCoolerType_type = 0;
+entity* IFC4X3_IfcEvaporator_type = 0;
+entity* IFC4X3_IfcEvaporatorType_type = 0;
+entity* IFC4X3_IfcEvent_type = 0;
+entity* IFC4X3_IfcEventTime_type = 0;
+entity* IFC4X3_IfcEventType_type = 0;
+entity* IFC4X3_IfcExtendedProperties_type = 0;
+entity* IFC4X3_IfcExternalInformation_type = 0;
+entity* IFC4X3_IfcExternalReference_type = 0;
+entity* IFC4X3_IfcExternalReferenceRelationship_type = 0;
+entity* IFC4X3_IfcExternalSpatialElement_type = 0;
+entity* IFC4X3_IfcExternalSpatialStructureElement_type = 0;
+entity* IFC4X3_IfcExternallyDefinedHatchStyle_type = 0;
+entity* IFC4X3_IfcExternallyDefinedSurfaceStyle_type = 0;
+entity* IFC4X3_IfcExternallyDefinedTextFont_type = 0;
+entity* IFC4X3_IfcExtrudedAreaSolid_type = 0;
+entity* IFC4X3_IfcExtrudedAreaSolidTapered_type = 0;
+entity* IFC4X3_IfcFace_type = 0;
+entity* IFC4X3_IfcFaceBasedSurfaceModel_type = 0;
+entity* IFC4X3_IfcFaceBound_type = 0;
+entity* IFC4X3_IfcFaceOuterBound_type = 0;
+entity* IFC4X3_IfcFaceSurface_type = 0;
+entity* IFC4X3_IfcFacetedBrep_type = 0;
+entity* IFC4X3_IfcFacetedBrepWithVoids_type = 0;
+entity* IFC4X3_IfcFacility_type = 0;
+entity* IFC4X3_IfcFacilityPart_type = 0;
+entity* IFC4X3_IfcFacilityPartCommon_type = 0;
+entity* IFC4X3_IfcFailureConnectionCondition_type = 0;
+entity* IFC4X3_IfcFan_type = 0;
+entity* IFC4X3_IfcFanType_type = 0;
+entity* IFC4X3_IfcFastener_type = 0;
+entity* IFC4X3_IfcFastenerType_type = 0;
+entity* IFC4X3_IfcFeatureElement_type = 0;
+entity* IFC4X3_IfcFeatureElementAddition_type = 0;
+entity* IFC4X3_IfcFeatureElementSubtraction_type = 0;
+entity* IFC4X3_IfcFillAreaStyle_type = 0;
+entity* IFC4X3_IfcFillAreaStyleHatching_type = 0;
+entity* IFC4X3_IfcFillAreaStyleTiles_type = 0;
+entity* IFC4X3_IfcFilter_type = 0;
+entity* IFC4X3_IfcFilterType_type = 0;
+entity* IFC4X3_IfcFireSuppressionTerminal_type = 0;
+entity* IFC4X3_IfcFireSuppressionTerminalType_type = 0;
+entity* IFC4X3_IfcFixedReferenceSweptAreaSolid_type = 0;
+entity* IFC4X3_IfcFlowController_type = 0;
+entity* IFC4X3_IfcFlowControllerType_type = 0;
+entity* IFC4X3_IfcFlowFitting_type = 0;
+entity* IFC4X3_IfcFlowFittingType_type = 0;
+entity* IFC4X3_IfcFlowInstrument_type = 0;
+entity* IFC4X3_IfcFlowInstrumentType_type = 0;
+entity* IFC4X3_IfcFlowMeter_type = 0;
+entity* IFC4X3_IfcFlowMeterType_type = 0;
+entity* IFC4X3_IfcFlowMovingDevice_type = 0;
+entity* IFC4X3_IfcFlowMovingDeviceType_type = 0;
+entity* IFC4X3_IfcFlowSegment_type = 0;
+entity* IFC4X3_IfcFlowSegmentType_type = 0;
+entity* IFC4X3_IfcFlowStorageDevice_type = 0;
+entity* IFC4X3_IfcFlowStorageDeviceType_type = 0;
+entity* IFC4X3_IfcFlowTerminal_type = 0;
+entity* IFC4X3_IfcFlowTerminalType_type = 0;
+entity* IFC4X3_IfcFlowTreatmentDevice_type = 0;
+entity* IFC4X3_IfcFlowTreatmentDeviceType_type = 0;
+entity* IFC4X3_IfcFooting_type = 0;
+entity* IFC4X3_IfcFootingType_type = 0;
+entity* IFC4X3_IfcFurnishingElement_type = 0;
+entity* IFC4X3_IfcFurnishingElementType_type = 0;
+entity* IFC4X3_IfcFurniture_type = 0;
+entity* IFC4X3_IfcFurnitureType_type = 0;
+entity* IFC4X3_IfcGeographicElement_type = 0;
+entity* IFC4X3_IfcGeographicElementType_type = 0;
+entity* IFC4X3_IfcGeometricCurveSet_type = 0;
+entity* IFC4X3_IfcGeometricRepresentationContext_type = 0;
+entity* IFC4X3_IfcGeometricRepresentationItem_type = 0;
+entity* IFC4X3_IfcGeometricRepresentationSubContext_type = 0;
+entity* IFC4X3_IfcGeometricSet_type = 0;
+entity* IFC4X3_IfcGeomodel_type = 0;
+entity* IFC4X3_IfcGeoslice_type = 0;
+entity* IFC4X3_IfcGeotechnicalAssembly_type = 0;
+entity* IFC4X3_IfcGeotechnicalElement_type = 0;
+entity* IFC4X3_IfcGeotechnicalStratum_type = 0;
+entity* IFC4X3_IfcGradientCurve_type = 0;
+entity* IFC4X3_IfcGrid_type = 0;
+entity* IFC4X3_IfcGridAxis_type = 0;
+entity* IFC4X3_IfcGridPlacement_type = 0;
+entity* IFC4X3_IfcGroup_type = 0;
+entity* IFC4X3_IfcHalfSpaceSolid_type = 0;
+entity* IFC4X3_IfcHeatExchanger_type = 0;
+entity* IFC4X3_IfcHeatExchangerType_type = 0;
+entity* IFC4X3_IfcHumidifier_type = 0;
+entity* IFC4X3_IfcHumidifierType_type = 0;
+entity* IFC4X3_IfcIShapeProfileDef_type = 0;
+entity* IFC4X3_IfcImageTexture_type = 0;
+entity* IFC4X3_IfcImpactProtectionDevice_type = 0;
+entity* IFC4X3_IfcImpactProtectionDeviceType_type = 0;
+entity* IFC4X3_IfcIndexedColourMap_type = 0;
+entity* IFC4X3_IfcIndexedPolyCurve_type = 0;
+entity* IFC4X3_IfcIndexedPolygonalFace_type = 0;
+entity* IFC4X3_IfcIndexedPolygonalFaceWithVoids_type = 0;
+entity* IFC4X3_IfcIndexedPolygonalTextureMap_type = 0;
+entity* IFC4X3_IfcIndexedTextureMap_type = 0;
+entity* IFC4X3_IfcIndexedTriangleTextureMap_type = 0;
+entity* IFC4X3_IfcInterceptor_type = 0;
+entity* IFC4X3_IfcInterceptorType_type = 0;
+entity* IFC4X3_IfcIntersectionCurve_type = 0;
+entity* IFC4X3_IfcInventory_type = 0;
+entity* IFC4X3_IfcIrregularTimeSeries_type = 0;
+entity* IFC4X3_IfcIrregularTimeSeriesValue_type = 0;
+entity* IFC4X3_IfcJunctionBox_type = 0;
+entity* IFC4X3_IfcJunctionBoxType_type = 0;
+entity* IFC4X3_IfcKerb_type = 0;
+entity* IFC4X3_IfcKerbType_type = 0;
+entity* IFC4X3_IfcLShapeProfileDef_type = 0;
+entity* IFC4X3_IfcLaborResource_type = 0;
+entity* IFC4X3_IfcLaborResourceType_type = 0;
+entity* IFC4X3_IfcLagTime_type = 0;
+entity* IFC4X3_IfcLamp_type = 0;
+entity* IFC4X3_IfcLampType_type = 0;
+entity* IFC4X3_IfcLibraryInformation_type = 0;
+entity* IFC4X3_IfcLibraryReference_type = 0;
+entity* IFC4X3_IfcLightDistributionData_type = 0;
+entity* IFC4X3_IfcLightFixture_type = 0;
+entity* IFC4X3_IfcLightFixtureType_type = 0;
+entity* IFC4X3_IfcLightIntensityDistribution_type = 0;
+entity* IFC4X3_IfcLightSource_type = 0;
+entity* IFC4X3_IfcLightSourceAmbient_type = 0;
+entity* IFC4X3_IfcLightSourceDirectional_type = 0;
+entity* IFC4X3_IfcLightSourceGoniometric_type = 0;
+entity* IFC4X3_IfcLightSourcePositional_type = 0;
+entity* IFC4X3_IfcLightSourceSpot_type = 0;
+entity* IFC4X3_IfcLine_type = 0;
+entity* IFC4X3_IfcLinearElement_type = 0;
+entity* IFC4X3_IfcLinearPlacement_type = 0;
+entity* IFC4X3_IfcLinearPositioningElement_type = 0;
+entity* IFC4X3_IfcLiquidTerminal_type = 0;
+entity* IFC4X3_IfcLiquidTerminalType_type = 0;
+entity* IFC4X3_IfcLocalPlacement_type = 0;
+entity* IFC4X3_IfcLoop_type = 0;
+entity* IFC4X3_IfcManifoldSolidBrep_type = 0;
+entity* IFC4X3_IfcMapConversion_type = 0;
+entity* IFC4X3_IfcMappedItem_type = 0;
+entity* IFC4X3_IfcMarineFacility_type = 0;
+entity* IFC4X3_IfcMarinePart_type = 0;
+entity* IFC4X3_IfcMaterial_type = 0;
+entity* IFC4X3_IfcMaterialClassificationRelationship_type = 0;
+entity* IFC4X3_IfcMaterialConstituent_type = 0;
+entity* IFC4X3_IfcMaterialConstituentSet_type = 0;
+entity* IFC4X3_IfcMaterialDefinition_type = 0;
+entity* IFC4X3_IfcMaterialDefinitionRepresentation_type = 0;
+entity* IFC4X3_IfcMaterialLayer_type = 0;
+entity* IFC4X3_IfcMaterialLayerSet_type = 0;
+entity* IFC4X3_IfcMaterialLayerSetUsage_type = 0;
+entity* IFC4X3_IfcMaterialLayerWithOffsets_type = 0;
+entity* IFC4X3_IfcMaterialList_type = 0;
+entity* IFC4X3_IfcMaterialProfile_type = 0;
+entity* IFC4X3_IfcMaterialProfileSet_type = 0;
+entity* IFC4X3_IfcMaterialProfileSetUsage_type = 0;
+entity* IFC4X3_IfcMaterialProfileSetUsageTapering_type = 0;
+entity* IFC4X3_IfcMaterialProfileWithOffsets_type = 0;
+entity* IFC4X3_IfcMaterialProperties_type = 0;
+entity* IFC4X3_IfcMaterialRelationship_type = 0;
+entity* IFC4X3_IfcMaterialUsageDefinition_type = 0;
+entity* IFC4X3_IfcMeasureWithUnit_type = 0;
+entity* IFC4X3_IfcMechanicalFastener_type = 0;
+entity* IFC4X3_IfcMechanicalFastenerType_type = 0;
+entity* IFC4X3_IfcMedicalDevice_type = 0;
+entity* IFC4X3_IfcMedicalDeviceType_type = 0;
+entity* IFC4X3_IfcMember_type = 0;
+entity* IFC4X3_IfcMemberType_type = 0;
+entity* IFC4X3_IfcMetric_type = 0;
+entity* IFC4X3_IfcMirroredProfileDef_type = 0;
+entity* IFC4X3_IfcMobileTelecommunicationsAppliance_type = 0;
+entity* IFC4X3_IfcMobileTelecommunicationsApplianceType_type = 0;
+entity* IFC4X3_IfcMonetaryUnit_type = 0;
+entity* IFC4X3_IfcMooringDevice_type = 0;
+entity* IFC4X3_IfcMooringDeviceType_type = 0;
+entity* IFC4X3_IfcMotorConnection_type = 0;
+entity* IFC4X3_IfcMotorConnectionType_type = 0;
+entity* IFC4X3_IfcNamedUnit_type = 0;
+entity* IFC4X3_IfcNavigationElement_type = 0;
+entity* IFC4X3_IfcNavigationElementType_type = 0;
+entity* IFC4X3_IfcObject_type = 0;
+entity* IFC4X3_IfcObjectDefinition_type = 0;
+entity* IFC4X3_IfcObjectPlacement_type = 0;
+entity* IFC4X3_IfcObjective_type = 0;
+entity* IFC4X3_IfcOccupant_type = 0;
+entity* IFC4X3_IfcOffsetCurve_type = 0;
+entity* IFC4X3_IfcOffsetCurve2D_type = 0;
+entity* IFC4X3_IfcOffsetCurve3D_type = 0;
+entity* IFC4X3_IfcOffsetCurveByDistances_type = 0;
+entity* IFC4X3_IfcOpenCrossProfileDef_type = 0;
+entity* IFC4X3_IfcOpenShell_type = 0;
+entity* IFC4X3_IfcOpeningElement_type = 0;
+entity* IFC4X3_IfcOrganization_type = 0;
+entity* IFC4X3_IfcOrganizationRelationship_type = 0;
+entity* IFC4X3_IfcOrientedEdge_type = 0;
+entity* IFC4X3_IfcOuterBoundaryCurve_type = 0;
+entity* IFC4X3_IfcOutlet_type = 0;
+entity* IFC4X3_IfcOutletType_type = 0;
+entity* IFC4X3_IfcOwnerHistory_type = 0;
+entity* IFC4X3_IfcParameterizedProfileDef_type = 0;
+entity* IFC4X3_IfcPath_type = 0;
+entity* IFC4X3_IfcPavement_type = 0;
+entity* IFC4X3_IfcPavementType_type = 0;
+entity* IFC4X3_IfcPcurve_type = 0;
+entity* IFC4X3_IfcPerformanceHistory_type = 0;
+entity* IFC4X3_IfcPermeableCoveringProperties_type = 0;
+entity* IFC4X3_IfcPermit_type = 0;
+entity* IFC4X3_IfcPerson_type = 0;
+entity* IFC4X3_IfcPersonAndOrganization_type = 0;
+entity* IFC4X3_IfcPhysicalComplexQuantity_type = 0;
+entity* IFC4X3_IfcPhysicalQuantity_type = 0;
+entity* IFC4X3_IfcPhysicalSimpleQuantity_type = 0;
+entity* IFC4X3_IfcPile_type = 0;
+entity* IFC4X3_IfcPileType_type = 0;
+entity* IFC4X3_IfcPipeFitting_type = 0;
+entity* IFC4X3_IfcPipeFittingType_type = 0;
+entity* IFC4X3_IfcPipeSegment_type = 0;
+entity* IFC4X3_IfcPipeSegmentType_type = 0;
+entity* IFC4X3_IfcPixelTexture_type = 0;
+entity* IFC4X3_IfcPlacement_type = 0;
+entity* IFC4X3_IfcPlanarBox_type = 0;
+entity* IFC4X3_IfcPlanarExtent_type = 0;
+entity* IFC4X3_IfcPlane_type = 0;
+entity* IFC4X3_IfcPlate_type = 0;
+entity* IFC4X3_IfcPlateType_type = 0;
+entity* IFC4X3_IfcPoint_type = 0;
+entity* IFC4X3_IfcPointByDistanceExpression_type = 0;
+entity* IFC4X3_IfcPointOnCurve_type = 0;
+entity* IFC4X3_IfcPointOnSurface_type = 0;
+entity* IFC4X3_IfcPolyLoop_type = 0;
+entity* IFC4X3_IfcPolygonalBoundedHalfSpace_type = 0;
+entity* IFC4X3_IfcPolygonalFaceSet_type = 0;
+entity* IFC4X3_IfcPolyline_type = 0;
+entity* IFC4X3_IfcPolynomialCurve_type = 0;
+entity* IFC4X3_IfcPort_type = 0;
+entity* IFC4X3_IfcPositioningElement_type = 0;
+entity* IFC4X3_IfcPostalAddress_type = 0;
+entity* IFC4X3_IfcPreDefinedColour_type = 0;
+entity* IFC4X3_IfcPreDefinedCurveFont_type = 0;
+entity* IFC4X3_IfcPreDefinedItem_type = 0;
+entity* IFC4X3_IfcPreDefinedProperties_type = 0;
+entity* IFC4X3_IfcPreDefinedPropertySet_type = 0;
+entity* IFC4X3_IfcPreDefinedTextFont_type = 0;
+entity* IFC4X3_IfcPresentationItem_type = 0;
+entity* IFC4X3_IfcPresentationLayerAssignment_type = 0;
+entity* IFC4X3_IfcPresentationLayerWithStyle_type = 0;
+entity* IFC4X3_IfcPresentationStyle_type = 0;
+entity* IFC4X3_IfcProcedure_type = 0;
+entity* IFC4X3_IfcProcedureType_type = 0;
+entity* IFC4X3_IfcProcess_type = 0;
+entity* IFC4X3_IfcProduct_type = 0;
+entity* IFC4X3_IfcProductDefinitionShape_type = 0;
+entity* IFC4X3_IfcProductRepresentation_type = 0;
+entity* IFC4X3_IfcProfileDef_type = 0;
+entity* IFC4X3_IfcProfileProperties_type = 0;
+entity* IFC4X3_IfcProject_type = 0;
+entity* IFC4X3_IfcProjectLibrary_type = 0;
+entity* IFC4X3_IfcProjectOrder_type = 0;
+entity* IFC4X3_IfcProjectedCRS_type = 0;
+entity* IFC4X3_IfcProjectionElement_type = 0;
+entity* IFC4X3_IfcProperty_type = 0;
+entity* IFC4X3_IfcPropertyAbstraction_type = 0;
+entity* IFC4X3_IfcPropertyBoundedValue_type = 0;
+entity* IFC4X3_IfcPropertyDefinition_type = 0;
+entity* IFC4X3_IfcPropertyDependencyRelationship_type = 0;
+entity* IFC4X3_IfcPropertyEnumeratedValue_type = 0;
+entity* IFC4X3_IfcPropertyEnumeration_type = 0;
+entity* IFC4X3_IfcPropertyListValue_type = 0;
+entity* IFC4X3_IfcPropertyReferenceValue_type = 0;
+entity* IFC4X3_IfcPropertySet_type = 0;
+entity* IFC4X3_IfcPropertySetDefinition_type = 0;
+entity* IFC4X3_IfcPropertySetTemplate_type = 0;
+entity* IFC4X3_IfcPropertySingleValue_type = 0;
+entity* IFC4X3_IfcPropertyTableValue_type = 0;
+entity* IFC4X3_IfcPropertyTemplate_type = 0;
+entity* IFC4X3_IfcPropertyTemplateDefinition_type = 0;
+entity* IFC4X3_IfcProtectiveDevice_type = 0;
+entity* IFC4X3_IfcProtectiveDeviceTrippingUnit_type = 0;
+entity* IFC4X3_IfcProtectiveDeviceTrippingUnitType_type = 0;
+entity* IFC4X3_IfcProtectiveDeviceType_type = 0;
+entity* IFC4X3_IfcPump_type = 0;
+entity* IFC4X3_IfcPumpType_type = 0;
+entity* IFC4X3_IfcQuantityArea_type = 0;
+entity* IFC4X3_IfcQuantityCount_type = 0;
+entity* IFC4X3_IfcQuantityLength_type = 0;
+entity* IFC4X3_IfcQuantityNumber_type = 0;
+entity* IFC4X3_IfcQuantitySet_type = 0;
+entity* IFC4X3_IfcQuantityTime_type = 0;
+entity* IFC4X3_IfcQuantityVolume_type = 0;
+entity* IFC4X3_IfcQuantityWeight_type = 0;
+entity* IFC4X3_IfcRail_type = 0;
+entity* IFC4X3_IfcRailType_type = 0;
+entity* IFC4X3_IfcRailing_type = 0;
+entity* IFC4X3_IfcRailingType_type = 0;
+entity* IFC4X3_IfcRailway_type = 0;
+entity* IFC4X3_IfcRailwayPart_type = 0;
+entity* IFC4X3_IfcRamp_type = 0;
+entity* IFC4X3_IfcRampFlight_type = 0;
+entity* IFC4X3_IfcRampFlightType_type = 0;
+entity* IFC4X3_IfcRampType_type = 0;
+entity* IFC4X3_IfcRationalBSplineCurveWithKnots_type = 0;
+entity* IFC4X3_IfcRationalBSplineSurfaceWithKnots_type = 0;
+entity* IFC4X3_IfcRectangleHollowProfileDef_type = 0;
+entity* IFC4X3_IfcRectangleProfileDef_type = 0;
+entity* IFC4X3_IfcRectangularPyramid_type = 0;
+entity* IFC4X3_IfcRectangularTrimmedSurface_type = 0;
+entity* IFC4X3_IfcRecurrencePattern_type = 0;
+entity* IFC4X3_IfcReference_type = 0;
+entity* IFC4X3_IfcReferent_type = 0;
+entity* IFC4X3_IfcRegularTimeSeries_type = 0;
+entity* IFC4X3_IfcReinforcedSoil_type = 0;
+entity* IFC4X3_IfcReinforcementBarProperties_type = 0;
+entity* IFC4X3_IfcReinforcementDefinitionProperties_type = 0;
+entity* IFC4X3_IfcReinforcingBar_type = 0;
+entity* IFC4X3_IfcReinforcingBarType_type = 0;
+entity* IFC4X3_IfcReinforcingElement_type = 0;
+entity* IFC4X3_IfcReinforcingElementType_type = 0;
+entity* IFC4X3_IfcReinforcingMesh_type = 0;
+entity* IFC4X3_IfcReinforcingMeshType_type = 0;
+entity* IFC4X3_IfcRelAdheresToElement_type = 0;
+entity* IFC4X3_IfcRelAggregates_type = 0;
+entity* IFC4X3_IfcRelAssigns_type = 0;
+entity* IFC4X3_IfcRelAssignsToActor_type = 0;
+entity* IFC4X3_IfcRelAssignsToControl_type = 0;
+entity* IFC4X3_IfcRelAssignsToGroup_type = 0;
+entity* IFC4X3_IfcRelAssignsToGroupByFactor_type = 0;
+entity* IFC4X3_IfcRelAssignsToProcess_type = 0;
+entity* IFC4X3_IfcRelAssignsToProduct_type = 0;
+entity* IFC4X3_IfcRelAssignsToResource_type = 0;
+entity* IFC4X3_IfcRelAssociates_type = 0;
+entity* IFC4X3_IfcRelAssociatesApproval_type = 0;
+entity* IFC4X3_IfcRelAssociatesClassification_type = 0;
+entity* IFC4X3_IfcRelAssociatesConstraint_type = 0;
+entity* IFC4X3_IfcRelAssociatesDocument_type = 0;
+entity* IFC4X3_IfcRelAssociatesLibrary_type = 0;
+entity* IFC4X3_IfcRelAssociatesMaterial_type = 0;
+entity* IFC4X3_IfcRelAssociatesProfileDef_type = 0;
+entity* IFC4X3_IfcRelConnects_type = 0;
+entity* IFC4X3_IfcRelConnectsElements_type = 0;
+entity* IFC4X3_IfcRelConnectsPathElements_type = 0;
+entity* IFC4X3_IfcRelConnectsPortToElement_type = 0;
+entity* IFC4X3_IfcRelConnectsPorts_type = 0;
+entity* IFC4X3_IfcRelConnectsStructuralActivity_type = 0;
+entity* IFC4X3_IfcRelConnectsStructuralMember_type = 0;
+entity* IFC4X3_IfcRelConnectsWithEccentricity_type = 0;
+entity* IFC4X3_IfcRelConnectsWithRealizingElements_type = 0;
+entity* IFC4X3_IfcRelContainedInSpatialStructure_type = 0;
+entity* IFC4X3_IfcRelCoversBldgElements_type = 0;
+entity* IFC4X3_IfcRelCoversSpaces_type = 0;
+entity* IFC4X3_IfcRelDeclares_type = 0;
+entity* IFC4X3_IfcRelDecomposes_type = 0;
+entity* IFC4X3_IfcRelDefines_type = 0;
+entity* IFC4X3_IfcRelDefinesByObject_type = 0;
+entity* IFC4X3_IfcRelDefinesByProperties_type = 0;
+entity* IFC4X3_IfcRelDefinesByTemplate_type = 0;
+entity* IFC4X3_IfcRelDefinesByType_type = 0;
+entity* IFC4X3_IfcRelFillsElement_type = 0;
+entity* IFC4X3_IfcRelFlowControlElements_type = 0;
+entity* IFC4X3_IfcRelInterferesElements_type = 0;
+entity* IFC4X3_IfcRelNests_type = 0;
+entity* IFC4X3_IfcRelPositions_type = 0;
+entity* IFC4X3_IfcRelProjectsElement_type = 0;
+entity* IFC4X3_IfcRelReferencedInSpatialStructure_type = 0;
+entity* IFC4X3_IfcRelSequence_type = 0;
+entity* IFC4X3_IfcRelServicesBuildings_type = 0;
+entity* IFC4X3_IfcRelSpaceBoundary_type = 0;
+entity* IFC4X3_IfcRelSpaceBoundary1stLevel_type = 0;
+entity* IFC4X3_IfcRelSpaceBoundary2ndLevel_type = 0;
+entity* IFC4X3_IfcRelVoidsElement_type = 0;
+entity* IFC4X3_IfcRelationship_type = 0;
+entity* IFC4X3_IfcReparametrisedCompositeCurveSegment_type = 0;
+entity* IFC4X3_IfcRepresentation_type = 0;
+entity* IFC4X3_IfcRepresentationContext_type = 0;
+entity* IFC4X3_IfcRepresentationItem_type = 0;
+entity* IFC4X3_IfcRepresentationMap_type = 0;
+entity* IFC4X3_IfcResource_type = 0;
+entity* IFC4X3_IfcResourceApprovalRelationship_type = 0;
+entity* IFC4X3_IfcResourceConstraintRelationship_type = 0;
+entity* IFC4X3_IfcResourceLevelRelationship_type = 0;
+entity* IFC4X3_IfcResourceTime_type = 0;
+entity* IFC4X3_IfcRevolvedAreaSolid_type = 0;
+entity* IFC4X3_IfcRevolvedAreaSolidTapered_type = 0;
+entity* IFC4X3_IfcRightCircularCone_type = 0;
+entity* IFC4X3_IfcRightCircularCylinder_type = 0;
+entity* IFC4X3_IfcRoad_type = 0;
+entity* IFC4X3_IfcRoadPart_type = 0;
+entity* IFC4X3_IfcRoof_type = 0;
+entity* IFC4X3_IfcRoofType_type = 0;
+entity* IFC4X3_IfcRoot_type = 0;
+entity* IFC4X3_IfcRoundedRectangleProfileDef_type = 0;
+entity* IFC4X3_IfcSIUnit_type = 0;
+entity* IFC4X3_IfcSanitaryTerminal_type = 0;
+entity* IFC4X3_IfcSanitaryTerminalType_type = 0;
+entity* IFC4X3_IfcSchedulingTime_type = 0;
+entity* IFC4X3_IfcSeamCurve_type = 0;
+entity* IFC4X3_IfcSecondOrderPolynomialSpiral_type = 0;
+entity* IFC4X3_IfcSectionProperties_type = 0;
+entity* IFC4X3_IfcSectionReinforcementProperties_type = 0;
+entity* IFC4X3_IfcSectionedSolid_type = 0;
+entity* IFC4X3_IfcSectionedSolidHorizontal_type = 0;
+entity* IFC4X3_IfcSectionedSpine_type = 0;
+entity* IFC4X3_IfcSectionedSurface_type = 0;
+entity* IFC4X3_IfcSegment_type = 0;
+entity* IFC4X3_IfcSegmentedReferenceCurve_type = 0;
+entity* IFC4X3_IfcSensor_type = 0;
+entity* IFC4X3_IfcSensorType_type = 0;
+entity* IFC4X3_IfcSeventhOrderPolynomialSpiral_type = 0;
+entity* IFC4X3_IfcShadingDevice_type = 0;
+entity* IFC4X3_IfcShadingDeviceType_type = 0;
+entity* IFC4X3_IfcShapeAspect_type = 0;
+entity* IFC4X3_IfcShapeModel_type = 0;
+entity* IFC4X3_IfcShapeRepresentation_type = 0;
+entity* IFC4X3_IfcShellBasedSurfaceModel_type = 0;
+entity* IFC4X3_IfcSign_type = 0;
+entity* IFC4X3_IfcSignType_type = 0;
+entity* IFC4X3_IfcSignal_type = 0;
+entity* IFC4X3_IfcSignalType_type = 0;
+entity* IFC4X3_IfcSimpleProperty_type = 0;
+entity* IFC4X3_IfcSimplePropertyTemplate_type = 0;
+entity* IFC4X3_IfcSineSpiral_type = 0;
+entity* IFC4X3_IfcSite_type = 0;
+entity* IFC4X3_IfcSlab_type = 0;
+entity* IFC4X3_IfcSlabType_type = 0;
+entity* IFC4X3_IfcSlippageConnectionCondition_type = 0;
+entity* IFC4X3_IfcSolarDevice_type = 0;
+entity* IFC4X3_IfcSolarDeviceType_type = 0;
+entity* IFC4X3_IfcSolidModel_type = 0;
+entity* IFC4X3_IfcSpace_type = 0;
+entity* IFC4X3_IfcSpaceHeater_type = 0;
+entity* IFC4X3_IfcSpaceHeaterType_type = 0;
+entity* IFC4X3_IfcSpaceType_type = 0;
+entity* IFC4X3_IfcSpatialElement_type = 0;
+entity* IFC4X3_IfcSpatialElementType_type = 0;
+entity* IFC4X3_IfcSpatialStructureElement_type = 0;
+entity* IFC4X3_IfcSpatialStructureElementType_type = 0;
+entity* IFC4X3_IfcSpatialZone_type = 0;
+entity* IFC4X3_IfcSpatialZoneType_type = 0;
+entity* IFC4X3_IfcSphere_type = 0;
+entity* IFC4X3_IfcSphericalSurface_type = 0;
+entity* IFC4X3_IfcSpiral_type = 0;
+entity* IFC4X3_IfcStackTerminal_type = 0;
+entity* IFC4X3_IfcStackTerminalType_type = 0;
+entity* IFC4X3_IfcStair_type = 0;
+entity* IFC4X3_IfcStairFlight_type = 0;
+entity* IFC4X3_IfcStairFlightType_type = 0;
+entity* IFC4X3_IfcStairType_type = 0;
+entity* IFC4X3_IfcStructuralAction_type = 0;
+entity* IFC4X3_IfcStructuralActivity_type = 0;
+entity* IFC4X3_IfcStructuralAnalysisModel_type = 0;
+entity* IFC4X3_IfcStructuralConnection_type = 0;
+entity* IFC4X3_IfcStructuralConnectionCondition_type = 0;
+entity* IFC4X3_IfcStructuralCurveAction_type = 0;
+entity* IFC4X3_IfcStructuralCurveConnection_type = 0;
+entity* IFC4X3_IfcStructuralCurveMember_type = 0;
+entity* IFC4X3_IfcStructuralCurveMemberVarying_type = 0;
+entity* IFC4X3_IfcStructuralCurveReaction_type = 0;
+entity* IFC4X3_IfcStructuralItem_type = 0;
+entity* IFC4X3_IfcStructuralLinearAction_type = 0;
+entity* IFC4X3_IfcStructuralLoad_type = 0;
+entity* IFC4X3_IfcStructuralLoadCase_type = 0;
+entity* IFC4X3_IfcStructuralLoadConfiguration_type = 0;
+entity* IFC4X3_IfcStructuralLoadGroup_type = 0;
+entity* IFC4X3_IfcStructuralLoadLinearForce_type = 0;
+entity* IFC4X3_IfcStructuralLoadOrResult_type = 0;
+entity* IFC4X3_IfcStructuralLoadPlanarForce_type = 0;
+entity* IFC4X3_IfcStructuralLoadSingleDisplacement_type = 0;
+entity* IFC4X3_IfcStructuralLoadSingleDisplacementDistortion_type = 0;
+entity* IFC4X3_IfcStructuralLoadSingleForce_type = 0;
+entity* IFC4X3_IfcStructuralLoadSingleForceWarping_type = 0;
+entity* IFC4X3_IfcStructuralLoadStatic_type = 0;
+entity* IFC4X3_IfcStructuralLoadTemperature_type = 0;
+entity* IFC4X3_IfcStructuralMember_type = 0;
+entity* IFC4X3_IfcStructuralPlanarAction_type = 0;
+entity* IFC4X3_IfcStructuralPointAction_type = 0;
+entity* IFC4X3_IfcStructuralPointConnection_type = 0;
+entity* IFC4X3_IfcStructuralPointReaction_type = 0;
+entity* IFC4X3_IfcStructuralReaction_type = 0;
+entity* IFC4X3_IfcStructuralResultGroup_type = 0;
+entity* IFC4X3_IfcStructuralSurfaceAction_type = 0;
+entity* IFC4X3_IfcStructuralSurfaceConnection_type = 0;
+entity* IFC4X3_IfcStructuralSurfaceMember_type = 0;
+entity* IFC4X3_IfcStructuralSurfaceMemberVarying_type = 0;
+entity* IFC4X3_IfcStructuralSurfaceReaction_type = 0;
+entity* IFC4X3_IfcStyleModel_type = 0;
+entity* IFC4X3_IfcStyledItem_type = 0;
+entity* IFC4X3_IfcStyledRepresentation_type = 0;
+entity* IFC4X3_IfcSubContractResource_type = 0;
+entity* IFC4X3_IfcSubContractResourceType_type = 0;
+entity* IFC4X3_IfcSubedge_type = 0;
+entity* IFC4X3_IfcSurface_type = 0;
+entity* IFC4X3_IfcSurfaceCurve_type = 0;
+entity* IFC4X3_IfcSurfaceCurveSweptAreaSolid_type = 0;
+entity* IFC4X3_IfcSurfaceFeature_type = 0;
+entity* IFC4X3_IfcSurfaceOfLinearExtrusion_type = 0;
+entity* IFC4X3_IfcSurfaceOfRevolution_type = 0;
+entity* IFC4X3_IfcSurfaceReinforcementArea_type = 0;
+entity* IFC4X3_IfcSurfaceStyle_type = 0;
+entity* IFC4X3_IfcSurfaceStyleLighting_type = 0;
+entity* IFC4X3_IfcSurfaceStyleRefraction_type = 0;
+entity* IFC4X3_IfcSurfaceStyleRendering_type = 0;
+entity* IFC4X3_IfcSurfaceStyleShading_type = 0;
+entity* IFC4X3_IfcSurfaceStyleWithTextures_type = 0;
+entity* IFC4X3_IfcSurfaceTexture_type = 0;
+entity* IFC4X3_IfcSweptAreaSolid_type = 0;
+entity* IFC4X3_IfcSweptDiskSolid_type = 0;
+entity* IFC4X3_IfcSweptDiskSolidPolygonal_type = 0;
+entity* IFC4X3_IfcSweptSurface_type = 0;
+entity* IFC4X3_IfcSwitchingDevice_type = 0;
+entity* IFC4X3_IfcSwitchingDeviceType_type = 0;
+entity* IFC4X3_IfcSystem_type = 0;
+entity* IFC4X3_IfcSystemFurnitureElement_type = 0;
+entity* IFC4X3_IfcSystemFurnitureElementType_type = 0;
+entity* IFC4X3_IfcTShapeProfileDef_type = 0;
+entity* IFC4X3_IfcTable_type = 0;
+entity* IFC4X3_IfcTableColumn_type = 0;
+entity* IFC4X3_IfcTableRow_type = 0;
+entity* IFC4X3_IfcTank_type = 0;
+entity* IFC4X3_IfcTankType_type = 0;
+entity* IFC4X3_IfcTask_type = 0;
+entity* IFC4X3_IfcTaskTime_type = 0;
+entity* IFC4X3_IfcTaskTimeRecurring_type = 0;
+entity* IFC4X3_IfcTaskType_type = 0;
+entity* IFC4X3_IfcTelecomAddress_type = 0;
+entity* IFC4X3_IfcTendon_type = 0;
+entity* IFC4X3_IfcTendonAnchor_type = 0;
+entity* IFC4X3_IfcTendonAnchorType_type = 0;
+entity* IFC4X3_IfcTendonConduit_type = 0;
+entity* IFC4X3_IfcTendonConduitType_type = 0;
+entity* IFC4X3_IfcTendonType_type = 0;
+entity* IFC4X3_IfcTessellatedFaceSet_type = 0;
+entity* IFC4X3_IfcTessellatedItem_type = 0;
+entity* IFC4X3_IfcTextLiteral_type = 0;
+entity* IFC4X3_IfcTextLiteralWithExtent_type = 0;
+entity* IFC4X3_IfcTextStyle_type = 0;
+entity* IFC4X3_IfcTextStyleFontModel_type = 0;
+entity* IFC4X3_IfcTextStyleForDefinedFont_type = 0;
+entity* IFC4X3_IfcTextStyleTextModel_type = 0;
+entity* IFC4X3_IfcTextureCoordinate_type = 0;
+entity* IFC4X3_IfcTextureCoordinateGenerator_type = 0;
+entity* IFC4X3_IfcTextureCoordinateIndices_type = 0;
+entity* IFC4X3_IfcTextureCoordinateIndicesWithVoids_type = 0;
+entity* IFC4X3_IfcTextureMap_type = 0;
+entity* IFC4X3_IfcTextureVertex_type = 0;
+entity* IFC4X3_IfcTextureVertexList_type = 0;
+entity* IFC4X3_IfcThirdOrderPolynomialSpiral_type = 0;
+entity* IFC4X3_IfcTimePeriod_type = 0;
+entity* IFC4X3_IfcTimeSeries_type = 0;
+entity* IFC4X3_IfcTimeSeriesValue_type = 0;
+entity* IFC4X3_IfcTopologicalRepresentationItem_type = 0;
+entity* IFC4X3_IfcTopologyRepresentation_type = 0;
+entity* IFC4X3_IfcToroidalSurface_type = 0;
+entity* IFC4X3_IfcTrackElement_type = 0;
+entity* IFC4X3_IfcTrackElementType_type = 0;
+entity* IFC4X3_IfcTransformer_type = 0;
+entity* IFC4X3_IfcTransformerType_type = 0;
+entity* IFC4X3_IfcTransportElement_type = 0;
+entity* IFC4X3_IfcTransportElementType_type = 0;
+entity* IFC4X3_IfcTransportationDevice_type = 0;
+entity* IFC4X3_IfcTransportationDeviceType_type = 0;
+entity* IFC4X3_IfcTrapeziumProfileDef_type = 0;
+entity* IFC4X3_IfcTriangulatedFaceSet_type = 0;
+entity* IFC4X3_IfcTriangulatedIrregularNetwork_type = 0;
+entity* IFC4X3_IfcTrimmedCurve_type = 0;
+entity* IFC4X3_IfcTubeBundle_type = 0;
+entity* IFC4X3_IfcTubeBundleType_type = 0;
+entity* IFC4X3_IfcTypeObject_type = 0;
+entity* IFC4X3_IfcTypeProcess_type = 0;
+entity* IFC4X3_IfcTypeProduct_type = 0;
+entity* IFC4X3_IfcTypeResource_type = 0;
+entity* IFC4X3_IfcUShapeProfileDef_type = 0;
+entity* IFC4X3_IfcUnitAssignment_type = 0;
+entity* IFC4X3_IfcUnitaryControlElement_type = 0;
+entity* IFC4X3_IfcUnitaryControlElementType_type = 0;
+entity* IFC4X3_IfcUnitaryEquipment_type = 0;
+entity* IFC4X3_IfcUnitaryEquipmentType_type = 0;
+entity* IFC4X3_IfcValve_type = 0;
+entity* IFC4X3_IfcValveType_type = 0;
+entity* IFC4X3_IfcVector_type = 0;
+entity* IFC4X3_IfcVehicle_type = 0;
+entity* IFC4X3_IfcVehicleType_type = 0;
+entity* IFC4X3_IfcVertex_type = 0;
+entity* IFC4X3_IfcVertexLoop_type = 0;
+entity* IFC4X3_IfcVertexPoint_type = 0;
+entity* IFC4X3_IfcVibrationDamper_type = 0;
+entity* IFC4X3_IfcVibrationDamperType_type = 0;
+entity* IFC4X3_IfcVibrationIsolator_type = 0;
+entity* IFC4X3_IfcVibrationIsolatorType_type = 0;
+entity* IFC4X3_IfcVirtualElement_type = 0;
+entity* IFC4X3_IfcVirtualGridIntersection_type = 0;
+entity* IFC4X3_IfcVoidingFeature_type = 0;
+entity* IFC4X3_IfcWall_type = 0;
+entity* IFC4X3_IfcWallStandardCase_type = 0;
+entity* IFC4X3_IfcWallType_type = 0;
+entity* IFC4X3_IfcWasteTerminal_type = 0;
+entity* IFC4X3_IfcWasteTerminalType_type = 0;
+entity* IFC4X3_IfcWindow_type = 0;
+entity* IFC4X3_IfcWindowLiningProperties_type = 0;
+entity* IFC4X3_IfcWindowPanelProperties_type = 0;
+entity* IFC4X3_IfcWindowType_type = 0;
+entity* IFC4X3_IfcWorkCalendar_type = 0;
+entity* IFC4X3_IfcWorkControl_type = 0;
+entity* IFC4X3_IfcWorkPlan_type = 0;
+entity* IFC4X3_IfcWorkSchedule_type = 0;
+entity* IFC4X3_IfcWorkTime_type = 0;
+entity* IFC4X3_IfcZShapeProfileDef_type = 0;
+entity* IFC4X3_IfcZone_type = 0;
+type_declaration* IFC4X3_IfcAbsorbedDoseMeasure_type = 0;
+type_declaration* IFC4X3_IfcAccelerationMeasure_type = 0;
+type_declaration* IFC4X3_IfcAmountOfSubstanceMeasure_type = 0;
+type_declaration* IFC4X3_IfcAngularVelocityMeasure_type = 0;
+type_declaration* IFC4X3_IfcArcIndex_type = 0;
+type_declaration* IFC4X3_IfcAreaDensityMeasure_type = 0;
+type_declaration* IFC4X3_IfcAreaMeasure_type = 0;
+type_declaration* IFC4X3_IfcBinary_type = 0;
+type_declaration* IFC4X3_IfcBoolean_type = 0;
+type_declaration* IFC4X3_IfcBoxAlignment_type = 0;
+type_declaration* IFC4X3_IfcCardinalPointReference_type = 0;
+type_declaration* IFC4X3_IfcComplexNumber_type = 0;
+type_declaration* IFC4X3_IfcCompoundPlaneAngleMeasure_type = 0;
+type_declaration* IFC4X3_IfcContextDependentMeasure_type = 0;
+type_declaration* IFC4X3_IfcCountMeasure_type = 0;
+type_declaration* IFC4X3_IfcCurvatureMeasure_type = 0;
+type_declaration* IFC4X3_IfcDate_type = 0;
+type_declaration* IFC4X3_IfcDateTime_type = 0;
+type_declaration* IFC4X3_IfcDayInMonthNumber_type = 0;
+type_declaration* IFC4X3_IfcDayInWeekNumber_type = 0;
+type_declaration* IFC4X3_IfcDescriptiveMeasure_type = 0;
+type_declaration* IFC4X3_IfcDimensionCount_type = 0;
+type_declaration* IFC4X3_IfcDoseEquivalentMeasure_type = 0;
+type_declaration* IFC4X3_IfcDuration_type = 0;
+type_declaration* IFC4X3_IfcDynamicViscosityMeasure_type = 0;
+type_declaration* IFC4X3_IfcElectricCapacitanceMeasure_type = 0;
+type_declaration* IFC4X3_IfcElectricChargeMeasure_type = 0;
+type_declaration* IFC4X3_IfcElectricConductanceMeasure_type = 0;
+type_declaration* IFC4X3_IfcElectricCurrentMeasure_type = 0;
+type_declaration* IFC4X3_IfcElectricResistanceMeasure_type = 0;
+type_declaration* IFC4X3_IfcElectricVoltageMeasure_type = 0;
+type_declaration* IFC4X3_IfcEnergyMeasure_type = 0;
+type_declaration* IFC4X3_IfcFontStyle_type = 0;
+type_declaration* IFC4X3_IfcFontVariant_type = 0;
+type_declaration* IFC4X3_IfcFontWeight_type = 0;
+type_declaration* IFC4X3_IfcForceMeasure_type = 0;
+type_declaration* IFC4X3_IfcFrequencyMeasure_type = 0;
+type_declaration* IFC4X3_IfcGloballyUniqueId_type = 0;
+type_declaration* IFC4X3_IfcHeatFluxDensityMeasure_type = 0;
+type_declaration* IFC4X3_IfcHeatingValueMeasure_type = 0;
+type_declaration* IFC4X3_IfcIdentifier_type = 0;
+type_declaration* IFC4X3_IfcIlluminanceMeasure_type = 0;
+type_declaration* IFC4X3_IfcInductanceMeasure_type = 0;
+type_declaration* IFC4X3_IfcInteger_type = 0;
+type_declaration* IFC4X3_IfcIntegerCountRateMeasure_type = 0;
+type_declaration* IFC4X3_IfcIonConcentrationMeasure_type = 0;
+type_declaration* IFC4X3_IfcIsothermalMoistureCapacityMeasure_type = 0;
+type_declaration* IFC4X3_IfcKinematicViscosityMeasure_type = 0;
+type_declaration* IFC4X3_IfcLabel_type = 0;
+type_declaration* IFC4X3_IfcLanguageId_type = 0;
+type_declaration* IFC4X3_IfcLengthMeasure_type = 0;
+type_declaration* IFC4X3_IfcLineIndex_type = 0;
+type_declaration* IFC4X3_IfcLinearForceMeasure_type = 0;
+type_declaration* IFC4X3_IfcLinearMomentMeasure_type = 0;
+type_declaration* IFC4X3_IfcLinearStiffnessMeasure_type = 0;
+type_declaration* IFC4X3_IfcLinearVelocityMeasure_type = 0;
+type_declaration* IFC4X3_IfcLogical_type = 0;
+type_declaration* IFC4X3_IfcLuminousFluxMeasure_type = 0;
+type_declaration* IFC4X3_IfcLuminousIntensityDistributionMeasure_type = 0;
+type_declaration* IFC4X3_IfcLuminousIntensityMeasure_type = 0;
+type_declaration* IFC4X3_IfcMagneticFluxDensityMeasure_type = 0;
+type_declaration* IFC4X3_IfcMagneticFluxMeasure_type = 0;
+type_declaration* IFC4X3_IfcMassDensityMeasure_type = 0;
+type_declaration* IFC4X3_IfcMassFlowRateMeasure_type = 0;
+type_declaration* IFC4X3_IfcMassMeasure_type = 0;
+type_declaration* IFC4X3_IfcMassPerLengthMeasure_type = 0;
+type_declaration* IFC4X3_IfcModulusOfElasticityMeasure_type = 0;
+type_declaration* IFC4X3_IfcModulusOfLinearSubgradeReactionMeasure_type = 0;
+type_declaration* IFC4X3_IfcModulusOfRotationalSubgradeReactionMeasure_type = 0;
+type_declaration* IFC4X3_IfcModulusOfSubgradeReactionMeasure_type = 0;
+type_declaration* IFC4X3_IfcMoistureDiffusivityMeasure_type = 0;
+type_declaration* IFC4X3_IfcMolecularWeightMeasure_type = 0;
+type_declaration* IFC4X3_IfcMomentOfInertiaMeasure_type = 0;
+type_declaration* IFC4X3_IfcMonetaryMeasure_type = 0;
+type_declaration* IFC4X3_IfcMonthInYearNumber_type = 0;
+type_declaration* IFC4X3_IfcNonNegativeLengthMeasure_type = 0;
+type_declaration* IFC4X3_IfcNormalisedRatioMeasure_type = 0;
+type_declaration* IFC4X3_IfcNumericMeasure_type = 0;
+type_declaration* IFC4X3_IfcPHMeasure_type = 0;
+type_declaration* IFC4X3_IfcParameterValue_type = 0;
+type_declaration* IFC4X3_IfcPlanarForceMeasure_type = 0;
+type_declaration* IFC4X3_IfcPlaneAngleMeasure_type = 0;
+type_declaration* IFC4X3_IfcPositiveInteger_type = 0;
+type_declaration* IFC4X3_IfcPositiveLengthMeasure_type = 0;
+type_declaration* IFC4X3_IfcPositivePlaneAngleMeasure_type = 0;
+type_declaration* IFC4X3_IfcPositiveRatioMeasure_type = 0;
+type_declaration* IFC4X3_IfcPowerMeasure_type = 0;
+type_declaration* IFC4X3_IfcPresentableText_type = 0;
+type_declaration* IFC4X3_IfcPressureMeasure_type = 0;
+type_declaration* IFC4X3_IfcPropertySetDefinitionSet_type = 0;
+type_declaration* IFC4X3_IfcRadioActivityMeasure_type = 0;
+type_declaration* IFC4X3_IfcRatioMeasure_type = 0;
+type_declaration* IFC4X3_IfcReal_type = 0;
+type_declaration* IFC4X3_IfcRotationalFrequencyMeasure_type = 0;
+type_declaration* IFC4X3_IfcRotationalMassMeasure_type = 0;
+type_declaration* IFC4X3_IfcRotationalStiffnessMeasure_type = 0;
+type_declaration* IFC4X3_IfcSectionModulusMeasure_type = 0;
+type_declaration* IFC4X3_IfcSectionalAreaIntegralMeasure_type = 0;
+type_declaration* IFC4X3_IfcShearModulusMeasure_type = 0;
+type_declaration* IFC4X3_IfcSolidAngleMeasure_type = 0;
+type_declaration* IFC4X3_IfcSoundPowerLevelMeasure_type = 0;
+type_declaration* IFC4X3_IfcSoundPowerMeasure_type = 0;
+type_declaration* IFC4X3_IfcSoundPressureLevelMeasure_type = 0;
+type_declaration* IFC4X3_IfcSoundPressureMeasure_type = 0;
+type_declaration* IFC4X3_IfcSpecificHeatCapacityMeasure_type = 0;
+type_declaration* IFC4X3_IfcSpecularExponent_type = 0;
+type_declaration* IFC4X3_IfcSpecularRoughness_type = 0;
+type_declaration* IFC4X3_IfcTemperatureGradientMeasure_type = 0;
+type_declaration* IFC4X3_IfcTemperatureRateOfChangeMeasure_type = 0;
+type_declaration* IFC4X3_IfcText_type = 0;
+type_declaration* IFC4X3_IfcTextAlignment_type = 0;
+type_declaration* IFC4X3_IfcTextDecoration_type = 0;
+type_declaration* IFC4X3_IfcTextFontName_type = 0;
+type_declaration* IFC4X3_IfcTextTransformation_type = 0;
+type_declaration* IFC4X3_IfcThermalAdmittanceMeasure_type = 0;
+type_declaration* IFC4X3_IfcThermalConductivityMeasure_type = 0;
+type_declaration* IFC4X3_IfcThermalExpansionCoefficientMeasure_type = 0;
+type_declaration* IFC4X3_IfcThermalResistanceMeasure_type = 0;
+type_declaration* IFC4X3_IfcThermalTransmittanceMeasure_type = 0;
+type_declaration* IFC4X3_IfcThermodynamicTemperatureMeasure_type = 0;
+type_declaration* IFC4X3_IfcTime_type = 0;
+type_declaration* IFC4X3_IfcTimeMeasure_type = 0;
+type_declaration* IFC4X3_IfcTimeStamp_type = 0;
+type_declaration* IFC4X3_IfcTorqueMeasure_type = 0;
+type_declaration* IFC4X3_IfcURIReference_type = 0;
+type_declaration* IFC4X3_IfcVaporPermeabilityMeasure_type = 0;
+type_declaration* IFC4X3_IfcVolumeMeasure_type = 0;
+type_declaration* IFC4X3_IfcVolumetricFlowRateMeasure_type = 0;
+type_declaration* IFC4X3_IfcWarpingConstantMeasure_type = 0;
+type_declaration* IFC4X3_IfcWarpingMomentMeasure_type = 0;
+select_type* IFC4X3_IfcActorSelect_type = 0;
+select_type* IFC4X3_IfcAppliedValueSelect_type = 0;
+select_type* IFC4X3_IfcAxis2Placement_type = 0;
+select_type* IFC4X3_IfcBendingParameterSelect_type = 0;
+select_type* IFC4X3_IfcBooleanOperand_type = 0;
+select_type* IFC4X3_IfcClassificationReferenceSelect_type = 0;
+select_type* IFC4X3_IfcClassificationSelect_type = 0;
+select_type* IFC4X3_IfcColour_type = 0;
+select_type* IFC4X3_IfcColourOrFactor_type = 0;
+select_type* IFC4X3_IfcCoordinateReferenceSystemSelect_type = 0;
+select_type* IFC4X3_IfcCsgSelect_type = 0;
+select_type* IFC4X3_IfcCurveFontOrScaledCurveFontSelect_type = 0;
+select_type* IFC4X3_IfcCurveMeasureSelect_type = 0;
+select_type* IFC4X3_IfcCurveOnSurface_type = 0;
+select_type* IFC4X3_IfcCurveOrEdgeCurve_type = 0;
+select_type* IFC4X3_IfcCurveStyleFontSelect_type = 0;
+select_type* IFC4X3_IfcDefinitionSelect_type = 0;
+select_type* IFC4X3_IfcDerivedMeasureValue_type = 0;
+select_type* IFC4X3_IfcDocumentSelect_type = 0;
+select_type* IFC4X3_IfcFillStyleSelect_type = 0;
+select_type* IFC4X3_IfcGeometricSetSelect_type = 0;
+select_type* IFC4X3_IfcGridPlacementDirectionSelect_type = 0;
+select_type* IFC4X3_IfcHatchLineDistanceSelect_type = 0;
+select_type* IFC4X3_IfcInterferenceSelect_type = 0;
+select_type* IFC4X3_IfcLayeredItem_type = 0;
+select_type* IFC4X3_IfcLibrarySelect_type = 0;
+select_type* IFC4X3_IfcLightDistributionDataSourceSelect_type = 0;
+select_type* IFC4X3_IfcMaterialSelect_type = 0;
+select_type* IFC4X3_IfcMeasureValue_type = 0;
+select_type* IFC4X3_IfcMetricValueSelect_type = 0;
+select_type* IFC4X3_IfcModulusOfRotationalSubgradeReactionSelect_type = 0;
+select_type* IFC4X3_IfcModulusOfSubgradeReactionSelect_type = 0;
+select_type* IFC4X3_IfcModulusOfTranslationalSubgradeReactionSelect_type = 0;
+select_type* IFC4X3_IfcObjectReferenceSelect_type = 0;
+select_type* IFC4X3_IfcPointOrVertexPoint_type = 0;
+select_type* IFC4X3_IfcProcessSelect_type = 0;
+select_type* IFC4X3_IfcProductRepresentationSelect_type = 0;
+select_type* IFC4X3_IfcProductSelect_type = 0;
+select_type* IFC4X3_IfcPropertySetDefinitionSelect_type = 0;
+select_type* IFC4X3_IfcResourceObjectSelect_type = 0;
+select_type* IFC4X3_IfcResourceSelect_type = 0;
+select_type* IFC4X3_IfcRotationalStiffnessSelect_type = 0;
+select_type* IFC4X3_IfcSegmentIndexSelect_type = 0;
+select_type* IFC4X3_IfcShell_type = 0;
+select_type* IFC4X3_IfcSimpleValue_type = 0;
+select_type* IFC4X3_IfcSizeSelect_type = 0;
+select_type* IFC4X3_IfcSolidOrShell_type = 0;
+select_type* IFC4X3_IfcSpaceBoundarySelect_type = 0;
+select_type* IFC4X3_IfcSpatialReferenceSelect_type = 0;
+select_type* IFC4X3_IfcSpecularHighlightSelect_type = 0;
+select_type* IFC4X3_IfcStructuralActivityAssignmentSelect_type = 0;
+select_type* IFC4X3_IfcSurfaceOrFaceSurface_type = 0;
+select_type* IFC4X3_IfcSurfaceStyleElementSelect_type = 0;
+select_type* IFC4X3_IfcTextFontSelect_type = 0;
+select_type* IFC4X3_IfcTimeOrRatioSelect_type = 0;
+select_type* IFC4X3_IfcTranslationalStiffnessSelect_type = 0;
+select_type* IFC4X3_IfcTrimmingSelect_type = 0;
+select_type* IFC4X3_IfcUnit_type = 0;
+select_type* IFC4X3_IfcValue_type = 0;
+select_type* IFC4X3_IfcVectorOrDirection_type = 0;
+select_type* IFC4X3_IfcWarpingStiffnessSelect_type = 0;
+enumeration_type* IFC4X3_IfcActionRequestTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcActionSourceTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcActionTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcActuatorTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcAddressTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcAirTerminalBoxTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcAirTerminalTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcAirToAirHeatRecoveryTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcAlarmTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcAlignmentCantSegmentTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcAlignmentHorizontalSegmentTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcAlignmentTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcAlignmentVerticalSegmentTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcAnalysisModelTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcAnalysisTheoryTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcAnnotationTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcArithmeticOperatorEnum_type = 0;
+enumeration_type* IFC4X3_IfcAssemblyPlaceEnum_type = 0;
+enumeration_type* IFC4X3_IfcAudioVisualApplianceTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcBSplineCurveForm_type = 0;
+enumeration_type* IFC4X3_IfcBSplineSurfaceForm_type = 0;
+enumeration_type* IFC4X3_IfcBeamTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcBearingTypeDisplacementEnum_type = 0;
+enumeration_type* IFC4X3_IfcBearingTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcBenchmarkEnum_type = 0;
+enumeration_type* IFC4X3_IfcBoilerTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcBooleanOperator_type = 0;
+enumeration_type* IFC4X3_IfcBridgePartTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcBridgeTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcBuildingElementPartTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcBuildingElementProxyTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcBuildingSystemTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcBuiltSystemTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcBurnerTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcCableCarrierFittingTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcCableCarrierSegmentTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcCableFittingTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcCableSegmentTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcCaissonFoundationTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcChangeActionEnum_type = 0;
+enumeration_type* IFC4X3_IfcChillerTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcChimneyTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcCoilTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcColumnTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcCommunicationsApplianceTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcComplexPropertyTemplateTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcCompressorTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcCondenserTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcConnectionTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcConstraintEnum_type = 0;
+enumeration_type* IFC4X3_IfcConstructionEquipmentResourceTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcConstructionMaterialResourceTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcConstructionProductResourceTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcControllerTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcConveyorSegmentTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcCooledBeamTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcCoolingTowerTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcCostItemTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcCostScheduleTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcCourseTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcCoveringTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcCrewResourceTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcCurtainWallTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcCurveInterpolationEnum_type = 0;
+enumeration_type* IFC4X3_IfcDamperTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcDataOriginEnum_type = 0;
+enumeration_type* IFC4X3_IfcDerivedUnitEnum_type = 0;
+enumeration_type* IFC4X3_IfcDirectionSenseEnum_type = 0;
+enumeration_type* IFC4X3_IfcDiscreteAccessoryTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcDistributionBoardTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcDistributionChamberElementTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcDistributionPortTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcDistributionSystemEnum_type = 0;
+enumeration_type* IFC4X3_IfcDocumentConfidentialityEnum_type = 0;
+enumeration_type* IFC4X3_IfcDocumentStatusEnum_type = 0;
+enumeration_type* IFC4X3_IfcDoorPanelOperationEnum_type = 0;
+enumeration_type* IFC4X3_IfcDoorPanelPositionEnum_type = 0;
+enumeration_type* IFC4X3_IfcDoorStyleConstructionEnum_type = 0;
+enumeration_type* IFC4X3_IfcDoorStyleOperationEnum_type = 0;
+enumeration_type* IFC4X3_IfcDoorTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcDoorTypeOperationEnum_type = 0;
+enumeration_type* IFC4X3_IfcDuctFittingTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcDuctSegmentTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcDuctSilencerTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcEarthworksCutTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcEarthworksFillTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcElectricApplianceTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcElectricDistributionBoardTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcElectricFlowStorageDeviceTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcElectricFlowTreatmentDeviceTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcElectricGeneratorTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcElectricMotorTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcElectricTimeControlTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcElementAssemblyTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcElementCompositionEnum_type = 0;
+enumeration_type* IFC4X3_IfcEngineTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcEvaporativeCoolerTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcEvaporatorTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcEventTriggerTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcEventTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcExternalSpatialElementTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcFacilityPartCommonTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcFacilityUsageEnum_type = 0;
+enumeration_type* IFC4X3_IfcFanTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcFastenerTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcFilterTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcFireSuppressionTerminalTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcFlowDirectionEnum_type = 0;
+enumeration_type* IFC4X3_IfcFlowInstrumentTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcFlowMeterTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcFootingTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcFurnitureTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcGeographicElementTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcGeometricProjectionEnum_type = 0;
+enumeration_type* IFC4X3_IfcGeotechnicalStratumTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcGlobalOrLocalEnum_type = 0;
+enumeration_type* IFC4X3_IfcGridTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcHeatExchangerTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcHumidifierTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcImpactProtectionDeviceTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcInterceptorTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcInternalOrExternalEnum_type = 0;
+enumeration_type* IFC4X3_IfcInventoryTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcJunctionBoxTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcKnotType_type = 0;
+enumeration_type* IFC4X3_IfcLaborResourceTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcLampTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcLayerSetDirectionEnum_type = 0;
+enumeration_type* IFC4X3_IfcLightDistributionCurveEnum_type = 0;
+enumeration_type* IFC4X3_IfcLightEmissionSourceEnum_type = 0;
+enumeration_type* IFC4X3_IfcLightFixtureTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcLiquidTerminalTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcLoadGroupTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcLogicalOperatorEnum_type = 0;
+enumeration_type* IFC4X3_IfcMarineFacilityTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcMarinePartTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcMechanicalFastenerTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcMedicalDeviceTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcMemberTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcMobileTelecommunicationsApplianceTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcMooringDeviceTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcMotorConnectionTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcNavigationElementTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcObjectTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcObjectiveEnum_type = 0;
+enumeration_type* IFC4X3_IfcOccupantTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcOpeningElementTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcOutletTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcPavementTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcPerformanceHistoryTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcPermeableCoveringOperationEnum_type = 0;
+enumeration_type* IFC4X3_IfcPermitTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcPhysicalOrVirtualEnum_type = 0;
+enumeration_type* IFC4X3_IfcPileConstructionEnum_type = 0;
+enumeration_type* IFC4X3_IfcPileTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcPipeFittingTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcPipeSegmentTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcPlateTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcPreferredSurfaceCurveRepresentation_type = 0;
+enumeration_type* IFC4X3_IfcProcedureTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcProfileTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcProjectOrderTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcProjectedOrTrueLengthEnum_type = 0;
+enumeration_type* IFC4X3_IfcProjectionElementTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcPropertySetTemplateTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcProtectiveDeviceTrippingUnitTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcProtectiveDeviceTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcPumpTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcRailTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcRailingTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcRailwayPartTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcRailwayTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcRampFlightTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcRampTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcRecurrenceTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcReferentTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcReflectanceMethodEnum_type = 0;
+enumeration_type* IFC4X3_IfcReinforcedSoilTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcReinforcingBarRoleEnum_type = 0;
+enumeration_type* IFC4X3_IfcReinforcingBarSurfaceEnum_type = 0;
+enumeration_type* IFC4X3_IfcReinforcingBarTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcReinforcingMeshTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcRoadPartTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcRoadTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcRoleEnum_type = 0;
+enumeration_type* IFC4X3_IfcRoofTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcSIPrefix_type = 0;
+enumeration_type* IFC4X3_IfcSIUnitName_type = 0;
+enumeration_type* IFC4X3_IfcSanitaryTerminalTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcSectionTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcSensorTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcSequenceEnum_type = 0;
+enumeration_type* IFC4X3_IfcShadingDeviceTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcSignTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcSignalTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcSimplePropertyTemplateTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcSlabTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcSolarDeviceTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcSpaceHeaterTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcSpaceTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcSpatialZoneTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcStackTerminalTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcStairFlightTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcStairTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcStateEnum_type = 0;
+enumeration_type* IFC4X3_IfcStructuralCurveActivityTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcStructuralCurveMemberTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcStructuralSurfaceActivityTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcStructuralSurfaceMemberTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcSubContractResourceTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcSurfaceFeatureTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcSurfaceSide_type = 0;
+enumeration_type* IFC4X3_IfcSwitchingDeviceTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcSystemFurnitureElementTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcTankTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcTaskDurationEnum_type = 0;
+enumeration_type* IFC4X3_IfcTaskTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcTendonAnchorTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcTendonConduitTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcTendonTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcTextPath_type = 0;
+enumeration_type* IFC4X3_IfcTimeSeriesDataTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcTrackElementTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcTransformerTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcTransitionCode_type = 0;
+enumeration_type* IFC4X3_IfcTransportElementTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcTrimmingPreference_type = 0;
+enumeration_type* IFC4X3_IfcTubeBundleTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcUnitEnum_type = 0;
+enumeration_type* IFC4X3_IfcUnitaryControlElementTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcUnitaryEquipmentTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcValveTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcVehicleTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcVibrationDamperTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcVibrationIsolatorTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcVirtualElementTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcVoidingFeatureTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcWallTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcWasteTerminalTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcWindowPanelOperationEnum_type = 0;
+enumeration_type* IFC4X3_IfcWindowPanelPositionEnum_type = 0;
+enumeration_type* IFC4X3_IfcWindowStyleConstructionEnum_type = 0;
+enumeration_type* IFC4X3_IfcWindowStyleOperationEnum_type = 0;
+enumeration_type* IFC4X3_IfcWindowTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcWindowTypePartitioningEnum_type = 0;
+enumeration_type* IFC4X3_IfcWorkCalendarTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcWorkPlanTypeEnum_type = 0;
+enumeration_type* IFC4X3_IfcWorkScheduleTypeEnum_type = 0;
+
+class IFC4X3_instance_factory : public IfcParse::instance_factory {
+ virtual IfcUtil::IfcBaseClass* operator()(IfcEntityInstanceData* data) const {
+ switch(data->type()->index_in_schema()) {
+ case 0: return new ::Ifc4x3::IfcAbsorbedDoseMeasure(data);
+ case 1: return new ::Ifc4x3::IfcAccelerationMeasure(data);
+ case 2: return new ::Ifc4x3::IfcActionRequest(data);
+ case 3: return new ::Ifc4x3::IfcActionRequestTypeEnum(data);
+ case 4: return new ::Ifc4x3::IfcActionSourceTypeEnum(data);
+ case 5: return new ::Ifc4x3::IfcActionTypeEnum(data);
+ case 6: return new ::Ifc4x3::IfcActor(data);
+ case 7: return new ::Ifc4x3::IfcActorRole(data);
+ case 9: return new ::Ifc4x3::IfcActuator(data);
+ case 10: return new ::Ifc4x3::IfcActuatorType(data);
+ case 11: return new ::Ifc4x3::IfcActuatorTypeEnum(data);
+ case 12: return new ::Ifc4x3::IfcAddress(data);
+ case 13: return new ::Ifc4x3::IfcAddressTypeEnum(data);
+ case 14: return new ::Ifc4x3::IfcAdvancedBrep(data);
+ case 15: return new ::Ifc4x3::IfcAdvancedBrepWithVoids(data);
+ case 16: return new ::Ifc4x3::IfcAdvancedFace(data);
+ case 17: return new ::Ifc4x3::IfcAirTerminal(data);
+ case 18: return new ::Ifc4x3::IfcAirTerminalBox(data);
+ case 19: return new ::Ifc4x3::IfcAirTerminalBoxType(data);
+ case 20: return new ::Ifc4x3::IfcAirTerminalBoxTypeEnum(data);
+ case 21: return new ::Ifc4x3::IfcAirTerminalType(data);
+ case 22: return new ::Ifc4x3::IfcAirTerminalTypeEnum(data);
+ case 23: return new ::Ifc4x3::IfcAirToAirHeatRecovery(data);
+ case 24: return new ::Ifc4x3::IfcAirToAirHeatRecoveryType(data);
+ case 25: return new ::Ifc4x3::IfcAirToAirHeatRecoveryTypeEnum(data);
+ case 26: return new ::Ifc4x3::IfcAlarm(data);
+ case 27: return new ::Ifc4x3::IfcAlarmType(data);
+ case 28: return new ::Ifc4x3::IfcAlarmTypeEnum(data);
+ case 29: return new ::Ifc4x3::IfcAlignment(data);
+ case 30: return new ::Ifc4x3::IfcAlignmentCant(data);
+ case 31: return new ::Ifc4x3::IfcAlignmentCantSegment(data);
+ case 32: return new ::Ifc4x3::IfcAlignmentCantSegmentTypeEnum(data);
+ case 33: return new ::Ifc4x3::IfcAlignmentHorizontal(data);
+ case 34: return new ::Ifc4x3::IfcAlignmentHorizontalSegment(data);
+ case 35: return new ::Ifc4x3::IfcAlignmentHorizontalSegmentTypeEnum(data);
+ case 36: return new ::Ifc4x3::IfcAlignmentParameterSegment(data);
+ case 37: return new ::Ifc4x3::IfcAlignmentSegment(data);
+ case 38: return new ::Ifc4x3::IfcAlignmentTypeEnum(data);
+ case 39: return new ::Ifc4x3::IfcAlignmentVertical(data);
+ case 40: return new ::Ifc4x3::IfcAlignmentVerticalSegment(data);
+ case 41: return new ::Ifc4x3::IfcAlignmentVerticalSegmentTypeEnum(data);
+ case 42: return new ::Ifc4x3::IfcAmountOfSubstanceMeasure(data);
+ case 43: return new ::Ifc4x3::IfcAnalysisModelTypeEnum(data);
+ case 44: return new ::Ifc4x3::IfcAnalysisTheoryTypeEnum(data);
+ case 45: return new ::Ifc4x3::IfcAngularVelocityMeasure(data);
+ case 46: return new ::Ifc4x3::IfcAnnotation(data);
+ case 47: return new ::Ifc4x3::IfcAnnotationFillArea(data);
+ case 48: return new ::Ifc4x3::IfcAnnotationTypeEnum(data);
+ case 49: return new ::Ifc4x3::IfcApplication(data);
+ case 50: return new ::Ifc4x3::IfcAppliedValue(data);
+ case 52: return new ::Ifc4x3::IfcApproval(data);
+ case 53: return new ::Ifc4x3::IfcApprovalRelationship(data);
+ case 54: return new ::Ifc4x3::IfcArbitraryClosedProfileDef(data);
+ case 55: return new ::Ifc4x3::IfcArbitraryOpenProfileDef(data);
+ case 56: return new ::Ifc4x3::IfcArbitraryProfileDefWithVoids(data);
+ case 57: return new ::Ifc4x3::IfcArcIndex(data);
+ case 58: return new ::Ifc4x3::IfcAreaDensityMeasure(data);
+ case 59: return new ::Ifc4x3::IfcAreaMeasure(data);
+ case 60: return new ::Ifc4x3::IfcArithmeticOperatorEnum(data);
+ case 61: return new ::Ifc4x3::IfcAssemblyPlaceEnum(data);
+ case 62: return new ::Ifc4x3::IfcAsset(data);
+ case 63: return new ::Ifc4x3::IfcAsymmetricIShapeProfileDef(data);
+ case 64: return new ::Ifc4x3::IfcAudioVisualAppliance(data);
+ case 65: return new ::Ifc4x3::IfcAudioVisualApplianceType(data);
+ case 66: return new ::Ifc4x3::IfcAudioVisualApplianceTypeEnum(data);
+ case 67: return new ::Ifc4x3::IfcAxis1Placement(data);
+ case 69: return new ::Ifc4x3::IfcAxis2Placement2D(data);
+ case 70: return new ::Ifc4x3::IfcAxis2Placement3D(data);
+ case 71: return new ::Ifc4x3::IfcAxis2PlacementLinear(data);
+ case 72: return new ::Ifc4x3::IfcBeam(data);
+ case 73: return new ::Ifc4x3::IfcBeamType(data);
+ case 74: return new ::Ifc4x3::IfcBeamTypeEnum(data);
+ case 75: return new ::Ifc4x3::IfcBearing(data);
+ case 76: return new ::Ifc4x3::IfcBearingType(data);
+ case 77: return new ::Ifc4x3::IfcBearingTypeDisplacementEnum(data);
+ case 78: return new ::Ifc4x3::IfcBearingTypeEnum(data);
+ case 79: return new ::Ifc4x3::IfcBenchmarkEnum(data);
+ case 81: return new ::Ifc4x3::IfcBinary(data);
+ case 82: return new ::Ifc4x3::IfcBlobTexture(data);
+ case 83: return new ::Ifc4x3::IfcBlock(data);
+ case 84: return new ::Ifc4x3::IfcBoiler(data);
+ case 85: return new ::Ifc4x3::IfcBoilerType(data);
+ case 86: return new ::Ifc4x3::IfcBoilerTypeEnum(data);
+ case 87: return new ::Ifc4x3::IfcBoolean(data);
+ case 88: return new ::Ifc4x3::IfcBooleanClippingResult(data);
+ case 90: return new ::Ifc4x3::IfcBooleanOperator(data);
+ case 91: return new ::Ifc4x3::IfcBooleanResult(data);
+ case 92: return new ::Ifc4x3::IfcBorehole(data);
+ case 93: return new ::Ifc4x3::IfcBoundaryCondition(data);
+ case 94: return new ::Ifc4x3::IfcBoundaryCurve(data);
+ case 95: return new ::Ifc4x3::IfcBoundaryEdgeCondition(data);
+ case 96: return new ::Ifc4x3::IfcBoundaryFaceCondition(data);
+ case 97: return new ::Ifc4x3::IfcBoundaryNodeCondition(data);
+ case 98: return new ::Ifc4x3::IfcBoundaryNodeConditionWarping(data);
+ case 99: return new ::Ifc4x3::IfcBoundedCurve(data);
+ case 100: return new ::Ifc4x3::IfcBoundedSurface(data);
+ case 101: return new ::Ifc4x3::IfcBoundingBox(data);
+ case 102: return new ::Ifc4x3::IfcBoxAlignment(data);
+ case 103: return new ::Ifc4x3::IfcBoxedHalfSpace(data);
+ case 104: return new ::Ifc4x3::IfcBridge(data);
+ case 105: return new ::Ifc4x3::IfcBridgePart(data);
+ case 106: return new ::Ifc4x3::IfcBridgePartTypeEnum(data);
+ case 107: return new ::Ifc4x3::IfcBridgeTypeEnum(data);
+ case 108: return new ::Ifc4x3::IfcBSplineCurve(data);
+ case 109: return new ::Ifc4x3::IfcBSplineCurveForm(data);
+ case 110: return new ::Ifc4x3::IfcBSplineCurveWithKnots(data);
+ case 111: return new ::Ifc4x3::IfcBSplineSurface(data);
+ case 112: return new ::Ifc4x3::IfcBSplineSurfaceForm(data);
+ case 113: return new ::Ifc4x3::IfcBSplineSurfaceWithKnots(data);
+ case 114: return new ::Ifc4x3::IfcBuilding(data);
+ case 115: return new ::Ifc4x3::IfcBuildingElementPart(data);
+ case 116: return new ::Ifc4x3::IfcBuildingElementPartType(data);
+ case 117: return new ::Ifc4x3::IfcBuildingElementPartTypeEnum(data);
+ case 118: return new ::Ifc4x3::IfcBuildingElementProxy(data);
+ case 119: return new ::Ifc4x3::IfcBuildingElementProxyType(data);
+ case 120: return new ::Ifc4x3::IfcBuildingElementProxyTypeEnum(data);
+ case 121: return new ::Ifc4x3::IfcBuildingStorey(data);
+ case 122: return new ::Ifc4x3::IfcBuildingSystem(data);
+ case 123: return new ::Ifc4x3::IfcBuildingSystemTypeEnum(data);
+ case 124: return new ::Ifc4x3::IfcBuiltElement(data);
+ case 125: return new ::Ifc4x3::IfcBuiltElementType(data);
+ case 126: return new ::Ifc4x3::IfcBuiltSystem(data);
+ case 127: return new ::Ifc4x3::IfcBuiltSystemTypeEnum(data);
+ case 128: return new ::Ifc4x3::IfcBurner(data);
+ case 129: return new ::Ifc4x3::IfcBurnerType(data);
+ case 130: return new ::Ifc4x3::IfcBurnerTypeEnum(data);
+ case 131: return new ::Ifc4x3::IfcCableCarrierFitting(data);
+ case 132: return new ::Ifc4x3::IfcCableCarrierFittingType(data);
+ case 133: return new ::Ifc4x3::IfcCableCarrierFittingTypeEnum(data);
+ case 134: return new ::Ifc4x3::IfcCableCarrierSegment(data);
+ case 135: return new ::Ifc4x3::IfcCableCarrierSegmentType(data);
+ case 136: return new ::Ifc4x3::IfcCableCarrierSegmentTypeEnum(data);
+ case 137: return new ::Ifc4x3::IfcCableFitting(data);
+ case 138: return new ::Ifc4x3::IfcCableFittingType(data);
+ case 139: return new ::Ifc4x3::IfcCableFittingTypeEnum(data);
+ case 140: return new ::Ifc4x3::IfcCableSegment(data);
+ case 141: return new ::Ifc4x3::IfcCableSegmentType(data);
+ case 142: return new ::Ifc4x3::IfcCableSegmentTypeEnum(data);
+ case 143: return new ::Ifc4x3::IfcCaissonFoundation(data);
+ case 144: return new ::Ifc4x3::IfcCaissonFoundationType(data);
+ case 145: return new ::Ifc4x3::IfcCaissonFoundationTypeEnum(data);
+ case 146: return new ::Ifc4x3::IfcCardinalPointReference(data);
+ case 147: return new ::Ifc4x3::IfcCartesianPoint(data);
+ case 148: return new ::Ifc4x3::IfcCartesianPointList(data);
+ case 149: return new ::Ifc4x3::IfcCartesianPointList2D(data);
+ case 150: return new ::Ifc4x3::IfcCartesianPointList3D(data);
+ case 151: return new ::Ifc4x3::IfcCartesianTransformationOperator(data);
+ case 152: return new ::Ifc4x3::IfcCartesianTransformationOperator2D(data);
+ case 153: return new ::Ifc4x3::IfcCartesianTransformationOperator2DnonUniform(data);
+ case 154: return new ::Ifc4x3::IfcCartesianTransformationOperator3D(data);
+ case 155: return new ::Ifc4x3::IfcCartesianTransformationOperator3DnonUniform(data);
+ case 156: return new ::Ifc4x3::IfcCenterLineProfileDef(data);
+ case 157: return new ::Ifc4x3::IfcChangeActionEnum(data);
+ case 158: return new ::Ifc4x3::IfcChiller(data);
+ case 159: return new ::Ifc4x3::IfcChillerType(data);
+ case 160: return new ::Ifc4x3::IfcChillerTypeEnum(data);
+ case 161: return new ::Ifc4x3::IfcChimney(data);
+ case 162: return new ::Ifc4x3::IfcChimneyType(data);
+ case 163: return new ::Ifc4x3::IfcChimneyTypeEnum(data);
+ case 164: return new ::Ifc4x3::IfcCircle(data);
+ case 165: return new ::Ifc4x3::IfcCircleHollowProfileDef(data);
+ case 166: return new ::Ifc4x3::IfcCircleProfileDef(data);
+ case 167: return new ::Ifc4x3::IfcCivilElement(data);
+ case 168: return new ::Ifc4x3::IfcCivilElementType(data);
+ case 169: return new ::Ifc4x3::IfcClassification(data);
+ case 170: return new ::Ifc4x3::IfcClassificationReference(data);
+ case 173: return new ::Ifc4x3::IfcClosedShell(data);
+ case 174: return new ::Ifc4x3::IfcClothoid(data);
+ case 175: return new ::Ifc4x3::IfcCoil(data);
+ case 176: return new ::Ifc4x3::IfcCoilType(data);
+ case 177: return new ::Ifc4x3::IfcCoilTypeEnum(data);
+ case 180: return new ::Ifc4x3::IfcColourRgb(data);
+ case 181: return new ::Ifc4x3::IfcColourRgbList(data);
+ case 182: return new ::Ifc4x3::IfcColourSpecification(data);
+ case 183: return new ::Ifc4x3::IfcColumn(data);
+ case 184: return new ::Ifc4x3::IfcColumnType(data);
+ case 185: return new ::Ifc4x3::IfcColumnTypeEnum(data);
+ case 186: return new ::Ifc4x3::IfcCommunicationsAppliance(data);
+ case 187: return new ::Ifc4x3::IfcCommunicationsApplianceType(data);
+ case 188: return new ::Ifc4x3::IfcCommunicationsApplianceTypeEnum(data);
+ case 189: return new ::Ifc4x3::IfcComplexNumber(data);
+ case 190: return new ::Ifc4x3::IfcComplexProperty(data);
+ case 191: return new ::Ifc4x3::IfcComplexPropertyTemplate(data);
+ case 192: return new ::Ifc4x3::IfcComplexPropertyTemplateTypeEnum(data);
+ case 193: return new ::Ifc4x3::IfcCompositeCurve(data);
+ case 194: return new ::Ifc4x3::IfcCompositeCurveOnSurface(data);
+ case 195: return new ::Ifc4x3::IfcCompositeCurveSegment(data);
+ case 196: return new ::Ifc4x3::IfcCompositeProfileDef(data);
+ case 197: return new ::Ifc4x3::IfcCompoundPlaneAngleMeasure(data);
+ case 198: return new ::Ifc4x3::IfcCompressor(data);
+ case 199: return new ::Ifc4x3::IfcCompressorType(data);
+ case 200: return new ::Ifc4x3::IfcCompressorTypeEnum(data);
+ case 201: return new ::Ifc4x3::IfcCondenser(data);
+ case 202: return new ::Ifc4x3::IfcCondenserType(data);
+ case 203: return new ::Ifc4x3::IfcCondenserTypeEnum(data);
+ case 204: return new ::Ifc4x3::IfcConic(data);
+ case 205: return new ::Ifc4x3::IfcConnectedFaceSet(data);
+ case 206: return new ::Ifc4x3::IfcConnectionCurveGeometry(data);
+ case 207: return new ::Ifc4x3::IfcConnectionGeometry(data);
+ case 208: return new ::Ifc4x3::IfcConnectionPointEccentricity(data);
+ case 209: return new ::Ifc4x3::IfcConnectionPointGeometry(data);
+ case 210: return new ::Ifc4x3::IfcConnectionSurfaceGeometry(data);
+ case 211: return new ::Ifc4x3::IfcConnectionTypeEnum(data);
+ case 212: return new ::Ifc4x3::IfcConnectionVolumeGeometry(data);
+ case 213: return new ::Ifc4x3::IfcConstraint(data);
+ case 214: return new ::Ifc4x3::IfcConstraintEnum(data);
+ case 215: return new ::Ifc4x3::IfcConstructionEquipmentResource(data);
+ case 216: return new ::Ifc4x3::IfcConstructionEquipmentResourceType(data);
+ case 217: return new ::Ifc4x3::IfcConstructionEquipmentResourceTypeEnum(data);
+ case 218: return new ::Ifc4x3::IfcConstructionMaterialResource(data);
+ case 219: return new ::Ifc4x3::IfcConstructionMaterialResourceType(data);
+ case 220: return new ::Ifc4x3::IfcConstructionMaterialResourceTypeEnum(data);
+ case 221: return new ::Ifc4x3::IfcConstructionProductResource(data);
+ case 222: return new ::Ifc4x3::IfcConstructionProductResourceType(data);
+ case 223: return new ::Ifc4x3::IfcConstructionProductResourceTypeEnum(data);
+ case 224: return new ::Ifc4x3::IfcConstructionResource(data);
+ case 225: return new ::Ifc4x3::IfcConstructionResourceType(data);
+ case 226: return new ::Ifc4x3::IfcContext(data);
+ case 227: return new ::Ifc4x3::IfcContextDependentMeasure(data);
+ case 228: return new ::Ifc4x3::IfcContextDependentUnit(data);
+ case 229: return new ::Ifc4x3::IfcControl(data);
+ case 230: return new ::Ifc4x3::IfcController(data);
+ case 231: return new ::Ifc4x3::IfcControllerType(data);
+ case 232: return new ::Ifc4x3::IfcControllerTypeEnum(data);
+ case 233: return new ::Ifc4x3::IfcConversionBasedUnit(data);
+ case 234: return new ::Ifc4x3::IfcConversionBasedUnitWithOffset(data);
+ case 235: return new ::Ifc4x3::IfcConveyorSegment(data);
+ case 236: return new ::Ifc4x3::IfcConveyorSegmentType(data);
+ case 237: return new ::Ifc4x3::IfcConveyorSegmentTypeEnum(data);
+ case 238: return new ::Ifc4x3::IfcCooledBeam(data);
+ case 239: return new ::Ifc4x3::IfcCooledBeamType(data);
+ case 240: return new ::Ifc4x3::IfcCooledBeamTypeEnum(data);
+ case 241: return new ::Ifc4x3::IfcCoolingTower(data);
+ case 242: return new ::Ifc4x3::IfcCoolingTowerType(data);
+ case 243: return new ::Ifc4x3::IfcCoolingTowerTypeEnum(data);
+ case 244: return new ::Ifc4x3::IfcCoordinateOperation(data);
+ case 245: return new ::Ifc4x3::IfcCoordinateReferenceSystem(data);
+ case 247: return new ::Ifc4x3::IfcCosineSpiral(data);
+ case 248: return new ::Ifc4x3::IfcCostItem(data);
+ case 249: return new ::Ifc4x3::IfcCostItemTypeEnum(data);
+ case 250: return new ::Ifc4x3::IfcCostSchedule(data);
+ case 251: return new ::Ifc4x3::IfcCostScheduleTypeEnum(data);
+ case 252: return new ::Ifc4x3::IfcCostValue(data);
+ case 253: return new ::Ifc4x3::IfcCountMeasure(data);
+ case 254: return new ::Ifc4x3::IfcCourse(data);
+ case 255: return new ::Ifc4x3::IfcCourseType(data);
+ case 256: return new ::Ifc4x3::IfcCourseTypeEnum(data);
+ case 257: return new ::Ifc4x3::IfcCovering(data);
+ case 258: return new ::Ifc4x3::IfcCoveringType(data);
+ case 259: return new ::Ifc4x3::IfcCoveringTypeEnum(data);
+ case 260: return new ::Ifc4x3::IfcCrewResource(data);
+ case 261: return new ::Ifc4x3::IfcCrewResourceType(data);
+ case 262: return new ::Ifc4x3::IfcCrewResourceTypeEnum(data);
+ case 263: return new ::Ifc4x3::IfcCsgPrimitive3D(data);
+ case 265: return new ::Ifc4x3::IfcCsgSolid(data);
+ case 266: return new ::Ifc4x3::IfcCShapeProfileDef(data);
+ case 267: return new ::Ifc4x3::IfcCurrencyRelationship(data);
+ case 268: return new ::Ifc4x3::IfcCurtainWall(data);
+ case 269: return new ::Ifc4x3::IfcCurtainWallType(data);
+ case 270: return new ::Ifc4x3::IfcCurtainWallTypeEnum(data);
+ case 271: return new ::Ifc4x3::IfcCurvatureMeasure(data);
+ case 272: return new ::Ifc4x3::IfcCurve(data);
+ case 273: return new ::Ifc4x3::IfcCurveBoundedPlane(data);
+ case 274: return new ::Ifc4x3::IfcCurveBoundedSurface(data);
+ case 276: return new ::Ifc4x3::IfcCurveInterpolationEnum(data);
+ case 280: return new ::Ifc4x3::IfcCurveSegment(data);
+ case 281: return new ::Ifc4x3::IfcCurveStyle(data);
+ case 282: return new ::Ifc4x3::IfcCurveStyleFont(data);
+ case 283: return new ::Ifc4x3::IfcCurveStyleFontAndScaling(data);
+ case 284: return new ::Ifc4x3::IfcCurveStyleFontPattern(data);
+ case 286: return new ::Ifc4x3::IfcCylindricalSurface(data);
+ case 287: return new ::Ifc4x3::IfcDamper(data);
+ case 288: return new ::Ifc4x3::IfcDamperType(data);
+ case 289: return new ::Ifc4x3::IfcDamperTypeEnum(data);
+ case 290: return new ::Ifc4x3::IfcDataOriginEnum(data);
+ case 291: return new ::Ifc4x3::IfcDate(data);
+ case 292: return new ::Ifc4x3::IfcDateTime(data);
+ case 293: return new ::Ifc4x3::IfcDayInMonthNumber(data);
+ case 294: return new ::Ifc4x3::IfcDayInWeekNumber(data);
+ case 295: return new ::Ifc4x3::IfcDeepFoundation(data);
+ case 296: return new ::Ifc4x3::IfcDeepFoundationType(data);
+ case 299: return new ::Ifc4x3::IfcDerivedProfileDef(data);
+ case 300: return new ::Ifc4x3::IfcDerivedUnit(data);
+ case 301: return new ::Ifc4x3::IfcDerivedUnitElement(data);
+ case 302: return new ::Ifc4x3::IfcDerivedUnitEnum(data);
+ case 303: return new ::Ifc4x3::IfcDescriptiveMeasure(data);
+ case 304: return new ::Ifc4x3::IfcDimensionalExponents(data);
+ case 305: return new ::Ifc4x3::IfcDimensionCount(data);
+ case 306: return new ::Ifc4x3::IfcDirection(data);
+ case 307: return new ::Ifc4x3::IfcDirectionSenseEnum(data);
+ case 308: return new ::Ifc4x3::IfcDirectrixCurveSweptAreaSolid(data);
+ case 309: return new ::Ifc4x3::IfcDirectrixDerivedReferenceSweptAreaSolid(data);
+ case 310: return new ::Ifc4x3::IfcDiscreteAccessory(data);
+ case 311: return new ::Ifc4x3::IfcDiscreteAccessoryType(data);
+ case 312: return new ::Ifc4x3::IfcDiscreteAccessoryTypeEnum(data);
+ case 313: return new ::Ifc4x3::IfcDistributionBoard(data);
+ case 314: return new ::Ifc4x3::IfcDistributionBoardType(data);
+ case 315: return new ::Ifc4x3::IfcDistributionBoardTypeEnum(data);
+ case 316: return new ::Ifc4x3::IfcDistributionChamberElement(data);
+ case 317: return new ::Ifc4x3::IfcDistributionChamberElementType(data);
+ case 318: return new ::Ifc4x3::IfcDistributionChamberElementTypeEnum(data);
+ case 319: return new ::Ifc4x3::IfcDistributionCircuit(data);
+ case 320: return new ::Ifc4x3::IfcDistributionControlElement(data);
+ case 321: return new ::Ifc4x3::IfcDistributionControlElementType(data);
+ case 322: return new ::Ifc4x3::IfcDistributionElement(data);
+ case 323: return new ::Ifc4x3::IfcDistributionElementType(data);
+ case 324: return new ::Ifc4x3::IfcDistributionFlowElement(data);
+ case 325: return new ::Ifc4x3::IfcDistributionFlowElementType(data);
+ case 326: return new ::Ifc4x3::IfcDistributionPort(data);
+ case 327: return new ::Ifc4x3::IfcDistributionPortTypeEnum(data);
+ case 328: return new ::Ifc4x3::IfcDistributionSystem(data);
+ case 329: return new ::Ifc4x3::IfcDistributionSystemEnum(data);
+ case 330: return new ::Ifc4x3::IfcDocumentConfidentialityEnum(data);
+ case 331: return new ::Ifc4x3::IfcDocumentInformation(data);
+ case 332: return new ::Ifc4x3::IfcDocumentInformationRelationship(data);
+ case 333: return new ::Ifc4x3::IfcDocumentReference(data);
+ case 335: return new ::Ifc4x3::IfcDocumentStatusEnum(data);
+ case 336: return new ::Ifc4x3::IfcDoor(data);
+ case 337: return new ::Ifc4x3::IfcDoorLiningProperties(data);
+ case 338: return new ::Ifc4x3::IfcDoorPanelOperationEnum(data);
+ case 339: return new ::Ifc4x3::IfcDoorPanelPositionEnum(data);
+ case 340: return new ::Ifc4x3::IfcDoorPanelProperties(data);
+ case 341: return new ::Ifc4x3::IfcDoorStyleConstructionEnum(data);
+ case 342: return new ::Ifc4x3::IfcDoorStyleOperationEnum(data);
+ case 343: return new ::Ifc4x3::IfcDoorType(data);
+ case 344: return new ::Ifc4x3::IfcDoorTypeEnum(data);
+ case 345: return new ::Ifc4x3::IfcDoorTypeOperationEnum(data);
+ case 346: return new ::Ifc4x3::IfcDoseEquivalentMeasure(data);
+ case 347: return new ::Ifc4x3::IfcDraughtingPreDefinedColour(data);
+ case 348: return new ::Ifc4x3::IfcDraughtingPreDefinedCurveFont(data);
+ case 349: return new ::Ifc4x3::IfcDuctFitting(data);
+ case 350: return new ::Ifc4x3::IfcDuctFittingType(data);
+ case 351: return new ::Ifc4x3::IfcDuctFittingTypeEnum(data);
+ case 352: return new ::Ifc4x3::IfcDuctSegment(data);
+ case 353: return new ::Ifc4x3::IfcDuctSegmentType(data);
+ case 354: return new ::Ifc4x3::IfcDuctSegmentTypeEnum(data);
+ case 355: return new ::Ifc4x3::IfcDuctSilencer(data);
+ case 356: return new ::Ifc4x3::IfcDuctSilencerType(data);
+ case 357: return new ::Ifc4x3::IfcDuctSilencerTypeEnum(data);
+ case 358: return new ::Ifc4x3::IfcDuration(data);
+ case 359: return new ::Ifc4x3::IfcDynamicViscosityMeasure(data);
+ case 360: return new ::Ifc4x3::IfcEarthworksCut(data);
+ case 361: return new ::Ifc4x3::IfcEarthworksCutTypeEnum(data);
+ case 362: return new ::Ifc4x3::IfcEarthworksElement(data);
+ case 363: return new ::Ifc4x3::IfcEarthworksFill(data);
+ case 364: return new ::Ifc4x3::IfcEarthworksFillTypeEnum(data);
+ case 365: return new ::Ifc4x3::IfcEdge(data);
+ case 366: return new ::Ifc4x3::IfcEdgeCurve(data);
+ case 367: return new ::Ifc4x3::IfcEdgeLoop(data);
+ case 368: return new ::Ifc4x3::IfcElectricAppliance(data);
+ case 369: return new ::Ifc4x3::IfcElectricApplianceType(data);
+ case 370: return new ::Ifc4x3::IfcElectricApplianceTypeEnum(data);
+ case 371: return new ::Ifc4x3::IfcElectricCapacitanceMeasure(data);
+ case 372: return new ::Ifc4x3::IfcElectricChargeMeasure(data);
+ case 373: return new ::Ifc4x3::IfcElectricConductanceMeasure(data);
+ case 374: return new ::Ifc4x3::IfcElectricCurrentMeasure(data);
+ case 375: return new ::Ifc4x3::IfcElectricDistributionBoard(data);
+ case 376: return new ::Ifc4x3::IfcElectricDistributionBoardType(data);
+ case 377: return new ::Ifc4x3::IfcElectricDistributionBoardTypeEnum(data);
+ case 378: return new ::Ifc4x3::IfcElectricFlowStorageDevice(data);
+ case 379: return new ::Ifc4x3::IfcElectricFlowStorageDeviceType(data);
+ case 380: return new ::Ifc4x3::IfcElectricFlowStorageDeviceTypeEnum(data);
+ case 381: return new ::Ifc4x3::IfcElectricFlowTreatmentDevice(data);
+ case 382: return new ::Ifc4x3::IfcElectricFlowTreatmentDeviceType(data);
+ case 383: return new ::Ifc4x3::IfcElectricFlowTreatmentDeviceTypeEnum(data);
+ case 384: return new ::Ifc4x3::IfcElectricGenerator(data);
+ case 385: return new ::Ifc4x3::IfcElectricGeneratorType(data);
+ case 386: return new ::Ifc4x3::IfcElectricGeneratorTypeEnum(data);
+ case 387: return new ::Ifc4x3::IfcElectricMotor(data);
+ case 388: return new ::Ifc4x3::IfcElectricMotorType(data);
+ case 389: return new ::Ifc4x3::IfcElectricMotorTypeEnum(data);
+ case 390: return new ::Ifc4x3::IfcElectricResistanceMeasure(data);
+ case 391: return new ::Ifc4x3::IfcElectricTimeControl(data);
+ case 392: return new ::Ifc4x3::IfcElectricTimeControlType(data);
+ case 393: return new ::Ifc4x3::IfcElectricTimeControlTypeEnum(data);
+ case 394: return new ::Ifc4x3::IfcElectricVoltageMeasure(data);
+ case 395: return new ::Ifc4x3::IfcElement(data);
+ case 396: return new ::Ifc4x3::IfcElementarySurface(data);
+ case 397: return new ::Ifc4x3::IfcElementAssembly(data);
+ case 398: return new ::Ifc4x3::IfcElementAssemblyType(data);
+ case 399: return new ::Ifc4x3::IfcElementAssemblyTypeEnum(data);
+ case 400: return new ::Ifc4x3::IfcElementComponent(data);
+ case 401: return new ::Ifc4x3::IfcElementComponentType(data);
+ case 402: return new ::Ifc4x3::IfcElementCompositionEnum(data);
+ case 403: return new ::Ifc4x3::IfcElementQuantity(data);
+ case 404: return new ::Ifc4x3::IfcElementType(data);
+ case 405: return new ::Ifc4x3::IfcEllipse(data);
+ case 406: return new ::Ifc4x3::IfcEllipseProfileDef(data);
+ case 407: return new ::Ifc4x3::IfcEnergyConversionDevice(data);
+ case 408: return new ::Ifc4x3::IfcEnergyConversionDeviceType(data);
+ case 409: return new ::Ifc4x3::IfcEnergyMeasure(data);
+ case 410: return new ::Ifc4x3::IfcEngine(data);
+ case 411: return new ::Ifc4x3::IfcEngineType(data);
+ case 412: return new ::Ifc4x3::IfcEngineTypeEnum(data);
+ case 413: return new ::Ifc4x3::IfcEvaporativeCooler(data);
+ case 414: return new ::Ifc4x3::IfcEvaporativeCoolerType(data);
+ case 415: return new ::Ifc4x3::IfcEvaporativeCoolerTypeEnum(data);
+ case 416: return new ::Ifc4x3::IfcEvaporator(data);
+ case 417: return new ::Ifc4x3::IfcEvaporatorType(data);
+ case 418: return new ::Ifc4x3::IfcEvaporatorTypeEnum(data);
+ case 419: return new ::Ifc4x3::IfcEvent(data);
+ case 420: return new ::Ifc4x3::IfcEventTime(data);
+ case 421: return new ::Ifc4x3::IfcEventTriggerTypeEnum(data);
+ case 422: return new ::Ifc4x3::IfcEventType(data);
+ case 423: return new ::Ifc4x3::IfcEventTypeEnum(data);
+ case 424: return new ::Ifc4x3::IfcExtendedProperties(data);
+ case 425: return new ::Ifc4x3::IfcExternalInformation(data);
+ case 426: return new ::Ifc4x3::IfcExternallyDefinedHatchStyle(data);
+ case 427: return new ::Ifc4x3::IfcExternallyDefinedSurfaceStyle(data);
+ case 428: return new ::Ifc4x3::IfcExternallyDefinedTextFont(data);
+ case 429: return new ::Ifc4x3::IfcExternalReference(data);
+ case 430: return new ::Ifc4x3::IfcExternalReferenceRelationship(data);
+ case 431: return new ::Ifc4x3::IfcExternalSpatialElement(data);
+ case 432: return new ::Ifc4x3::IfcExternalSpatialElementTypeEnum(data);
+ case 433: return new ::Ifc4x3::IfcExternalSpatialStructureElement(data);
+ case 434: return new ::Ifc4x3::IfcExtrudedAreaSolid(data);
+ case 435: return new ::Ifc4x3::IfcExtrudedAreaSolidTapered(data);
+ case 436: return new ::Ifc4x3::IfcFace(data);
+ case 437: return new ::Ifc4x3::IfcFaceBasedSurfaceModel(data);
+ case 438: return new ::Ifc4x3::IfcFaceBound(data);
+ case 439: return new ::Ifc4x3::IfcFaceOuterBound(data);
+ case 440: return new ::Ifc4x3::IfcFaceSurface(data);
+ case 441: return new ::Ifc4x3::IfcFacetedBrep(data);
+ case 442: return new ::Ifc4x3::IfcFacetedBrepWithVoids(data);
+ case 443: return new ::Ifc4x3::IfcFacility(data);
+ case 444: return new ::Ifc4x3::IfcFacilityPart(data);
+ case 445: return new ::Ifc4x3::IfcFacilityPartCommon(data);
+ case 446: return new ::Ifc4x3::IfcFacilityPartCommonTypeEnum(data);
+ case 447: return new ::Ifc4x3::IfcFacilityUsageEnum(data);
+ case 448: return new ::Ifc4x3::IfcFailureConnectionCondition(data);
+ case 449: return new ::Ifc4x3::IfcFan(data);
+ case 450: return new ::Ifc4x3::IfcFanType(data);
+ case 451: return new ::Ifc4x3::IfcFanTypeEnum(data);
+ case 452: return new ::Ifc4x3::IfcFastener(data);
+ case 453: return new ::Ifc4x3::IfcFastenerType(data);
+ case 454: return new ::Ifc4x3::IfcFastenerTypeEnum(data);
+ case 455: return new ::Ifc4x3::IfcFeatureElement(data);
+ case 456: return new ::Ifc4x3::IfcFeatureElementAddition(data);
+ case 457: return new ::Ifc4x3::IfcFeatureElementSubtraction(data);
+ case 458: return new ::Ifc4x3::IfcFillAreaStyle(data);
+ case 459: return new ::Ifc4x3::IfcFillAreaStyleHatching(data);
+ case 460: return new ::Ifc4x3::IfcFillAreaStyleTiles(data);
+ case 462: return new ::Ifc4x3::IfcFilter(data);
+ case 463: return new ::Ifc4x3::IfcFilterType(data);
+ case 464: return new ::Ifc4x3::IfcFilterTypeEnum(data);
+ case 465: return new ::Ifc4x3::IfcFireSuppressionTerminal(data);
+ case 466: return new ::Ifc4x3::IfcFireSuppressionTerminalType(data);
+ case 467: return new ::Ifc4x3::IfcFireSuppressionTerminalTypeEnum(data);
+ case 468: return new ::Ifc4x3::IfcFixedReferenceSweptAreaSolid(data);
+ case 469: return new ::Ifc4x3::IfcFlowController(data);
+ case 470: return new ::Ifc4x3::IfcFlowControllerType(data);
+ case 471: return new ::Ifc4x3::IfcFlowDirectionEnum(data);
+ case 472: return new ::Ifc4x3::IfcFlowFitting(data);
+ case 473: return new ::Ifc4x3::IfcFlowFittingType(data);
+ case 474: return new ::Ifc4x3::IfcFlowInstrument(data);
+ case 475: return new ::Ifc4x3::IfcFlowInstrumentType(data);
+ case 476: return new ::Ifc4x3::IfcFlowInstrumentTypeEnum(data);
+ case 477: return new ::Ifc4x3::IfcFlowMeter(data);
+ case 478: return new ::Ifc4x3::IfcFlowMeterType(data);
+ case 479: return new ::Ifc4x3::IfcFlowMeterTypeEnum(data);
+ case 480: return new ::Ifc4x3::IfcFlowMovingDevice(data);
+ case 481: return new ::Ifc4x3::IfcFlowMovingDeviceType(data);
+ case 482: return new ::Ifc4x3::IfcFlowSegment(data);
+ case 483: return new ::Ifc4x3::IfcFlowSegmentType(data);
+ case 484: return new ::Ifc4x3::IfcFlowStorageDevice(data);
+ case 485: return new ::Ifc4x3::IfcFlowStorageDeviceType(data);
+ case 486: return new ::Ifc4x3::IfcFlowTerminal(data);
+ case 487: return new ::Ifc4x3::IfcFlowTerminalType(data);
+ case 488: return new ::Ifc4x3::IfcFlowTreatmentDevice(data);
+ case 489: return new ::Ifc4x3::IfcFlowTreatmentDeviceType(data);
+ case 490: return new ::Ifc4x3::IfcFontStyle(data);
+ case 491: return new ::Ifc4x3::IfcFontVariant(data);
+ case 492: return new ::Ifc4x3::IfcFontWeight(data);
+ case 493: return new ::Ifc4x3::IfcFooting(data);
+ case 494: return new ::Ifc4x3::IfcFootingType(data);
+ case 495: return new ::Ifc4x3::IfcFootingTypeEnum(data);
+ case 496: return new ::Ifc4x3::IfcForceMeasure(data);
+ case 497: return new ::Ifc4x3::IfcFrequencyMeasure(data);
+ case 498: return new ::Ifc4x3::IfcFurnishingElement(data);
+ case 499: return new ::Ifc4x3::IfcFurnishingElementType(data);
+ case 500: return new ::Ifc4x3::IfcFurniture(data);
+ case 501: return new ::Ifc4x3::IfcFurnitureType(data);
+ case 502: return new ::Ifc4x3::IfcFurnitureTypeEnum(data);
+ case 503: return new ::Ifc4x3::IfcGeographicElement(data);
+ case 504: return new ::Ifc4x3::IfcGeographicElementType(data);
+ case 505: return new ::Ifc4x3::IfcGeographicElementTypeEnum(data);
+ case 506: return new ::Ifc4x3::IfcGeometricCurveSet(data);
+ case 507: return new ::Ifc4x3::IfcGeometricProjectionEnum(data);
+ case 508: return new ::Ifc4x3::IfcGeometricRepresentationContext(data);
+ case 509: return new ::Ifc4x3::IfcGeometricRepresentationItem(data);
+ case 510: return new ::Ifc4x3::IfcGeometricRepresentationSubContext(data);
+ case 511: return new ::Ifc4x3::IfcGeometricSet(data);
+ case 513: return new ::Ifc4x3::IfcGeomodel(data);
+ case 514: return new ::Ifc4x3::IfcGeoslice(data);
+ case 515: return new ::Ifc4x3::IfcGeotechnicalAssembly(data);
+ case 516: return new ::Ifc4x3::IfcGeotechnicalElement(data);
+ case 517: return new ::Ifc4x3::IfcGeotechnicalStratum(data);
+ case 518: return new ::Ifc4x3::IfcGeotechnicalStratumTypeEnum(data);
+ case 519: return new ::Ifc4x3::IfcGloballyUniqueId(data);
+ case 520: return new ::Ifc4x3::IfcGlobalOrLocalEnum(data);
+ case 521: return new ::Ifc4x3::IfcGradientCurve(data);
+ case 522: return new ::Ifc4x3::IfcGrid(data);
+ case 523: return new ::Ifc4x3::IfcGridAxis(data);
+ case 524: return new ::Ifc4x3::IfcGridPlacement(data);
+ case 526: return new ::Ifc4x3::IfcGridTypeEnum(data);
+ case 527: return new ::Ifc4x3::IfcGroup(data);
+ case 528: return new ::Ifc4x3::IfcHalfSpaceSolid(data);
+ case 530: return new ::Ifc4x3::IfcHeatExchanger(data);
+ case 531: return new ::Ifc4x3::IfcHeatExchangerType(data);
+ case 532: return new ::Ifc4x3::IfcHeatExchangerTypeEnum(data);
+ case 533: return new ::Ifc4x3::IfcHeatFluxDensityMeasure(data);
+ case 534: return new ::Ifc4x3::IfcHeatingValueMeasure(data);
+ case 535: return new ::Ifc4x3::IfcHumidifier(data);
+ case 536: return new ::Ifc4x3::IfcHumidifierType(data);
+ case 537: return new ::Ifc4x3::IfcHumidifierTypeEnum(data);
+ case 538: return new ::Ifc4x3::IfcIdentifier(data);
+ case 539: return new ::Ifc4x3::IfcIlluminanceMeasure(data);
+ case 540: return new ::Ifc4x3::IfcImageTexture(data);
+ case 541: return new ::Ifc4x3::IfcImpactProtectionDevice(data);
+ case 542: return new ::Ifc4x3::IfcImpactProtectionDeviceType(data);
+ case 543: return new ::Ifc4x3::IfcImpactProtectionDeviceTypeEnum(data);
+ case 544: return new ::Ifc4x3::IfcIndexedColourMap(data);
+ case 545: return new ::Ifc4x3::IfcIndexedPolyCurve(data);
+ case 546: return new ::Ifc4x3::IfcIndexedPolygonalFace(data);
+ case 547: return new ::Ifc4x3::IfcIndexedPolygonalFaceWithVoids(data);
+ case 548: return new ::Ifc4x3::IfcIndexedPolygonalTextureMap(data);
+ case 549: return new ::Ifc4x3::IfcIndexedTextureMap(data);
+ case 550: return new ::Ifc4x3::IfcIndexedTriangleTextureMap(data);
+ case 551: return new ::Ifc4x3::IfcInductanceMeasure(data);
+ case 552: return new ::Ifc4x3::IfcInteger(data);
+ case 553: return new ::Ifc4x3::IfcIntegerCountRateMeasure(data);
+ case 554: return new ::Ifc4x3::IfcInterceptor(data);
+ case 555: return new ::Ifc4x3::IfcInterceptorType(data);
+ case 556: return new ::Ifc4x3::IfcInterceptorTypeEnum(data);
+ case 558: return new ::Ifc4x3::IfcInternalOrExternalEnum(data);
+ case 559: return new ::Ifc4x3::IfcIntersectionCurve(data);
+ case 560: return new ::Ifc4x3::IfcInventory(data);
+ case 561: return new ::Ifc4x3::IfcInventoryTypeEnum(data);
+ case 562: return new ::Ifc4x3::IfcIonConcentrationMeasure(data);
+ case 563: return new ::Ifc4x3::IfcIrregularTimeSeries(data);
+ case 564: return new ::Ifc4x3::IfcIrregularTimeSeriesValue(data);
+ case 565: return new ::Ifc4x3::IfcIShapeProfileDef(data);
+ case 566: return new ::Ifc4x3::IfcIsothermalMoistureCapacityMeasure(data);
+ case 567: return new ::Ifc4x3::IfcJunctionBox(data);
+ case 568: return new ::Ifc4x3::IfcJunctionBoxType(data);
+ case 569: return new ::Ifc4x3::IfcJunctionBoxTypeEnum(data);
+ case 570: return new ::Ifc4x3::IfcKerb(data);
+ case 571: return new ::Ifc4x3::IfcKerbType(data);
+ case 572: return new ::Ifc4x3::IfcKinematicViscosityMeasure(data);
+ case 573: return new ::Ifc4x3::IfcKnotType(data);
+ case 574: return new ::Ifc4x3::IfcLabel(data);
+ case 575: return new ::Ifc4x3::IfcLaborResource(data);
+ case 576: return new ::Ifc4x3::IfcLaborResourceType(data);
+ case 577: return new ::Ifc4x3::IfcLaborResourceTypeEnum(data);
+ case 578: return new ::Ifc4x3::IfcLagTime(data);
+ case 579: return new ::Ifc4x3::IfcLamp(data);
+ case 580: return new ::Ifc4x3::IfcLampType(data);
+ case 581: return new ::Ifc4x3::IfcLampTypeEnum(data);
+ case 582: return new ::Ifc4x3::IfcLanguageId(data);
+ case 584: return new ::Ifc4x3::IfcLayerSetDirectionEnum(data);
+ case 585: return new ::Ifc4x3::IfcLengthMeasure(data);
+ case 586: return new ::Ifc4x3::IfcLibraryInformation(data);
+ case 587: return new ::Ifc4x3::IfcLibraryReference(data);
+ case 589: return new ::Ifc4x3::IfcLightDistributionCurveEnum(data);
+ case 590: return new ::Ifc4x3::IfcLightDistributionData(data);
+ case 592: return new ::Ifc4x3::IfcLightEmissionSourceEnum(data);
+ case 593: return new ::Ifc4x3::IfcLightFixture(data);
+ case 594: return new ::Ifc4x3::IfcLightFixtureType(data);
+ case 595: return new ::Ifc4x3::IfcLightFixtureTypeEnum(data);
+ case 596: return new ::Ifc4x3::IfcLightIntensityDistribution(data);
+ case 597: return new ::Ifc4x3::IfcLightSource(data);
+ case 598: return new ::Ifc4x3::IfcLightSourceAmbient(data);
+ case 599: return new ::Ifc4x3::IfcLightSourceDirectional(data);
+ case 600: return new ::Ifc4x3::IfcLightSourceGoniometric(data);
+ case 601: return new ::Ifc4x3::IfcLightSourcePositional(data);
+ case 602: return new ::Ifc4x3::IfcLightSourceSpot(data);
+ case 603: return new ::Ifc4x3::IfcLine(data);
+ case 604: return new ::Ifc4x3::IfcLinearElement(data);
+ case 605: return new ::Ifc4x3::IfcLinearForceMeasure(data);
+ case 606: return new ::Ifc4x3::IfcLinearMomentMeasure(data);
+ case 607: return new ::Ifc4x3::IfcLinearPlacement(data);
+ case 608: return new ::Ifc4x3::IfcLinearPositioningElement(data);
+ case 609: return new ::Ifc4x3::IfcLinearStiffnessMeasure(data);
+ case 610: return new ::Ifc4x3::IfcLinearVelocityMeasure(data);
+ case 611: return new ::Ifc4x3::IfcLineIndex(data);
+ case 612: return new ::Ifc4x3::IfcLiquidTerminal(data);
+ case 613: return new ::Ifc4x3::IfcLiquidTerminalType(data);
+ case 614: return new ::Ifc4x3::IfcLiquidTerminalTypeEnum(data);
+ case 615: return new ::Ifc4x3::IfcLoadGroupTypeEnum(data);
+ case 616: return new ::Ifc4x3::IfcLocalPlacement(data);
+ case 617: return new ::Ifc4x3::IfcLogical(data);
+ case 618: return new ::Ifc4x3::IfcLogicalOperatorEnum(data);
+ case 619: return new ::Ifc4x3::IfcLoop(data);
+ case 620: return new ::Ifc4x3::IfcLShapeProfileDef(data);
+ case 621: return new ::Ifc4x3::IfcLuminousFluxMeasure(data);
+ case 622: return new ::Ifc4x3::IfcLuminousIntensityDistributionMeasure(data);
+ case 623: return new ::Ifc4x3::IfcLuminousIntensityMeasure(data);
+ case 624: return new ::Ifc4x3::IfcMagneticFluxDensityMeasure(data);
+ case 625: return new ::Ifc4x3::IfcMagneticFluxMeasure(data);
+ case 626: return new ::Ifc4x3::IfcManifoldSolidBrep(data);
+ case 627: return new ::Ifc4x3::IfcMapConversion(data);
+ case 628: return new ::Ifc4x3::IfcMappedItem(data);
+ case 629: return new ::Ifc4x3::IfcMarineFacility(data);
+ case 630: return new ::Ifc4x3::IfcMarineFacilityTypeEnum(data);
+ case 631: return new ::Ifc4x3::IfcMarinePart(data);
+ case 632: return new ::Ifc4x3::IfcMarinePartTypeEnum(data);
+ case 633: return new ::Ifc4x3::IfcMassDensityMeasure(data);
+ case 634: return new ::Ifc4x3::IfcMassFlowRateMeasure(data);
+ case 635: return new ::Ifc4x3::IfcMassMeasure(data);
+ case 636: return new ::Ifc4x3::IfcMassPerLengthMeasure(data);
+ case 637: return new ::Ifc4x3::IfcMaterial(data);
+ case 638: return new ::Ifc4x3::IfcMaterialClassificationRelationship(data);
+ case 639: return new ::Ifc4x3::IfcMaterialConstituent(data);
+ case 640: return new ::Ifc4x3::IfcMaterialConstituentSet(data);
+ case 641: return new ::Ifc4x3::IfcMaterialDefinition(data);
+ case 642: return new ::Ifc4x3::IfcMaterialDefinitionRepresentation(data);
+ case 643: return new ::Ifc4x3::IfcMaterialLayer(data);
+ case 644: return new ::Ifc4x3::IfcMaterialLayerSet(data);
+ case 645: return new ::Ifc4x3::IfcMaterialLayerSetUsage(data);
+ case 646: return new ::Ifc4x3::IfcMaterialLayerWithOffsets(data);
+ case 647: return new ::Ifc4x3::IfcMaterialList(data);
+ case 648: return new ::Ifc4x3::IfcMaterialProfile(data);
+ case 649: return new ::Ifc4x3::IfcMaterialProfileSet(data);
+ case 650: return new ::Ifc4x3::IfcMaterialProfileSetUsage(data);
+ case 651: return new ::Ifc4x3::IfcMaterialProfileSetUsageTapering(data);
+ case 652: return new ::Ifc4x3::IfcMaterialProfileWithOffsets(data);
+ case 653: return new ::Ifc4x3::IfcMaterialProperties(data);
+ case 654: return new ::Ifc4x3::IfcMaterialRelationship(data);
+ case 656: return new ::Ifc4x3::IfcMaterialUsageDefinition(data);
+ case 658: return new ::Ifc4x3::IfcMeasureWithUnit(data);
+ case 659: return new ::Ifc4x3::IfcMechanicalFastener(data);
+ case 660: return new ::Ifc4x3::IfcMechanicalFastenerType(data);
+ case 661: return new ::Ifc4x3::IfcMechanicalFastenerTypeEnum(data);
+ case 662: return new ::Ifc4x3::IfcMedicalDevice(data);
+ case 663: return new ::Ifc4x3::IfcMedicalDeviceType(data);
+ case 664: return new ::Ifc4x3::IfcMedicalDeviceTypeEnum(data);
+ case 665: return new ::Ifc4x3::IfcMember(data);
+ case 666: return new ::Ifc4x3::IfcMemberType(data);
+ case 667: return new ::Ifc4x3::IfcMemberTypeEnum(data);
+ case 668: return new ::Ifc4x3::IfcMetric(data);
+ case 670: return new ::Ifc4x3::IfcMirroredProfileDef(data);
+ case 671: return new ::Ifc4x3::IfcMobileTelecommunicationsAppliance(data);
+ case 672: return new ::Ifc4x3::IfcMobileTelecommunicationsApplianceType(data);
+ case 673: return new ::Ifc4x3::IfcMobileTelecommunicationsApplianceTypeEnum(data);
+ case 674: return new ::Ifc4x3::IfcModulusOfElasticityMeasure(data);
+ case 675: return new ::Ifc4x3::IfcModulusOfLinearSubgradeReactionMeasure(data);
+ case 676: return new ::Ifc4x3::IfcModulusOfRotationalSubgradeReactionMeasure(data);
+ case 678: return new ::Ifc4x3::IfcModulusOfSubgradeReactionMeasure(data);
+ case 681: return new ::Ifc4x3::IfcMoistureDiffusivityMeasure(data);
+ case 682: return new ::Ifc4x3::IfcMolecularWeightMeasure(data);
+ case 683: return new ::Ifc4x3::IfcMomentOfInertiaMeasure(data);
+ case 684: return new ::Ifc4x3::IfcMonetaryMeasure(data);
+ case 685: return new ::Ifc4x3::IfcMonetaryUnit(data);
+ case 686: return new ::Ifc4x3::IfcMonthInYearNumber(data);
+ case 687: return new ::Ifc4x3::IfcMooringDevice(data);
+ case 688: return new ::Ifc4x3::IfcMooringDeviceType(data);
+ case 689: return new ::Ifc4x3::IfcMooringDeviceTypeEnum(data);
+ case 690: return new ::Ifc4x3::IfcMotorConnection(data);
+ case 691: return new ::Ifc4x3::IfcMotorConnectionType(data);
+ case 692: return new ::Ifc4x3::IfcMotorConnectionTypeEnum(data);
+ case 693: return new ::Ifc4x3::IfcNamedUnit(data);
+ case 694: return new ::Ifc4x3::IfcNavigationElement(data);
+ case 695: return new ::Ifc4x3::IfcNavigationElementType(data);
+ case 696: return new ::Ifc4x3::IfcNavigationElementTypeEnum(data);
+ case 697: return new ::Ifc4x3::IfcNonNegativeLengthMeasure(data);
+ case 698: return new ::Ifc4x3::IfcNormalisedRatioMeasure(data);
+ case 699: return new ::Ifc4x3::IfcNumericMeasure(data);
+ case 700: return new ::Ifc4x3::IfcObject(data);
+ case 701: return new ::Ifc4x3::IfcObjectDefinition(data);
+ case 702: return new ::Ifc4x3::IfcObjective(data);
+ case 703: return new ::Ifc4x3::IfcObjectiveEnum(data);
+ case 704: return new ::Ifc4x3::IfcObjectPlacement(data);
+ case 706: return new ::Ifc4x3::IfcObjectTypeEnum(data);
+ case 707: return new ::Ifc4x3::IfcOccupant(data);
+ case 708: return new ::Ifc4x3::IfcOccupantTypeEnum(data);
+ case 709: return new ::Ifc4x3::IfcOffsetCurve(data);
+ case 710: return new ::Ifc4x3::IfcOffsetCurve2D(data);
+ case 711: return new ::Ifc4x3::IfcOffsetCurve3D(data);
+ case 712: return new ::Ifc4x3::IfcOffsetCurveByDistances(data);
+ case 713: return new ::Ifc4x3::IfcOpenCrossProfileDef(data);
+ case 714: return new ::Ifc4x3::IfcOpeningElement(data);
+ case 715: return new ::Ifc4x3::IfcOpeningElementTypeEnum(data);
+ case 716: return new ::Ifc4x3::IfcOpenShell(data);
+ case 717: return new ::Ifc4x3::IfcOrganization(data);
+ case 718: return new ::Ifc4x3::IfcOrganizationRelationship(data);
+ case 719: return new ::Ifc4x3::IfcOrientedEdge(data);
+ case 720: return new ::Ifc4x3::IfcOuterBoundaryCurve(data);
+ case 721: return new ::Ifc4x3::IfcOutlet(data);
+ case 722: return new ::Ifc4x3::IfcOutletType(data);
+ case 723: return new ::Ifc4x3::IfcOutletTypeEnum(data);
+ case 724: return new ::Ifc4x3::IfcOwnerHistory(data);
+ case 725: return new ::Ifc4x3::IfcParameterizedProfileDef(data);
+ case 726: return new ::Ifc4x3::IfcParameterValue(data);
+ case 727: return new ::Ifc4x3::IfcPath(data);
+ case 728: return new ::Ifc4x3::IfcPavement(data);
+ case 729: return new ::Ifc4x3::IfcPavementType(data);
+ case 730: return new ::Ifc4x3::IfcPavementTypeEnum(data);
+ case 731: return new ::Ifc4x3::IfcPcurve(data);
+ case 732: return new ::Ifc4x3::IfcPerformanceHistory(data);
+ case 733: return new ::Ifc4x3::IfcPerformanceHistoryTypeEnum(data);
+ case 734: return new ::Ifc4x3::IfcPermeableCoveringOperationEnum(data);
+ case 735: return new ::Ifc4x3::IfcPermeableCoveringProperties(data);
+ case 736: return new ::Ifc4x3::IfcPermit(data);
+ case 737: return new ::Ifc4x3::IfcPermitTypeEnum(data);
+ case 738: return new ::Ifc4x3::IfcPerson(data);
+ case 739: return new ::Ifc4x3::IfcPersonAndOrganization(data);
+ case 740: return new ::Ifc4x3::IfcPHMeasure(data);
+ case 741: return new ::Ifc4x3::IfcPhysicalComplexQuantity(data);
+ case 742: return new ::Ifc4x3::IfcPhysicalOrVirtualEnum(data);
+ case 743: return new ::Ifc4x3::IfcPhysicalQuantity(data);
+ case 744: return new ::Ifc4x3::IfcPhysicalSimpleQuantity(data);
+ case 745: return new ::Ifc4x3::IfcPile(data);
+ case 746: return new ::Ifc4x3::IfcPileConstructionEnum(data);
+ case 747: return new ::Ifc4x3::IfcPileType(data);
+ case 748: return new ::Ifc4x3::IfcPileTypeEnum(data);
+ case 749: return new ::Ifc4x3::IfcPipeFitting(data);
+ case 750: return new ::Ifc4x3::IfcPipeFittingType(data);
+ case 751: return new ::Ifc4x3::IfcPipeFittingTypeEnum(data);
+ case 752: return new ::Ifc4x3::IfcPipeSegment(data);
+ case 753: return new ::Ifc4x3::IfcPipeSegmentType(data);
+ case 754: return new ::Ifc4x3::IfcPipeSegmentTypeEnum(data);
+ case 755: return new ::Ifc4x3::IfcPixelTexture(data);
+ case 756: return new ::Ifc4x3::IfcPlacement(data);
+ case 757: return new ::Ifc4x3::IfcPlanarBox(data);
+ case 758: return new ::Ifc4x3::IfcPlanarExtent(data);
+ case 759: return new ::Ifc4x3::IfcPlanarForceMeasure(data);
+ case 760: return new ::Ifc4x3::IfcPlane(data);
+ case 761: return new ::Ifc4x3::IfcPlaneAngleMeasure(data);
+ case 762: return new ::Ifc4x3::IfcPlate(data);
+ case 763: return new ::Ifc4x3::IfcPlateType(data);
+ case 764: return new ::Ifc4x3::IfcPlateTypeEnum(data);
+ case 765: return new ::Ifc4x3::IfcPoint(data);
+ case 766: return new ::Ifc4x3::IfcPointByDistanceExpression(data);
+ case 767: return new ::Ifc4x3::IfcPointOnCurve(data);
+ case 768: return new ::Ifc4x3::IfcPointOnSurface(data);
+ case 770: return new ::Ifc4x3::IfcPolygonalBoundedHalfSpace(data);
+ case 771: return new ::Ifc4x3::IfcPolygonalFaceSet(data);
+ case 772: return new ::Ifc4x3::IfcPolyline(data);
+ case 773: return new ::Ifc4x3::IfcPolyLoop(data);
+ case 774: return new ::Ifc4x3::IfcPolynomialCurve(data);
+ case 775: return new ::Ifc4x3::IfcPort(data);
+ case 776: return new ::Ifc4x3::IfcPositioningElement(data);
+ case 777: return new ::Ifc4x3::IfcPositiveInteger(data);
+ case 778: return new ::Ifc4x3::IfcPositiveLengthMeasure(data);
+ case 779: return new ::Ifc4x3::IfcPositivePlaneAngleMeasure(data);
+ case 780: return new ::Ifc4x3::IfcPositiveRatioMeasure(data);
+ case 781: return new ::Ifc4x3::IfcPostalAddress(data);
+ case 782: return new ::Ifc4x3::IfcPowerMeasure(data);
+ case 783: return new ::Ifc4x3::IfcPreDefinedColour(data);
+ case 784: return new ::Ifc4x3::IfcPreDefinedCurveFont(data);
+ case 785: return new ::Ifc4x3::IfcPreDefinedItem(data);
+ case 786: return new ::Ifc4x3::IfcPreDefinedProperties(data);
+ case 787: return new ::Ifc4x3::IfcPreDefinedPropertySet(data);
+ case 788: return new ::Ifc4x3::IfcPreDefinedTextFont(data);
+ case 789: return new ::Ifc4x3::IfcPreferredSurfaceCurveRepresentation(data);
+ case 790: return new ::Ifc4x3::IfcPresentableText(data);
+ case 791: return new ::Ifc4x3::IfcPresentationItem(data);
+ case 792: return new ::Ifc4x3::IfcPresentationLayerAssignment(data);
+ case 793: return new ::Ifc4x3::IfcPresentationLayerWithStyle(data);
+ case 794: return new ::Ifc4x3::IfcPresentationStyle(data);
+ case 795: return new ::Ifc4x3::IfcPressureMeasure(data);
+ case 796: return new ::Ifc4x3::IfcProcedure(data);
+ case 797: return new ::Ifc4x3::IfcProcedureType(data);
+ case 798: return new ::Ifc4x3::IfcProcedureTypeEnum(data);
+ case 799: return new ::Ifc4x3::IfcProcess(data);
+ case 801: return new ::Ifc4x3::IfcProduct(data);
+ case 802: return new ::Ifc4x3::IfcProductDefinitionShape(data);
+ case 803: return new ::Ifc4x3::IfcProductRepresentation(data);
+ case 806: return new ::Ifc4x3::IfcProfileDef(data);
+ case 807: return new ::Ifc4x3::IfcProfileProperties(data);
+ case 808: return new ::Ifc4x3::IfcProfileTypeEnum(data);
+ case 809: return new ::Ifc4x3::IfcProject(data);
+ case 810: return new ::Ifc4x3::IfcProjectedCRS(data);
+ case 811: return new ::Ifc4x3::IfcProjectedOrTrueLengthEnum(data);
+ case 812: return new ::Ifc4x3::IfcProjectionElement(data);
+ case 813: return new ::Ifc4x3::IfcProjectionElementTypeEnum(data);
+ case 814: return new ::Ifc4x3::IfcProjectLibrary(data);
+ case 815: return new ::Ifc4x3::IfcProjectOrder(data);
+ case 816: return new ::Ifc4x3::IfcProjectOrderTypeEnum(data);
+ case 817: return new ::Ifc4x3::IfcProperty(data);
+ case 818: return new ::Ifc4x3::IfcPropertyAbstraction(data);
+ case 819: return new ::Ifc4x3::IfcPropertyBoundedValue(data);
+ case 820: return new ::Ifc4x3::IfcPropertyDefinition(data);
+ case 821: return new ::Ifc4x3::IfcPropertyDependencyRelationship(data);
+ case 822: return new ::Ifc4x3::IfcPropertyEnumeratedValue(data);
+ case 823: return new ::Ifc4x3::IfcPropertyEnumeration(data);
+ case 824: return new ::Ifc4x3::IfcPropertyListValue(data);
+ case 825: return new ::Ifc4x3::IfcPropertyReferenceValue(data);
+ case 826: return new ::Ifc4x3::IfcPropertySet(data);
+ case 827: return new ::Ifc4x3::IfcPropertySetDefinition(data);
+ case 829: return new ::Ifc4x3::IfcPropertySetDefinitionSet(data);
+ case 830: return new ::Ifc4x3::IfcPropertySetTemplate(data);
+ case 831: return new ::Ifc4x3::IfcPropertySetTemplateTypeEnum(data);
+ case 832: return new ::Ifc4x3::IfcPropertySingleValue(data);
+ case 833: return new ::Ifc4x3::IfcPropertyTableValue(data);
+ case 834: return new ::Ifc4x3::IfcPropertyTemplate(data);
+ case 835: return new ::Ifc4x3::IfcPropertyTemplateDefinition(data);
+ case 836: return new ::Ifc4x3::IfcProtectiveDevice(data);
+ case 837: return new ::Ifc4x3::IfcProtectiveDeviceTrippingUnit(data);
+ case 838: return new ::Ifc4x3::IfcProtectiveDeviceTrippingUnitType(data);
+ case 839: return new ::Ifc4x3::IfcProtectiveDeviceTrippingUnitTypeEnum(data);
+ case 840: return new ::Ifc4x3::IfcProtectiveDeviceType(data);
+ case 841: return new ::Ifc4x3::IfcProtectiveDeviceTypeEnum(data);
+ case 842: return new ::Ifc4x3::IfcPump(data);
+ case 843: return new ::Ifc4x3::IfcPumpType(data);
+ case 844: return new ::Ifc4x3::IfcPumpTypeEnum(data);
+ case 845: return new ::Ifc4x3::IfcQuantityArea(data);
+ case 846: return new ::Ifc4x3::IfcQuantityCount(data);
+ case 847: return new ::Ifc4x3::IfcQuantityLength(data);
+ case 848: return new ::Ifc4x3::IfcQuantityNumber(data);
+ case 849: return new ::Ifc4x3::IfcQuantitySet(data);
+ case 850: return new ::Ifc4x3::IfcQuantityTime(data);
+ case 851: return new ::Ifc4x3::IfcQuantityVolume(data);
+ case 852: return new ::Ifc4x3::IfcQuantityWeight(data);
+ case 853: return new ::Ifc4x3::IfcRadioActivityMeasure(data);
+ case 854: return new ::Ifc4x3::IfcRail(data);
+ case 855: return new ::Ifc4x3::IfcRailing(data);
+ case 856: return new ::Ifc4x3::IfcRailingType(data);
+ case 857: return new ::Ifc4x3::IfcRailingTypeEnum(data);
+ case 858: return new ::Ifc4x3::IfcRailType(data);
+ case 859: return new ::Ifc4x3::IfcRailTypeEnum(data);
+ case 860: return new ::Ifc4x3::IfcRailway(data);
+ case 861: return new ::Ifc4x3::IfcRailwayPart(data);
+ case 862: return new ::Ifc4x3::IfcRailwayPartTypeEnum(data);
+ case 863: return new ::Ifc4x3::IfcRailwayTypeEnum(data);
+ case 864: return new ::Ifc4x3::IfcRamp(data);
+ case 865: return new ::Ifc4x3::IfcRampFlight(data);
+ case 866: return new ::Ifc4x3::IfcRampFlightType(data);
+ case 867: return new ::Ifc4x3::IfcRampFlightTypeEnum(data);
+ case 868: return new ::Ifc4x3::IfcRampType(data);
+ case 869: return new ::Ifc4x3::IfcRampTypeEnum(data);
+ case 870: return new ::Ifc4x3::IfcRatioMeasure(data);
+ case 871: return new ::Ifc4x3::IfcRationalBSplineCurveWithKnots(data);
+ case 872: return new ::Ifc4x3::IfcRationalBSplineSurfaceWithKnots(data);
+ case 873: return new ::Ifc4x3::IfcReal(data);
+ case 874: return new ::Ifc4x3::IfcRectangleHollowProfileDef(data);
+ case 875: return new ::Ifc4x3::IfcRectangleProfileDef(data);
+ case 876: return new ::Ifc4x3::IfcRectangularPyramid(data);
+ case 877: return new ::Ifc4x3::IfcRectangularTrimmedSurface(data);
+ case 878: return new ::Ifc4x3::IfcRecurrencePattern(data);
+ case 879: return new ::Ifc4x3::IfcRecurrenceTypeEnum(data);
+ case 880: return new ::Ifc4x3::IfcReference(data);
+ case 881: return new ::Ifc4x3::IfcReferent(data);
+ case 882: return new ::Ifc4x3::IfcReferentTypeEnum(data);
+ case 883: return new ::Ifc4x3::IfcReflectanceMethodEnum(data);
+ case 884: return new ::Ifc4x3::IfcRegularTimeSeries(data);
+ case 885: return new ::Ifc4x3::IfcReinforcedSoil(data);
+ case 886: return new ::Ifc4x3::IfcReinforcedSoilTypeEnum(data);
+ case 887: return new ::Ifc4x3::IfcReinforcementBarProperties(data);
+ case 888: return new ::Ifc4x3::IfcReinforcementDefinitionProperties(data);
+ case 889: return new ::Ifc4x3::IfcReinforcingBar(data);
+ case 890: return new ::Ifc4x3::IfcReinforcingBarRoleEnum(data);
+ case 891: return new ::Ifc4x3::IfcReinforcingBarSurfaceEnum(data);
+ case 892: return new ::Ifc4x3::IfcReinforcingBarType(data);
+ case 893: return new ::Ifc4x3::IfcReinforcingBarTypeEnum(data);
+ case 894: return new ::Ifc4x3::IfcReinforcingElement(data);
+ case 895: return new ::Ifc4x3::IfcReinforcingElementType(data);
+ case 896: return new ::Ifc4x3::IfcReinforcingMesh(data);
+ case 897: return new ::Ifc4x3::IfcReinforcingMeshType(data);
+ case 898: return new ::Ifc4x3::IfcReinforcingMeshTypeEnum(data);
+ case 899: return new ::Ifc4x3::IfcRelAdheresToElement(data);
+ case 900: return new ::Ifc4x3::IfcRelAggregates(data);
+ case 901: return new ::Ifc4x3::IfcRelAssigns(data);
+ case 902: return new ::Ifc4x3::IfcRelAssignsToActor(data);
+ case 903: return new ::Ifc4x3::IfcRelAssignsToControl(data);
+ case 904: return new ::Ifc4x3::IfcRelAssignsToGroup(data);
+ case 905: return new ::Ifc4x3::IfcRelAssignsToGroupByFactor(data);
+ case 906: return new ::Ifc4x3::IfcRelAssignsToProcess(data);
+ case 907: return new ::Ifc4x3::IfcRelAssignsToProduct(data);
+ case 908: return new ::Ifc4x3::IfcRelAssignsToResource(data);
+ case 909: return new ::Ifc4x3::IfcRelAssociates(data);
+ case 910: return new ::Ifc4x3::IfcRelAssociatesApproval(data);
+ case 911: return new ::Ifc4x3::IfcRelAssociatesClassification(data);
+ case 912: return new ::Ifc4x3::IfcRelAssociatesConstraint(data);
+ case 913: return new ::Ifc4x3::IfcRelAssociatesDocument(data);
+ case 914: return new ::Ifc4x3::IfcRelAssociatesLibrary(data);
+ case 915: return new ::Ifc4x3::IfcRelAssociatesMaterial(data);
+ case 916: return new ::Ifc4x3::IfcRelAssociatesProfileDef(data);
+ case 917: return new ::Ifc4x3::IfcRelationship(data);
+ case 918: return new ::Ifc4x3::IfcRelConnects(data);
+ case 919: return new ::Ifc4x3::IfcRelConnectsElements(data);
+ case 920: return new ::Ifc4x3::IfcRelConnectsPathElements(data);
+ case 921: return new ::Ifc4x3::IfcRelConnectsPorts(data);
+ case 922: return new ::Ifc4x3::IfcRelConnectsPortToElement(data);
+ case 923: return new ::Ifc4x3::IfcRelConnectsStructuralActivity(data);
+ case 924: return new ::Ifc4x3::IfcRelConnectsStructuralMember(data);
+ case 925: return new ::Ifc4x3::IfcRelConnectsWithEccentricity(data);
+ case 926: return new ::Ifc4x3::IfcRelConnectsWithRealizingElements(data);
+ case 927: return new ::Ifc4x3::IfcRelContainedInSpatialStructure(data);
+ case 928: return new ::Ifc4x3::IfcRelCoversBldgElements(data);
+ case 929: return new ::Ifc4x3::IfcRelCoversSpaces(data);
+ case 930: return new ::Ifc4x3::IfcRelDeclares(data);
+ case 931: return new ::Ifc4x3::IfcRelDecomposes(data);
+ case 932: return new ::Ifc4x3::IfcRelDefines(data);
+ case 933: return new ::Ifc4x3::IfcRelDefinesByObject(data);
+ case 934: return new ::Ifc4x3::IfcRelDefinesByProperties(data);
+ case 935: return new ::Ifc4x3::IfcRelDefinesByTemplate(data);
+ case 936: return new ::Ifc4x3::IfcRelDefinesByType(data);
+ case 937: return new ::Ifc4x3::IfcRelFillsElement(data);
+ case 938: return new ::Ifc4x3::IfcRelFlowControlElements(data);
+ case 939: return new ::Ifc4x3::IfcRelInterferesElements(data);
+ case 940: return new ::Ifc4x3::IfcRelNests(data);
+ case 941: return new ::Ifc4x3::IfcRelPositions(data);
+ case 942: return new ::Ifc4x3::IfcRelProjectsElement(data);
+ case 943: return new ::Ifc4x3::IfcRelReferencedInSpatialStructure(data);
+ case 944: return new ::Ifc4x3::IfcRelSequence(data);
+ case 945: return new ::Ifc4x3::IfcRelServicesBuildings(data);
+ case 946: return new ::Ifc4x3::IfcRelSpaceBoundary(data);
+ case 947: return new ::Ifc4x3::IfcRelSpaceBoundary1stLevel(data);
+ case 948: return new ::Ifc4x3::IfcRelSpaceBoundary2ndLevel(data);
+ case 949: return new ::Ifc4x3::IfcRelVoidsElement(data);
+ case 950: return new ::Ifc4x3::IfcReparametrisedCompositeCurveSegment(data);
+ case 951: return new ::Ifc4x3::IfcRepresentation(data);
+ case 952: return new ::Ifc4x3::IfcRepresentationContext(data);
+ case 953: return new ::Ifc4x3::IfcRepresentationItem(data);
+ case 954: return new ::Ifc4x3::IfcRepresentationMap(data);
+ case 955: return new ::Ifc4x3::IfcResource(data);
+ case 956: return new ::Ifc4x3::IfcResourceApprovalRelationship(data);
+ case 957: return new ::Ifc4x3::IfcResourceConstraintRelationship(data);
+ case 958: return new ::Ifc4x3::IfcResourceLevelRelationship(data);
+ case 961: return new ::Ifc4x3::IfcResourceTime(data);
+ case 962: return new ::Ifc4x3::IfcRevolvedAreaSolid(data);
+ case 963: return new ::Ifc4x3::IfcRevolvedAreaSolidTapered(data);
+ case 964: return new ::Ifc4x3::IfcRightCircularCone(data);
+ case 965: return new ::Ifc4x3::IfcRightCircularCylinder(data);
+ case 966: return new ::Ifc4x3::IfcRoad(data);
+ case 967: return new ::Ifc4x3::IfcRoadPart(data);
+ case 968: return new ::Ifc4x3::IfcRoadPartTypeEnum(data);
+ case 969: return new ::Ifc4x3::IfcRoadTypeEnum(data);
+ case 970: return new ::Ifc4x3::IfcRoleEnum(data);
+ case 971: return new ::Ifc4x3::IfcRoof(data);
+ case 972: return new ::Ifc4x3::IfcRoofType(data);
+ case 973: return new ::Ifc4x3::IfcRoofTypeEnum(data);
+ case 974: return new ::Ifc4x3::IfcRoot(data);
+ case 975: return new ::Ifc4x3::IfcRotationalFrequencyMeasure(data);
+ case 976: return new ::Ifc4x3::IfcRotationalMassMeasure(data);
+ case 977: return new ::Ifc4x3::IfcRotationalStiffnessMeasure(data);
+ case 979: return new ::Ifc4x3::IfcRoundedRectangleProfileDef(data);
+ case 980: return new ::Ifc4x3::IfcSanitaryTerminal(data);
+ case 981: return new ::Ifc4x3::IfcSanitaryTerminalType(data);
+ case 982: return new ::Ifc4x3::IfcSanitaryTerminalTypeEnum(data);
+ case 983: return new ::Ifc4x3::IfcSchedulingTime(data);
+ case 984: return new ::Ifc4x3::IfcSeamCurve(data);
+ case 985: return new ::Ifc4x3::IfcSecondOrderPolynomialSpiral(data);
+ case 986: return new ::Ifc4x3::IfcSectionalAreaIntegralMeasure(data);
+ case 987: return new ::Ifc4x3::IfcSectionedSolid(data);
+ case 988: return new ::Ifc4x3::IfcSectionedSolidHorizontal(data);
+ case 989: return new ::Ifc4x3::IfcSectionedSpine(data);
+ case 990: return new ::Ifc4x3::IfcSectionedSurface(data);
+ case 991: return new ::Ifc4x3::IfcSectionModulusMeasure(data);
+ case 992: return new ::Ifc4x3::IfcSectionProperties(data);
+ case 993: return new ::Ifc4x3::IfcSectionReinforcementProperties(data);
+ case 994: return new ::Ifc4x3::IfcSectionTypeEnum(data);
+ case 995: return new ::Ifc4x3::IfcSegment(data);
+ case 996: return new ::Ifc4x3::IfcSegmentedReferenceCurve(data);
+ case 998: return new ::Ifc4x3::IfcSensor(data);
+ case 999: return new ::Ifc4x3::IfcSensorType(data);
+ case 1000: return new ::Ifc4x3::IfcSensorTypeEnum(data);
+ case 1001: return new ::Ifc4x3::IfcSequenceEnum(data);
+ case 1002: return new ::Ifc4x3::IfcSeventhOrderPolynomialSpiral(data);
+ case 1003: return new ::Ifc4x3::IfcShadingDevice(data);
+ case 1004: return new ::Ifc4x3::IfcShadingDeviceType(data);
+ case 1005: return new ::Ifc4x3::IfcShadingDeviceTypeEnum(data);
+ case 1006: return new ::Ifc4x3::IfcShapeAspect(data);
+ case 1007: return new ::Ifc4x3::IfcShapeModel(data);
+ case 1008: return new ::Ifc4x3::IfcShapeRepresentation(data);
+ case 1009: return new ::Ifc4x3::IfcShearModulusMeasure(data);
+ case 1011: return new ::Ifc4x3::IfcShellBasedSurfaceModel(data);
+ case 1012: return new ::Ifc4x3::IfcSign(data);
+ case 1013: return new ::Ifc4x3::IfcSignal(data);
+ case 1014: return new ::Ifc4x3::IfcSignalType(data);
+ case 1015: return new ::Ifc4x3::IfcSignalTypeEnum(data);
+ case 1016: return new ::Ifc4x3::IfcSignType(data);
+ case 1017: return new ::Ifc4x3::IfcSignTypeEnum(data);
+ case 1018: return new ::Ifc4x3::IfcSimpleProperty(data);
+ case 1019: return new ::Ifc4x3::IfcSimplePropertyTemplate(data);
+ case 1020: return new ::Ifc4x3::IfcSimplePropertyTemplateTypeEnum(data);
+ case 1022: return new ::Ifc4x3::IfcSineSpiral(data);
+ case 1023: return new ::Ifc4x3::IfcSIPrefix(data);
+ case 1024: return new ::Ifc4x3::IfcSite(data);
+ case 1025: return new ::Ifc4x3::IfcSIUnit(data);
+ case 1026: return new ::Ifc4x3::IfcSIUnitName(data);
+ case 1028: return new ::Ifc4x3::IfcSlab(data);
+ case 1029: return new ::Ifc4x3::IfcSlabType(data);
+ case 1030: return new ::Ifc4x3::IfcSlabTypeEnum(data);
+ case 1031: return new ::Ifc4x3::IfcSlippageConnectionCondition(data);
+ case 1032: return new ::Ifc4x3::IfcSolarDevice(data);
+ case 1033: return new ::Ifc4x3::IfcSolarDeviceType(data);
+ case 1034: return new ::Ifc4x3::IfcSolarDeviceTypeEnum(data);
+ case 1035: return new ::Ifc4x3::IfcSolidAngleMeasure(data);
+ case 1036: return new ::Ifc4x3::IfcSolidModel(data);
+ case 1038: return new ::Ifc4x3::IfcSoundPowerLevelMeasure(data);
+ case 1039: return new ::Ifc4x3::IfcSoundPowerMeasure(data);
+ case 1040: return new ::Ifc4x3::IfcSoundPressureLevelMeasure(data);
+ case 1041: return new ::Ifc4x3::IfcSoundPressureMeasure(data);
+ case 1042: return new ::Ifc4x3::IfcSpace(data);
+ case 1044: return new ::Ifc4x3::IfcSpaceHeater(data);
+ case 1045: return new ::Ifc4x3::IfcSpaceHeaterType(data);
+ case 1046: return new ::Ifc4x3::IfcSpaceHeaterTypeEnum(data);
+ case 1047: return new ::Ifc4x3::IfcSpaceType(data);
+ case 1048: return new ::Ifc4x3::IfcSpaceTypeEnum(data);
+ case 1049: return new ::Ifc4x3::IfcSpatialElement(data);
+ case 1050: return new ::Ifc4x3::IfcSpatialElementType(data);
+ case 1052: return new ::Ifc4x3::IfcSpatialStructureElement(data);
+ case 1053: return new ::Ifc4x3::IfcSpatialStructureElementType(data);
+ case 1054: return new ::Ifc4x3::IfcSpatialZone(data);
+ case 1055: return new ::Ifc4x3::IfcSpatialZoneType(data);
+ case 1056: return new ::Ifc4x3::IfcSpatialZoneTypeEnum(data);
+ case 1057: return new ::Ifc4x3::IfcSpecificHeatCapacityMeasure(data);
+ case 1058: return new ::Ifc4x3::IfcSpecularExponent(data);
+ case 1060: return new ::Ifc4x3::IfcSpecularRoughness(data);
+ case 1061: return new ::Ifc4x3::IfcSphere(data);
+ case 1062: return new ::Ifc4x3::IfcSphericalSurface(data);
+ case 1063: return new ::Ifc4x3::IfcSpiral(data);
+ case 1064: return new ::Ifc4x3::IfcStackTerminal(data);
+ case 1065: return new ::Ifc4x3::IfcStackTerminalType(data);
+ case 1066: return new ::Ifc4x3::IfcStackTerminalTypeEnum(data);
+ case 1067: return new ::Ifc4x3::IfcStair(data);
+ case 1068: return new ::Ifc4x3::IfcStairFlight(data);
+ case 1069: return new ::Ifc4x3::IfcStairFlightType(data);
+ case 1070: return new ::Ifc4x3::IfcStairFlightTypeEnum(data);
+ case 1071: return new ::Ifc4x3::IfcStairType(data);
+ case 1072: return new ::Ifc4x3::IfcStairTypeEnum(data);
+ case 1073: return new ::Ifc4x3::IfcStateEnum(data);
+ case 1074: return new ::Ifc4x3::IfcStructuralAction(data);
+ case 1075: return new ::Ifc4x3::IfcStructuralActivity(data);
+ case 1077: return new ::Ifc4x3::IfcStructuralAnalysisModel(data);
+ case 1078: return new ::Ifc4x3::IfcStructuralConnection(data);
+ case 1079: return new ::Ifc4x3::IfcStructuralConnectionCondition(data);
+ case 1080: return new ::Ifc4x3::IfcStructuralCurveAction(data);
+ case 1081: return new ::Ifc4x3::IfcStructuralCurveActivityTypeEnum(data);
+ case 1082: return new ::Ifc4x3::IfcStructuralCurveConnection(data);
+ case 1083: return new ::Ifc4x3::IfcStructuralCurveMember(data);
+ case 1084: return new ::Ifc4x3::IfcStructuralCurveMemberTypeEnum(data);
+ case 1085: return new ::Ifc4x3::IfcStructuralCurveMemberVarying(data);
+ case 1086: return new ::Ifc4x3::IfcStructuralCurveReaction(data);
+ case 1087: return new ::Ifc4x3::IfcStructuralItem(data);
+ case 1088: return new ::Ifc4x3::IfcStructuralLinearAction(data);
+ case 1089: return new ::Ifc4x3::IfcStructuralLoad(data);
+ case 1090: return new ::Ifc4x3::IfcStructuralLoadCase(data);
+ case 1091: return new ::Ifc4x3::IfcStructuralLoadConfiguration(data);
+ case 1092: return new ::Ifc4x3::IfcStructuralLoadGroup(data);
+ case 1093: return new ::Ifc4x3::IfcStructuralLoadLinearForce(data);
+ case 1094: return new ::Ifc4x3::IfcStructuralLoadOrResult(data);
+ case 1095: return new ::Ifc4x3::IfcStructuralLoadPlanarForce(data);
+ case 1096: return new ::Ifc4x3::IfcStructuralLoadSingleDisplacement(data);
+ case 1097: return new ::Ifc4x3::IfcStructuralLoadSingleDisplacementDistortion(data);
+ case 1098: return new ::Ifc4x3::IfcStructuralLoadSingleForce(data);
+ case 1099: return new ::Ifc4x3::IfcStructuralLoadSingleForceWarping(data);
+ case 1100: return new ::Ifc4x3::IfcStructuralLoadStatic(data);
+ case 1101: return new ::Ifc4x3::IfcStructuralLoadTemperature(data);
+ case 1102: return new ::Ifc4x3::IfcStructuralMember(data);
+ case 1103: return new ::Ifc4x3::IfcStructuralPlanarAction(data);
+ case 1104: return new ::Ifc4x3::IfcStructuralPointAction(data);
+ case 1105: return new ::Ifc4x3::IfcStructuralPointConnection(data);
+ case 1106: return new ::Ifc4x3::IfcStructuralPointReaction(data);
+ case 1107: return new ::Ifc4x3::IfcStructuralReaction(data);
+ case 1108: return new ::Ifc4x3::IfcStructuralResultGroup(data);
+ case 1109: return new ::Ifc4x3::IfcStructuralSurfaceAction(data);
+ case 1110: return new ::Ifc4x3::IfcStructuralSurfaceActivityTypeEnum(data);
+ case 1111: return new ::Ifc4x3::IfcStructuralSurfaceConnection(data);
+ case 1112: return new ::Ifc4x3::IfcStructuralSurfaceMember(data);
+ case 1113: return new ::Ifc4x3::IfcStructuralSurfaceMemberTypeEnum(data);
+ case 1114: return new ::Ifc4x3::IfcStructuralSurfaceMemberVarying(data);
+ case 1115: return new ::Ifc4x3::IfcStructuralSurfaceReaction(data);
+ case 1116: return new ::Ifc4x3::IfcStyledItem(data);
+ case 1117: return new ::Ifc4x3::IfcStyledRepresentation(data);
+ case 1118: return new ::Ifc4x3::IfcStyleModel(data);
+ case 1119: return new ::Ifc4x3::IfcSubContractResource(data);
+ case 1120: return new ::Ifc4x3::IfcSubContractResourceType(data);
+ case 1121: return new ::Ifc4x3::IfcSubContractResourceTypeEnum(data);
+ case 1122: return new ::Ifc4x3::IfcSubedge(data);
+ case 1123: return new ::Ifc4x3::IfcSurface(data);
+ case 1124: return new ::Ifc4x3::IfcSurfaceCurve(data);
+ case 1125: return new ::Ifc4x3::IfcSurfaceCurveSweptAreaSolid(data);
+ case 1126: return new ::Ifc4x3::IfcSurfaceFeature(data);
+ case 1127: return new ::Ifc4x3::IfcSurfaceFeatureTypeEnum(data);
+ case 1128: return new ::Ifc4x3::IfcSurfaceOfLinearExtrusion(data);
+ case 1129: return new ::Ifc4x3::IfcSurfaceOfRevolution(data);
+ case 1131: return new ::Ifc4x3::IfcSurfaceReinforcementArea(data);
+ case 1132: return new ::Ifc4x3::IfcSurfaceSide(data);
+ case 1133: return new ::Ifc4x3::IfcSurfaceStyle(data);
+ case 1135: return new ::Ifc4x3::IfcSurfaceStyleLighting(data);
+ case 1136: return new ::Ifc4x3::IfcSurfaceStyleRefraction(data);
+ case 1137: return new ::Ifc4x3::IfcSurfaceStyleRendering(data);
+ case 1138: return new ::Ifc4x3::IfcSurfaceStyleShading(data);
+ case 1139: return new ::Ifc4x3::IfcSurfaceStyleWithTextures(data);
+ case 1140: return new ::Ifc4x3::IfcSurfaceTexture(data);
+ case 1141: return new ::Ifc4x3::IfcSweptAreaSolid(data);
+ case 1142: return new ::Ifc4x3::IfcSweptDiskSolid(data);
+ case 1143: return new ::Ifc4x3::IfcSweptDiskSolidPolygonal(data);
+ case 1144: return new ::Ifc4x3::IfcSweptSurface(data);
+ case 1145: return new ::Ifc4x3::IfcSwitchingDevice(data);
+ case 1146: return new ::Ifc4x3::IfcSwitchingDeviceType(data);
+ case 1147: return new ::Ifc4x3::IfcSwitchingDeviceTypeEnum(data);
+ case 1148: return new ::Ifc4x3::IfcSystem(data);
+ case 1149: return new ::Ifc4x3::IfcSystemFurnitureElement(data);
+ case 1150: return new ::Ifc4x3::IfcSystemFurnitureElementType(data);
+ case 1151: return new ::Ifc4x3::IfcSystemFurnitureElementTypeEnum(data);
+ case 1152: return new ::Ifc4x3::IfcTable(data);
+ case 1153: return new ::Ifc4x3::IfcTableColumn(data);
+ case 1154: return new ::Ifc4x3::IfcTableRow(data);
+ case 1155: return new ::Ifc4x3::IfcTank(data);
+ case 1156: return new ::Ifc4x3::IfcTankType(data);
+ case 1157: return new ::Ifc4x3::IfcTankTypeEnum(data);
+ case 1158: return new ::Ifc4x3::IfcTask(data);
+ case 1159: return new ::Ifc4x3::IfcTaskDurationEnum(data);
+ case 1160: return new ::Ifc4x3::IfcTaskTime(data);
+ case 1161: return new ::Ifc4x3::IfcTaskTimeRecurring(data);
+ case 1162: return new ::Ifc4x3::IfcTaskType(data);
+ case 1163: return new ::Ifc4x3::IfcTaskTypeEnum(data);
+ case 1164: return new ::Ifc4x3::IfcTelecomAddress(data);
+ case 1165: return new ::Ifc4x3::IfcTemperatureGradientMeasure(data);
+ case 1166: return new ::Ifc4x3::IfcTemperatureRateOfChangeMeasure(data);
+ case 1167: return new ::Ifc4x3::IfcTendon(data);
+ case 1168: return new ::Ifc4x3::IfcTendonAnchor(data);
+ case 1169: return new ::Ifc4x3::IfcTendonAnchorType(data);
+ case 1170: return new ::Ifc4x3::IfcTendonAnchorTypeEnum(data);
+ case 1171: return new ::Ifc4x3::IfcTendonConduit(data);
+ case 1172: return new ::Ifc4x3::IfcTendonConduitType(data);
+ case 1173: return new ::Ifc4x3::IfcTendonConduitTypeEnum(data);
+ case 1174: return new ::Ifc4x3::IfcTendonType(data);
+ case 1175: return new ::Ifc4x3::IfcTendonTypeEnum(data);
+ case 1176: return new ::Ifc4x3::IfcTessellatedFaceSet(data);
+ case 1177: return new ::Ifc4x3::IfcTessellatedItem(data);
+ case 1178: return new ::Ifc4x3::IfcText(data);
+ case 1179: return new ::Ifc4x3::IfcTextAlignment(data);
+ case 1180: return new ::Ifc4x3::IfcTextDecoration(data);
+ case 1181: return new ::Ifc4x3::IfcTextFontName(data);
+ case 1183: return new ::Ifc4x3::IfcTextLiteral(data);
+ case 1184: return new ::Ifc4x3::IfcTextLiteralWithExtent(data);
+ case 1185: return new ::Ifc4x3::IfcTextPath(data);
+ case 1186: return new ::Ifc4x3::IfcTextStyle(data);
+ case 1187: return new ::Ifc4x3::IfcTextStyleFontModel(data);
+ case 1188: return new ::Ifc4x3::IfcTextStyleForDefinedFont(data);
+ case 1189: return new ::Ifc4x3::IfcTextStyleTextModel(data);
+ case 1190: return new ::Ifc4x3::IfcTextTransformation(data);
+ case 1191: return new ::Ifc4x3::IfcTextureCoordinate(data);
+ case 1192: return new ::Ifc4x3::IfcTextureCoordinateGenerator(data);
+ case 1193: return new ::Ifc4x3::IfcTextureCoordinateIndices(data);
+ case 1194: return new ::Ifc4x3::IfcTextureCoordinateIndicesWithVoids(data);
+ case 1195: return new ::Ifc4x3::IfcTextureMap(data);
+ case 1196: return new ::Ifc4x3::IfcTextureVertex(data);
+ case 1197: return new ::Ifc4x3::IfcTextureVertexList(data);
+ case 1198: return new ::Ifc4x3::IfcThermalAdmittanceMeasure(data);
+ case 1199: return new ::Ifc4x3::IfcThermalConductivityMeasure(data);
+ case 1200: return new ::Ifc4x3::IfcThermalExpansionCoefficientMeasure(data);
+ case 1201: return new ::Ifc4x3::IfcThermalResistanceMeasure(data);
+ case 1202: return new ::Ifc4x3::IfcThermalTransmittanceMeasure(data);
+ case 1203: return new ::Ifc4x3::IfcThermodynamicTemperatureMeasure(data);
+ case 1204: return new ::Ifc4x3::IfcThirdOrderPolynomialSpiral(data);
+ case 1205: return new ::Ifc4x3::IfcTime(data);
+ case 1206: return new ::Ifc4x3::IfcTimeMeasure(data);
+ case 1208: return new ::Ifc4x3::IfcTimePeriod(data);
+ case 1209: return new ::Ifc4x3::IfcTimeSeries(data);
+ case 1210: return new ::Ifc4x3::IfcTimeSeriesDataTypeEnum(data);
+ case 1211: return new ::Ifc4x3::IfcTimeSeriesValue(data);
+ case 1212: return new ::Ifc4x3::IfcTimeStamp(data);
+ case 1213: return new ::Ifc4x3::IfcTopologicalRepresentationItem(data);
+ case 1214: return new ::Ifc4x3::IfcTopologyRepresentation(data);
+ case 1215: return new ::Ifc4x3::IfcToroidalSurface(data);
+ case 1216: return new ::Ifc4x3::IfcTorqueMeasure(data);
+ case 1217: return new ::Ifc4x3::IfcTrackElement(data);
+ case 1218: return new ::Ifc4x3::IfcTrackElementType(data);
+ case 1219: return new ::Ifc4x3::IfcTrackElementTypeEnum(data);
+ case 1220: return new ::Ifc4x3::IfcTransformer(data);
+ case 1221: return new ::Ifc4x3::IfcTransformerType(data);
+ case 1222: return new ::Ifc4x3::IfcTransformerTypeEnum(data);
+ case 1223: return new ::Ifc4x3::IfcTransitionCode(data);
+ case 1225: return new ::Ifc4x3::IfcTransportationDevice(data);
+ case 1226: return new ::Ifc4x3::IfcTransportationDeviceType(data);
+ case 1227: return new ::Ifc4x3::IfcTransportElement(data);
+ case 1228: return new ::Ifc4x3::IfcTransportElementType(data);
+ case 1229: return new ::Ifc4x3::IfcTransportElementTypeEnum(data);
+ case 1230: return new ::Ifc4x3::IfcTrapeziumProfileDef(data);
+ case 1231: return new ::Ifc4x3::IfcTriangulatedFaceSet(data);
+ case 1232: return new ::Ifc4x3::IfcTriangulatedIrregularNetwork(data);
+ case 1233: return new ::Ifc4x3::IfcTrimmedCurve(data);
+ case 1234: return new ::Ifc4x3::IfcTrimmingPreference(data);
+ case 1236: return new ::Ifc4x3::IfcTShapeProfileDef(data);
+ case 1237: return new ::Ifc4x3::IfcTubeBundle(data);
+ case 1238: return new ::Ifc4x3::IfcTubeBundleType(data);
+ case 1239: return new ::Ifc4x3::IfcTubeBundleTypeEnum(data);
+ case 1240: return new ::Ifc4x3::IfcTypeObject(data);
+ case 1241: return new ::Ifc4x3::IfcTypeProcess(data);
+ case 1242: return new ::Ifc4x3::IfcTypeProduct(data);
+ case 1243: return new ::Ifc4x3::IfcTypeResource(data);
+ case 1245: return new ::Ifc4x3::IfcUnitaryControlElement(data);
+ case 1246: return new ::Ifc4x3::IfcUnitaryControlElementType(data);
+ case 1247: return new ::Ifc4x3::IfcUnitaryControlElementTypeEnum(data);
+ case 1248: return new ::Ifc4x3::IfcUnitaryEquipment(data);
+ case 1249: return new ::Ifc4x3::IfcUnitaryEquipmentType(data);
+ case 1250: return new ::Ifc4x3::IfcUnitaryEquipmentTypeEnum(data);
+ case 1251: return new ::Ifc4x3::IfcUnitAssignment(data);
+ case 1252: return new ::Ifc4x3::IfcUnitEnum(data);
+ case 1253: return new ::Ifc4x3::IfcURIReference(data);
+ case 1254: return new ::Ifc4x3::IfcUShapeProfileDef(data);
+ case 1256: return new ::Ifc4x3::IfcValve(data);
+ case 1257: return new ::Ifc4x3::IfcValveType(data);
+ case 1258: return new ::Ifc4x3::IfcValveTypeEnum(data);
+ case 1259: return new ::Ifc4x3::IfcVaporPermeabilityMeasure(data);
+ case 1260: return new ::Ifc4x3::IfcVector(data);
+ case 1262: return new ::Ifc4x3::IfcVehicle(data);
+ case 1263: return new ::Ifc4x3::IfcVehicleType(data);
+ case 1264: return new ::Ifc4x3::IfcVehicleTypeEnum(data);
+ case 1265: return new ::Ifc4x3::IfcVertex(data);
+ case 1266: return new ::Ifc4x3::IfcVertexLoop(data);
+ case 1267: return new ::Ifc4x3::IfcVertexPoint(data);
+ case 1268: return new ::Ifc4x3::IfcVibrationDamper(data);
+ case 1269: return new ::Ifc4x3::IfcVibrationDamperType(data);
+ case 1270: return new ::Ifc4x3::IfcVibrationDamperTypeEnum(data);
+ case 1271: return new ::Ifc4x3::IfcVibrationIsolator(data);
+ case 1272: return new ::Ifc4x3::IfcVibrationIsolatorType(data);
+ case 1273: return new ::Ifc4x3::IfcVibrationIsolatorTypeEnum(data);
+ case 1274: return new ::Ifc4x3::IfcVirtualElement(data);
+ case 1275: return new ::Ifc4x3::IfcVirtualElementTypeEnum(data);
+ case 1276: return new ::Ifc4x3::IfcVirtualGridIntersection(data);
+ case 1277: return new ::Ifc4x3::IfcVoidingFeature(data);
+ case 1278: return new ::Ifc4x3::IfcVoidingFeatureTypeEnum(data);
+ case 1279: return new ::Ifc4x3::IfcVolumeMeasure(data);
+ case 1280: return new ::Ifc4x3::IfcVolumetricFlowRateMeasure(data);
+ case 1281: return new ::Ifc4x3::IfcWall(data);
+ case 1282: return new ::Ifc4x3::IfcWallStandardCase(data);
+ case 1283: return new ::Ifc4x3::IfcWallType(data);
+ case 1284: return new ::Ifc4x3::IfcWallTypeEnum(data);
+ case 1285: return new ::Ifc4x3::IfcWarpingConstantMeasure(data);
+ case 1286: return new ::Ifc4x3::IfcWarpingMomentMeasure(data);
+ case 1288: return new ::Ifc4x3::IfcWasteTerminal(data);
+ case 1289: return new ::Ifc4x3::IfcWasteTerminalType(data);
+ case 1290: return new ::Ifc4x3::IfcWasteTerminalTypeEnum(data);
+ case 1291: return new ::Ifc4x3::IfcWindow(data);
+ case 1292: return new ::Ifc4x3::IfcWindowLiningProperties(data);
+ case 1293: return new ::Ifc4x3::IfcWindowPanelOperationEnum(data);
+ case 1294: return new ::Ifc4x3::IfcWindowPanelPositionEnum(data);
+ case 1295: return new ::Ifc4x3::IfcWindowPanelProperties(data);
+ case 1296: return new ::Ifc4x3::IfcWindowStyleConstructionEnum(data);
+ case 1297: return new ::Ifc4x3::IfcWindowStyleOperationEnum(data);
+ case 1298: return new ::Ifc4x3::IfcWindowType(data);
+ case 1299: return new ::Ifc4x3::IfcWindowTypeEnum(data);
+ case 1300: return new ::Ifc4x3::IfcWindowTypePartitioningEnum(data);
+ case 1301: return new ::Ifc4x3::IfcWorkCalendar(data);
+ case 1302: return new ::Ifc4x3::IfcWorkCalendarTypeEnum(data);
+ case 1303: return new ::Ifc4x3::IfcWorkControl(data);
+ case 1304: return new ::Ifc4x3::IfcWorkPlan(data);
+ case 1305: return new ::Ifc4x3::IfcWorkPlanTypeEnum(data);
+ case 1306: return new ::Ifc4x3::IfcWorkSchedule(data);
+ case 1307: return new ::Ifc4x3::IfcWorkScheduleTypeEnum(data);
+ case 1308: return new ::Ifc4x3::IfcWorkTime(data);
+ case 1309: return new ::Ifc4x3::IfcZone(data);
+ case 1310: return new ::Ifc4x3::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_populate_schema() {
+ IFC4X3_IfcAbsorbedDoseMeasure_type = new type_declaration("IfcAbsorbedDoseMeasure", 0, new simple_type(simple_type::real_type));
+ IFC4X3_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_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_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_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_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_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_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_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_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_IfcAlarmTypeEnum_type = new enumeration_type("IfcAlarmTypeEnum", 28, items);
+ }
+ {
+ std::vector items; items.reserve(7);
+ items.push_back("BLOSSCURVE");
+ items.push_back("CONSTANTCANT");
+ items.push_back("COSINECURVE");
+ items.push_back("HELMERTCURVE");
+ items.push_back("LINEARTRANSITION");
+ items.push_back("SINECURVE");
+ items.push_back("VIENNESEBEND");
+ IFC4X3_IfcAlignmentCantSegmentTypeEnum_type = new enumeration_type("IfcAlignmentCantSegmentTypeEnum", 32, items);
+ }
+ {
+ std::vector items; items.reserve(9);
+ items.push_back("BLOSSCURVE");
+ items.push_back("CIRCULARARC");
+ items.push_back("CLOTHOID");
+ items.push_back("COSINECURVE");
+ items.push_back("CUBIC");
+ items.push_back("HELMERTCURVE");
+ items.push_back("LINE");
+ items.push_back("SINECURVE");
+ items.push_back("VIENNESEBEND");
+ IFC4X3_IfcAlignmentHorizontalSegmentTypeEnum_type = new enumeration_type("IfcAlignmentHorizontalSegmentTypeEnum", 35, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X3_IfcAlignmentTypeEnum_type = new enumeration_type("IfcAlignmentTypeEnum", 38, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("CIRCULARARC");
+ items.push_back("CLOTHOID");
+ items.push_back("CONSTANTGRADIENT");
+ items.push_back("PARABOLICARC");
+ IFC4X3_IfcAlignmentVerticalSegmentTypeEnum_type = new enumeration_type("IfcAlignmentVerticalSegmentTypeEnum", 41, items);
+ }
+ IFC4X3_IfcAmountOfSubstanceMeasure_type = new type_declaration("IfcAmountOfSubstanceMeasure", 42, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("IN_PLANE_LOADING_2D");
+ items.push_back("LOADING_3D");
+ items.push_back("NOTDEFINED");
+ items.push_back("OUT_PLANE_LOADING_2D");
+ items.push_back("USERDEFINED");
+ IFC4X3_IfcAnalysisModelTypeEnum_type = new enumeration_type("IfcAnalysisModelTypeEnum", 43, items);
+ }
+ {
+ std::vector items; items.reserve(6);
+ items.push_back("FIRST_ORDER_THEORY");
+ items.push_back("FULL_NONLINEAR_THEORY");
+ items.push_back("NOTDEFINED");
+ items.push_back("SECOND_ORDER_THEORY");
+ items.push_back("THIRD_ORDER_THEORY");
+ items.push_back("USERDEFINED");
+ IFC4X3_IfcAnalysisTheoryTypeEnum_type = new enumeration_type("IfcAnalysisTheoryTypeEnum", 44, items);
+ }
+ IFC4X3_IfcAngularVelocityMeasure_type = new type_declaration("IfcAngularVelocityMeasure", 45, 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_IfcAnnotationTypeEnum_type = new enumeration_type("IfcAnnotationTypeEnum", 48, items);
+ }
+ IFC4X3_IfcAreaDensityMeasure_type = new type_declaration("IfcAreaDensityMeasure", 58, new simple_type(simple_type::real_type));
+ IFC4X3_IfcAreaMeasure_type = new type_declaration("IfcAreaMeasure", 59, 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_IfcArithmeticOperatorEnum_type = new enumeration_type("IfcArithmeticOperatorEnum", 60, items);
+ }
+ {
+ std::vector items; items.reserve(3);
+ items.push_back("FACTORY");
+ items.push_back("NOTDEFINED");
+ items.push_back("SITE");
+ IFC4X3_IfcAssemblyPlaceEnum_type = new enumeration_type("IfcAssemblyPlaceEnum", 61, items);
+ }
+ {
+ std::vector items; items.reserve(15);
+ items.push_back("AMPLIFIER");
+ items.push_back("CAMERA");
+ items.push_back("COMMUNICATIONTERMINAL");
+ items.push_back("DISPLAY");
+ items.push_back("MICROPHONE");
+ items.push_back("NOTDEFINED");
+ items.push_back("PLAYER");
+ items.push_back("PROJECTOR");
+ items.push_back("RECEIVER");
+ items.push_back("RECORDINGEQUIPMENT");
+ items.push_back("SPEAKER");
+ items.push_back("SWITCHER");
+ items.push_back("TELEPHONE");
+ items.push_back("TUNER");
+ items.push_back("USERDEFINED");
+ IFC4X3_IfcAudioVisualApplianceTypeEnum_type = new enumeration_type("IfcAudioVisualApplianceTypeEnum", 66, items);
+ }
+ {
+ std::vector items; items.reserve(6);
+ items.push_back("CIRCULAR_ARC");
+ items.push_back("ELLIPTIC_ARC");
+ items.push_back("HYPERBOLIC_ARC");
+ items.push_back("PARABOLIC_ARC");
+ items.push_back("POLYLINE_FORM");
+ items.push_back("UNSPECIFIED");
+ IFC4X3_IfcBSplineCurveForm_type = new enumeration_type("IfcBSplineCurveForm", 109, 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_IfcBSplineSurfaceForm_type = new enumeration_type("IfcBSplineSurfaceForm", 112, 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_IfcBeamTypeEnum_type = new enumeration_type("IfcBeamTypeEnum", 74, 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_IfcBearingTypeDisplacementEnum_type = new enumeration_type("IfcBearingTypeDisplacementEnum", 77, 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_IfcBearingTypeEnum_type = new enumeration_type("IfcBearingTypeEnum", 78, 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_IfcBenchmarkEnum_type = new enumeration_type("IfcBenchmarkEnum", 79, items);
+ }
+ IFC4X3_IfcBinary_type = new type_declaration("IfcBinary", 81, 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_IfcBoilerTypeEnum_type = new enumeration_type("IfcBoilerTypeEnum", 86, items);
+ }
+ IFC4X3_IfcBoolean_type = new type_declaration("IfcBoolean", 87, 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_IfcBooleanOperator_type = new enumeration_type("IfcBooleanOperator", 90, 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_IfcBridgePartTypeEnum_type = new enumeration_type("IfcBridgePartTypeEnum", 106, 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_IfcBridgeTypeEnum_type = new enumeration_type("IfcBridgeTypeEnum", 107, 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_IfcBuildingElementPartTypeEnum_type = new enumeration_type("IfcBuildingElementPartTypeEnum", 117, items);
+ }
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("COMPLEX");
+ items.push_back("ELEMENT");
+ items.push_back("NOTDEFINED");
+ items.push_back("PARTIAL");
+ items.push_back("USERDEFINED");
+ IFC4X3_IfcBuildingElementProxyTypeEnum_type = new enumeration_type("IfcBuildingElementProxyTypeEnum", 120, 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_IfcBuildingSystemTypeEnum_type = new enumeration_type("IfcBuildingSystemTypeEnum", 123, items);
+ }
+ {
+ std::vector items; items.reserve(15);
+ items.push_back("EROSIONPREVENTION");
+ items.push_back("FENESTRATION");
+ items.push_back("FOUNDATION");
+ items.push_back("LOADBEARING");
+ items.push_back("MOORING");
+ items.push_back("NOTDEFINED");
+ items.push_back("OUTERSHELL");
+ items.push_back("PRESTRESSING");
+ items.push_back("RAILWAYLINE");
+ items.push_back("RAILWAYTRACK");
+ items.push_back("REINFORCING");
+ items.push_back("SHADING");
+ items.push_back("TRACKCIRCUIT");
+ items.push_back("TRANSPORT");
+ items.push_back("USERDEFINED");
+ IFC4X3_IfcBuiltSystemTypeEnum_type = new enumeration_type("IfcBuiltSystemTypeEnum", 127, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X3_IfcBurnerTypeEnum_type = new enumeration_type("IfcBurnerTypeEnum", 130, items);
+ }
+ {
+ std::vector items; items.reserve(8);
+ items.push_back("BEND");
+ items.push_back("CONNECTOR");
+ items.push_back("CROSS");
+ items.push_back("JUNCTION");
+ items.push_back("NOTDEFINED");
+ items.push_back("TEE");
+ items.push_back("TRANSITION");
+ items.push_back("USERDEFINED");
+ IFC4X3_IfcCableCarrierFittingTypeEnum_type = new enumeration_type("IfcCableCarrierFittingTypeEnum", 133, 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_IfcCableCarrierSegmentTypeEnum_type = new enumeration_type("IfcCableCarrierSegmentTypeEnum", 136, 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_IfcCableFittingTypeEnum_type = new enumeration_type("IfcCableFittingTypeEnum", 139, 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_IfcCableSegmentTypeEnum_type = new enumeration_type("IfcCableSegmentTypeEnum", 142, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("CAISSON");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ items.push_back("WELL");
+ IFC4X3_IfcCaissonFoundationTypeEnum_type = new enumeration_type("IfcCaissonFoundationTypeEnum", 145, items);
+ }
+ IFC4X3_IfcCardinalPointReference_type = new type_declaration("IfcCardinalPointReference", 146, 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_IfcChangeActionEnum_type = new enumeration_type("IfcChangeActionEnum", 157, 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_IfcChillerTypeEnum_type = new enumeration_type("IfcChillerTypeEnum", 160, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X3_IfcChimneyTypeEnum_type = new enumeration_type("IfcChimneyTypeEnum", 163, 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_IfcCoilTypeEnum_type = new enumeration_type("IfcCoilTypeEnum", 177, 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_IfcColumnTypeEnum_type = new enumeration_type("IfcColumnTypeEnum", 185, items);
+ }
+ {
+ std::vector items; items.reserve(26);
+ items.push_back("ANTENNA");
+ items.push_back("AUTOMATON");
+ items.push_back("COMPUTER");
+ items.push_back("FAX");
+ items.push_back("GATEWAY");
+ items.push_back("INTELLIGENTPERIPHERAL");
+ items.push_back("IPNETWORKEQUIPMENT");
+ items.push_back("LINESIDEELECTRONICUNIT");
+ items.push_back("MODEM");
+ items.push_back("NETWORKAPPLIANCE");
+ items.push_back("NETWORKBRIDGE");
+ items.push_back("NETWORKHUB");
+ items.push_back("NOTDEFINED");
+ items.push_back("OPTICALLINETERMINAL");
+ items.push_back("OPTICALNETWORKUNIT");
+ items.push_back("PRINTER");
+ items.push_back("RADIOBLOCKCENTER");
+ items.push_back("REPEATER");
+ items.push_back("ROUTER");
+ items.push_back("SCANNER");
+ items.push_back("TELECOMMAND");
+ items.push_back("TELEPHONYEXCHANGE");
+ items.push_back("TRANSITIONCOMPONENT");
+ items.push_back("TRANSPONDER");
+ items.push_back("TRANSPORTEQUIPMENT");
+ items.push_back("USERDEFINED");
+ IFC4X3_IfcCommunicationsApplianceTypeEnum_type = new enumeration_type("IfcCommunicationsApplianceTypeEnum", 188, items);
+ }
+ IFC4X3_IfcComplexNumber_type = new type_declaration("IfcComplexNumber", 189, 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_IfcComplexPropertyTemplateTypeEnum_type = new enumeration_type("IfcComplexPropertyTemplateTypeEnum", 192, items);
+ }
+ IFC4X3_IfcCompoundPlaneAngleMeasure_type = new type_declaration("IfcCompoundPlaneAngleMeasure", 197, 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_IfcCompressorTypeEnum_type = new enumeration_type("IfcCompressorTypeEnum", 200, 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_IfcCondenserTypeEnum_type = new enumeration_type("IfcCondenserTypeEnum", 203, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("ATEND");
+ items.push_back("ATPATH");
+ items.push_back("ATSTART");
+ items.push_back("NOTDEFINED");
+ IFC4X3_IfcConnectionTypeEnum_type = new enumeration_type("IfcConnectionTypeEnum", 211, 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_IfcConstraintEnum_type = new enumeration_type("IfcConstraintEnum", 214, 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_IfcConstructionEquipmentResourceTypeEnum_type = new enumeration_type("IfcConstructionEquipmentResourceTypeEnum", 217, 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_IfcConstructionMaterialResourceTypeEnum_type = new enumeration_type("IfcConstructionMaterialResourceTypeEnum", 220, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("ASSEMBLY");
+ items.push_back("FORMWORK");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X3_IfcConstructionProductResourceTypeEnum_type = new enumeration_type("IfcConstructionProductResourceTypeEnum", 223, items);
+ }
+ IFC4X3_IfcContextDependentMeasure_type = new type_declaration("IfcContextDependentMeasure", 227, 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_IfcControllerTypeEnum_type = new enumeration_type("IfcControllerTypeEnum", 232, 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_IfcConveyorSegmentTypeEnum_type = new enumeration_type("IfcConveyorSegmentTypeEnum", 237, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("ACTIVE");
+ items.push_back("NOTDEFINED");
+ items.push_back("PASSIVE");
+ items.push_back("USERDEFINED");
+ IFC4X3_IfcCooledBeamTypeEnum_type = new enumeration_type("IfcCooledBeamTypeEnum", 240, 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_IfcCoolingTowerTypeEnum_type = new enumeration_type("IfcCoolingTowerTypeEnum", 243, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X3_IfcCostItemTypeEnum_type = new enumeration_type("IfcCostItemTypeEnum", 249, 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_IfcCostScheduleTypeEnum_type = new enumeration_type("IfcCostScheduleTypeEnum", 251, items);
+ }
+ IFC4X3_IfcCountMeasure_type = new type_declaration("IfcCountMeasure", 253, new simple_type(simple_type::integer_type));
+ {
+ std::vector items; items.reserve(8);
+ items.push_back("ARMOUR");
+ items.push_back("BALLASTBED");
+ items.push_back("CORE");
+ items.push_back("FILTER");
+ items.push_back("NOTDEFINED");
+ items.push_back("PAVEMENT");
+ items.push_back("PROTECTION");
+ items.push_back("USERDEFINED");
+ IFC4X3_IfcCourseTypeEnum_type = new enumeration_type("IfcCourseTypeEnum", 256, items);
+ }
+ {
+ std::vector items; items.reserve(14);
+ items.push_back("CEILING");
+ items.push_back("CLADDING");
+ items.push_back("COPING");
+ items.push_back("FLOORING");
+ items.push_back("INSULATION");
+ items.push_back("MEMBRANE");
+ items.push_back("MOLDING");
+ items.push_back("NOTDEFINED");
+ items.push_back("ROOFING");
+ items.push_back("SKIRTINGBOARD");
+ items.push_back("SLEEVING");
+ items.push_back("TOPPING");
+ items.push_back("USERDEFINED");
+ items.push_back("WRAPPING");
+ IFC4X3_IfcCoveringTypeEnum_type = new enumeration_type("IfcCoveringTypeEnum", 259, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("NOTDEFINED");
+ items.push_back("OFFICE");
+ items.push_back("SITE");
+ items.push_back("USERDEFINED");
+ IFC4X3_IfcCrewResourceTypeEnum_type = new enumeration_type("IfcCrewResourceTypeEnum", 262, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X3_IfcCurtainWallTypeEnum_type = new enumeration_type("IfcCurtainWallTypeEnum", 270, items);
+ }
+ IFC4X3_IfcCurvatureMeasure_type = new type_declaration("IfcCurvatureMeasure", 271, 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_IfcCurveInterpolationEnum_type = new enumeration_type("IfcCurveInterpolationEnum", 276, 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_IfcDamperTypeEnum_type = new enumeration_type("IfcDamperTypeEnum", 289, 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_IfcDataOriginEnum_type = new enumeration_type("IfcDataOriginEnum", 290, items);
+ }
+ IFC4X3_IfcDate_type = new type_declaration("IfcDate", 291, new simple_type(simple_type::string_type));
+ IFC4X3_IfcDateTime_type = new type_declaration("IfcDateTime", 292, new simple_type(simple_type::string_type));
+ IFC4X3_IfcDayInMonthNumber_type = new type_declaration("IfcDayInMonthNumber", 293, new simple_type(simple_type::integer_type));
+ IFC4X3_IfcDayInWeekNumber_type = new type_declaration("IfcDayInWeekNumber", 294, 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_IfcDerivedUnitEnum_type = new enumeration_type("IfcDerivedUnitEnum", 302, items);
+ }
+ IFC4X3_IfcDescriptiveMeasure_type = new type_declaration("IfcDescriptiveMeasure", 303, new simple_type(simple_type::string_type));
+ IFC4X3_IfcDimensionCount_type = new type_declaration("IfcDimensionCount", 305, new simple_type(simple_type::integer_type));
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("NEGATIVE");
+ items.push_back("POSITIVE");
+ IFC4X3_IfcDirectionSenseEnum_type = new enumeration_type("IfcDirectionSenseEnum", 307, items);
+ }
+ {
+ std::vector items; items.reserve(23);
+ items.push_back("ANCHORPLATE");
+ items.push_back("BIRDPROTECTION");
+ items.push_back("BRACKET");
+ items.push_back("CABLEARRANGER");
+ items.push_back("ELASTIC_CUSHION");
+ items.push_back("EXPANSION_JOINT_DEVICE");
+ items.push_back("FILLER");
+ items.push_back("FLASHING");
+ items.push_back("INSULATOR");
+ items.push_back("LOCK");
+ items.push_back("NOTDEFINED");
+ items.push_back("PANEL_STRENGTHENING");
+ items.push_back("POINTMACHINEMOUNTINGDEVICE");
+ items.push_back("POINT_MACHINE_LOCKING_DEVICE");
+ items.push_back("RAILBRACE");
+ items.push_back("RAILPAD");
+ items.push_back("RAIL_LUBRICATION");
+ items.push_back("RAIL_MECHANICAL_EQUIPMENT");
+ items.push_back("SHOE");
+ items.push_back("SLIDINGCHAIR");
+ items.push_back("SOUNDABSORPTION");
+ items.push_back("TENSIONINGEQUIPMENT");
+ items.push_back("USERDEFINED");
+ IFC4X3_IfcDiscreteAccessoryTypeEnum_type = new enumeration_type("IfcDiscreteAccessoryTypeEnum", 312, items);
+ }
+ {
+ std::vector items; items.reserve(8);
+ items.push_back("CONSUMERUNIT");
+ items.push_back("DISPATCHINGBOARD");
+ items.push_back("DISTRIBUTIONBOARD");
+ items.push_back("DISTRIBUTIONFRAME");
+ items.push_back("MOTORCONTROLCENTRE");
+ items.push_back("NOTDEFINED");
+ items.push_back("SWITCHBOARD");
+ items.push_back("USERDEFINED");
+ IFC4X3_IfcDistributionBoardTypeEnum_type = new enumeration_type("IfcDistributionBoardTypeEnum", 315, 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_IfcDistributionChamberElementTypeEnum_type = new enumeration_type("IfcDistributionChamberElementTypeEnum", 318, 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_IfcDistributionPortTypeEnum_type = new enumeration_type("IfcDistributionPortTypeEnum", 327, items);
+ }
+ {
+ std::vector items; items.reserve(51);
+ items.push_back("AIRCONDITIONING");
+ items.push_back("AUDIOVISUAL");
+ items.push_back("CATENARY_SYSTEM");
+ items.push_back("CHEMICAL");
+ items.push_back("CHILLEDWATER");
+ items.push_back("COMMUNICATION");
+ items.push_back("COMPRESSEDAIR");
+ items.push_back("CONDENSERWATER");
+ items.push_back("CONTROL");
+ items.push_back("CONVEYING");
+ items.push_back("DATA");
+ items.push_back("DISPOSAL");
+ items.push_back("DOMESTICCOLDWATER");
+ items.push_back("DOMESTICHOTWATER");
+ items.push_back("DRAINAGE");
+ items.push_back("EARTHING");
+ items.push_back("ELECTRICAL");
+ items.push_back("ELECTROACOUSTIC");
+ items.push_back("EXHAUST");
+ items.push_back("FIREPROTECTION");
+ items.push_back("FIXEDTRANSMISSIONNETWORK");
+ items.push_back("FUEL");
+ items.push_back("GAS");
+ items.push_back("HAZARDOUS");
+ items.push_back("HEATING");
+ items.push_back("LIGHTING");
+ items.push_back("LIGHTNINGPROTECTION");
+ items.push_back("MOBILENETWORK");
+ items.push_back("MONITORINGSYSTEM");
+ items.push_back("MUNICIPALSOLIDWASTE");
+ items.push_back("NOTDEFINED");
+ items.push_back("OIL");
+ items.push_back("OPERATIONAL");
+ items.push_back("OPERATIONALTELEPHONYSYSTEM");
+ items.push_back("OVERHEAD_CONTACTLINE_SYSTEM");
+ items.push_back("POWERGENERATION");
+ items.push_back("RAINWATER");
+ items.push_back("REFRIGERATION");
+ items.push_back("RETURN_CIRCUIT");
+ items.push_back("SECURITY");
+ items.push_back("SEWAGE");
+ items.push_back("SIGNAL");
+ items.push_back("STORMWATER");
+ items.push_back("TELEPHONE");
+ items.push_back("TV");
+ items.push_back("USERDEFINED");
+ items.push_back("VACUUM");
+ items.push_back("VENT");
+ items.push_back("VENTILATION");
+ items.push_back("WASTEWATER");
+ items.push_back("WATERSUPPLY");
+ IFC4X3_IfcDistributionSystemEnum_type = new enumeration_type("IfcDistributionSystemEnum", 329, 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_IfcDocumentConfidentialityEnum_type = new enumeration_type("IfcDocumentConfidentialityEnum", 330, 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_IfcDocumentStatusEnum_type = new enumeration_type("IfcDocumentStatusEnum", 335, 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_IfcDoorPanelOperationEnum_type = new enumeration_type("IfcDoorPanelOperationEnum", 338, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("LEFT");
+ items.push_back("MIDDLE");
+ items.push_back("NOTDEFINED");
+ items.push_back("RIGHT");
+ IFC4X3_IfcDoorPanelPositionEnum_type = new enumeration_type("IfcDoorPanelPositionEnum", 339, 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_IfcDoorStyleConstructionEnum_type = new enumeration_type("IfcDoorStyleConstructionEnum", 341, 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_IfcDoorStyleOperationEnum_type = new enumeration_type("IfcDoorStyleOperationEnum", 342, 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_IfcDoorTypeEnum_type = new enumeration_type("IfcDoorTypeEnum", 344, items);
+ }
+ {
+ std::vector items; items.reserve(25);
+ items.push_back("DOUBLE_PANEL_DOUBLE_SWING");
+ items.push_back("DOUBLE_PANEL_FOLDING");
+ items.push_back("DOUBLE_PANEL_LIFTING_VERTICAL");
+ items.push_back("DOUBLE_PANEL_SINGLE_SWING");
+ items.push_back("DOUBLE_PANEL_SINGLE_SWING_OPPOSITE_LEFT");
+ items.push_back("DOUBLE_PANEL_SINGLE_SWING_OPPOSITE_RIGHT");
+ items.push_back("DOUBLE_PANEL_SLIDING");
+ items.push_back("DOUBLE_SWING_LEFT");
+ items.push_back("DOUBLE_SWING_RIGHT");
+ items.push_back("FOLDING_TO_LEFT");
+ items.push_back("FOLDING_TO_RIGHT");
+ items.push_back("LIFTING_HORIZONTAL");
+ items.push_back("LIFTING_VERTICAL_LEFT");
+ items.push_back("LIFTING_VERTICAL_RIGHT");
+ items.push_back("NOTDEFINED");
+ items.push_back("REVOLVING_HORIZONTAL");
+ items.push_back("REVOLVING_VERTICAL");
+ items.push_back("ROLLINGUP");
+ items.push_back("SINGLE_SWING_LEFT");
+ items.push_back("SINGLE_SWING_RIGHT");
+ items.push_back("SLIDING_TO_LEFT");
+ items.push_back("SLIDING_TO_RIGHT");
+ items.push_back("SWING_FIXED_LEFT");
+ items.push_back("SWING_FIXED_RIGHT");
+ items.push_back("USERDEFINED");
+ IFC4X3_IfcDoorTypeOperationEnum_type = new enumeration_type("IfcDoorTypeOperationEnum", 345, items);
+ }
+ IFC4X3_IfcDoseEquivalentMeasure_type = new type_declaration("IfcDoseEquivalentMeasure", 346, 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_IfcDuctFittingTypeEnum_type = new enumeration_type("IfcDuctFittingTypeEnum", 351, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("FLEXIBLESEGMENT");
+ items.push_back("NOTDEFINED");
+ items.push_back("RIGIDSEGMENT");
+ items.push_back("USERDEFINED");
+ IFC4X3_IfcDuctSegmentTypeEnum_type = new enumeration_type("IfcDuctSegmentTypeEnum", 354, 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_IfcDuctSilencerTypeEnum_type = new enumeration_type("IfcDuctSilencerTypeEnum", 357, items);
+ }
+ IFC4X3_IfcDuration_type = new type_declaration("IfcDuration", 358, new simple_type(simple_type::string_type));
+ IFC4X3_IfcDynamicViscosityMeasure_type = new type_declaration("IfcDynamicViscosityMeasure", 359, 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_IfcEarthworksCutTypeEnum_type = new enumeration_type("IfcEarthworksCutTypeEnum", 361, 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_IfcEarthworksFillTypeEnum_type = new enumeration_type("IfcEarthworksFillTypeEnum", 364, 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_IfcElectricApplianceTypeEnum_type = new enumeration_type("IfcElectricApplianceTypeEnum", 370, items);
+ }
+ IFC4X3_IfcElectricCapacitanceMeasure_type = new type_declaration("IfcElectricCapacitanceMeasure", 371, new simple_type(simple_type::real_type));
+ IFC4X3_IfcElectricChargeMeasure_type = new type_declaration("IfcElectricChargeMeasure", 372, new simple_type(simple_type::real_type));
+ IFC4X3_IfcElectricConductanceMeasure_type = new type_declaration("IfcElectricConductanceMeasure", 373, new simple_type(simple_type::real_type));
+ IFC4X3_IfcElectricCurrentMeasure_type = new type_declaration("IfcElectricCurrentMeasure", 374, 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_IfcElectricDistributionBoardTypeEnum_type = new enumeration_type("IfcElectricDistributionBoardTypeEnum", 377, 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_IfcElectricFlowStorageDeviceTypeEnum_type = new enumeration_type("IfcElectricFlowStorageDeviceTypeEnum", 380, items);
+ }
+ {
+ std::vector items; items.reserve(3);
+ items.push_back("ELECTRONICFILTER");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X3_IfcElectricFlowTreatmentDeviceTypeEnum_type = new enumeration_type("IfcElectricFlowTreatmentDeviceTypeEnum", 383, 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_IfcElectricGeneratorTypeEnum_type = new enumeration_type("IfcElectricGeneratorTypeEnum", 386, 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_IfcElectricMotorTypeEnum_type = new enumeration_type("IfcElectricMotorTypeEnum", 389, items);
+ }
+ IFC4X3_IfcElectricResistanceMeasure_type = new type_declaration("IfcElectricResistanceMeasure", 390, 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_IfcElectricTimeControlTypeEnum_type = new enumeration_type("IfcElectricTimeControlTypeEnum", 393, items);
+ }
+ IFC4X3_IfcElectricVoltageMeasure_type = new type_declaration("IfcElectricVoltageMeasure", 394, 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_IfcElementAssemblyTypeEnum_type = new enumeration_type("IfcElementAssemblyTypeEnum", 399, items);
+ }
+ {
+ std::vector items; items.reserve(3);
+ items.push_back("COMPLEX");
+ items.push_back("ELEMENT");
+ items.push_back("PARTIAL");
+ IFC4X3_IfcElementCompositionEnum_type = new enumeration_type("IfcElementCompositionEnum", 402, items);
+ }
+ IFC4X3_IfcEnergyMeasure_type = new type_declaration("IfcEnergyMeasure", 409, 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_IfcEngineTypeEnum_type = new enumeration_type("IfcEngineTypeEnum", 412, 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_IfcEvaporativeCoolerTypeEnum_type = new enumeration_type("IfcEvaporativeCoolerTypeEnum", 415, 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_IfcEvaporatorTypeEnum_type = new enumeration_type("IfcEvaporatorTypeEnum", 418, 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_IfcEventTriggerTypeEnum_type = new enumeration_type("IfcEventTriggerTypeEnum", 421, 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_IfcEventTypeEnum_type = new enumeration_type("IfcEventTypeEnum", 423, 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_IfcExternalSpatialElementTypeEnum_type = new enumeration_type("IfcExternalSpatialElementTypeEnum", 432, 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_IfcFacilityPartCommonTypeEnum_type = new enumeration_type("IfcFacilityPartCommonTypeEnum", 446, 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_IfcFacilityUsageEnum_type = new enumeration_type("IfcFacilityUsageEnum", 447, 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_IfcFanTypeEnum_type = new enumeration_type("IfcFanTypeEnum", 451, 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_IfcFastenerTypeEnum_type = new enumeration_type("IfcFastenerTypeEnum", 454, 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_IfcFilterTypeEnum_type = new enumeration_type("IfcFilterTypeEnum", 464, items);
+ }
+ {
+ std::vector items; items.reserve(8);
+ items.push_back("BREECHINGINLET");
+ items.push_back("FIREHYDRANT");
+ items.push_back("FIREMONITOR");
+ items.push_back("HOSEREEL");
+ items.push_back("NOTDEFINED");
+ items.push_back("SPRINKLER");
+ items.push_back("SPRINKLERDEFLECTOR");
+ items.push_back("USERDEFINED");
+ IFC4X3_IfcFireSuppressionTerminalTypeEnum_type = new enumeration_type("IfcFireSuppressionTerminalTypeEnum", 467, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("NOTDEFINED");
+ items.push_back("SINK");
+ items.push_back("SOURCE");
+ items.push_back("SOURCEANDSINK");
+ IFC4X3_IfcFlowDirectionEnum_type = new enumeration_type("IfcFlowDirectionEnum", 471, 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_IfcFlowInstrumentTypeEnum_type = new enumeration_type("IfcFlowInstrumentTypeEnum", 476, 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_IfcFlowMeterTypeEnum_type = new enumeration_type("IfcFlowMeterTypeEnum", 479, items);
+ }
+ IFC4X3_IfcFontStyle_type = new type_declaration("IfcFontStyle", 490, new simple_type(simple_type::string_type));
+ IFC4X3_IfcFontVariant_type = new type_declaration("IfcFontVariant", 491, new simple_type(simple_type::string_type));
+ IFC4X3_IfcFontWeight_type = new type_declaration("IfcFontWeight", 492, 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_IfcFootingTypeEnum_type = new enumeration_type("IfcFootingTypeEnum", 495, items);
+ }
+ IFC4X3_IfcForceMeasure_type = new type_declaration("IfcForceMeasure", 496, new simple_type(simple_type::real_type));
+ IFC4X3_IfcFrequencyMeasure_type = new type_declaration("IfcFrequencyMeasure", 497, 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_IfcFurnitureTypeEnum_type = new enumeration_type("IfcFurnitureTypeEnum", 502, items);
+ }
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("NOTDEFINED");
+ items.push_back("SOIL_BORING_POINT");
+ items.push_back("TERRAIN");
+ items.push_back("USERDEFINED");
+ items.push_back("VEGETATION");
+ IFC4X3_IfcGeographicElementTypeEnum_type = new enumeration_type("IfcGeographicElementTypeEnum", 505, 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_IfcGeometricProjectionEnum_type = new enumeration_type("IfcGeometricProjectionEnum", 507, items);
+ }
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("NOTDEFINED");
+ items.push_back("SOLID");
+ items.push_back("USERDEFINED");
+ items.push_back("VOID");
+ items.push_back("WATER");
+ IFC4X3_IfcGeotechnicalStratumTypeEnum_type = new enumeration_type("IfcGeotechnicalStratumTypeEnum", 518, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("GLOBAL_COORDS");
+ items.push_back("LOCAL_COORDS");
+ IFC4X3_IfcGlobalOrLocalEnum_type = new enumeration_type("IfcGlobalOrLocalEnum", 520, items);
+ }
+ IFC4X3_IfcGloballyUniqueId_type = new type_declaration("IfcGloballyUniqueId", 519, 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_IfcGridTypeEnum_type = new enumeration_type("IfcGridTypeEnum", 526, 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_IfcHeatExchangerTypeEnum_type = new enumeration_type("IfcHeatExchangerTypeEnum", 532, items);
+ }
+ IFC4X3_IfcHeatFluxDensityMeasure_type = new type_declaration("IfcHeatFluxDensityMeasure", 533, new simple_type(simple_type::real_type));
+ IFC4X3_IfcHeatingValueMeasure_type = new type_declaration("IfcHeatingValueMeasure", 534, 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_IfcHumidifierTypeEnum_type = new enumeration_type("IfcHumidifierTypeEnum", 537, items);
+ }
+ IFC4X3_IfcIdentifier_type = new type_declaration("IfcIdentifier", 538, new simple_type(simple_type::string_type));
+ IFC4X3_IfcIlluminanceMeasure_type = new type_declaration("IfcIlluminanceMeasure", 539, 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_IfcImpactProtectionDeviceTypeEnum_type = new enumeration_type("IfcImpactProtectionDeviceTypeEnum", 543, items);
+ }
+ IFC4X3_IfcInductanceMeasure_type = new type_declaration("IfcInductanceMeasure", 551, new simple_type(simple_type::real_type));
+ IFC4X3_IfcInteger_type = new type_declaration("IfcInteger", 552, new simple_type(simple_type::integer_type));
+ IFC4X3_IfcIntegerCountRateMeasure_type = new type_declaration("IfcIntegerCountRateMeasure", 553, 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_IfcInterceptorTypeEnum_type = new enumeration_type("IfcInterceptorTypeEnum", 556, 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_IfcInternalOrExternalEnum_type = new enumeration_type("IfcInternalOrExternalEnum", 558, 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_IfcInventoryTypeEnum_type = new enumeration_type("IfcInventoryTypeEnum", 561, items);
+ }
+ IFC4X3_IfcIonConcentrationMeasure_type = new type_declaration("IfcIonConcentrationMeasure", 562, new simple_type(simple_type::real_type));
+ IFC4X3_IfcIsothermalMoistureCapacityMeasure_type = new type_declaration("IfcIsothermalMoistureCapacityMeasure", 566, 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_IfcJunctionBoxTypeEnum_type = new enumeration_type("IfcJunctionBoxTypeEnum", 569, items);
+ }
+ IFC4X3_IfcKinematicViscosityMeasure_type = new type_declaration("IfcKinematicViscosityMeasure", 572, 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_IfcKnotType_type = new enumeration_type("IfcKnotType", 573, items);
+ }
+ IFC4X3_IfcLabel_type = new type_declaration("IfcLabel", 574, 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_IfcLaborResourceTypeEnum_type = new enumeration_type("IfcLaborResourceTypeEnum", 577, 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_IfcLampTypeEnum_type = new enumeration_type("IfcLampTypeEnum", 581, items);
+ }
+ IFC4X3_IfcLanguageId_type = new type_declaration("IfcLanguageId", 582, new named_type(IFC4X3_IfcIdentifier_type));
+ {
+ std::vector items; items.reserve(3);
+ items.push_back("AXIS1");
+ items.push_back("AXIS2");
+ items.push_back("AXIS3");
+ IFC4X3_IfcLayerSetDirectionEnum_type = new enumeration_type("IfcLayerSetDirectionEnum", 584, items);
+ }
+ IFC4X3_IfcLengthMeasure_type = new type_declaration("IfcLengthMeasure", 585, 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_IfcLightDistributionCurveEnum_type = new enumeration_type("IfcLightDistributionCurveEnum", 589, 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_IfcLightEmissionSourceEnum_type = new enumeration_type("IfcLightEmissionSourceEnum", 592, 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_IfcLightFixtureTypeEnum_type = new enumeration_type("IfcLightFixtureTypeEnum", 595, items);
+ }
+ IFC4X3_IfcLinearForceMeasure_type = new type_declaration("IfcLinearForceMeasure", 605, new simple_type(simple_type::real_type));
+ IFC4X3_IfcLinearMomentMeasure_type = new type_declaration("IfcLinearMomentMeasure", 606, new simple_type(simple_type::real_type));
+ IFC4X3_IfcLinearStiffnessMeasure_type = new type_declaration("IfcLinearStiffnessMeasure", 609, new simple_type(simple_type::real_type));
+ IFC4X3_IfcLinearVelocityMeasure_type = new type_declaration("IfcLinearVelocityMeasure", 610, 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_IfcLiquidTerminalTypeEnum_type = new enumeration_type("IfcLiquidTerminalTypeEnum", 614, 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_IfcLoadGroupTypeEnum_type = new enumeration_type("IfcLoadGroupTypeEnum", 615, items);
+ }
+ IFC4X3_IfcLogical_type = new type_declaration("IfcLogical", 617, 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_IfcLogicalOperatorEnum_type = new enumeration_type("IfcLogicalOperatorEnum", 618, items);
+ }
+ IFC4X3_IfcLuminousFluxMeasure_type = new type_declaration("IfcLuminousFluxMeasure", 621, new simple_type(simple_type::real_type));
+ IFC4X3_IfcLuminousIntensityDistributionMeasure_type = new type_declaration("IfcLuminousIntensityDistributionMeasure", 622, new simple_type(simple_type::real_type));
+ IFC4X3_IfcLuminousIntensityMeasure_type = new type_declaration("IfcLuminousIntensityMeasure", 623, new simple_type(simple_type::real_type));
+ IFC4X3_IfcMagneticFluxDensityMeasure_type = new type_declaration("IfcMagneticFluxDensityMeasure", 624, new simple_type(simple_type::real_type));
+ IFC4X3_IfcMagneticFluxMeasure_type = new type_declaration("IfcMagneticFluxMeasure", 625, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(21);
+ items.push_back("BARRIERBEACH");
+ items.push_back("BREAKWATER");
+ items.push_back("CANAL");
+ items.push_back("DRYDOCK");
+ items.push_back("FLOATINGDOCK");
+ items.push_back("HYDROLIFT");
+ items.push_back("JETTY");
+ items.push_back("LAUNCHRECOVERY");
+ items.push_back("MARINEDEFENCE");
+ items.push_back("NAVIGATIONALCHANNEL");
+ items.push_back("NOTDEFINED");
+ items.push_back("PORT");
+ items.push_back("QUAY");
+ items.push_back("REVETMENT");
+ items.push_back("SHIPLIFT");
+ items.push_back("SHIPLOCK");
+ items.push_back("SHIPYARD");
+ items.push_back("SLIPWAY");
+ items.push_back("USERDEFINED");
+ items.push_back("WATERWAY");
+ items.push_back("WATERWAYSHIPLIFT");
+ IFC4X3_IfcMarineFacilityTypeEnum_type = new enumeration_type("IfcMarineFacilityTypeEnum", 630, items);
+ }
+ {
+ std::vector items; items.reserve(26);
+ items.push_back("ABOVEWATERLINE");
+ items.push_back("ANCHORAGE");
+ items.push_back("APPROACHCHANNEL");
+ items.push_back("BELOWWATERLINE");
+ items.push_back("BERTHINGSTRUCTURE");
+ items.push_back("CHAMBER");
+ items.push_back("CILL_LEVEL");
+ items.push_back("COPELEVEL");
+ items.push_back("CORE");
+ items.push_back("CREST");
+ items.push_back("GATEHEAD");
+ items.push_back("GUDINGSTRUCTURE");
+ items.push_back("HIGHWATERLINE");
+ items.push_back("LANDFIELD");
+ items.push_back("LEEWARDSIDE");
+ items.push_back("LOWWATERLINE");
+ items.push_back("MANUFACTURING");
+ items.push_back("NAVIGATIONALAREA");
+ items.push_back("NOTDEFINED");
+ items.push_back("PROTECTION");
+ items.push_back("SHIPTRANSFER");
+ items.push_back("STORAGEAREA");
+ items.push_back("USERDEFINED");
+ items.push_back("VEHICLESERVICING");
+ items.push_back("WATERFIELD");
+ items.push_back("WEATHERSIDE");
+ IFC4X3_IfcMarinePartTypeEnum_type = new enumeration_type("IfcMarinePartTypeEnum", 632, items);
+ }
+ IFC4X3_IfcMassDensityMeasure_type = new type_declaration("IfcMassDensityMeasure", 633, new simple_type(simple_type::real_type));
+ IFC4X3_IfcMassFlowRateMeasure_type = new type_declaration("IfcMassFlowRateMeasure", 634, new simple_type(simple_type::real_type));
+ IFC4X3_IfcMassMeasure_type = new type_declaration("IfcMassMeasure", 635, new simple_type(simple_type::real_type));
+ IFC4X3_IfcMassPerLengthMeasure_type = new type_declaration("IfcMassPerLengthMeasure", 636, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(17);
+ items.push_back("ANCHORBOLT");
+ items.push_back("BOLT");
+ items.push_back("CHAIN");
+ items.push_back("COUPLER");
+ items.push_back("DOWEL");
+ items.push_back("NAIL");
+ items.push_back("NAILPLATE");
+ items.push_back("NOTDEFINED");
+ items.push_back("RAILFASTENING");
+ items.push_back("RAILJOINT");
+ items.push_back("RIVET");
+ items.push_back("ROPE");
+ items.push_back("SCREW");
+ items.push_back("SHEARCONNECTOR");
+ items.push_back("STAPLE");
+ items.push_back("STUDSHEARCONNECTOR");
+ items.push_back("USERDEFINED");
+ IFC4X3_IfcMechanicalFastenerTypeEnum_type = new enumeration_type("IfcMechanicalFastenerTypeEnum", 661, items);
+ }
+ {
+ std::vector items; items.reserve(7);
+ items.push_back("AIRSTATION");
+ items.push_back("FEEDAIRUNIT");
+ items.push_back("NOTDEFINED");
+ items.push_back("OXYGENGENERATOR");
+ items.push_back("OXYGENPLANT");
+ items.push_back("USERDEFINED");
+ items.push_back("VACUUMSTATION");
+ IFC4X3_IfcMedicalDeviceTypeEnum_type = new enumeration_type("IfcMedicalDeviceTypeEnum", 664, items);
+ }
+ {
+ std::vector items; items.reserve(21);
+ items.push_back("ARCH_SEGMENT");
+ items.push_back("BRACE");
+ items.push_back("CHORD");
+ items.push_back("COLLAR");
+ items.push_back("MEMBER");
+ items.push_back("MULLION");
+ items.push_back("NOTDEFINED");
+ items.push_back("PLATE");
+ items.push_back("POST");
+ items.push_back("PURLIN");
+ items.push_back("RAFTER");
+ items.push_back("STAY_CABLE");
+ items.push_back("STIFFENING_RIB");
+ items.push_back("STRINGER");
+ items.push_back("STRUCTURALCABLE");
+ items.push_back("STRUT");
+ items.push_back("STUD");
+ items.push_back("SUSPENDER");
+ items.push_back("SUSPENSION_CABLE");
+ items.push_back("TIEBAR");
+ items.push_back("USERDEFINED");
+ IFC4X3_IfcMemberTypeEnum_type = new enumeration_type("IfcMemberTypeEnum", 667, items);
+ }
+ {
+ std::vector items; items.reserve(15);
+ items.push_back("ACCESSPOINT");
+ items.push_back("BASEBANDUNIT");
+ items.push_back("BASETRANSCEIVERSTATION");
+ items.push_back("E_UTRAN_NODE_B");
+ items.push_back("GATEWAY_GPRS_SUPPORT_NODE");
+ items.push_back("MASTERUNIT");
+ items.push_back("MOBILESWITCHINGCENTER");
+ items.push_back("MSCSERVER");
+ items.push_back("NOTDEFINED");
+ items.push_back("PACKETCONTROLUNIT");
+ items.push_back("REMOTERADIOUNIT");
+ items.push_back("REMOTEUNIT");
+ items.push_back("SERVICE_GPRS_SUPPORT_NODE");
+ items.push_back("SUBSCRIBERSERVER");
+ items.push_back("USERDEFINED");
+ IFC4X3_IfcMobileTelecommunicationsApplianceTypeEnum_type = new enumeration_type("IfcMobileTelecommunicationsApplianceTypeEnum", 673, items);
+ }
+ IFC4X3_IfcModulusOfElasticityMeasure_type = new type_declaration("IfcModulusOfElasticityMeasure", 674, new simple_type(simple_type::real_type));
+ IFC4X3_IfcModulusOfLinearSubgradeReactionMeasure_type = new type_declaration("IfcModulusOfLinearSubgradeReactionMeasure", 675, new simple_type(simple_type::real_type));
+ IFC4X3_IfcModulusOfRotationalSubgradeReactionMeasure_type = new type_declaration("IfcModulusOfRotationalSubgradeReactionMeasure", 676, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IFC4X3_IfcBoolean_type);
+ items.push_back(IFC4X3_IfcModulusOfRotationalSubgradeReactionMeasure_type);
+ IFC4X3_IfcModulusOfRotationalSubgradeReactionSelect_type = new select_type("IfcModulusOfRotationalSubgradeReactionSelect", 677, items);
+ }
+ IFC4X3_IfcModulusOfSubgradeReactionMeasure_type = new type_declaration("IfcModulusOfSubgradeReactionMeasure", 678, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IFC4X3_IfcBoolean_type);
+ items.push_back(IFC4X3_IfcModulusOfSubgradeReactionMeasure_type);
+ IFC4X3_IfcModulusOfSubgradeReactionSelect_type = new select_type("IfcModulusOfSubgradeReactionSelect", 679, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IFC4X3_IfcBoolean_type);
+ items.push_back(IFC4X3_IfcModulusOfLinearSubgradeReactionMeasure_type);
+ IFC4X3_IfcModulusOfTranslationalSubgradeReactionSelect_type = new select_type("IfcModulusOfTranslationalSubgradeReactionSelect", 680, items);
+ }
+ IFC4X3_IfcMoistureDiffusivityMeasure_type = new type_declaration("IfcMoistureDiffusivityMeasure", 681, new simple_type(simple_type::real_type));
+ IFC4X3_IfcMolecularWeightMeasure_type = new type_declaration("IfcMolecularWeightMeasure", 682, new simple_type(simple_type::real_type));
+ IFC4X3_IfcMomentOfInertiaMeasure_type = new type_declaration("IfcMomentOfInertiaMeasure", 683, new simple_type(simple_type::real_type));
+ IFC4X3_IfcMonetaryMeasure_type = new type_declaration("IfcMonetaryMeasure", 684, new simple_type(simple_type::real_type));
+ IFC4X3_IfcMonthInYearNumber_type = new type_declaration("IfcMonthInYearNumber", 686, new simple_type(simple_type::integer_type));
+ {
+ std::vector items; items.reserve(7);
+ items.push_back("BOLLARD");
+ items.push_back("LINETENSIONER");
+ items.push_back("MAGNETICDEVICE");
+ items.push_back("MOORINGHOOKS");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ items.push_back("VACUUMDEVICE");
+ IFC4X3_IfcMooringDeviceTypeEnum_type = new enumeration_type("IfcMooringDeviceTypeEnum", 689, items);
+ }
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("BELTDRIVE");
+ items.push_back("COUPLING");
+ items.push_back("DIRECTDRIVE");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X3_IfcMotorConnectionTypeEnum_type = new enumeration_type("IfcMotorConnectionTypeEnum", 692, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("BEACON");
+ items.push_back("BUOY");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X3_IfcNavigationElementTypeEnum_type = new enumeration_type("IfcNavigationElementTypeEnum", 696, items);
+ }
+ IFC4X3_IfcNonNegativeLengthMeasure_type = new type_declaration("IfcNonNegativeLengthMeasure", 697, new named_type(IFC4X3_IfcLengthMeasure_type));
+ IFC4X3_IfcNumericMeasure_type = new type_declaration("IfcNumericMeasure", 699, 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_IfcObjectTypeEnum_type = new enumeration_type("IfcObjectTypeEnum", 706, 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_IfcObjectiveEnum_type = new enumeration_type("IfcObjectiveEnum", 703, items);
+ }
+ {
+ std::vector items; items.reserve(9);
+ items.push_back("ASSIGNEE");
+ items.push_back("ASSIGNOR");
+ items.push_back("LESSEE");
+ items.push_back("LESSOR");
+ items.push_back("LETTINGAGENT");
+ items.push_back("NOTDEFINED");
+ items.push_back("OWNER");
+ items.push_back("TENANT");
+ items.push_back("USERDEFINED");
+ IFC4X3_IfcOccupantTypeEnum_type = new enumeration_type("IfcOccupantTypeEnum", 708, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("NOTDEFINED");
+ items.push_back("OPENING");
+ items.push_back("RECESS");
+ items.push_back("USERDEFINED");
+ IFC4X3_IfcOpeningElementTypeEnum_type = new enumeration_type("IfcOpeningElementTypeEnum", 715, 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_IfcOutletTypeEnum_type = new enumeration_type("IfcOutletTypeEnum", 723, items);
+ }
+ IFC4X3_IfcPHMeasure_type = new type_declaration("IfcPHMeasure", 740, new simple_type(simple_type::real_type));
+ IFC4X3_IfcParameterValue_type = new type_declaration("IfcParameterValue", 726, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("FLEXIBLE");
+ items.push_back("NOTDEFINED");
+ items.push_back("RIGID");
+ items.push_back("USERDEFINED");
+ IFC4X3_IfcPavementTypeEnum_type = new enumeration_type("IfcPavementTypeEnum", 730, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X3_IfcPerformanceHistoryTypeEnum_type = new enumeration_type("IfcPerformanceHistoryTypeEnum", 733, 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_IfcPermeableCoveringOperationEnum_type = new enumeration_type("IfcPermeableCoveringOperationEnum", 734, 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_IfcPermitTypeEnum_type = new enumeration_type("IfcPermitTypeEnum", 737, items);
+ }
+ {
+ std::vector items; items.reserve(3);
+ items.push_back("NOTDEFINED");
+ items.push_back("PHYSICAL");
+ items.push_back("VIRTUAL");
+ IFC4X3_IfcPhysicalOrVirtualEnum_type = new enumeration_type("IfcPhysicalOrVirtualEnum", 742, 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_IfcPileConstructionEnum_type = new enumeration_type("IfcPileConstructionEnum", 746, 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_IfcPileTypeEnum_type = new enumeration_type("IfcPileTypeEnum", 748, 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_IfcPipeFittingTypeEnum_type = new enumeration_type("IfcPipeFittingTypeEnum", 751, 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_IfcPipeSegmentTypeEnum_type = new enumeration_type("IfcPipeSegmentTypeEnum", 754, items);
+ }
+ IFC4X3_IfcPlanarForceMeasure_type = new type_declaration("IfcPlanarForceMeasure", 759, new simple_type(simple_type::real_type));
+ IFC4X3_IfcPlaneAngleMeasure_type = new type_declaration("IfcPlaneAngleMeasure", 761, 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_IfcPlateTypeEnum_type = new enumeration_type("IfcPlateTypeEnum", 764, items);
+ }
+ IFC4X3_IfcPositiveInteger_type = new type_declaration("IfcPositiveInteger", 777, new named_type(IFC4X3_IfcInteger_type));
+ IFC4X3_IfcPositiveLengthMeasure_type = new type_declaration("IfcPositiveLengthMeasure", 778, new named_type(IFC4X3_IfcLengthMeasure_type));
+ IFC4X3_IfcPositivePlaneAngleMeasure_type = new type_declaration("IfcPositivePlaneAngleMeasure", 779, new named_type(IFC4X3_IfcPlaneAngleMeasure_type));
+ IFC4X3_IfcPowerMeasure_type = new type_declaration("IfcPowerMeasure", 782, 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_IfcPreferredSurfaceCurveRepresentation_type = new enumeration_type("IfcPreferredSurfaceCurveRepresentation", 789, items);
+ }
+ IFC4X3_IfcPresentableText_type = new type_declaration("IfcPresentableText", 790, new simple_type(simple_type::string_type));
+ IFC4X3_IfcPressureMeasure_type = new type_declaration("IfcPressureMeasure", 795, 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_IfcProcedureTypeEnum_type = new enumeration_type("IfcProcedureTypeEnum", 798, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("AREA");
+ items.push_back("CURVE");
+ IFC4X3_IfcProfileTypeEnum_type = new enumeration_type("IfcProfileTypeEnum", 808, 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_IfcProjectOrderTypeEnum_type = new enumeration_type("IfcProjectOrderTypeEnum", 816, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("PROJECTED_LENGTH");
+ items.push_back("TRUE_LENGTH");
+ IFC4X3_IfcProjectedOrTrueLengthEnum_type = new enumeration_type("IfcProjectedOrTrueLengthEnum", 811, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("BLISTER");
+ items.push_back("DEVIATOR");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X3_IfcProjectionElementTypeEnum_type = new enumeration_type("IfcProjectionElementTypeEnum", 813, items);
+ }
+ {
+ std::vector items; items.reserve(10);
+ items.push_back("NOTDEFINED");
+ items.push_back("PSET_MATERIALDRIVEN");
+ items.push_back("PSET_OCCURRENCEDRIVEN");
+ items.push_back("PSET_PERFORMANCEDRIVEN");
+ items.push_back("PSET_PROFILEDRIVEN");
+ items.push_back("PSET_TYPEDRIVENONLY");
+ items.push_back("PSET_TYPEDRIVENOVERRIDE");
+ items.push_back("QTO_OCCURRENCEDRIVEN");
+ items.push_back("QTO_TYPEDRIVENONLY");
+ items.push_back("QTO_TYPEDRIVENOVERRIDE");
+ IFC4X3_IfcPropertySetTemplateTypeEnum_type = new enumeration_type("IfcPropertySetTemplateTypeEnum", 831, 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_IfcProtectiveDeviceTrippingUnitTypeEnum_type = new enumeration_type("IfcProtectiveDeviceTrippingUnitTypeEnum", 839, 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_IfcProtectiveDeviceTypeEnum_type = new enumeration_type("IfcProtectiveDeviceTypeEnum", 841, 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_IfcPumpTypeEnum_type = new enumeration_type("IfcPumpTypeEnum", 844, items);
+ }
+ IFC4X3_IfcRadioActivityMeasure_type = new type_declaration("IfcRadioActivityMeasure", 853, 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_IfcRailTypeEnum_type = new enumeration_type("IfcRailTypeEnum", 859, 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_IfcRailingTypeEnum_type = new enumeration_type("IfcRailingTypeEnum", 857, 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("PLAINTRACKSUPERSTRUCTURE");
+ items.push_back("SUPERSTRUCTURE");
+ items.push_back("TRACKSTRUCTURE");
+ items.push_back("TRACKSTRUCTUREPART");
+ items.push_back("TURNOUTSUPERSTRUCTURE");
+ items.push_back("USERDEFINED");
+ IFC4X3_IfcRailwayPartTypeEnum_type = new enumeration_type("IfcRailwayPartTypeEnum", 862, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X3_IfcRailwayTypeEnum_type = new enumeration_type("IfcRailwayTypeEnum", 863, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("NOTDEFINED");
+ items.push_back("SPIRAL");
+ items.push_back("STRAIGHT");
+ items.push_back("USERDEFINED");
+ IFC4X3_IfcRampFlightTypeEnum_type = new enumeration_type("IfcRampFlightTypeEnum", 867, 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_IfcRampTypeEnum_type = new enumeration_type("IfcRampTypeEnum", 869, items);
+ }
+ IFC4X3_IfcRatioMeasure_type = new type_declaration("IfcRatioMeasure", 870, new simple_type(simple_type::real_type));
+ IFC4X3_IfcReal_type = new type_declaration("IfcReal", 873, 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_IfcRecurrenceTypeEnum_type = new enumeration_type("IfcRecurrenceTypeEnum", 879, items);
+ }
+ {
+ std::vector items; items.reserve(10);
+ items.push_back("BOUNDARY");
+ items.push_back("INTERSECTION");
+ items.push_back("KILOPOINT");
+ items.push_back("LANDMARK");
+ items.push_back("MILEPOINT");
+ items.push_back("NOTDEFINED");
+ items.push_back("POSITION");
+ items.push_back("REFERENCEMARKER");
+ items.push_back("STATION");
+ items.push_back("USERDEFINED");
+ IFC4X3_IfcReferentTypeEnum_type = new enumeration_type("IfcReferentTypeEnum", 882, items);
+ }
+ {
+ std::vector items; items.reserve(11);
+ items.push_back("BLINN");
+ items.push_back("FLAT");
+ items.push_back("GLASS");
+ items.push_back("MATT");
+ items.push_back("METAL");
+ items.push_back("MIRROR");
+ items.push_back("NOTDEFINED");
+ items.push_back("PHONG");
+ items.push_back("PHYSICAL");
+ items.push_back("PLASTIC");
+ items.push_back("STRAUSS");
+ IFC4X3_IfcReflectanceMethodEnum_type = new enumeration_type("IfcReflectanceMethodEnum", 883, 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_IfcReinforcedSoilTypeEnum_type = new enumeration_type("IfcReinforcedSoilTypeEnum", 886, 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_IfcReinforcingBarRoleEnum_type = new enumeration_type("IfcReinforcingBarRoleEnum", 890, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("PLAIN");
+ items.push_back("TEXTURED");
+ IFC4X3_IfcReinforcingBarSurfaceEnum_type = new enumeration_type("IfcReinforcingBarSurfaceEnum", 891, 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_IfcReinforcingBarTypeEnum_type = new enumeration_type("IfcReinforcingBarTypeEnum", 893, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X3_IfcReinforcingMeshTypeEnum_type = new enumeration_type("IfcReinforcingMeshTypeEnum", 898, 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_IfcRoadPartTypeEnum_type = new enumeration_type("IfcRoadPartTypeEnum", 968, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X3_IfcRoadTypeEnum_type = new enumeration_type("IfcRoadTypeEnum", 969, items);
+ }
+ {
+ std::vector items; items.reserve(23);
+ items.push_back("ARCHITECT");
+ items.push_back("BUILDINGOPERATOR");
+ items.push_back("BUILDINGOWNER");
+ items.push_back("CIVILENGINEER");
+ items.push_back("CLIENT");
+ items.push_back("COMMISSIONINGENGINEER");
+ items.push_back("CONSTRUCTIONMANAGER");
+ items.push_back("CONSULTANT");
+ items.push_back("CONTRACTOR");
+ items.push_back("COSTENGINEER");
+ items.push_back("ELECTRICALENGINEER");
+ items.push_back("ENGINEER");
+ items.push_back("FACILITIESMANAGER");
+ items.push_back("FIELDCONSTRUCTIONMANAGER");
+ items.push_back("MANUFACTURER");
+ items.push_back("MECHANICALENGINEER");
+ items.push_back("OWNER");
+ items.push_back("PROJECTMANAGER");
+ items.push_back("RESELLER");
+ items.push_back("STRUCTURALENGINEER");
+ items.push_back("SUBCONTRACTOR");
+ items.push_back("SUPPLIER");
+ items.push_back("USERDEFINED");
+ IFC4X3_IfcRoleEnum_type = new enumeration_type("IfcRoleEnum", 970, items);
+ }
+ {
+ std::vector items; items.reserve(15);
+ items.push_back("BARREL_ROOF");
+ items.push_back("BUTTERFLY_ROOF");
+ items.push_back("DOME_ROOF");
+ items.push_back("FLAT_ROOF");
+ items.push_back("FREEFORM");
+ items.push_back("GABLE_ROOF");
+ items.push_back("GAMBREL_ROOF");
+ items.push_back("HIPPED_GABLE_ROOF");
+ items.push_back("HIP_ROOF");
+ items.push_back("MANSARD_ROOF");
+ items.push_back("NOTDEFINED");
+ items.push_back("PAVILION_ROOF");
+ items.push_back("RAINBOW_ROOF");
+ items.push_back("SHED_ROOF");
+ items.push_back("USERDEFINED");
+ IFC4X3_IfcRoofTypeEnum_type = new enumeration_type("IfcRoofTypeEnum", 973, items);
+ }
+ IFC4X3_IfcRotationalFrequencyMeasure_type = new type_declaration("IfcRotationalFrequencyMeasure", 975, new simple_type(simple_type::real_type));
+ IFC4X3_IfcRotationalMassMeasure_type = new type_declaration("IfcRotationalMassMeasure", 976, new simple_type(simple_type::real_type));
+ IFC4X3_IfcRotationalStiffnessMeasure_type = new type_declaration("IfcRotationalStiffnessMeasure", 977, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IFC4X3_IfcBoolean_type);
+ items.push_back(IFC4X3_IfcRotationalStiffnessMeasure_type);
+ IFC4X3_IfcRotationalStiffnessSelect_type = new select_type("IfcRotationalStiffnessSelect", 978, items);
+ }
+ {
+ std::vector items; items.reserve(16);
+ items.push_back("ATTO");
+ items.push_back("CENTI");
+ items.push_back("DECA");
+ items.push_back("DECI");
+ items.push_back("EXA");
+ items.push_back("FEMTO");
+ items.push_back("GIGA");
+ items.push_back("HECTO");
+ items.push_back("KILO");
+ items.push_back("MEGA");
+ items.push_back("MICRO");
+ items.push_back("MILLI");
+ items.push_back("NANO");
+ items.push_back("PETA");
+ items.push_back("PICO");
+ items.push_back("TERA");
+ IFC4X3_IfcSIPrefix_type = new enumeration_type("IfcSIPrefix", 1023, items);
+ }
+ {
+ std::vector items; items.reserve(30);
+ items.push_back("AMPERE");
+ items.push_back("BECQUEREL");
+ items.push_back("CANDELA");
+ items.push_back("COULOMB");
+ items.push_back("CUBIC_METRE");
+ items.push_back("DEGREE_CELSIUS");
+ items.push_back("FARAD");
+ items.push_back("GRAM");
+ items.push_back("GRAY");
+ items.push_back("HENRY");
+ items.push_back("HERTZ");
+ items.push_back("JOULE");
+ items.push_back("KELVIN");
+ items.push_back("LUMEN");
+ items.push_back("LUX");
+ items.push_back("METRE");
+ items.push_back("MOLE");
+ items.push_back("NEWTON");
+ items.push_back("OHM");
+ items.push_back("PASCAL");
+ items.push_back("RADIAN");
+ items.push_back("SECOND");
+ items.push_back("SIEMENS");
+ items.push_back("SIEVERT");
+ items.push_back("SQUARE_METRE");
+ items.push_back("STERADIAN");
+ items.push_back("TESLA");
+ items.push_back("VOLT");
+ items.push_back("WATT");
+ items.push_back("WEBER");
+ IFC4X3_IfcSIUnitName_type = new enumeration_type("IfcSIUnitName", 1026, items);
+ }
+ {
+ std::vector items; items.reserve(12);
+ items.push_back("BATH");
+ items.push_back("BIDET");
+ items.push_back("CISTERN");
+ items.push_back("NOTDEFINED");
+ items.push_back("SANITARYFOUNTAIN");
+ items.push_back("SHOWER");
+ items.push_back("SINK");
+ items.push_back("TOILETPAN");
+ items.push_back("URINAL");
+ items.push_back("USERDEFINED");
+ items.push_back("WASHHANDBASIN");
+ items.push_back("WCSEAT");
+ IFC4X3_IfcSanitaryTerminalTypeEnum_type = new enumeration_type("IfcSanitaryTerminalTypeEnum", 982, items);
+ }
+ IFC4X3_IfcSectionModulusMeasure_type = new type_declaration("IfcSectionModulusMeasure", 991, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("TAPERED");
+ items.push_back("UNIFORM");
+ IFC4X3_IfcSectionTypeEnum_type = new enumeration_type("IfcSectionTypeEnum", 994, items);
+ }
+ IFC4X3_IfcSectionalAreaIntegralMeasure_type = new type_declaration("IfcSectionalAreaIntegralMeasure", 986, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(34);
+ items.push_back("CO2SENSOR");
+ items.push_back("CONDUCTANCESENSOR");
+ items.push_back("CONTACTSENSOR");
+ items.push_back("COSENSOR");
+ items.push_back("EARTHQUAKESENSOR");
+ items.push_back("FIRESENSOR");
+ items.push_back("FLOWSENSOR");
+ items.push_back("FOREIGNOBJECTDETECTIONSENSOR");
+ items.push_back("FROSTSENSOR");
+ items.push_back("GASSENSOR");
+ items.push_back("HEATSENSOR");
+ items.push_back("HUMIDITYSENSOR");
+ items.push_back("IDENTIFIERSENSOR");
+ items.push_back("IONCONCENTRATIONSENSOR");
+ items.push_back("LEVELSENSOR");
+ items.push_back("LIGHTSENSOR");
+ items.push_back("MOISTURESENSOR");
+ items.push_back("MOVEMENTSENSOR");
+ items.push_back("NOTDEFINED");
+ items.push_back("OBSTACLESENSOR");
+ items.push_back("PHSENSOR");
+ items.push_back("PRESSURESENSOR");
+ items.push_back("RADIATIONSENSOR");
+ items.push_back("RADIOACTIVITYSENSOR");
+ items.push_back("RAINSENSOR");
+ items.push_back("SMOKESENSOR");
+ items.push_back("SNOWDEPTHSENSOR");
+ items.push_back("SOUNDSENSOR");
+ items.push_back("TEMPERATURESENSOR");
+ items.push_back("TRAINSENSOR");
+ items.push_back("TURNOUTCLOSURESENSOR");
+ items.push_back("USERDEFINED");
+ items.push_back("WHEELSENSOR");
+ items.push_back("WINDSENSOR");
+ IFC4X3_IfcSensorTypeEnum_type = new enumeration_type("IfcSensorTypeEnum", 1000, items);
+ }
+ {
+ std::vector items; items.reserve(6);
+ items.push_back("FINISH_FINISH");
+ items.push_back("FINISH_START");
+ items.push_back("NOTDEFINED");
+ items.push_back("START_FINISH");
+ items.push_back("START_START");
+ items.push_back("USERDEFINED");
+ IFC4X3_IfcSequenceEnum_type = new enumeration_type("IfcSequenceEnum", 1001, items);
+ }
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("AWNING");
+ items.push_back("JALOUSIE");
+ items.push_back("NOTDEFINED");
+ items.push_back("SHUTTER");
+ items.push_back("USERDEFINED");
+ IFC4X3_IfcShadingDeviceTypeEnum_type = new enumeration_type("IfcShadingDeviceTypeEnum", 1005, items);
+ }
+ IFC4X3_IfcShearModulusMeasure_type = new type_declaration("IfcShearModulusMeasure", 1009, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("MARKER");
+ items.push_back("MIRROR");
+ items.push_back("NOTDEFINED");
+ items.push_back("PICTORAL");
+ items.push_back("USERDEFINED");
+ IFC4X3_IfcSignTypeEnum_type = new enumeration_type("IfcSignTypeEnum", 1017, items);
+ }
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("AUDIO");
+ items.push_back("MIXED");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ items.push_back("VISUAL");
+ IFC4X3_IfcSignalTypeEnum_type = new enumeration_type("IfcSignalTypeEnum", 1015, items);
+ }
+ {
+ std::vector items; items.reserve(13);
+ items.push_back("P_BOUNDEDVALUE");
+ items.push_back("P_ENUMERATEDVALUE");
+ items.push_back("P_LISTVALUE");
+ items.push_back("P_REFERENCEVALUE");
+ items.push_back("P_SINGLEVALUE");
+ items.push_back("P_TABLEVALUE");
+ items.push_back("Q_AREA");
+ items.push_back("Q_COUNT");
+ items.push_back("Q_LENGTH");
+ items.push_back("Q_NUMBER");
+ items.push_back("Q_TIME");
+ items.push_back("Q_VOLUME");
+ items.push_back("Q_WEIGHT");
+ IFC4X3_IfcSimplePropertyTemplateTypeEnum_type = new enumeration_type("IfcSimplePropertyTemplateTypeEnum", 1020, items);
+ }
+ {
+ std::vector items; items.reserve(11);
+ items.push_back("APPROACH_SLAB");
+ items.push_back("BASESLAB");
+ items.push_back("FLOOR");
+ items.push_back("LANDING");
+ items.push_back("NOTDEFINED");
+ items.push_back("PAVING");
+ items.push_back("ROOF");
+ items.push_back("SIDEWALK");
+ items.push_back("TRACKSLAB");
+ items.push_back("USERDEFINED");
+ items.push_back("WEARING");
+ IFC4X3_IfcSlabTypeEnum_type = new enumeration_type("IfcSlabTypeEnum", 1030, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("NOTDEFINED");
+ items.push_back("SOLARCOLLECTOR");
+ items.push_back("SOLARPANEL");
+ items.push_back("USERDEFINED");
+ IFC4X3_IfcSolarDeviceTypeEnum_type = new enumeration_type("IfcSolarDeviceTypeEnum", 1034, items);
+ }
+ IFC4X3_IfcSolidAngleMeasure_type = new type_declaration("IfcSolidAngleMeasure", 1035, new simple_type(simple_type::real_type));
+ IFC4X3_IfcSoundPowerLevelMeasure_type = new type_declaration("IfcSoundPowerLevelMeasure", 1038, new simple_type(simple_type::real_type));
+ IFC4X3_IfcSoundPowerMeasure_type = new type_declaration("IfcSoundPowerMeasure", 1039, new simple_type(simple_type::real_type));
+ IFC4X3_IfcSoundPressureLevelMeasure_type = new type_declaration("IfcSoundPressureLevelMeasure", 1040, new simple_type(simple_type::real_type));
+ IFC4X3_IfcSoundPressureMeasure_type = new type_declaration("IfcSoundPressureMeasure", 1041, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("CONVECTOR");
+ items.push_back("NOTDEFINED");
+ items.push_back("RADIATOR");
+ items.push_back("USERDEFINED");
+ IFC4X3_IfcSpaceHeaterTypeEnum_type = new enumeration_type("IfcSpaceHeaterTypeEnum", 1046, items);
+ }
+ {
+ std::vector items; items.reserve(8);
+ items.push_back("BERTH");
+ items.push_back("EXTERNAL");
+ items.push_back("GFA");
+ items.push_back("INTERNAL");
+ items.push_back("NOTDEFINED");
+ items.push_back("PARKING");
+ items.push_back("SPACE");
+ items.push_back("USERDEFINED");
+ IFC4X3_IfcSpaceTypeEnum_type = new enumeration_type("IfcSpaceTypeEnum", 1048, items);
+ }
+ {
+ std::vector items; items.reserve(12);
+ items.push_back("CONSTRUCTION");
+ items.push_back("FIRESAFETY");
+ items.push_back("INTERFERENCE");
+ items.push_back("LIGHTING");
+ items.push_back("NOTDEFINED");
+ items.push_back("OCCUPANCY");
+ items.push_back("RESERVATION");
+ items.push_back("SECURITY");
+ items.push_back("THERMAL");
+ items.push_back("TRANSPORT");
+ items.push_back("USERDEFINED");
+ items.push_back("VENTILATION");
+ IFC4X3_IfcSpatialZoneTypeEnum_type = new enumeration_type("IfcSpatialZoneTypeEnum", 1056, items);
+ }
+ IFC4X3_IfcSpecificHeatCapacityMeasure_type = new type_declaration("IfcSpecificHeatCapacityMeasure", 1057, new simple_type(simple_type::real_type));
+ IFC4X3_IfcSpecularExponent_type = new type_declaration("IfcSpecularExponent", 1058, new simple_type(simple_type::real_type));
+ IFC4X3_IfcSpecularRoughness_type = new type_declaration("IfcSpecularRoughness", 1060, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("BIRDCAGE");
+ items.push_back("COWL");
+ items.push_back("NOTDEFINED");
+ items.push_back("RAINWATERHOPPER");
+ items.push_back("USERDEFINED");
+ IFC4X3_IfcStackTerminalTypeEnum_type = new enumeration_type("IfcStackTerminalTypeEnum", 1066, items);
+ }
+ {
+ std::vector items; items.reserve(7);
+ items.push_back("CURVED");
+ items.push_back("FREEFORM");
+ items.push_back("NOTDEFINED");
+ items.push_back("SPIRAL");
+ items.push_back("STRAIGHT");
+ items.push_back("USERDEFINED");
+ items.push_back("WINDER");
+ IFC4X3_IfcStairFlightTypeEnum_type = new enumeration_type("IfcStairFlightTypeEnum", 1070, items);
+ }
+ {
+ std::vector items; items.reserve(17);
+ items.push_back("CURVED_RUN_STAIR");
+ items.push_back("DOUBLE_RETURN_STAIR");
+ items.push_back("HALF_TURN_STAIR");
+ items.push_back("HALF_WINDING_STAIR");
+ items.push_back("LADDER");
+ items.push_back("NOTDEFINED");
+ items.push_back("QUARTER_TURN_STAIR");
+ items.push_back("QUARTER_WINDING_STAIR");
+ items.push_back("SPIRAL_STAIR");
+ items.push_back("STRAIGHT_RUN_STAIR");
+ items.push_back("THREE_QUARTER_TURN_STAIR");
+ items.push_back("THREE_QUARTER_WINDING_STAIR");
+ items.push_back("TWO_CURVED_RUN_STAIR");
+ items.push_back("TWO_QUARTER_TURN_STAIR");
+ items.push_back("TWO_QUARTER_WINDING_STAIR");
+ items.push_back("TWO_STRAIGHT_RUN_STAIR");
+ items.push_back("USERDEFINED");
+ IFC4X3_IfcStairTypeEnum_type = new enumeration_type("IfcStairTypeEnum", 1072, items);
+ }
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("LOCKED");
+ items.push_back("READONLY");
+ items.push_back("READONLYLOCKED");
+ items.push_back("READWRITE");
+ items.push_back("READWRITELOCKED");
+ IFC4X3_IfcStateEnum_type = new enumeration_type("IfcStateEnum", 1073, 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_IfcStructuralCurveActivityTypeEnum_type = new enumeration_type("IfcStructuralCurveActivityTypeEnum", 1081, 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_IfcStructuralCurveMemberTypeEnum_type = new enumeration_type("IfcStructuralCurveMemberTypeEnum", 1084, 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_IfcStructuralSurfaceActivityTypeEnum_type = new enumeration_type("IfcStructuralSurfaceActivityTypeEnum", 1110, 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_IfcStructuralSurfaceMemberTypeEnum_type = new enumeration_type("IfcStructuralSurfaceMemberTypeEnum", 1113, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("NOTDEFINED");
+ items.push_back("PURCHASE");
+ items.push_back("USERDEFINED");
+ items.push_back("WORK");
+ IFC4X3_IfcSubContractResourceTypeEnum_type = new enumeration_type("IfcSubContractResourceTypeEnum", 1121, 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_IfcSurfaceFeatureTypeEnum_type = new enumeration_type("IfcSurfaceFeatureTypeEnum", 1127, items);
+ }
+ {
+ std::vector items; items.reserve(3);
+ items.push_back("BOTH");
+ items.push_back("NEGATIVE");
+ items.push_back("POSITIVE");
+ IFC4X3_IfcSurfaceSide_type = new enumeration_type("IfcSurfaceSide", 1132, 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_IfcSwitchingDeviceTypeEnum_type = new enumeration_type("IfcSwitchingDeviceTypeEnum", 1147, 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_IfcSystemFurnitureElementTypeEnum_type = new enumeration_type("IfcSystemFurnitureElementTypeEnum", 1151, 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_IfcTankTypeEnum_type = new enumeration_type("IfcTankTypeEnum", 1157, items);
+ }
+ {
+ std::vector items; items.reserve(3);
+ items.push_back("ELAPSEDTIME");
+ items.push_back("NOTDEFINED");
+ items.push_back("WORKTIME");
+ IFC4X3_IfcTaskDurationEnum_type = new enumeration_type("IfcTaskDurationEnum", 1159, items);
+ }
+ {
+ std::vector items; items.reserve(23);
+ items.push_back("ADJUSTMENT");
+ items.push_back("ATTENDANCE");
+ items.push_back("CALIBRATION");
+ items.push_back("CONSTRUCTION");
+ items.push_back("DEMOLITION");
+ items.push_back("DISMANTLE");
+ items.push_back("DISPOSAL");
+ items.push_back("EMERGENCY");
+ items.push_back("INSPECTION");
+ items.push_back("INSTALLATION");
+ items.push_back("LOGISTIC");
+ items.push_back("MAINTENANCE");
+ items.push_back("MOVE");
+ items.push_back("NOTDEFINED");
+ items.push_back("OPERATION");
+ items.push_back("REMOVAL");
+ items.push_back("RENOVATION");
+ items.push_back("SAFETY");
+ items.push_back("SHUTDOWN");
+ items.push_back("STARTUP");
+ items.push_back("TESTING");
+ items.push_back("TROUBLESHOOTING");
+ items.push_back("USERDEFINED");
+ IFC4X3_IfcTaskTypeEnum_type = new enumeration_type("IfcTaskTypeEnum", 1163, items);
+ }
+ IFC4X3_IfcTemperatureGradientMeasure_type = new type_declaration("IfcTemperatureGradientMeasure", 1165, new simple_type(simple_type::real_type));
+ IFC4X3_IfcTemperatureRateOfChangeMeasure_type = new type_declaration("IfcTemperatureRateOfChangeMeasure", 1166, 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_IfcTendonAnchorTypeEnum_type = new enumeration_type("IfcTendonAnchorTypeEnum", 1170, 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_IfcTendonConduitTypeEnum_type = new enumeration_type("IfcTendonConduitTypeEnum", 1173, 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_IfcTendonTypeEnum_type = new enumeration_type("IfcTendonTypeEnum", 1175, items);
+ }
+ IFC4X3_IfcText_type = new type_declaration("IfcText", 1178, new simple_type(simple_type::string_type));
+ IFC4X3_IfcTextAlignment_type = new type_declaration("IfcTextAlignment", 1179, new simple_type(simple_type::string_type));
+ IFC4X3_IfcTextDecoration_type = new type_declaration("IfcTextDecoration", 1180, new simple_type(simple_type::string_type));
+ IFC4X3_IfcTextFontName_type = new type_declaration("IfcTextFontName", 1181, 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_IfcTextPath_type = new enumeration_type("IfcTextPath", 1185, items);
+ }
+ IFC4X3_IfcTextTransformation_type = new type_declaration("IfcTextTransformation", 1190, new simple_type(simple_type::string_type));
+ IFC4X3_IfcThermalAdmittanceMeasure_type = new type_declaration("IfcThermalAdmittanceMeasure", 1198, new simple_type(simple_type::real_type));
+ IFC4X3_IfcThermalConductivityMeasure_type = new type_declaration("IfcThermalConductivityMeasure", 1199, new simple_type(simple_type::real_type));
+ IFC4X3_IfcThermalExpansionCoefficientMeasure_type = new type_declaration("IfcThermalExpansionCoefficientMeasure", 1200, new simple_type(simple_type::real_type));
+ IFC4X3_IfcThermalResistanceMeasure_type = new type_declaration("IfcThermalResistanceMeasure", 1201, new simple_type(simple_type::real_type));
+ IFC4X3_IfcThermalTransmittanceMeasure_type = new type_declaration("IfcThermalTransmittanceMeasure", 1202, new simple_type(simple_type::real_type));
+ IFC4X3_IfcThermodynamicTemperatureMeasure_type = new type_declaration("IfcThermodynamicTemperatureMeasure", 1203, new simple_type(simple_type::real_type));
+ IFC4X3_IfcTime_type = new type_declaration("IfcTime", 1205, new simple_type(simple_type::string_type));
+ IFC4X3_IfcTimeMeasure_type = new type_declaration("IfcTimeMeasure", 1206, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IFC4X3_IfcDuration_type);
+ items.push_back(IFC4X3_IfcRatioMeasure_type);
+ IFC4X3_IfcTimeOrRatioSelect_type = new select_type("IfcTimeOrRatioSelect", 1207, 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_IfcTimeSeriesDataTypeEnum_type = new enumeration_type("IfcTimeSeriesDataTypeEnum", 1210, items);
+ }
+ IFC4X3_IfcTimeStamp_type = new type_declaration("IfcTimeStamp", 1212, new simple_type(simple_type::integer_type));
+ IFC4X3_IfcTorqueMeasure_type = new type_declaration("IfcTorqueMeasure", 1216, 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_IfcTrackElementTypeEnum_type = new enumeration_type("IfcTrackElementTypeEnum", 1219, 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_IfcTransformerTypeEnum_type = new enumeration_type("IfcTransformerTypeEnum", 1222, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("CONTINUOUS");
+ items.push_back("CONTSAMEGRADIENT");
+ items.push_back("CONTSAMEGRADIENTSAMECURVATURE");
+ items.push_back("DISCONTINUOUS");
+ IFC4X3_IfcTransitionCode_type = new enumeration_type("IfcTransitionCode", 1223, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IFC4X3_IfcBoolean_type);
+ items.push_back(IFC4X3_IfcLinearStiffnessMeasure_type);
+ IFC4X3_IfcTranslationalStiffnessSelect_type = new select_type("IfcTranslationalStiffnessSelect", 1224, items);
+ }
+ {
+ std::vector items; items.reserve(8);
+ items.push_back("CRANEWAY");
+ items.push_back("ELEVATOR");
+ items.push_back("ESCALATOR");
+ items.push_back("HAULINGGEAR");
+ items.push_back("LIFTINGGEAR");
+ items.push_back("MOVINGWALKWAY");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X3_IfcTransportElementTypeEnum_type = new enumeration_type("IfcTransportElementTypeEnum", 1229, items);
+ }
+ {
+ std::vector items; items.reserve(3);
+ items.push_back("CARTESIAN");
+ items.push_back("PARAMETER");
+ items.push_back("UNSPECIFIED");
+ IFC4X3_IfcTrimmingPreference_type = new enumeration_type("IfcTrimmingPreference", 1234, items);
+ }
+ {
+ std::vector items; items.reserve(3);
+ items.push_back("FINNED");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X3_IfcTubeBundleTypeEnum_type = new enumeration_type("IfcTubeBundleTypeEnum", 1239, items);
+ }
+ IFC4X3_IfcURIReference_type = new type_declaration("IfcURIReference", 1253, 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_IfcUnitEnum_type = new enumeration_type("IfcUnitEnum", 1252, items);
+ }
+ {
+ std::vector items; items.reserve(12);
+ items.push_back("ALARMPANEL");
+ items.push_back("BASESTATIONCONTROLLER");
+ items.push_back("COMBINED");
+ items.push_back("CONTROLPANEL");
+ items.push_back("GASDETECTIONPANEL");
+ items.push_back("HUMIDISTAT");
+ items.push_back("INDICATORPANEL");
+ items.push_back("MIMICPANEL");
+ items.push_back("NOTDEFINED");
+ items.push_back("THERMOSTAT");
+ items.push_back("USERDEFINED");
+ items.push_back("WEATHERSTATION");
+ IFC4X3_IfcUnitaryControlElementTypeEnum_type = new enumeration_type("IfcUnitaryControlElementTypeEnum", 1247, 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_IfcUnitaryEquipmentTypeEnum_type = new enumeration_type("IfcUnitaryEquipmentTypeEnum", 1250, 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_IfcValveTypeEnum_type = new enumeration_type("IfcValveTypeEnum", 1258, items);
+ }
+ IFC4X3_IfcVaporPermeabilityMeasure_type = new type_declaration("IfcVaporPermeabilityMeasure", 1259, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(9);
+ items.push_back("CARGO");
+ items.push_back("NOTDEFINED");
+ items.push_back("ROLLINGSTOCK");
+ items.push_back("USERDEFINED");
+ items.push_back("VEHICLE");
+ items.push_back("VEHICLEAIR");
+ items.push_back("VEHICLEMARINE");
+ items.push_back("VEHICLETRACKED");
+ items.push_back("VEHICLEWHEELED");
+ IFC4X3_IfcVehicleTypeEnum_type = new enumeration_type("IfcVehicleTypeEnum", 1264, items);
+ }
+ {
+ std::vector items; items.reserve(8);
+ items.push_back("AXIAL_YIELD");
+ items.push_back("BENDING_YIELD");
+ items.push_back("FRICTION");
+ items.push_back("NOTDEFINED");
+ items.push_back("RUBBER");
+ items.push_back("SHEAR_YIELD");
+ items.push_back("USERDEFINED");
+ items.push_back("VISCOUS");
+ IFC4X3_IfcVibrationDamperTypeEnum_type = new enumeration_type("IfcVibrationDamperTypeEnum", 1270, 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_IfcVibrationIsolatorTypeEnum_type = new enumeration_type("IfcVibrationIsolatorTypeEnum", 1273, items);
+ }
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("BOUNDARY");
+ items.push_back("CLEARANCE");
+ items.push_back("NOTDEFINED");
+ items.push_back("PROVISIONFORVOID");
+ items.push_back("USERDEFINED");
+ IFC4X3_IfcVirtualElementTypeEnum_type = new enumeration_type("IfcVirtualElementTypeEnum", 1275, 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_IfcVoidingFeatureTypeEnum_type = new enumeration_type("IfcVoidingFeatureTypeEnum", 1278, items);
+ }
+ IFC4X3_IfcVolumeMeasure_type = new type_declaration("IfcVolumeMeasure", 1279, new simple_type(simple_type::real_type));
+ IFC4X3_IfcVolumetricFlowRateMeasure_type = new type_declaration("IfcVolumetricFlowRateMeasure", 1280, 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_IfcWallTypeEnum_type = new enumeration_type("IfcWallTypeEnum", 1284, items);
+ }
+ IFC4X3_IfcWarpingConstantMeasure_type = new type_declaration("IfcWarpingConstantMeasure", 1285, new simple_type(simple_type::real_type));
+ IFC4X3_IfcWarpingMomentMeasure_type = new type_declaration("IfcWarpingMomentMeasure", 1286, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IFC4X3_IfcBoolean_type);
+ items.push_back(IFC4X3_IfcWarpingMomentMeasure_type);
+ IFC4X3_IfcWarpingStiffnessSelect_type = new select_type("IfcWarpingStiffnessSelect", 1287, 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_IfcWasteTerminalTypeEnum_type = new enumeration_type("IfcWasteTerminalTypeEnum", 1290, 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_IfcWindowPanelOperationEnum_type = new enumeration_type("IfcWindowPanelOperationEnum", 1293, 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_IfcWindowPanelPositionEnum_type = new enumeration_type("IfcWindowPanelPositionEnum", 1294, 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_IfcWindowStyleConstructionEnum_type = new enumeration_type("IfcWindowStyleConstructionEnum", 1296, 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_IfcWindowStyleOperationEnum_type = new enumeration_type("IfcWindowStyleOperationEnum", 1297, items);
+ }
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("LIGHTDOME");
+ items.push_back("NOTDEFINED");
+ items.push_back("SKYLIGHT");
+ items.push_back("USERDEFINED");
+ items.push_back("WINDOW");
+ IFC4X3_IfcWindowTypeEnum_type = new enumeration_type("IfcWindowTypeEnum", 1299, 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_IfcWindowTypePartitioningEnum_type = new enumeration_type("IfcWindowTypePartitioningEnum", 1300, 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_IfcWorkCalendarTypeEnum_type = new enumeration_type("IfcWorkCalendarTypeEnum", 1302, 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_IfcWorkPlanTypeEnum_type = new enumeration_type("IfcWorkPlanTypeEnum", 1305, items);
+ }
+ {
+ std::vector