diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt
index 2c0ddf5c8b..adc1fd8dd3 100644
--- a/cmake/CMakeLists.txt
+++ b/cmake/CMakeLists.txt
@@ -459,7 +459,7 @@ function(files_for_ifc_version IFC_VERSION RESULT_NAME)
)
endfunction()
-set(SCHEMA_VERSIONS "2x3" "4" "4x1" "4x2")
+set(SCHEMA_VERSIONS "2x3" "4" "4x1" "4x2" "4x3_rc1")
if(COMPILE_SCHEMA)
# @todo, this appears to be untested at the moment
diff --git a/src/ifcgeom_schema_agnostic/IteratorImplementation.cpp b/src/ifcgeom_schema_agnostic/IteratorImplementation.cpp
index 7cc968f6bc..42d3d8899f 100644
--- a/src/ifcgeom_schema_agnostic/IteratorImplementation.cpp
+++ b/src/ifcgeom_schema_agnostic/IteratorImplementation.cpp
@@ -18,10 +18,22 @@ extern void init_IteratorImplementation_Ifc2x3(IteratorFactoryImplementation
extern void init_IteratorImplementation_Ifc4(IteratorFactoryImplementation
*);
+template
+extern void init_IteratorImplementation_Ifc4x1(IteratorFactoryImplementation*);
+
+template
+extern void init_IteratorImplementation_Ifc4x2(IteratorFactoryImplementation*);
+
+template
+extern void init_IteratorImplementation_Ifc4x3_rc1(IteratorFactoryImplementation*);
+
template
IteratorFactoryImplementation::IteratorFactoryImplementation() {
init_IteratorImplementation_Ifc2x3(this);
init_IteratorImplementation_Ifc4(this);
+ init_IteratorImplementation_Ifc4x1(this);
+ init_IteratorImplementation_Ifc4x2(this);
+ init_IteratorImplementation_Ifc4x3_rc1(this);
}
template
diff --git a/src/ifcgeom_schema_agnostic/Kernel.cpp b/src/ifcgeom_schema_agnostic/Kernel.cpp
index d11e9b4895..b5e3e6c8b5 100644
--- a/src/ifcgeom_schema_agnostic/Kernel.cpp
+++ b/src/ifcgeom_schema_agnostic/Kernel.cpp
@@ -50,10 +50,16 @@ IfcGeom::impl::KernelFactoryImplementation& IfcGeom::impl::kernel_implementation
extern void init_KernelImplementation_Ifc2x3(IfcGeom::impl::KernelFactoryImplementation*);
extern void init_KernelImplementation_Ifc4(IfcGeom::impl::KernelFactoryImplementation*);
+extern void init_KernelImplementation_Ifc4x1(IfcGeom::impl::KernelFactoryImplementation*);
+extern void init_KernelImplementation_Ifc4x2(IfcGeom::impl::KernelFactoryImplementation*);
+extern void init_KernelImplementation_Ifc4x3_rc1(IfcGeom::impl::KernelFactoryImplementation*);
IfcGeom::impl::KernelFactoryImplementation::KernelFactoryImplementation() {
init_KernelImplementation_Ifc2x3(this);
init_KernelImplementation_Ifc4(this);
+ init_KernelImplementation_Ifc4x1(this);
+ init_KernelImplementation_Ifc4x2(this);
+ init_KernelImplementation_Ifc4x3_rc1(this);
}
void IfcGeom::impl::KernelFactoryImplementation::bind(const std::string& schema_name, IfcGeom::impl::kernel_fn fn) {
@@ -131,6 +137,30 @@ namespace {
}
return nullptr;
}
+
+ IfcUtil::IfcBaseEntity* get_RelatingObject(Ifc4x1::IfcRelDecomposes* decompose) {
+ Ifc4x1::IfcRelAggregates* aggr = decompose->as();
+ if (aggr != nullptr) {
+ return aggr->RelatingObject();
+ }
+ return nullptr;
+ }
+
+ IfcUtil::IfcBaseEntity* get_RelatingObject(Ifc4x2::IfcRelDecomposes* decompose) {
+ Ifc4x2::IfcRelAggregates* aggr = decompose->as();
+ if (aggr != nullptr) {
+ return aggr->RelatingObject();
+ }
+ return nullptr;
+ }
+
+ IfcUtil::IfcBaseEntity* get_RelatingObject(Ifc4x3_rc1::IfcRelDecomposes* decompose) {
+ Ifc4x3_rc1::IfcRelAggregates* aggr = decompose->as();
+ if (aggr != nullptr) {
+ return aggr->RelatingObject();
+ }
+ return nullptr;
+ }
IfcUtil::IfcBaseEntity* get_RelatingObject(Ifc2x3::IfcRelDecomposes* decompose) {
return decompose->RelatingObject();
@@ -138,6 +168,9 @@ namespace {
CREATE_GET_DECOMPOSING_ENTITY(Ifc2x3);
CREATE_GET_DECOMPOSING_ENTITY(Ifc4);
+ CREATE_GET_DECOMPOSING_ENTITY(Ifc4x1);
+ CREATE_GET_DECOMPOSING_ENTITY(Ifc4x2);
+ CREATE_GET_DECOMPOSING_ENTITY(Ifc4x3_rc1);
}
IfcUtil::IfcBaseEntity* IfcGeom::Kernel::get_decomposing_entity(IfcUtil::IfcBaseEntity* inst, bool include_openings) {
@@ -145,6 +178,12 @@ IfcUtil::IfcBaseEntity* IfcGeom::Kernel::get_decomposing_entity(IfcUtil::IfcBase
return get_decomposing_entity_impl(inst->as(), include_openings);
} else if (inst->as()) {
return get_decomposing_entity_impl(inst->as(), include_openings);
+ } else if (inst->as()) {
+ return get_decomposing_entity_impl(inst->as(), include_openings);
+ } else if (inst->as()) {
+ return get_decomposing_entity_impl(inst->as(), include_openings);
+ } else if (inst->as()) {
+ return get_decomposing_entity_impl(inst->as(), include_openings);
} else if (inst->declaration().name() == "IfcProject") {
return nullptr;
} else {
@@ -175,6 +214,12 @@ std::map IfcGeom::Kernel::get_layers(IfcUt
return get_layers_impl(inst->as());
} else if (inst->as()) {
return get_layers_impl(inst->as());
+ } else if (inst->as()) {
+ return get_layers_impl(inst->as());
+ } else if (inst->as()) {
+ return get_layers_impl(inst->as());
+ } else if (inst->as()) {
+ return get_layers_impl(inst->as());
} else {
throw IfcParse::IfcException("Unexpected entity " + inst->declaration().name());
}
diff --git a/src/ifcgeom_schema_agnostic/Kernel.h b/src/ifcgeom_schema_agnostic/Kernel.h
index b42f246dff..89795bc01f 100644
--- a/src/ifcgeom_schema_agnostic/Kernel.h
+++ b/src/ifcgeom_schema_agnostic/Kernel.h
@@ -7,6 +7,9 @@
#include "../ifcparse/Ifc2x3.h"
#include "../ifcparse/Ifc4.h"
+#include "../ifcparse/Ifc4x1.h"
+#include "../ifcparse/Ifc4x2.h"
+#include "../ifcparse/Ifc4x3_rc1.h"
#include
diff --git a/src/ifcgeom_schema_agnostic/Serialization.cpp b/src/ifcgeom_schema_agnostic/Serialization.cpp
index ef04e7c0f6..077d3ddfdb 100644
--- a/src/ifcgeom_schema_agnostic/Serialization.cpp
+++ b/src/ifcgeom_schema_agnostic/Serialization.cpp
@@ -5,12 +5,19 @@
namespace IfcGeom {
extern IfcUtil::IfcBaseClass* tesselate_Ifc2x3(const TopoDS_Shape& shape, double deflection);
extern IfcUtil::IfcBaseClass* tesselate_Ifc4(const TopoDS_Shape& shape, double deflection);
+ extern IfcUtil::IfcBaseClass* tesselate_Ifc4x1(const TopoDS_Shape& shape, double deflection);
+ extern IfcUtil::IfcBaseClass* tesselate_Ifc4x2(const TopoDS_Shape& shape, double deflection);
+ extern IfcUtil::IfcBaseClass* tesselate_Ifc4x3_rc1(const TopoDS_Shape& shape, double deflection);
+
extern IfcUtil::IfcBaseClass* serialise_Ifc2x3(const TopoDS_Shape& shape, bool advanced);
extern IfcUtil::IfcBaseClass* serialise_Ifc4(const TopoDS_Shape& shape, bool advanced);
+ extern IfcUtil::IfcBaseClass* serialise_Ifc4x1(const TopoDS_Shape& shape, bool advanced);
+ extern IfcUtil::IfcBaseClass* serialise_Ifc4x2(const TopoDS_Shape& shape, bool advanced);
+ extern IfcUtil::IfcBaseClass* serialise_Ifc4x3_rc1(const TopoDS_Shape& shape, bool advanced);
}
template
-IfcUtil::IfcBaseClass* execute_based_on_schema(Fn fn1, Fn fn2, const std::string& schema_name, const TopoDS_Shape& shape, T t) {
+IfcUtil::IfcBaseClass* execute_based_on_schema(Fn fn_2x3, Fn fn_4, Fn fn_4x1, Fn fn_4x2, Fn fn_4x3_rc1, const std::string& schema_name, const TopoDS_Shape& shape, T t) {
// @todo an ugly hack to guarantee schemas are initialised.
try {
IfcParse::schema_by_name("IFC2X3");
@@ -19,18 +26,36 @@ IfcUtil::IfcBaseClass* execute_based_on_schema(Fn fn1, Fn fn2, const std::string
const std::string schema_name_lower = boost::to_lower_copy(schema_name);
if (schema_name_lower == "ifc2x3") {
- return fn1(shape, t);
+ return fn_2x3(shape, t);
} else if (schema_name_lower == "ifc4") {
- return fn2(shape, t);
+ return fn_4(shape, t);
+ } else if (schema_name_lower == "ifc4x1") {
+ return fn_4x1(shape, t);
+ } else if (schema_name_lower == "ifc4x2") {
+ return fn_4x2(shape, t);
+ } else if (schema_name_lower == "ifc4x3_rc1") {
+ return fn_4x3_rc1(shape, t);
} else {
throw IfcParse::IfcException("No geometry serialization available for " + schema_name);
}
}
IfcUtil::IfcBaseClass* IfcGeom::tesselate(const std::string& schema_name, const TopoDS_Shape& shape, double deflection) {
- return execute_based_on_schema(IfcGeom::tesselate_Ifc2x3, IfcGeom::tesselate_Ifc4, schema_name, shape, deflection);
+ return execute_based_on_schema(
+ IfcGeom::tesselate_Ifc2x3,
+ IfcGeom::tesselate_Ifc4,
+ IfcGeom::tesselate_Ifc4x1,
+ IfcGeom::tesselate_Ifc4x2,
+ IfcGeom::tesselate_Ifc4x3_rc1,
+ schema_name, shape, deflection);
}
IfcUtil::IfcBaseClass* IfcGeom::serialise(const std::string& schema_name, const TopoDS_Shape& shape, bool advanced) {
- return execute_based_on_schema(IfcGeom::serialise_Ifc2x3, IfcGeom::serialise_Ifc4, schema_name, shape, advanced);
+ return execute_based_on_schema(
+ IfcGeom::serialise_Ifc2x3,
+ IfcGeom::serialise_Ifc4,
+ IfcGeom::serialise_Ifc4x1,
+ IfcGeom::serialise_Ifc4x2,
+ IfcGeom::serialise_Ifc4x3_rc1,
+ schema_name, shape, advanced);
}
\ No newline at end of file
diff --git a/src/ifcparse/Ifc4x3_rc1-definitions.h b/src/ifcparse/Ifc4x3_rc1-definitions.h
new file mode 100644
index 0000000000..61659835ce
--- /dev/null
+++ b/src/ifcparse/Ifc4x3_rc1-definitions.h
@@ -0,0 +1,4002 @@
+/********************************************************************************
+ * *
+ * 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_RC1.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_IfcAlignmentTypeEnum
+#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_IfcCurveOnSurface
+#define SCHEMA_HAS_IfcCurveOrEdgeCurve
+#define SCHEMA_HAS_IfcCurveStyleFontSelect
+#define SCHEMA_HAS_IfcDamperTypeEnum
+#define SCHEMA_HAS_IfcDataOriginEnum
+#define SCHEMA_HAS_IfcDate
+#define SCHEMA_HAS_IfcDateTime
+#define SCHEMA_HAS_IfcDayInMonthNumber
+#define SCHEMA_HAS_IfcDayInWeekNumber
+#define SCHEMA_HAS_IfcDefinitionSelect
+#define SCHEMA_HAS_IfcDerivedMeasureValue
+#define SCHEMA_HAS_IfcDerivedUnitEnum
+#define SCHEMA_HAS_IfcDescriptiveMeasure
+#define SCHEMA_HAS_IfcDimensionCount
+#define SCHEMA_HAS_IfcDirectionSenseEnum
+#define SCHEMA_HAS_IfcDiscreteAccessoryTypeEnum
+#define SCHEMA_HAS_IfcDistributionBoardTypeEnum
+#define SCHEMA_HAS_IfcDistributionChamberElementTypeEnum
+#define SCHEMA_HAS_IfcDistributionPortTypeEnum
+#define SCHEMA_HAS_IfcDistributionSystemEnum
+#define SCHEMA_HAS_IfcDocumentConfidentialityEnum
+#define SCHEMA_HAS_IfcDocumentSelect
+#define SCHEMA_HAS_IfcDocumentStatusEnum
+#define SCHEMA_HAS_IfcDoorPanelOperationEnum
+#define SCHEMA_HAS_IfcDoorPanelPositionEnum
+#define SCHEMA_HAS_IfcDoorStyleConstructionEnum
+#define SCHEMA_HAS_IfcDoorStyleOperationEnum
+#define SCHEMA_HAS_IfcDoorTypeEnum
+#define SCHEMA_HAS_IfcDoorTypeOperationEnum
+#define SCHEMA_HAS_IfcDoseEquivalentMeasure
+#define SCHEMA_HAS_IfcDuctFittingTypeEnum
+#define SCHEMA_HAS_IfcDuctSegmentTypeEnum
+#define SCHEMA_HAS_IfcDuctSilencerTypeEnum
+#define SCHEMA_HAS_IfcDuration
+#define SCHEMA_HAS_IfcDynamicViscosityMeasure
+#define SCHEMA_HAS_IfcEarthworksCutTypeEnum
+#define SCHEMA_HAS_IfcEarthworksFillTypeEnum
+#define SCHEMA_HAS_IfcElectricApplianceTypeEnum
+#define SCHEMA_HAS_IfcElectricCapacitanceMeasure
+#define SCHEMA_HAS_IfcElectricChargeMeasure
+#define SCHEMA_HAS_IfcElectricConductanceMeasure
+#define SCHEMA_HAS_IfcElectricCurrentMeasure
+#define SCHEMA_HAS_IfcElectricDistributionBoardTypeEnum
+#define SCHEMA_HAS_IfcElectricFlowStorageDeviceTypeEnum
+#define SCHEMA_HAS_IfcElectricFlowTreatmentDeviceTypeEnum
+#define SCHEMA_HAS_IfcElectricGeneratorTypeEnum
+#define SCHEMA_HAS_IfcElectricMotorTypeEnum
+#define SCHEMA_HAS_IfcElectricResistanceMeasure
+#define SCHEMA_HAS_IfcElectricTimeControlTypeEnum
+#define SCHEMA_HAS_IfcElectricVoltageMeasure
+#define SCHEMA_HAS_IfcElementAssemblyTypeEnum
+#define SCHEMA_HAS_IfcElementCompositionEnum
+#define SCHEMA_HAS_IfcEnergyMeasure
+#define SCHEMA_HAS_IfcEngineTypeEnum
+#define SCHEMA_HAS_IfcEvaporativeCoolerTypeEnum
+#define SCHEMA_HAS_IfcEvaporatorTypeEnum
+#define SCHEMA_HAS_IfcEventTriggerTypeEnum
+#define SCHEMA_HAS_IfcEventTypeEnum
+#define SCHEMA_HAS_IfcExternalSpatialElementTypeEnum
+#define SCHEMA_HAS_IfcFacilityPartCommonTypeEnum
+#define SCHEMA_HAS_IfcFacilityPartTypeSelect
+#define SCHEMA_HAS_IfcFacilityUsageEnum
+#define SCHEMA_HAS_IfcFanTypeEnum
+#define SCHEMA_HAS_IfcFastenerTypeEnum
+#define SCHEMA_HAS_IfcFillStyleSelect
+#define SCHEMA_HAS_IfcFilterTypeEnum
+#define SCHEMA_HAS_IfcFireSuppressionTerminalTypeEnum
+#define SCHEMA_HAS_IfcFlowDirectionEnum
+#define SCHEMA_HAS_IfcFlowInstrumentTypeEnum
+#define SCHEMA_HAS_IfcFlowMeterTypeEnum
+#define SCHEMA_HAS_IfcFontStyle
+#define SCHEMA_HAS_IfcFontVariant
+#define SCHEMA_HAS_IfcFontWeight
+#define SCHEMA_HAS_IfcFootingTypeEnum
+#define SCHEMA_HAS_IfcForceMeasure
+#define SCHEMA_HAS_IfcFrequencyMeasure
+#define SCHEMA_HAS_IfcFurnitureTypeEnum
+#define SCHEMA_HAS_IfcGeographicElementTypeEnum
+#define SCHEMA_HAS_IfcGeometricProjectionEnum
+#define SCHEMA_HAS_IfcGeometricSetSelect
+#define SCHEMA_HAS_IfcGlobalOrLocalEnum
+#define SCHEMA_HAS_IfcGloballyUniqueId
+#define SCHEMA_HAS_IfcGridPlacementDirectionSelect
+#define SCHEMA_HAS_IfcGridTypeEnum
+#define SCHEMA_HAS_IfcHatchLineDistanceSelect
+#define SCHEMA_HAS_IfcHeatExchangerTypeEnum
+#define SCHEMA_HAS_IfcHeatFluxDensityMeasure
+#define SCHEMA_HAS_IfcHeatingValueMeasure
+#define SCHEMA_HAS_IfcHumidifierTypeEnum
+#define SCHEMA_HAS_IfcIdentifier
+#define SCHEMA_HAS_IfcIlluminanceMeasure
+#define SCHEMA_HAS_IfcImpactProtectionDeviceTypeEnum
+#define SCHEMA_HAS_IfcImpactProtectionDeviceTypeSelect
+#define SCHEMA_HAS_IfcInductanceMeasure
+#define SCHEMA_HAS_IfcInteger
+#define SCHEMA_HAS_IfcIntegerCountRateMeasure
+#define SCHEMA_HAS_IfcInterceptorTypeEnum
+#define SCHEMA_HAS_IfcInterferenceSelect
+#define SCHEMA_HAS_IfcInternalOrExternalEnum
+#define SCHEMA_HAS_IfcInventoryTypeEnum
+#define SCHEMA_HAS_IfcIonConcentrationMeasure
+#define SCHEMA_HAS_IfcIsothermalMoistureCapacityMeasure
+#define SCHEMA_HAS_IfcJunctionBoxTypeEnum
+#define SCHEMA_HAS_IfcKinematicViscosityMeasure
+#define SCHEMA_HAS_IfcKnotType
+#define SCHEMA_HAS_IfcLabel
+#define SCHEMA_HAS_IfcLaborResourceTypeEnum
+#define SCHEMA_HAS_IfcLampTypeEnum
+#define SCHEMA_HAS_IfcLanguageId
+#define SCHEMA_HAS_IfcLayerSetDirectionEnum
+#define SCHEMA_HAS_IfcLayeredItem
+#define SCHEMA_HAS_IfcLengthMeasure
+#define SCHEMA_HAS_IfcLibrarySelect
+#define SCHEMA_HAS_IfcLightDistributionCurveEnum
+#define SCHEMA_HAS_IfcLightDistributionDataSourceSelect
+#define SCHEMA_HAS_IfcLightEmissionSourceEnum
+#define SCHEMA_HAS_IfcLightFixtureTypeEnum
+#define SCHEMA_HAS_IfcLineIndex
+#define SCHEMA_HAS_IfcLinearAxisSelect
+#define SCHEMA_HAS_IfcLinearForceMeasure
+#define SCHEMA_HAS_IfcLinearMomentMeasure
+#define SCHEMA_HAS_IfcLinearStiffnessMeasure
+#define SCHEMA_HAS_IfcLinearVelocityMeasure
+#define SCHEMA_HAS_IfcLiquidTerminalTypeEnum
+#define SCHEMA_HAS_IfcLoadGroupTypeEnum
+#define SCHEMA_HAS_IfcLogical
+#define SCHEMA_HAS_IfcLogicalOperatorEnum
+#define SCHEMA_HAS_IfcLuminousFluxMeasure
+#define SCHEMA_HAS_IfcLuminousIntensityDistributionMeasure
+#define SCHEMA_HAS_IfcLuminousIntensityMeasure
+#define SCHEMA_HAS_IfcMagneticFluxDensityMeasure
+#define SCHEMA_HAS_IfcMagneticFluxMeasure
+#define SCHEMA_HAS_IfcMarineFacilityTypeEnum
+#define SCHEMA_HAS_IfcMarinePartTypeEnum
+#define SCHEMA_HAS_IfcMassDensityMeasure
+#define SCHEMA_HAS_IfcMassFlowRateMeasure
+#define SCHEMA_HAS_IfcMassMeasure
+#define SCHEMA_HAS_IfcMassPerLengthMeasure
+#define SCHEMA_HAS_IfcMaterialSelect
+#define SCHEMA_HAS_IfcMeasureValue
+#define SCHEMA_HAS_IfcMechanicalFastenerTypeEnum
+#define SCHEMA_HAS_IfcMedicalDeviceTypeEnum
+#define SCHEMA_HAS_IfcMemberTypeEnum
+#define SCHEMA_HAS_IfcMetricValueSelect
+#define SCHEMA_HAS_IfcMobileTelecommunicationsApplianceTypeEnum
+#define SCHEMA_HAS_IfcModulusOfElasticityMeasure
+#define SCHEMA_HAS_IfcModulusOfLinearSubgradeReactionMeasure
+#define SCHEMA_HAS_IfcModulusOfRotationalSubgradeReactionMeasure
+#define SCHEMA_HAS_IfcModulusOfRotationalSubgradeReactionSelect
+#define SCHEMA_HAS_IfcModulusOfSubgradeReactionMeasure
+#define SCHEMA_HAS_IfcModulusOfSubgradeReactionSelect
+#define SCHEMA_HAS_IfcModulusOfTranslationalSubgradeReactionSelect
+#define SCHEMA_HAS_IfcMoistureDiffusivityMeasure
+#define SCHEMA_HAS_IfcMolecularWeightMeasure
+#define SCHEMA_HAS_IfcMomentOfInertiaMeasure
+#define SCHEMA_HAS_IfcMonetaryMeasure
+#define SCHEMA_HAS_IfcMonthInYearNumber
+#define SCHEMA_HAS_IfcMooringDeviceTypeEnum
+#define SCHEMA_HAS_IfcMotorConnectionTypeEnum
+#define SCHEMA_HAS_IfcNavigationElementTypeEnum
+#define SCHEMA_HAS_IfcNonNegativeLengthMeasure
+#define SCHEMA_HAS_IfcNormalisedRatioMeasure
+#define SCHEMA_HAS_IfcNullStyle
+#define SCHEMA_HAS_IfcNumericMeasure
+#define SCHEMA_HAS_IfcObjectReferenceSelect
+#define SCHEMA_HAS_IfcObjectTypeEnum
+#define SCHEMA_HAS_IfcObjectiveEnum
+#define SCHEMA_HAS_IfcOccupantTypeEnum
+#define SCHEMA_HAS_IfcOpeningElementTypeEnum
+#define SCHEMA_HAS_IfcOutletTypeEnum
+#define SCHEMA_HAS_IfcPHMeasure
+#define SCHEMA_HAS_IfcParameterValue
+#define SCHEMA_HAS_IfcPerformanceHistoryTypeEnum
+#define SCHEMA_HAS_IfcPermeableCoveringOperationEnum
+#define SCHEMA_HAS_IfcPermitTypeEnum
+#define SCHEMA_HAS_IfcPhysicalOrVirtualEnum
+#define SCHEMA_HAS_IfcPileConstructionEnum
+#define SCHEMA_HAS_IfcPileTypeEnum
+#define SCHEMA_HAS_IfcPipeFittingTypeEnum
+#define SCHEMA_HAS_IfcPipeSegmentTypeEnum
+#define SCHEMA_HAS_IfcPlanarForceMeasure
+#define SCHEMA_HAS_IfcPlaneAngleMeasure
+#define SCHEMA_HAS_IfcPlateTypeEnum
+#define SCHEMA_HAS_IfcPointOrVertexPoint
+#define SCHEMA_HAS_IfcPositiveInteger
+#define SCHEMA_HAS_IfcPositiveLengthMeasure
+#define SCHEMA_HAS_IfcPositivePlaneAngleMeasure
+#define SCHEMA_HAS_IfcPositiveRatioMeasure
+#define SCHEMA_HAS_IfcPowerMeasure
+#define SCHEMA_HAS_IfcPreferredSurfaceCurveRepresentation
+#define SCHEMA_HAS_IfcPresentableText
+#define SCHEMA_HAS_IfcPresentationStyleSelect
+#define SCHEMA_HAS_IfcPressureMeasure
+#define SCHEMA_HAS_IfcProcedureTypeEnum
+#define SCHEMA_HAS_IfcProcessSelect
+#define SCHEMA_HAS_IfcProductRepresentationSelect
+#define SCHEMA_HAS_IfcProductSelect
+#define SCHEMA_HAS_IfcProfileTypeEnum
+#define SCHEMA_HAS_IfcProjectOrderTypeEnum
+#define SCHEMA_HAS_IfcProjectedOrTrueLengthEnum
+#define SCHEMA_HAS_IfcProjectionElementTypeEnum
+#define SCHEMA_HAS_IfcPropertySetDefinitionSelect
+#define SCHEMA_HAS_IfcPropertySetDefinitionSet
+#define SCHEMA_HAS_IfcPropertySetTemplateTypeEnum
+#define SCHEMA_HAS_IfcProtectiveDeviceTrippingUnitTypeEnum
+#define SCHEMA_HAS_IfcProtectiveDeviceTypeEnum
+#define SCHEMA_HAS_IfcPumpTypeEnum
+#define SCHEMA_HAS_IfcRadioActivityMeasure
+#define SCHEMA_HAS_IfcRailTypeEnum
+#define SCHEMA_HAS_IfcRailingTypeEnum
+#define SCHEMA_HAS_IfcRailwayPartTypeEnum
+#define SCHEMA_HAS_IfcRampFlightTypeEnum
+#define SCHEMA_HAS_IfcRampTypeEnum
+#define SCHEMA_HAS_IfcRatioMeasure
+#define SCHEMA_HAS_IfcReal
+#define SCHEMA_HAS_IfcRecurrenceTypeEnum
+#define SCHEMA_HAS_IfcReferentTypeEnum
+#define SCHEMA_HAS_IfcReflectanceMethodEnum
+#define SCHEMA_HAS_IfcReinforcedSoilTypeEnum
+#define SCHEMA_HAS_IfcReinforcingBarRoleEnum
+#define SCHEMA_HAS_IfcReinforcingBarSurfaceEnum
+#define SCHEMA_HAS_IfcReinforcingBarTypeEnum
+#define SCHEMA_HAS_IfcReinforcingMeshTypeEnum
+#define SCHEMA_HAS_IfcResourceObjectSelect
+#define SCHEMA_HAS_IfcResourceSelect
+#define SCHEMA_HAS_IfcRoadPartTypeEnum
+#define SCHEMA_HAS_IfcRoleEnum
+#define SCHEMA_HAS_IfcRoofTypeEnum
+#define SCHEMA_HAS_IfcRotationalFrequencyMeasure
+#define SCHEMA_HAS_IfcRotationalMassMeasure
+#define SCHEMA_HAS_IfcRotationalStiffnessMeasure
+#define SCHEMA_HAS_IfcRotationalStiffnessSelect
+#define SCHEMA_HAS_IfcSIPrefix
+#define SCHEMA_HAS_IfcSIUnitName
+#define SCHEMA_HAS_IfcSanitaryTerminalTypeEnum
+#define SCHEMA_HAS_IfcSectionModulusMeasure
+#define SCHEMA_HAS_IfcSectionTypeEnum
+#define SCHEMA_HAS_IfcSectionalAreaIntegralMeasure
+#define SCHEMA_HAS_IfcSegmentIndexSelect
+#define SCHEMA_HAS_IfcSensorTypeEnum
+#define SCHEMA_HAS_IfcSequenceEnum
+#define SCHEMA_HAS_IfcShadingDeviceTypeEnum
+#define SCHEMA_HAS_IfcShearModulusMeasure
+#define SCHEMA_HAS_IfcShell
+#define SCHEMA_HAS_IfcSignTypeEnum
+#define SCHEMA_HAS_IfcSignalTypeEnum
+#define SCHEMA_HAS_IfcSimplePropertyTemplateTypeEnum
+#define SCHEMA_HAS_IfcSimpleValue
+#define SCHEMA_HAS_IfcSizeSelect
+#define SCHEMA_HAS_IfcSlabTypeEnum
+#define SCHEMA_HAS_IfcSolarDeviceTypeEnum
+#define SCHEMA_HAS_IfcSolidAngleMeasure
+#define SCHEMA_HAS_IfcSolidOrShell
+#define SCHEMA_HAS_IfcSoundPowerLevelMeasure
+#define SCHEMA_HAS_IfcSoundPowerMeasure
+#define SCHEMA_HAS_IfcSoundPressureLevelMeasure
+#define SCHEMA_HAS_IfcSoundPressureMeasure
+#define SCHEMA_HAS_IfcSpaceBoundarySelect
+#define SCHEMA_HAS_IfcSpaceHeaterTypeEnum
+#define SCHEMA_HAS_IfcSpaceTypeEnum
+#define SCHEMA_HAS_IfcSpatialReferenceSelect
+#define SCHEMA_HAS_IfcSpatialZoneTypeEnum
+#define SCHEMA_HAS_IfcSpecificHeatCapacityMeasure
+#define SCHEMA_HAS_IfcSpecularExponent
+#define SCHEMA_HAS_IfcSpecularHighlightSelect
+#define SCHEMA_HAS_IfcSpecularRoughness
+#define SCHEMA_HAS_IfcStackTerminalTypeEnum
+#define SCHEMA_HAS_IfcStairFlightTypeEnum
+#define SCHEMA_HAS_IfcStairTypeEnum
+#define SCHEMA_HAS_IfcStateEnum
+#define SCHEMA_HAS_IfcStructuralActivityAssignmentSelect
+#define SCHEMA_HAS_IfcStructuralCurveActivityTypeEnum
+#define SCHEMA_HAS_IfcStructuralCurveMemberTypeEnum
+#define SCHEMA_HAS_IfcStructuralSurfaceActivityTypeEnum
+#define SCHEMA_HAS_IfcStructuralSurfaceMemberTypeEnum
+#define SCHEMA_HAS_IfcStyleAssignmentSelect
+#define SCHEMA_HAS_IfcSubContractResourceTypeEnum
+#define SCHEMA_HAS_IfcSurfaceFeatureTypeEnum
+#define SCHEMA_HAS_IfcSurfaceOrFaceSurface
+#define SCHEMA_HAS_IfcSurfaceSide
+#define SCHEMA_HAS_IfcSurfaceStyleElementSelect
+#define SCHEMA_HAS_IfcSwitchingDeviceTypeEnum
+#define SCHEMA_HAS_IfcSystemFurnitureElementTypeEnum
+#define SCHEMA_HAS_IfcTankTypeEnum
+#define SCHEMA_HAS_IfcTaskDurationEnum
+#define SCHEMA_HAS_IfcTaskTypeEnum
+#define SCHEMA_HAS_IfcTemperatureGradientMeasure
+#define SCHEMA_HAS_IfcTemperatureRateOfChangeMeasure
+#define SCHEMA_HAS_IfcTendonAnchorTypeEnum
+#define SCHEMA_HAS_IfcTendonConduitTypeEnum
+#define SCHEMA_HAS_IfcTendonTypeEnum
+#define SCHEMA_HAS_IfcText
+#define SCHEMA_HAS_IfcTextAlignment
+#define SCHEMA_HAS_IfcTextDecoration
+#define SCHEMA_HAS_IfcTextFontName
+#define SCHEMA_HAS_IfcTextFontSelect
+#define SCHEMA_HAS_IfcTextPath
+#define SCHEMA_HAS_IfcTextTransformation
+#define SCHEMA_HAS_IfcThermalAdmittanceMeasure
+#define SCHEMA_HAS_IfcThermalConductivityMeasure
+#define SCHEMA_HAS_IfcThermalExpansionCoefficientMeasure
+#define SCHEMA_HAS_IfcThermalResistanceMeasure
+#define SCHEMA_HAS_IfcThermalTransmittanceMeasure
+#define SCHEMA_HAS_IfcThermodynamicTemperatureMeasure
+#define SCHEMA_HAS_IfcTime
+#define SCHEMA_HAS_IfcTimeMeasure
+#define SCHEMA_HAS_IfcTimeOrRatioSelect
+#define SCHEMA_HAS_IfcTimeSeriesDataTypeEnum
+#define SCHEMA_HAS_IfcTimeStamp
+#define SCHEMA_HAS_IfcTorqueMeasure
+#define SCHEMA_HAS_IfcTrackElementTypeEnum
+#define SCHEMA_HAS_IfcTransformerTypeEnum
+#define SCHEMA_HAS_IfcTransitionCode
+#define SCHEMA_HAS_IfcTransitionCurveType
+#define SCHEMA_HAS_IfcTranslationalStiffnessSelect
+#define SCHEMA_HAS_IfcTransportElementFixedTypeEnum
+#define SCHEMA_HAS_IfcTransportElementNonFixedTypeEnum
+#define SCHEMA_HAS_IfcTransportElementTypeSelect
+#define SCHEMA_HAS_IfcTrimmingPreference
+#define SCHEMA_HAS_IfcTrimmingSelect
+#define SCHEMA_HAS_IfcTubeBundleTypeEnum
+#define SCHEMA_HAS_IfcURIReference
+#define SCHEMA_HAS_IfcUnit
+#define SCHEMA_HAS_IfcUnitEnum
+#define SCHEMA_HAS_IfcUnitaryControlElementTypeEnum
+#define SCHEMA_HAS_IfcUnitaryEquipmentTypeEnum
+#define SCHEMA_HAS_IfcValue
+#define SCHEMA_HAS_IfcValveTypeEnum
+#define SCHEMA_HAS_IfcVaporPermeabilityMeasure
+#define SCHEMA_HAS_IfcVectorOrDirection
+#define SCHEMA_HAS_IfcVibrationDamperTypeEnum
+#define SCHEMA_HAS_IfcVibrationIsolatorTypeEnum
+#define SCHEMA_HAS_IfcVoidingFeatureTypeEnum
+#define SCHEMA_HAS_IfcVolumeMeasure
+#define SCHEMA_HAS_IfcVolumetricFlowRateMeasure
+#define SCHEMA_HAS_IfcWallTypeEnum
+#define SCHEMA_HAS_IfcWarpingConstantMeasure
+#define SCHEMA_HAS_IfcWarpingMomentMeasure
+#define SCHEMA_HAS_IfcWarpingStiffnessSelect
+#define SCHEMA_HAS_IfcWasteTerminalTypeEnum
+#define SCHEMA_HAS_IfcWindowPanelOperationEnum
+#define SCHEMA_HAS_IfcWindowPanelPositionEnum
+#define SCHEMA_HAS_IfcWindowStyleConstructionEnum
+#define SCHEMA_HAS_IfcWindowStyleOperationEnum
+#define SCHEMA_HAS_IfcWindowTypeEnum
+#define SCHEMA_HAS_IfcWindowTypePartitioningEnum
+#define SCHEMA_HAS_IfcWorkCalendarTypeEnum
+#define SCHEMA_HAS_IfcWorkPlanTypeEnum
+#define SCHEMA_HAS_IfcWorkScheduleTypeEnum
+#define SCHEMA_HAS_IfcActionRequest
+#define SCHEMA_IfcActionRequest_HAS_PredefinedType
+#define SCHEMA_IfcActionRequest_PredefinedType_IS_OPTIONAL
+#define SCHEMA_IfcActionRequest_HAS_Status
+#define SCHEMA_IfcActionRequest_Status_IS_OPTIONAL
+#define SCHEMA_IfcActionRequest_HAS_LongDescription
+#define SCHEMA_IfcActionRequest_LongDescription_IS_OPTIONAL
+#define SCHEMA_HAS_IfcActor
+#define SCHEMA_IfcActor_HAS_TheActor
+#define SCHEMA_IfcActor_HAS_IsActingUpon
+#define SCHEMA_HAS_IfcActorRole
+#define SCHEMA_IfcActorRole_HAS_Role
+#define SCHEMA_IfcActorRole_HAS_UserDefinedRole
+#define SCHEMA_IfcActorRole_UserDefinedRole_IS_OPTIONAL
+#define SCHEMA_IfcActorRole_HAS_Description
+#define SCHEMA_IfcActorRole_Description_IS_OPTIONAL
+#define SCHEMA_IfcActorRole_HAS_HasExternalReference
+#define SCHEMA_HAS_IfcActuator
+#define SCHEMA_IfcActuator_HAS_PredefinedType
+#define SCHEMA_IfcActuator_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcActuatorType
+#define SCHEMA_IfcActuatorType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcAddress
+#define SCHEMA_IfcAddress_HAS_Purpose
+#define SCHEMA_IfcAddress_Purpose_IS_OPTIONAL
+#define SCHEMA_IfcAddress_HAS_Description
+#define SCHEMA_IfcAddress_Description_IS_OPTIONAL
+#define SCHEMA_IfcAddress_HAS_UserDefinedPurpose
+#define SCHEMA_IfcAddress_UserDefinedPurpose_IS_OPTIONAL
+#define SCHEMA_IfcAddress_HAS_OfPerson
+#define SCHEMA_IfcAddress_HAS_OfOrganization
+#define SCHEMA_HAS_IfcAdvancedBrep
+#define SCHEMA_HAS_IfcAdvancedBrepWithVoids
+#define SCHEMA_IfcAdvancedBrepWithVoids_HAS_Voids
+#define SCHEMA_HAS_IfcAdvancedFace
+#define SCHEMA_HAS_IfcAirTerminal
+#define SCHEMA_IfcAirTerminal_HAS_PredefinedType
+#define SCHEMA_IfcAirTerminal_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcAirTerminalBox
+#define SCHEMA_IfcAirTerminalBox_HAS_PredefinedType
+#define SCHEMA_IfcAirTerminalBox_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcAirTerminalBoxType
+#define SCHEMA_IfcAirTerminalBoxType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcAirTerminalType
+#define SCHEMA_IfcAirTerminalType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcAirToAirHeatRecovery
+#define SCHEMA_IfcAirToAirHeatRecovery_HAS_PredefinedType
+#define SCHEMA_IfcAirToAirHeatRecovery_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcAirToAirHeatRecoveryType
+#define SCHEMA_IfcAirToAirHeatRecoveryType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcAlarm
+#define SCHEMA_IfcAlarm_HAS_PredefinedType
+#define SCHEMA_IfcAlarm_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcAlarmType
+#define SCHEMA_IfcAlarmType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcAlignment
+#define SCHEMA_IfcAlignment_HAS_PredefinedType
+#define SCHEMA_IfcAlignment_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcAlignment2DCant
+#define SCHEMA_IfcAlignment2DCant_HAS_Segments
+#define SCHEMA_IfcAlignment2DCant_HAS_RailHeadDistance
+#define SCHEMA_HAS_IfcAlignment2DCantSegLine
+#define SCHEMA_HAS_IfcAlignment2DCantSegTransition
+#define SCHEMA_IfcAlignment2DCantSegTransition_HAS_StartRadius
+#define SCHEMA_IfcAlignment2DCantSegTransition_StartRadius_IS_OPTIONAL
+#define SCHEMA_IfcAlignment2DCantSegTransition_HAS_EndRadius
+#define SCHEMA_IfcAlignment2DCantSegTransition_EndRadius_IS_OPTIONAL
+#define SCHEMA_IfcAlignment2DCantSegTransition_HAS_IsStartRadiusCCW
+#define SCHEMA_IfcAlignment2DCantSegTransition_HAS_IsEndRadiusCCW
+#define SCHEMA_IfcAlignment2DCantSegTransition_HAS_TransitionCurveType
+#define SCHEMA_HAS_IfcAlignment2DCantSegment
+#define SCHEMA_IfcAlignment2DCantSegment_HAS_StartDistAlong
+#define SCHEMA_IfcAlignment2DCantSegment_HAS_HorizontalLength
+#define SCHEMA_IfcAlignment2DCantSegment_HAS_StartCantLeft
+#define SCHEMA_IfcAlignment2DCantSegment_HAS_EndCantLeft
+#define SCHEMA_IfcAlignment2DCantSegment_EndCantLeft_IS_OPTIONAL
+#define SCHEMA_IfcAlignment2DCantSegment_HAS_StartCantRight
+#define SCHEMA_IfcAlignment2DCantSegment_HAS_EndCantRight
+#define SCHEMA_IfcAlignment2DCantSegment_EndCantRight_IS_OPTIONAL
+#define SCHEMA_IfcAlignment2DCantSegment_HAS_ToCant
+#define SCHEMA_HAS_IfcAlignment2DHorizontal
+#define SCHEMA_IfcAlignment2DHorizontal_HAS_StartDistAlong
+#define SCHEMA_IfcAlignment2DHorizontal_StartDistAlong_IS_OPTIONAL
+#define SCHEMA_IfcAlignment2DHorizontal_HAS_Segments
+#define SCHEMA_IfcAlignment2DHorizontal_HAS_ToAlignmentCurve
+#define SCHEMA_HAS_IfcAlignment2DHorizontalSegment
+#define SCHEMA_IfcAlignment2DHorizontalSegment_HAS_CurveGeometry
+#define SCHEMA_IfcAlignment2DHorizontalSegment_HAS_ToHorizontal
+#define SCHEMA_HAS_IfcAlignment2DSegment
+#define SCHEMA_IfcAlignment2DSegment_HAS_TangentialContinuity
+#define SCHEMA_IfcAlignment2DSegment_TangentialContinuity_IS_OPTIONAL
+#define SCHEMA_IfcAlignment2DSegment_HAS_StartTag
+#define SCHEMA_IfcAlignment2DSegment_StartTag_IS_OPTIONAL
+#define SCHEMA_IfcAlignment2DSegment_HAS_EndTag
+#define SCHEMA_IfcAlignment2DSegment_EndTag_IS_OPTIONAL
+#define SCHEMA_HAS_IfcAlignment2DVerSegCircularArc
+#define SCHEMA_IfcAlignment2DVerSegCircularArc_HAS_Radius
+#define SCHEMA_IfcAlignment2DVerSegCircularArc_HAS_IsConvex
+#define SCHEMA_HAS_IfcAlignment2DVerSegLine
+#define SCHEMA_HAS_IfcAlignment2DVerSegParabolicArc
+#define SCHEMA_IfcAlignment2DVerSegParabolicArc_HAS_ParabolaConstant
+#define SCHEMA_IfcAlignment2DVerSegParabolicArc_HAS_IsConvex
+#define SCHEMA_HAS_IfcAlignment2DVerSegTransition
+#define SCHEMA_IfcAlignment2DVerSegTransition_HAS_StartRadius
+#define SCHEMA_IfcAlignment2DVerSegTransition_StartRadius_IS_OPTIONAL
+#define SCHEMA_IfcAlignment2DVerSegTransition_HAS_EndRadius
+#define SCHEMA_IfcAlignment2DVerSegTransition_EndRadius_IS_OPTIONAL
+#define SCHEMA_IfcAlignment2DVerSegTransition_HAS_IsStartRadiusCCW
+#define SCHEMA_IfcAlignment2DVerSegTransition_HAS_IsEndRadiusCCW
+#define SCHEMA_IfcAlignment2DVerSegTransition_HAS_TransitionCurveType
+#define SCHEMA_HAS_IfcAlignment2DVertical
+#define SCHEMA_IfcAlignment2DVertical_HAS_Segments
+#define SCHEMA_IfcAlignment2DVertical_HAS_ToAlignmentCurve
+#define SCHEMA_HAS_IfcAlignment2DVerticalSegment
+#define SCHEMA_IfcAlignment2DVerticalSegment_HAS_StartDistAlong
+#define SCHEMA_IfcAlignment2DVerticalSegment_HAS_HorizontalLength
+#define SCHEMA_IfcAlignment2DVerticalSegment_HAS_StartHeight
+#define SCHEMA_IfcAlignment2DVerticalSegment_HAS_StartGradient
+#define SCHEMA_IfcAlignment2DVerticalSegment_HAS_ToVertical
+#define SCHEMA_HAS_IfcAlignmentCurve
+#define SCHEMA_IfcAlignmentCurve_HAS_Horizontal
+#define SCHEMA_IfcAlignmentCurve_HAS_Vertical
+#define SCHEMA_IfcAlignmentCurve_Vertical_IS_OPTIONAL
+#define SCHEMA_IfcAlignmentCurve_HAS_Tag
+#define SCHEMA_IfcAlignmentCurve_Tag_IS_OPTIONAL
+#define SCHEMA_HAS_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_IfcAxisLateralInclination
+#define SCHEMA_IfcAxisLateralInclination_HAS_ToLinearAxis
+#define SCHEMA_HAS_IfcBSplineCurve
+#define SCHEMA_IfcBSplineCurve_HAS_Degree
+#define SCHEMA_IfcBSplineCurve_HAS_ControlPointsList
+#define SCHEMA_IfcBSplineCurve_HAS_CurveForm
+#define SCHEMA_IfcBSplineCurve_HAS_ClosedCurve
+#define SCHEMA_IfcBSplineCurve_HAS_SelfIntersect
+#define SCHEMA_HAS_IfcBSplineCurveWithKnots
+#define SCHEMA_IfcBSplineCurveWithKnots_HAS_KnotMultiplicities
+#define SCHEMA_IfcBSplineCurveWithKnots_HAS_Knots
+#define SCHEMA_IfcBSplineCurveWithKnots_HAS_KnotSpec
+#define SCHEMA_HAS_IfcBSplineSurface
+#define SCHEMA_IfcBSplineSurface_HAS_UDegree
+#define SCHEMA_IfcBSplineSurface_HAS_VDegree
+#define SCHEMA_IfcBSplineSurface_HAS_ControlPointsList
+#define SCHEMA_IfcBSplineSurface_HAS_SurfaceForm
+#define SCHEMA_IfcBSplineSurface_HAS_UClosed
+#define SCHEMA_IfcBSplineSurface_HAS_VClosed
+#define SCHEMA_IfcBSplineSurface_HAS_SelfIntersect
+#define SCHEMA_HAS_IfcBSplineSurfaceWithKnots
+#define SCHEMA_IfcBSplineSurfaceWithKnots_HAS_UMultiplicities
+#define SCHEMA_IfcBSplineSurfaceWithKnots_HAS_VMultiplicities
+#define SCHEMA_IfcBSplineSurfaceWithKnots_HAS_UKnots
+#define SCHEMA_IfcBSplineSurfaceWithKnots_HAS_VKnots
+#define SCHEMA_IfcBSplineSurfaceWithKnots_HAS_KnotSpec
+#define SCHEMA_HAS_IfcBeam
+#define SCHEMA_IfcBeam_HAS_PredefinedType
+#define SCHEMA_IfcBeam_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcBeamStandardCase
+#define SCHEMA_HAS_IfcBeamType
+#define SCHEMA_IfcBeamType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcBearing
+#define SCHEMA_IfcBearing_HAS_PredefinedType
+#define SCHEMA_IfcBearing_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcBearingType
+#define SCHEMA_IfcBearingType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcBlobTexture
+#define SCHEMA_IfcBlobTexture_HAS_RasterFormat
+#define SCHEMA_IfcBlobTexture_HAS_RasterCode
+#define SCHEMA_HAS_IfcBlock
+#define SCHEMA_IfcBlock_HAS_XLength
+#define SCHEMA_IfcBlock_HAS_YLength
+#define SCHEMA_IfcBlock_HAS_ZLength
+#define SCHEMA_HAS_IfcBoiler
+#define SCHEMA_IfcBoiler_HAS_PredefinedType
+#define SCHEMA_IfcBoiler_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcBoilerType
+#define SCHEMA_IfcBoilerType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcBooleanClippingResult
+#define SCHEMA_HAS_IfcBooleanResult
+#define SCHEMA_IfcBooleanResult_HAS_Operator
+#define SCHEMA_IfcBooleanResult_HAS_FirstOperand
+#define SCHEMA_IfcBooleanResult_HAS_SecondOperand
+#define SCHEMA_HAS_IfcBorehole
+#define SCHEMA_HAS_IfcBoundaryCondition
+#define SCHEMA_IfcBoundaryCondition_HAS_Name
+#define SCHEMA_IfcBoundaryCondition_Name_IS_OPTIONAL
+#define SCHEMA_HAS_IfcBoundaryCurve
+#define SCHEMA_HAS_IfcBoundaryEdgeCondition
+#define SCHEMA_IfcBoundaryEdgeCondition_HAS_TranslationalStiffnessByLengthX
+#define SCHEMA_IfcBoundaryEdgeCondition_TranslationalStiffnessByLengthX_IS_OPTIONAL
+#define SCHEMA_IfcBoundaryEdgeCondition_HAS_TranslationalStiffnessByLengthY
+#define SCHEMA_IfcBoundaryEdgeCondition_TranslationalStiffnessByLengthY_IS_OPTIONAL
+#define SCHEMA_IfcBoundaryEdgeCondition_HAS_TranslationalStiffnessByLengthZ
+#define SCHEMA_IfcBoundaryEdgeCondition_TranslationalStiffnessByLengthZ_IS_OPTIONAL
+#define SCHEMA_IfcBoundaryEdgeCondition_HAS_RotationalStiffnessByLengthX
+#define SCHEMA_IfcBoundaryEdgeCondition_RotationalStiffnessByLengthX_IS_OPTIONAL
+#define SCHEMA_IfcBoundaryEdgeCondition_HAS_RotationalStiffnessByLengthY
+#define SCHEMA_IfcBoundaryEdgeCondition_RotationalStiffnessByLengthY_IS_OPTIONAL
+#define SCHEMA_IfcBoundaryEdgeCondition_HAS_RotationalStiffnessByLengthZ
+#define SCHEMA_IfcBoundaryEdgeCondition_RotationalStiffnessByLengthZ_IS_OPTIONAL
+#define SCHEMA_HAS_IfcBoundaryFaceCondition
+#define SCHEMA_IfcBoundaryFaceCondition_HAS_TranslationalStiffnessByAreaX
+#define SCHEMA_IfcBoundaryFaceCondition_TranslationalStiffnessByAreaX_IS_OPTIONAL
+#define SCHEMA_IfcBoundaryFaceCondition_HAS_TranslationalStiffnessByAreaY
+#define SCHEMA_IfcBoundaryFaceCondition_TranslationalStiffnessByAreaY_IS_OPTIONAL
+#define SCHEMA_IfcBoundaryFaceCondition_HAS_TranslationalStiffnessByAreaZ
+#define SCHEMA_IfcBoundaryFaceCondition_TranslationalStiffnessByAreaZ_IS_OPTIONAL
+#define SCHEMA_HAS_IfcBoundaryNodeCondition
+#define SCHEMA_IfcBoundaryNodeCondition_HAS_TranslationalStiffnessX
+#define SCHEMA_IfcBoundaryNodeCondition_TranslationalStiffnessX_IS_OPTIONAL
+#define SCHEMA_IfcBoundaryNodeCondition_HAS_TranslationalStiffnessY
+#define SCHEMA_IfcBoundaryNodeCondition_TranslationalStiffnessY_IS_OPTIONAL
+#define SCHEMA_IfcBoundaryNodeCondition_HAS_TranslationalStiffnessZ
+#define SCHEMA_IfcBoundaryNodeCondition_TranslationalStiffnessZ_IS_OPTIONAL
+#define SCHEMA_IfcBoundaryNodeCondition_HAS_RotationalStiffnessX
+#define SCHEMA_IfcBoundaryNodeCondition_RotationalStiffnessX_IS_OPTIONAL
+#define SCHEMA_IfcBoundaryNodeCondition_HAS_RotationalStiffnessY
+#define SCHEMA_IfcBoundaryNodeCondition_RotationalStiffnessY_IS_OPTIONAL
+#define SCHEMA_IfcBoundaryNodeCondition_HAS_RotationalStiffnessZ
+#define SCHEMA_IfcBoundaryNodeCondition_RotationalStiffnessZ_IS_OPTIONAL
+#define SCHEMA_HAS_IfcBoundaryNodeConditionWarping
+#define SCHEMA_IfcBoundaryNodeConditionWarping_HAS_WarpingStiffness
+#define SCHEMA_IfcBoundaryNodeConditionWarping_WarpingStiffness_IS_OPTIONAL
+#define SCHEMA_HAS_IfcBoundedCurve
+#define SCHEMA_IfcBoundedCurve_HAS_PositioningElement
+#define SCHEMA_HAS_IfcBoundedSurface
+#define SCHEMA_HAS_IfcBoundingBox
+#define SCHEMA_IfcBoundingBox_HAS_Corner
+#define SCHEMA_IfcBoundingBox_HAS_XDim
+#define SCHEMA_IfcBoundingBox_HAS_YDim
+#define SCHEMA_IfcBoundingBox_HAS_ZDim
+#define SCHEMA_HAS_IfcBoxedHalfSpace
+#define SCHEMA_IfcBoxedHalfSpace_HAS_Enclosure
+#define SCHEMA_HAS_IfcBridge
+#define SCHEMA_IfcBridge_HAS_PredefinedType
+#define SCHEMA_IfcBridge_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcBridgePart
+#define SCHEMA_HAS_IfcBuilding
+#define SCHEMA_IfcBuilding_HAS_ElevationOfRefHeight
+#define SCHEMA_IfcBuilding_ElevationOfRefHeight_IS_OPTIONAL
+#define SCHEMA_IfcBuilding_HAS_ElevationOfTerrain
+#define SCHEMA_IfcBuilding_ElevationOfTerrain_IS_OPTIONAL
+#define SCHEMA_IfcBuilding_HAS_BuildingAddress
+#define SCHEMA_IfcBuilding_BuildingAddress_IS_OPTIONAL
+#define SCHEMA_HAS_IfcBuildingElementPart
+#define SCHEMA_IfcBuildingElementPart_HAS_PredefinedType
+#define SCHEMA_IfcBuildingElementPart_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcBuildingElementPartType
+#define SCHEMA_IfcBuildingElementPartType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcBuildingElementProxy
+#define SCHEMA_IfcBuildingElementProxy_HAS_PredefinedType
+#define SCHEMA_IfcBuildingElementProxy_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcBuildingElementProxyType
+#define SCHEMA_IfcBuildingElementProxyType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcBuildingStorey
+#define SCHEMA_IfcBuildingStorey_HAS_Elevation
+#define SCHEMA_IfcBuildingStorey_Elevation_IS_OPTIONAL
+#define SCHEMA_HAS_IfcBuildingSystem
+#define SCHEMA_IfcBuildingSystem_HAS_PredefinedType
+#define SCHEMA_IfcBuildingSystem_PredefinedType_IS_OPTIONAL
+#define SCHEMA_IfcBuildingSystem_HAS_LongName
+#define SCHEMA_IfcBuildingSystem_LongName_IS_OPTIONAL
+#define SCHEMA_HAS_IfcBuiltElement
+#define SCHEMA_HAS_IfcBuiltElementType
+#define SCHEMA_HAS_IfcBuiltSystem
+#define SCHEMA_IfcBuiltSystem_HAS_PredefinedType
+#define SCHEMA_IfcBuiltSystem_PredefinedType_IS_OPTIONAL
+#define SCHEMA_IfcBuiltSystem_HAS_LongName
+#define SCHEMA_IfcBuiltSystem_LongName_IS_OPTIONAL
+#define SCHEMA_HAS_IfcBurner
+#define SCHEMA_IfcBurner_HAS_PredefinedType
+#define SCHEMA_IfcBurner_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcBurnerType
+#define SCHEMA_IfcBurnerType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcCShapeProfileDef
+#define SCHEMA_IfcCShapeProfileDef_HAS_Depth
+#define SCHEMA_IfcCShapeProfileDef_HAS_Width
+#define SCHEMA_IfcCShapeProfileDef_HAS_WallThickness
+#define SCHEMA_IfcCShapeProfileDef_HAS_Girth
+#define SCHEMA_IfcCShapeProfileDef_HAS_InternalFilletRadius
+#define SCHEMA_IfcCShapeProfileDef_InternalFilletRadius_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCableCarrierFitting
+#define SCHEMA_IfcCableCarrierFitting_HAS_PredefinedType
+#define SCHEMA_IfcCableCarrierFitting_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCableCarrierFittingType
+#define SCHEMA_IfcCableCarrierFittingType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcCableCarrierSegment
+#define SCHEMA_IfcCableCarrierSegment_HAS_PredefinedType
+#define SCHEMA_IfcCableCarrierSegment_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCableCarrierSegmentType
+#define SCHEMA_IfcCableCarrierSegmentType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcCableFitting
+#define SCHEMA_IfcCableFitting_HAS_PredefinedType
+#define SCHEMA_IfcCableFitting_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCableFittingType
+#define SCHEMA_IfcCableFittingType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcCableSegment
+#define SCHEMA_IfcCableSegment_HAS_PredefinedType
+#define SCHEMA_IfcCableSegment_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCableSegmentType
+#define SCHEMA_IfcCableSegmentType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcCaissonFoundation
+#define SCHEMA_IfcCaissonFoundation_HAS_PredefinedType
+#define SCHEMA_IfcCaissonFoundation_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCaissonFoundationType
+#define SCHEMA_IfcCaissonFoundationType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcCartesianPoint
+#define SCHEMA_IfcCartesianPoint_HAS_Coordinates
+#define SCHEMA_HAS_IfcCartesianPointList
+#define SCHEMA_HAS_IfcCartesianPointList2D
+#define SCHEMA_IfcCartesianPointList2D_HAS_CoordList
+#define SCHEMA_IfcCartesianPointList2D_HAS_TagList
+#define SCHEMA_IfcCartesianPointList2D_TagList_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCartesianPointList3D
+#define SCHEMA_IfcCartesianPointList3D_HAS_CoordList
+#define SCHEMA_IfcCartesianPointList3D_HAS_TagList
+#define SCHEMA_IfcCartesianPointList3D_TagList_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCartesianTransformationOperator
+#define SCHEMA_IfcCartesianTransformationOperator_HAS_Axis1
+#define SCHEMA_IfcCartesianTransformationOperator_Axis1_IS_OPTIONAL
+#define SCHEMA_IfcCartesianTransformationOperator_HAS_Axis2
+#define SCHEMA_IfcCartesianTransformationOperator_Axis2_IS_OPTIONAL
+#define SCHEMA_IfcCartesianTransformationOperator_HAS_LocalOrigin
+#define SCHEMA_IfcCartesianTransformationOperator_HAS_Scale
+#define SCHEMA_IfcCartesianTransformationOperator_Scale_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCartesianTransformationOperator2D
+#define SCHEMA_HAS_IfcCartesianTransformationOperator2DnonUniform
+#define SCHEMA_IfcCartesianTransformationOperator2DnonUniform_HAS_Scale2
+#define SCHEMA_IfcCartesianTransformationOperator2DnonUniform_Scale2_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCartesianTransformationOperator3D
+#define SCHEMA_IfcCartesianTransformationOperator3D_HAS_Axis3
+#define SCHEMA_IfcCartesianTransformationOperator3D_Axis3_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCartesianTransformationOperator3DnonUniform
+#define SCHEMA_IfcCartesianTransformationOperator3DnonUniform_HAS_Scale2
+#define SCHEMA_IfcCartesianTransformationOperator3DnonUniform_Scale2_IS_OPTIONAL
+#define SCHEMA_IfcCartesianTransformationOperator3DnonUniform_HAS_Scale3
+#define SCHEMA_IfcCartesianTransformationOperator3DnonUniform_Scale3_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCenterLineProfileDef
+#define SCHEMA_IfcCenterLineProfileDef_HAS_Thickness
+#define SCHEMA_HAS_IfcChiller
+#define SCHEMA_IfcChiller_HAS_PredefinedType
+#define SCHEMA_IfcChiller_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcChillerType
+#define SCHEMA_IfcChillerType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcChimney
+#define SCHEMA_IfcChimney_HAS_PredefinedType
+#define SCHEMA_IfcChimney_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcChimneyType
+#define SCHEMA_IfcChimneyType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcCircle
+#define SCHEMA_IfcCircle_HAS_Radius
+#define SCHEMA_HAS_IfcCircleHollowProfileDef
+#define SCHEMA_IfcCircleHollowProfileDef_HAS_WallThickness
+#define SCHEMA_HAS_IfcCircleProfileDef
+#define SCHEMA_IfcCircleProfileDef_HAS_Radius
+#define SCHEMA_HAS_IfcCircularArcSegment2D
+#define SCHEMA_IfcCircularArcSegment2D_HAS_Radius
+#define SCHEMA_IfcCircularArcSegment2D_HAS_IsCCW
+#define SCHEMA_HAS_IfcCivilElement
+#define SCHEMA_HAS_IfcCivilElementType
+#define SCHEMA_HAS_IfcClassification
+#define SCHEMA_IfcClassification_HAS_Source
+#define SCHEMA_IfcClassification_Source_IS_OPTIONAL
+#define SCHEMA_IfcClassification_HAS_Edition
+#define SCHEMA_IfcClassification_Edition_IS_OPTIONAL
+#define SCHEMA_IfcClassification_HAS_EditionDate
+#define SCHEMA_IfcClassification_EditionDate_IS_OPTIONAL
+#define SCHEMA_IfcClassification_HAS_Name
+#define SCHEMA_IfcClassification_HAS_Description
+#define SCHEMA_IfcClassification_Description_IS_OPTIONAL
+#define SCHEMA_IfcClassification_HAS_Location
+#define SCHEMA_IfcClassification_Location_IS_OPTIONAL
+#define SCHEMA_IfcClassification_HAS_ReferenceTokens
+#define SCHEMA_IfcClassification_ReferenceTokens_IS_OPTIONAL
+#define SCHEMA_IfcClassification_HAS_ClassificationForObjects
+#define SCHEMA_IfcClassification_HAS_HasReferences
+#define SCHEMA_HAS_IfcClassificationReference
+#define SCHEMA_IfcClassificationReference_HAS_ReferencedSource
+#define SCHEMA_IfcClassificationReference_ReferencedSource_IS_OPTIONAL
+#define SCHEMA_IfcClassificationReference_HAS_Description
+#define SCHEMA_IfcClassificationReference_Description_IS_OPTIONAL
+#define SCHEMA_IfcClassificationReference_HAS_Sort
+#define SCHEMA_IfcClassificationReference_Sort_IS_OPTIONAL
+#define SCHEMA_IfcClassificationReference_HAS_ClassificationRefForObjects
+#define SCHEMA_IfcClassificationReference_HAS_HasReferences
+#define SCHEMA_HAS_IfcClosedShell
+#define SCHEMA_HAS_IfcCoil
+#define SCHEMA_IfcCoil_HAS_PredefinedType
+#define SCHEMA_IfcCoil_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCoilType
+#define SCHEMA_IfcCoilType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcColourRgb
+#define SCHEMA_IfcColourRgb_HAS_Red
+#define SCHEMA_IfcColourRgb_HAS_Green
+#define SCHEMA_IfcColourRgb_HAS_Blue
+#define SCHEMA_HAS_IfcColourRgbList
+#define SCHEMA_IfcColourRgbList_HAS_ColourList
+#define SCHEMA_HAS_IfcColourSpecification
+#define SCHEMA_IfcColourSpecification_HAS_Name
+#define SCHEMA_IfcColourSpecification_Name_IS_OPTIONAL
+#define SCHEMA_HAS_IfcColumn
+#define SCHEMA_IfcColumn_HAS_PredefinedType
+#define SCHEMA_IfcColumn_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcColumnStandardCase
+#define SCHEMA_HAS_IfcColumnType
+#define SCHEMA_IfcColumnType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcCommunicationsAppliance
+#define SCHEMA_IfcCommunicationsAppliance_HAS_PredefinedType
+#define SCHEMA_IfcCommunicationsAppliance_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCommunicationsApplianceType
+#define SCHEMA_IfcCommunicationsApplianceType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcComplexProperty
+#define SCHEMA_IfcComplexProperty_HAS_UsageName
+#define SCHEMA_IfcComplexProperty_HAS_HasProperties
+#define SCHEMA_HAS_IfcComplexPropertyTemplate
+#define SCHEMA_IfcComplexPropertyTemplate_HAS_UsageName
+#define SCHEMA_IfcComplexPropertyTemplate_UsageName_IS_OPTIONAL
+#define SCHEMA_IfcComplexPropertyTemplate_HAS_TemplateType
+#define SCHEMA_IfcComplexPropertyTemplate_TemplateType_IS_OPTIONAL
+#define SCHEMA_IfcComplexPropertyTemplate_HAS_HasPropertyTemplates
+#define SCHEMA_IfcComplexPropertyTemplate_HasPropertyTemplates_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCompositeCurve
+#define SCHEMA_IfcCompositeCurve_HAS_Segments
+#define SCHEMA_IfcCompositeCurve_HAS_SelfIntersect
+#define SCHEMA_HAS_IfcCompositeCurveOnSurface
+#define SCHEMA_HAS_IfcCompositeCurveSegment
+#define SCHEMA_IfcCompositeCurveSegment_HAS_Transition
+#define SCHEMA_IfcCompositeCurveSegment_HAS_SameSense
+#define SCHEMA_IfcCompositeCurveSegment_HAS_ParentCurve
+#define SCHEMA_IfcCompositeCurveSegment_HAS_UsingCurves
+#define SCHEMA_HAS_IfcCompositeProfileDef
+#define SCHEMA_IfcCompositeProfileDef_HAS_Profiles
+#define SCHEMA_IfcCompositeProfileDef_HAS_Label
+#define SCHEMA_IfcCompositeProfileDef_Label_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCompressor
+#define SCHEMA_IfcCompressor_HAS_PredefinedType
+#define SCHEMA_IfcCompressor_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCompressorType
+#define SCHEMA_IfcCompressorType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcCondenser
+#define SCHEMA_IfcCondenser_HAS_PredefinedType
+#define SCHEMA_IfcCondenser_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCondenserType
+#define SCHEMA_IfcCondenserType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcConic
+#define SCHEMA_IfcConic_HAS_Position
+#define SCHEMA_HAS_IfcConnectedFaceSet
+#define SCHEMA_IfcConnectedFaceSet_HAS_CfsFaces
+#define SCHEMA_HAS_IfcConnectionCurveGeometry
+#define SCHEMA_IfcConnectionCurveGeometry_HAS_CurveOnRelatingElement
+#define SCHEMA_IfcConnectionCurveGeometry_HAS_CurveOnRelatedElement
+#define SCHEMA_IfcConnectionCurveGeometry_CurveOnRelatedElement_IS_OPTIONAL
+#define SCHEMA_HAS_IfcConnectionGeometry
+#define SCHEMA_HAS_IfcConnectionPointEccentricity
+#define SCHEMA_IfcConnectionPointEccentricity_HAS_EccentricityInX
+#define SCHEMA_IfcConnectionPointEccentricity_EccentricityInX_IS_OPTIONAL
+#define SCHEMA_IfcConnectionPointEccentricity_HAS_EccentricityInY
+#define SCHEMA_IfcConnectionPointEccentricity_EccentricityInY_IS_OPTIONAL
+#define SCHEMA_IfcConnectionPointEccentricity_HAS_EccentricityInZ
+#define SCHEMA_IfcConnectionPointEccentricity_EccentricityInZ_IS_OPTIONAL
+#define SCHEMA_HAS_IfcConnectionPointGeometry
+#define SCHEMA_IfcConnectionPointGeometry_HAS_PointOnRelatingElement
+#define SCHEMA_IfcConnectionPointGeometry_HAS_PointOnRelatedElement
+#define SCHEMA_IfcConnectionPointGeometry_PointOnRelatedElement_IS_OPTIONAL
+#define SCHEMA_HAS_IfcConnectionSurfaceGeometry
+#define SCHEMA_IfcConnectionSurfaceGeometry_HAS_SurfaceOnRelatingElement
+#define SCHEMA_IfcConnectionSurfaceGeometry_HAS_SurfaceOnRelatedElement
+#define SCHEMA_IfcConnectionSurfaceGeometry_SurfaceOnRelatedElement_IS_OPTIONAL
+#define SCHEMA_HAS_IfcConnectionVolumeGeometry
+#define SCHEMA_IfcConnectionVolumeGeometry_HAS_VolumeOnRelatingElement
+#define SCHEMA_IfcConnectionVolumeGeometry_HAS_VolumeOnRelatedElement
+#define SCHEMA_IfcConnectionVolumeGeometry_VolumeOnRelatedElement_IS_OPTIONAL
+#define SCHEMA_HAS_IfcConstraint
+#define SCHEMA_IfcConstraint_HAS_Name
+#define SCHEMA_IfcConstraint_HAS_Description
+#define SCHEMA_IfcConstraint_Description_IS_OPTIONAL
+#define SCHEMA_IfcConstraint_HAS_ConstraintGrade
+#define SCHEMA_IfcConstraint_HAS_ConstraintSource
+#define SCHEMA_IfcConstraint_ConstraintSource_IS_OPTIONAL
+#define SCHEMA_IfcConstraint_HAS_CreatingActor
+#define SCHEMA_IfcConstraint_CreatingActor_IS_OPTIONAL
+#define SCHEMA_IfcConstraint_HAS_CreationTime
+#define SCHEMA_IfcConstraint_CreationTime_IS_OPTIONAL
+#define SCHEMA_IfcConstraint_HAS_UserDefinedGrade
+#define SCHEMA_IfcConstraint_UserDefinedGrade_IS_OPTIONAL
+#define SCHEMA_IfcConstraint_HAS_HasExternalReferences
+#define SCHEMA_IfcConstraint_HAS_PropertiesForConstraint
+#define SCHEMA_HAS_IfcConstructionEquipmentResource
+#define SCHEMA_IfcConstructionEquipmentResource_HAS_PredefinedType
+#define SCHEMA_IfcConstructionEquipmentResource_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcConstructionEquipmentResourceType
+#define SCHEMA_IfcConstructionEquipmentResourceType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcConstructionMaterialResource
+#define SCHEMA_IfcConstructionMaterialResource_HAS_PredefinedType
+#define SCHEMA_IfcConstructionMaterialResource_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcConstructionMaterialResourceType
+#define SCHEMA_IfcConstructionMaterialResourceType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcConstructionProductResource
+#define SCHEMA_IfcConstructionProductResource_HAS_PredefinedType
+#define SCHEMA_IfcConstructionProductResource_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcConstructionProductResourceType
+#define SCHEMA_IfcConstructionProductResourceType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcConstructionResource
+#define SCHEMA_IfcConstructionResource_HAS_Usage
+#define SCHEMA_IfcConstructionResource_Usage_IS_OPTIONAL
+#define SCHEMA_IfcConstructionResource_HAS_BaseCosts
+#define SCHEMA_IfcConstructionResource_BaseCosts_IS_OPTIONAL
+#define SCHEMA_IfcConstructionResource_HAS_BaseQuantity
+#define SCHEMA_IfcConstructionResource_BaseQuantity_IS_OPTIONAL
+#define SCHEMA_HAS_IfcConstructionResourceType
+#define SCHEMA_IfcConstructionResourceType_HAS_BaseCosts
+#define SCHEMA_IfcConstructionResourceType_BaseCosts_IS_OPTIONAL
+#define SCHEMA_IfcConstructionResourceType_HAS_BaseQuantity
+#define SCHEMA_IfcConstructionResourceType_BaseQuantity_IS_OPTIONAL
+#define SCHEMA_HAS_IfcContext
+#define SCHEMA_IfcContext_HAS_ObjectType
+#define SCHEMA_IfcContext_ObjectType_IS_OPTIONAL
+#define SCHEMA_IfcContext_HAS_LongName
+#define SCHEMA_IfcContext_LongName_IS_OPTIONAL
+#define SCHEMA_IfcContext_HAS_Phase
+#define SCHEMA_IfcContext_Phase_IS_OPTIONAL
+#define SCHEMA_IfcContext_HAS_RepresentationContexts
+#define SCHEMA_IfcContext_RepresentationContexts_IS_OPTIONAL
+#define SCHEMA_IfcContext_HAS_UnitsInContext
+#define SCHEMA_IfcContext_UnitsInContext_IS_OPTIONAL
+#define SCHEMA_IfcContext_HAS_IsDefinedBy
+#define SCHEMA_IfcContext_HAS_Declares
+#define SCHEMA_HAS_IfcContextDependentUnit
+#define SCHEMA_IfcContextDependentUnit_HAS_Name
+#define SCHEMA_IfcContextDependentUnit_HAS_HasExternalReference
+#define SCHEMA_HAS_IfcControl
+#define SCHEMA_IfcControl_HAS_Identification
+#define SCHEMA_IfcControl_Identification_IS_OPTIONAL
+#define SCHEMA_IfcControl_HAS_Controls
+#define SCHEMA_HAS_IfcController
+#define SCHEMA_IfcController_HAS_PredefinedType
+#define SCHEMA_IfcController_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcControllerType
+#define SCHEMA_IfcControllerType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcConversionBasedUnit
+#define SCHEMA_IfcConversionBasedUnit_HAS_Name
+#define SCHEMA_IfcConversionBasedUnit_HAS_ConversionFactor
+#define SCHEMA_IfcConversionBasedUnit_HAS_HasExternalReference
+#define SCHEMA_HAS_IfcConversionBasedUnitWithOffset
+#define SCHEMA_IfcConversionBasedUnitWithOffset_HAS_ConversionOffset
+#define SCHEMA_HAS_IfcConveyorSegment
+#define SCHEMA_IfcConveyorSegment_HAS_PredefinedType
+#define SCHEMA_IfcConveyorSegment_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcConveyorSegmentType
+#define SCHEMA_IfcConveyorSegmentType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcCooledBeam
+#define SCHEMA_IfcCooledBeam_HAS_PredefinedType
+#define SCHEMA_IfcCooledBeam_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCooledBeamType
+#define SCHEMA_IfcCooledBeamType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcCoolingTower
+#define SCHEMA_IfcCoolingTower_HAS_PredefinedType
+#define SCHEMA_IfcCoolingTower_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCoolingTowerType
+#define SCHEMA_IfcCoolingTowerType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcCoordinateOperation
+#define SCHEMA_IfcCoordinateOperation_HAS_SourceCRS
+#define SCHEMA_IfcCoordinateOperation_HAS_TargetCRS
+#define SCHEMA_HAS_IfcCoordinateReferenceSystem
+#define SCHEMA_IfcCoordinateReferenceSystem_HAS_Name
+#define SCHEMA_IfcCoordinateReferenceSystem_HAS_Description
+#define SCHEMA_IfcCoordinateReferenceSystem_Description_IS_OPTIONAL
+#define SCHEMA_IfcCoordinateReferenceSystem_HAS_GeodeticDatum
+#define SCHEMA_IfcCoordinateReferenceSystem_GeodeticDatum_IS_OPTIONAL
+#define SCHEMA_IfcCoordinateReferenceSystem_HAS_VerticalDatum
+#define SCHEMA_IfcCoordinateReferenceSystem_VerticalDatum_IS_OPTIONAL
+#define SCHEMA_IfcCoordinateReferenceSystem_HAS_HasCoordinateOperation
+#define SCHEMA_HAS_IfcCostItem
+#define SCHEMA_IfcCostItem_HAS_PredefinedType
+#define SCHEMA_IfcCostItem_PredefinedType_IS_OPTIONAL
+#define SCHEMA_IfcCostItem_HAS_CostValues
+#define SCHEMA_IfcCostItem_CostValues_IS_OPTIONAL
+#define SCHEMA_IfcCostItem_HAS_CostQuantities
+#define SCHEMA_IfcCostItem_CostQuantities_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCostSchedule
+#define SCHEMA_IfcCostSchedule_HAS_PredefinedType
+#define SCHEMA_IfcCostSchedule_PredefinedType_IS_OPTIONAL
+#define SCHEMA_IfcCostSchedule_HAS_Status
+#define SCHEMA_IfcCostSchedule_Status_IS_OPTIONAL
+#define SCHEMA_IfcCostSchedule_HAS_SubmittedOn
+#define SCHEMA_IfcCostSchedule_SubmittedOn_IS_OPTIONAL
+#define SCHEMA_IfcCostSchedule_HAS_UpdateDate
+#define SCHEMA_IfcCostSchedule_UpdateDate_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCostValue
+#define SCHEMA_HAS_IfcCourse
+#define SCHEMA_IfcCourse_HAS_PredefinedType
+#define SCHEMA_IfcCourse_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCourseType
+#define SCHEMA_IfcCourseType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcCovering
+#define SCHEMA_IfcCovering_HAS_PredefinedType
+#define SCHEMA_IfcCovering_PredefinedType_IS_OPTIONAL
+#define SCHEMA_IfcCovering_HAS_CoversSpaces
+#define SCHEMA_IfcCovering_HAS_CoversElements
+#define SCHEMA_HAS_IfcCoveringType
+#define SCHEMA_IfcCoveringType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcCrewResource
+#define SCHEMA_IfcCrewResource_HAS_PredefinedType
+#define SCHEMA_IfcCrewResource_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCrewResourceType
+#define SCHEMA_IfcCrewResourceType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcCsgPrimitive3D
+#define SCHEMA_IfcCsgPrimitive3D_HAS_Position
+#define SCHEMA_HAS_IfcCsgSolid
+#define SCHEMA_IfcCsgSolid_HAS_TreeRootExpression
+#define SCHEMA_HAS_IfcCurrencyRelationship
+#define SCHEMA_IfcCurrencyRelationship_HAS_RelatingMonetaryUnit
+#define SCHEMA_IfcCurrencyRelationship_HAS_RelatedMonetaryUnit
+#define SCHEMA_IfcCurrencyRelationship_HAS_ExchangeRate
+#define SCHEMA_IfcCurrencyRelationship_HAS_RateDateTime
+#define SCHEMA_IfcCurrencyRelationship_RateDateTime_IS_OPTIONAL
+#define SCHEMA_IfcCurrencyRelationship_HAS_RateSource
+#define SCHEMA_IfcCurrencyRelationship_RateSource_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCurtainWall
+#define SCHEMA_IfcCurtainWall_HAS_PredefinedType
+#define SCHEMA_IfcCurtainWall_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCurtainWallType
+#define SCHEMA_IfcCurtainWallType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcCurve
+#define SCHEMA_HAS_IfcCurveBoundedPlane
+#define SCHEMA_IfcCurveBoundedPlane_HAS_BasisSurface
+#define SCHEMA_IfcCurveBoundedPlane_HAS_OuterBoundary
+#define SCHEMA_IfcCurveBoundedPlane_HAS_InnerBoundaries
+#define SCHEMA_HAS_IfcCurveBoundedSurface
+#define SCHEMA_IfcCurveBoundedSurface_HAS_BasisSurface
+#define SCHEMA_IfcCurveBoundedSurface_HAS_Boundaries
+#define SCHEMA_IfcCurveBoundedSurface_HAS_ImplicitOuter
+#define SCHEMA_HAS_IfcCurveSegment2D
+#define SCHEMA_IfcCurveSegment2D_HAS_StartPoint
+#define SCHEMA_IfcCurveSegment2D_HAS_StartDirection
+#define SCHEMA_IfcCurveSegment2D_HAS_SegmentLength
+#define SCHEMA_HAS_IfcCurveStyle
+#define SCHEMA_IfcCurveStyle_HAS_CurveFont
+#define SCHEMA_IfcCurveStyle_CurveFont_IS_OPTIONAL
+#define SCHEMA_IfcCurveStyle_HAS_CurveWidth
+#define SCHEMA_IfcCurveStyle_CurveWidth_IS_OPTIONAL
+#define SCHEMA_IfcCurveStyle_HAS_CurveColour
+#define SCHEMA_IfcCurveStyle_CurveColour_IS_OPTIONAL
+#define SCHEMA_IfcCurveStyle_HAS_ModelOrDraughting
+#define SCHEMA_IfcCurveStyle_ModelOrDraughting_IS_OPTIONAL
+#define SCHEMA_HAS_IfcCurveStyleFont
+#define SCHEMA_IfcCurveStyleFont_HAS_Name
+#define SCHEMA_IfcCurveStyleFont_Name_IS_OPTIONAL
+#define SCHEMA_IfcCurveStyleFont_HAS_PatternList
+#define SCHEMA_HAS_IfcCurveStyleFontAndScaling
+#define SCHEMA_IfcCurveStyleFontAndScaling_HAS_Name
+#define SCHEMA_IfcCurveStyleFontAndScaling_Name_IS_OPTIONAL
+#define SCHEMA_IfcCurveStyleFontAndScaling_HAS_CurveFont
+#define SCHEMA_IfcCurveStyleFontAndScaling_HAS_CurveFontScaling
+#define SCHEMA_HAS_IfcCurveStyleFontPattern
+#define SCHEMA_IfcCurveStyleFontPattern_HAS_VisibleSegmentLength
+#define SCHEMA_IfcCurveStyleFontPattern_HAS_InvisibleSegmentLength
+#define SCHEMA_HAS_IfcCylindricalSurface
+#define SCHEMA_IfcCylindricalSurface_HAS_Radius
+#define SCHEMA_HAS_IfcDamper
+#define SCHEMA_IfcDamper_HAS_PredefinedType
+#define SCHEMA_IfcDamper_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcDamperType
+#define SCHEMA_IfcDamperType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcDeepFoundation
+#define SCHEMA_HAS_IfcDeepFoundationType
+#define SCHEMA_HAS_IfcDerivedProfileDef
+#define SCHEMA_IfcDerivedProfileDef_HAS_ParentProfile
+#define SCHEMA_IfcDerivedProfileDef_HAS_Operator
+#define SCHEMA_IfcDerivedProfileDef_HAS_Label
+#define SCHEMA_IfcDerivedProfileDef_Label_IS_OPTIONAL
+#define SCHEMA_HAS_IfcDerivedUnit
+#define SCHEMA_IfcDerivedUnit_HAS_Elements
+#define SCHEMA_IfcDerivedUnit_HAS_UnitType
+#define SCHEMA_IfcDerivedUnit_HAS_UserDefinedType
+#define SCHEMA_IfcDerivedUnit_UserDefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcDerivedUnitElement
+#define SCHEMA_IfcDerivedUnitElement_HAS_Unit
+#define SCHEMA_IfcDerivedUnitElement_HAS_Exponent
+#define SCHEMA_HAS_IfcDimensionalExponents
+#define SCHEMA_IfcDimensionalExponents_HAS_LengthExponent
+#define SCHEMA_IfcDimensionalExponents_HAS_MassExponent
+#define SCHEMA_IfcDimensionalExponents_HAS_TimeExponent
+#define SCHEMA_IfcDimensionalExponents_HAS_ElectricCurrentExponent
+#define SCHEMA_IfcDimensionalExponents_HAS_ThermodynamicTemperatureExponent
+#define SCHEMA_IfcDimensionalExponents_HAS_AmountOfSubstanceExponent
+#define SCHEMA_IfcDimensionalExponents_HAS_LuminousIntensityExponent
+#define SCHEMA_HAS_IfcDirection
+#define SCHEMA_IfcDirection_HAS_DirectionRatios
+#define SCHEMA_HAS_IfcDirectrixCurveSweptAreaSolid
+#define SCHEMA_IfcDirectrixCurveSweptAreaSolid_HAS_Directrix
+#define SCHEMA_IfcDirectrixCurveSweptAreaSolid_HAS_StartParam
+#define SCHEMA_IfcDirectrixCurveSweptAreaSolid_StartParam_IS_OPTIONAL
+#define SCHEMA_IfcDirectrixCurveSweptAreaSolid_HAS_EndParam
+#define SCHEMA_IfcDirectrixCurveSweptAreaSolid_EndParam_IS_OPTIONAL
+#define SCHEMA_HAS_IfcDirectrixDistanceSweptAreaSolid
+#define SCHEMA_IfcDirectrixDistanceSweptAreaSolid_HAS_Directrix
+#define SCHEMA_IfcDirectrixDistanceSweptAreaSolid_HAS_StartDistance
+#define SCHEMA_IfcDirectrixDistanceSweptAreaSolid_StartDistance_IS_OPTIONAL
+#define SCHEMA_IfcDirectrixDistanceSweptAreaSolid_HAS_EndDistance
+#define SCHEMA_IfcDirectrixDistanceSweptAreaSolid_EndDistance_IS_OPTIONAL
+#define SCHEMA_HAS_IfcDiscreteAccessory
+#define SCHEMA_IfcDiscreteAccessory_HAS_PredefinedType
+#define SCHEMA_IfcDiscreteAccessory_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcDiscreteAccessoryType
+#define SCHEMA_IfcDiscreteAccessoryType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcDistanceExpression
+#define SCHEMA_IfcDistanceExpression_HAS_DistanceAlong
+#define SCHEMA_IfcDistanceExpression_HAS_OffsetLateral
+#define SCHEMA_IfcDistanceExpression_OffsetLateral_IS_OPTIONAL
+#define SCHEMA_IfcDistanceExpression_HAS_OffsetVertical
+#define SCHEMA_IfcDistanceExpression_OffsetVertical_IS_OPTIONAL
+#define SCHEMA_IfcDistanceExpression_HAS_OffsetLongitudinal
+#define SCHEMA_IfcDistanceExpression_OffsetLongitudinal_IS_OPTIONAL
+#define SCHEMA_IfcDistanceExpression_HAS_AlongHorizontal
+#define SCHEMA_IfcDistanceExpression_AlongHorizontal_IS_OPTIONAL
+#define SCHEMA_HAS_IfcDistributionBoard
+#define SCHEMA_IfcDistributionBoard_HAS_PredefinedType
+#define SCHEMA_IfcDistributionBoard_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcDistributionBoardType
+#define SCHEMA_IfcDistributionBoardType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcDistributionChamberElement
+#define SCHEMA_IfcDistributionChamberElement_HAS_PredefinedType
+#define SCHEMA_IfcDistributionChamberElement_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcDistributionChamberElementType
+#define SCHEMA_IfcDistributionChamberElementType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcDistributionCircuit
+#define SCHEMA_HAS_IfcDistributionControlElement
+#define SCHEMA_IfcDistributionControlElement_HAS_AssignedToFlowElement
+#define SCHEMA_HAS_IfcDistributionControlElementType
+#define SCHEMA_HAS_IfcDistributionElement
+#define SCHEMA_IfcDistributionElement_HAS_HasPorts
+#define SCHEMA_HAS_IfcDistributionElementType
+#define SCHEMA_HAS_IfcDistributionFlowElement
+#define SCHEMA_IfcDistributionFlowElement_HAS_HasControlElements
+#define SCHEMA_HAS_IfcDistributionFlowElementType
+#define SCHEMA_HAS_IfcDistributionPort
+#define SCHEMA_IfcDistributionPort_HAS_FlowDirection
+#define SCHEMA_IfcDistributionPort_FlowDirection_IS_OPTIONAL
+#define SCHEMA_IfcDistributionPort_HAS_PredefinedType
+#define SCHEMA_IfcDistributionPort_PredefinedType_IS_OPTIONAL
+#define SCHEMA_IfcDistributionPort_HAS_SystemType
+#define SCHEMA_IfcDistributionPort_SystemType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcDistributionSystem
+#define SCHEMA_IfcDistributionSystem_HAS_LongName
+#define SCHEMA_IfcDistributionSystem_LongName_IS_OPTIONAL
+#define SCHEMA_IfcDistributionSystem_HAS_PredefinedType
+#define SCHEMA_IfcDistributionSystem_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcDocumentInformation
+#define SCHEMA_IfcDocumentInformation_HAS_Identification
+#define SCHEMA_IfcDocumentInformation_HAS_Name
+#define SCHEMA_IfcDocumentInformation_HAS_Description
+#define SCHEMA_IfcDocumentInformation_Description_IS_OPTIONAL
+#define SCHEMA_IfcDocumentInformation_HAS_Location
+#define SCHEMA_IfcDocumentInformation_Location_IS_OPTIONAL
+#define SCHEMA_IfcDocumentInformation_HAS_Purpose
+#define SCHEMA_IfcDocumentInformation_Purpose_IS_OPTIONAL
+#define SCHEMA_IfcDocumentInformation_HAS_IntendedUse
+#define SCHEMA_IfcDocumentInformation_IntendedUse_IS_OPTIONAL
+#define SCHEMA_IfcDocumentInformation_HAS_Scope
+#define SCHEMA_IfcDocumentInformation_Scope_IS_OPTIONAL
+#define SCHEMA_IfcDocumentInformation_HAS_Revision
+#define SCHEMA_IfcDocumentInformation_Revision_IS_OPTIONAL
+#define SCHEMA_IfcDocumentInformation_HAS_DocumentOwner
+#define SCHEMA_IfcDocumentInformation_DocumentOwner_IS_OPTIONAL
+#define SCHEMA_IfcDocumentInformation_HAS_Editors
+#define SCHEMA_IfcDocumentInformation_Editors_IS_OPTIONAL
+#define SCHEMA_IfcDocumentInformation_HAS_CreationTime
+#define SCHEMA_IfcDocumentInformation_CreationTime_IS_OPTIONAL
+#define SCHEMA_IfcDocumentInformation_HAS_LastRevisionTime
+#define SCHEMA_IfcDocumentInformation_LastRevisionTime_IS_OPTIONAL
+#define SCHEMA_IfcDocumentInformation_HAS_ElectronicFormat
+#define SCHEMA_IfcDocumentInformation_ElectronicFormat_IS_OPTIONAL
+#define SCHEMA_IfcDocumentInformation_HAS_ValidFrom
+#define SCHEMA_IfcDocumentInformation_ValidFrom_IS_OPTIONAL
+#define SCHEMA_IfcDocumentInformation_HAS_ValidUntil
+#define SCHEMA_IfcDocumentInformation_ValidUntil_IS_OPTIONAL
+#define SCHEMA_IfcDocumentInformation_HAS_Confidentiality
+#define SCHEMA_IfcDocumentInformation_Confidentiality_IS_OPTIONAL
+#define SCHEMA_IfcDocumentInformation_HAS_Status
+#define SCHEMA_IfcDocumentInformation_Status_IS_OPTIONAL
+#define SCHEMA_IfcDocumentInformation_HAS_DocumentInfoForObjects
+#define SCHEMA_IfcDocumentInformation_HAS_HasDocumentReferences
+#define SCHEMA_IfcDocumentInformation_HAS_IsPointedTo
+#define SCHEMA_IfcDocumentInformation_HAS_IsPointer
+#define SCHEMA_HAS_IfcDocumentInformationRelationship
+#define SCHEMA_IfcDocumentInformationRelationship_HAS_RelatingDocument
+#define SCHEMA_IfcDocumentInformationRelationship_HAS_RelatedDocuments
+#define SCHEMA_IfcDocumentInformationRelationship_HAS_RelationshipType
+#define SCHEMA_IfcDocumentInformationRelationship_RelationshipType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcDocumentReference
+#define SCHEMA_IfcDocumentReference_HAS_Description
+#define SCHEMA_IfcDocumentReference_Description_IS_OPTIONAL
+#define SCHEMA_IfcDocumentReference_HAS_ReferencedDocument
+#define SCHEMA_IfcDocumentReference_ReferencedDocument_IS_OPTIONAL
+#define SCHEMA_IfcDocumentReference_HAS_DocumentRefForObjects
+#define SCHEMA_HAS_IfcDoor
+#define SCHEMA_IfcDoor_HAS_OverallHeight
+#define SCHEMA_IfcDoor_OverallHeight_IS_OPTIONAL
+#define SCHEMA_IfcDoor_HAS_OverallWidth
+#define SCHEMA_IfcDoor_OverallWidth_IS_OPTIONAL
+#define SCHEMA_IfcDoor_HAS_PredefinedType
+#define SCHEMA_IfcDoor_PredefinedType_IS_OPTIONAL
+#define SCHEMA_IfcDoor_HAS_OperationType
+#define SCHEMA_IfcDoor_OperationType_IS_OPTIONAL
+#define SCHEMA_IfcDoor_HAS_UserDefinedOperationType
+#define SCHEMA_IfcDoor_UserDefinedOperationType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcDoorLiningProperties
+#define SCHEMA_IfcDoorLiningProperties_HAS_LiningDepth
+#define SCHEMA_IfcDoorLiningProperties_LiningDepth_IS_OPTIONAL
+#define SCHEMA_IfcDoorLiningProperties_HAS_LiningThickness
+#define SCHEMA_IfcDoorLiningProperties_LiningThickness_IS_OPTIONAL
+#define SCHEMA_IfcDoorLiningProperties_HAS_ThresholdDepth
+#define SCHEMA_IfcDoorLiningProperties_ThresholdDepth_IS_OPTIONAL
+#define SCHEMA_IfcDoorLiningProperties_HAS_ThresholdThickness
+#define SCHEMA_IfcDoorLiningProperties_ThresholdThickness_IS_OPTIONAL
+#define SCHEMA_IfcDoorLiningProperties_HAS_TransomThickness
+#define SCHEMA_IfcDoorLiningProperties_TransomThickness_IS_OPTIONAL
+#define SCHEMA_IfcDoorLiningProperties_HAS_TransomOffset
+#define SCHEMA_IfcDoorLiningProperties_TransomOffset_IS_OPTIONAL
+#define SCHEMA_IfcDoorLiningProperties_HAS_LiningOffset
+#define SCHEMA_IfcDoorLiningProperties_LiningOffset_IS_OPTIONAL
+#define SCHEMA_IfcDoorLiningProperties_HAS_ThresholdOffset
+#define SCHEMA_IfcDoorLiningProperties_ThresholdOffset_IS_OPTIONAL
+#define SCHEMA_IfcDoorLiningProperties_HAS_CasingThickness
+#define SCHEMA_IfcDoorLiningProperties_CasingThickness_IS_OPTIONAL
+#define SCHEMA_IfcDoorLiningProperties_HAS_CasingDepth
+#define SCHEMA_IfcDoorLiningProperties_CasingDepth_IS_OPTIONAL
+#define SCHEMA_IfcDoorLiningProperties_HAS_ShapeAspectStyle
+#define SCHEMA_IfcDoorLiningProperties_ShapeAspectStyle_IS_OPTIONAL
+#define SCHEMA_IfcDoorLiningProperties_HAS_LiningToPanelOffsetX
+#define SCHEMA_IfcDoorLiningProperties_LiningToPanelOffsetX_IS_OPTIONAL
+#define SCHEMA_IfcDoorLiningProperties_HAS_LiningToPanelOffsetY
+#define SCHEMA_IfcDoorLiningProperties_LiningToPanelOffsetY_IS_OPTIONAL
+#define SCHEMA_HAS_IfcDoorPanelProperties
+#define SCHEMA_IfcDoorPanelProperties_HAS_PanelDepth
+#define SCHEMA_IfcDoorPanelProperties_PanelDepth_IS_OPTIONAL
+#define SCHEMA_IfcDoorPanelProperties_HAS_PanelOperation
+#define SCHEMA_IfcDoorPanelProperties_HAS_PanelWidth
+#define SCHEMA_IfcDoorPanelProperties_PanelWidth_IS_OPTIONAL
+#define SCHEMA_IfcDoorPanelProperties_HAS_PanelPosition
+#define SCHEMA_IfcDoorPanelProperties_HAS_ShapeAspectStyle
+#define SCHEMA_IfcDoorPanelProperties_ShapeAspectStyle_IS_OPTIONAL
+#define SCHEMA_HAS_IfcDoorStandardCase
+#define SCHEMA_HAS_IfcDoorStyle
+#define SCHEMA_IfcDoorStyle_HAS_OperationType
+#define SCHEMA_IfcDoorStyle_HAS_ConstructionType
+#define SCHEMA_IfcDoorStyle_HAS_ParameterTakesPrecedence
+#define SCHEMA_IfcDoorStyle_HAS_Sizeable
+#define SCHEMA_HAS_IfcDoorType
+#define SCHEMA_IfcDoorType_HAS_PredefinedType
+#define SCHEMA_IfcDoorType_HAS_OperationType
+#define SCHEMA_IfcDoorType_HAS_ParameterTakesPrecedence
+#define SCHEMA_IfcDoorType_ParameterTakesPrecedence_IS_OPTIONAL
+#define SCHEMA_IfcDoorType_HAS_UserDefinedOperationType
+#define SCHEMA_IfcDoorType_UserDefinedOperationType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcDraughtingPreDefinedColour
+#define SCHEMA_HAS_IfcDraughtingPreDefinedCurveFont
+#define SCHEMA_HAS_IfcDuctFitting
+#define SCHEMA_IfcDuctFitting_HAS_PredefinedType
+#define SCHEMA_IfcDuctFitting_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcDuctFittingType
+#define SCHEMA_IfcDuctFittingType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcDuctSegment
+#define SCHEMA_IfcDuctSegment_HAS_PredefinedType
+#define SCHEMA_IfcDuctSegment_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcDuctSegmentType
+#define SCHEMA_IfcDuctSegmentType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcDuctSilencer
+#define SCHEMA_IfcDuctSilencer_HAS_PredefinedType
+#define SCHEMA_IfcDuctSilencer_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcDuctSilencerType
+#define SCHEMA_IfcDuctSilencerType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcEarthworksCut
+#define SCHEMA_IfcEarthworksCut_HAS_PredefinedType
+#define SCHEMA_IfcEarthworksCut_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcEarthworksElement
+#define SCHEMA_HAS_IfcEarthworksFill
+#define SCHEMA_IfcEarthworksFill_HAS_PredefinedType
+#define SCHEMA_IfcEarthworksFill_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcEdge
+#define SCHEMA_IfcEdge_HAS_EdgeStart
+#define SCHEMA_IfcEdge_HAS_EdgeEnd
+#define SCHEMA_HAS_IfcEdgeCurve
+#define SCHEMA_IfcEdgeCurve_HAS_EdgeGeometry
+#define SCHEMA_IfcEdgeCurve_HAS_SameSense
+#define SCHEMA_HAS_IfcEdgeLoop
+#define SCHEMA_IfcEdgeLoop_HAS_EdgeList
+#define SCHEMA_HAS_IfcElectricAppliance
+#define SCHEMA_IfcElectricAppliance_HAS_PredefinedType
+#define SCHEMA_IfcElectricAppliance_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcElectricApplianceType
+#define SCHEMA_IfcElectricApplianceType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcElectricDistributionBoard
+#define SCHEMA_IfcElectricDistributionBoard_HAS_PredefinedType
+#define SCHEMA_IfcElectricDistributionBoard_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcElectricDistributionBoardType
+#define SCHEMA_IfcElectricDistributionBoardType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcElectricFlowStorageDevice
+#define SCHEMA_IfcElectricFlowStorageDevice_HAS_PredefinedType
+#define SCHEMA_IfcElectricFlowStorageDevice_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcElectricFlowStorageDeviceType
+#define SCHEMA_IfcElectricFlowStorageDeviceType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcElectricFlowTreatmentDevice
+#define SCHEMA_IfcElectricFlowTreatmentDevice_HAS_PredefinedType
+#define SCHEMA_IfcElectricFlowTreatmentDevice_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcElectricFlowTreatmentDeviceType
+#define SCHEMA_IfcElectricFlowTreatmentDeviceType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcElectricGenerator
+#define SCHEMA_IfcElectricGenerator_HAS_PredefinedType
+#define SCHEMA_IfcElectricGenerator_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcElectricGeneratorType
+#define SCHEMA_IfcElectricGeneratorType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcElectricMotor
+#define SCHEMA_IfcElectricMotor_HAS_PredefinedType
+#define SCHEMA_IfcElectricMotor_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcElectricMotorType
+#define SCHEMA_IfcElectricMotorType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcElectricTimeControl
+#define SCHEMA_IfcElectricTimeControl_HAS_PredefinedType
+#define SCHEMA_IfcElectricTimeControl_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcElectricTimeControlType
+#define SCHEMA_IfcElectricTimeControlType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcElement
+#define SCHEMA_IfcElement_HAS_Tag
+#define SCHEMA_IfcElement_Tag_IS_OPTIONAL
+#define SCHEMA_IfcElement_HAS_FillsVoids
+#define SCHEMA_IfcElement_HAS_ConnectedTo
+#define SCHEMA_IfcElement_HAS_IsInterferedByElements
+#define SCHEMA_IfcElement_HAS_InterferesElements
+#define SCHEMA_IfcElement_HAS_HasProjections
+#define SCHEMA_IfcElement_HAS_HasOpenings
+#define SCHEMA_IfcElement_HAS_IsConnectionRealization
+#define SCHEMA_IfcElement_HAS_ProvidesBoundaries
+#define SCHEMA_IfcElement_HAS_ConnectedFrom
+#define SCHEMA_IfcElement_HAS_ContainedInStructure
+#define SCHEMA_IfcElement_HAS_HasCoverings
+#define SCHEMA_HAS_IfcElementAssembly
+#define SCHEMA_IfcElementAssembly_HAS_AssemblyPlace
+#define SCHEMA_IfcElementAssembly_AssemblyPlace_IS_OPTIONAL
+#define SCHEMA_IfcElementAssembly_HAS_PredefinedType
+#define SCHEMA_IfcElementAssembly_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcElementAssemblyType
+#define SCHEMA_IfcElementAssemblyType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcElementComponent
+#define SCHEMA_HAS_IfcElementComponentType
+#define SCHEMA_HAS_IfcElementQuantity
+#define SCHEMA_IfcElementQuantity_HAS_MethodOfMeasurement
+#define SCHEMA_IfcElementQuantity_MethodOfMeasurement_IS_OPTIONAL
+#define SCHEMA_IfcElementQuantity_HAS_Quantities
+#define SCHEMA_HAS_IfcElementType
+#define SCHEMA_IfcElementType_HAS_ElementType
+#define SCHEMA_IfcElementType_ElementType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcElementarySurface
+#define SCHEMA_IfcElementarySurface_HAS_Position
+#define SCHEMA_HAS_IfcEllipse
+#define SCHEMA_IfcEllipse_HAS_SemiAxis1
+#define SCHEMA_IfcEllipse_HAS_SemiAxis2
+#define SCHEMA_HAS_IfcEllipseProfileDef
+#define SCHEMA_IfcEllipseProfileDef_HAS_SemiAxis1
+#define SCHEMA_IfcEllipseProfileDef_HAS_SemiAxis2
+#define SCHEMA_HAS_IfcEnergyConversionDevice
+#define SCHEMA_HAS_IfcEnergyConversionDeviceType
+#define SCHEMA_HAS_IfcEngine
+#define SCHEMA_IfcEngine_HAS_PredefinedType
+#define SCHEMA_IfcEngine_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcEngineType
+#define SCHEMA_IfcEngineType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcEvaporativeCooler
+#define SCHEMA_IfcEvaporativeCooler_HAS_PredefinedType
+#define SCHEMA_IfcEvaporativeCooler_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcEvaporativeCoolerType
+#define SCHEMA_IfcEvaporativeCoolerType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcEvaporator
+#define SCHEMA_IfcEvaporator_HAS_PredefinedType
+#define SCHEMA_IfcEvaporator_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcEvaporatorType
+#define SCHEMA_IfcEvaporatorType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcEvent
+#define SCHEMA_IfcEvent_HAS_PredefinedType
+#define SCHEMA_IfcEvent_PredefinedType_IS_OPTIONAL
+#define SCHEMA_IfcEvent_HAS_EventTriggerType
+#define SCHEMA_IfcEvent_EventTriggerType_IS_OPTIONAL
+#define SCHEMA_IfcEvent_HAS_UserDefinedEventTriggerType
+#define SCHEMA_IfcEvent_UserDefinedEventTriggerType_IS_OPTIONAL
+#define SCHEMA_IfcEvent_HAS_EventOccurenceTime
+#define SCHEMA_IfcEvent_EventOccurenceTime_IS_OPTIONAL
+#define SCHEMA_HAS_IfcEventTime
+#define SCHEMA_IfcEventTime_HAS_ActualDate
+#define SCHEMA_IfcEventTime_ActualDate_IS_OPTIONAL
+#define SCHEMA_IfcEventTime_HAS_EarlyDate
+#define SCHEMA_IfcEventTime_EarlyDate_IS_OPTIONAL
+#define SCHEMA_IfcEventTime_HAS_LateDate
+#define SCHEMA_IfcEventTime_LateDate_IS_OPTIONAL
+#define SCHEMA_IfcEventTime_HAS_ScheduleDate
+#define SCHEMA_IfcEventTime_ScheduleDate_IS_OPTIONAL
+#define SCHEMA_HAS_IfcEventType
+#define SCHEMA_IfcEventType_HAS_PredefinedType
+#define SCHEMA_IfcEventType_HAS_EventTriggerType
+#define SCHEMA_IfcEventType_HAS_UserDefinedEventTriggerType
+#define SCHEMA_IfcEventType_UserDefinedEventTriggerType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcExtendedProperties
+#define SCHEMA_IfcExtendedProperties_HAS_Name
+#define SCHEMA_IfcExtendedProperties_Name_IS_OPTIONAL
+#define SCHEMA_IfcExtendedProperties_HAS_Description
+#define SCHEMA_IfcExtendedProperties_Description_IS_OPTIONAL
+#define SCHEMA_IfcExtendedProperties_HAS_Properties
+#define SCHEMA_HAS_IfcExternalInformation
+#define SCHEMA_HAS_IfcExternalReference
+#define SCHEMA_IfcExternalReference_HAS_Location
+#define SCHEMA_IfcExternalReference_Location_IS_OPTIONAL
+#define SCHEMA_IfcExternalReference_HAS_Identification
+#define SCHEMA_IfcExternalReference_Identification_IS_OPTIONAL
+#define SCHEMA_IfcExternalReference_HAS_Name
+#define SCHEMA_IfcExternalReference_Name_IS_OPTIONAL
+#define SCHEMA_IfcExternalReference_HAS_ExternalReferenceForResources
+#define SCHEMA_HAS_IfcExternalReferenceRelationship
+#define SCHEMA_IfcExternalReferenceRelationship_HAS_RelatingReference
+#define SCHEMA_IfcExternalReferenceRelationship_HAS_RelatedResourceObjects
+#define SCHEMA_HAS_IfcExternalSpatialElement
+#define SCHEMA_IfcExternalSpatialElement_HAS_PredefinedType
+#define SCHEMA_IfcExternalSpatialElement_PredefinedType_IS_OPTIONAL
+#define SCHEMA_IfcExternalSpatialElement_HAS_BoundedBy
+#define SCHEMA_HAS_IfcExternalSpatialStructureElement
+#define SCHEMA_HAS_IfcExternallyDefinedHatchStyle
+#define SCHEMA_HAS_IfcExternallyDefinedSurfaceStyle
+#define SCHEMA_HAS_IfcExternallyDefinedTextFont
+#define SCHEMA_HAS_IfcExtrudedAreaSolid
+#define SCHEMA_IfcExtrudedAreaSolid_HAS_ExtrudedDirection
+#define SCHEMA_IfcExtrudedAreaSolid_HAS_Depth
+#define SCHEMA_HAS_IfcExtrudedAreaSolidTapered
+#define SCHEMA_IfcExtrudedAreaSolidTapered_HAS_EndSweptArea
+#define SCHEMA_HAS_IfcFace
+#define SCHEMA_IfcFace_HAS_Bounds
+#define SCHEMA_IfcFace_HAS_HasTextureMaps
+#define SCHEMA_HAS_IfcFaceBasedSurfaceModel
+#define SCHEMA_IfcFaceBasedSurfaceModel_HAS_FbsmFaces
+#define SCHEMA_HAS_IfcFaceBound
+#define SCHEMA_IfcFaceBound_HAS_Bound
+#define SCHEMA_IfcFaceBound_HAS_Orientation
+#define SCHEMA_HAS_IfcFaceOuterBound
+#define SCHEMA_HAS_IfcFaceSurface
+#define SCHEMA_IfcFaceSurface_HAS_FaceSurface
+#define SCHEMA_IfcFaceSurface_HAS_SameSense
+#define SCHEMA_HAS_IfcFacetedBrep
+#define SCHEMA_HAS_IfcFacetedBrepWithVoids
+#define SCHEMA_IfcFacetedBrepWithVoids_HAS_Voids
+#define SCHEMA_HAS_IfcFacility
+#define SCHEMA_HAS_IfcFacilityPart
+#define SCHEMA_IfcFacilityPart_HAS_PredefinedType
+#define SCHEMA_IfcFacilityPart_HAS_UsageType
+#define SCHEMA_HAS_IfcFailureConnectionCondition
+#define SCHEMA_IfcFailureConnectionCondition_HAS_TensionFailureX
+#define SCHEMA_IfcFailureConnectionCondition_TensionFailureX_IS_OPTIONAL
+#define SCHEMA_IfcFailureConnectionCondition_HAS_TensionFailureY
+#define SCHEMA_IfcFailureConnectionCondition_TensionFailureY_IS_OPTIONAL
+#define SCHEMA_IfcFailureConnectionCondition_HAS_TensionFailureZ
+#define SCHEMA_IfcFailureConnectionCondition_TensionFailureZ_IS_OPTIONAL
+#define SCHEMA_IfcFailureConnectionCondition_HAS_CompressionFailureX
+#define SCHEMA_IfcFailureConnectionCondition_CompressionFailureX_IS_OPTIONAL
+#define SCHEMA_IfcFailureConnectionCondition_HAS_CompressionFailureY
+#define SCHEMA_IfcFailureConnectionCondition_CompressionFailureY_IS_OPTIONAL
+#define SCHEMA_IfcFailureConnectionCondition_HAS_CompressionFailureZ
+#define SCHEMA_IfcFailureConnectionCondition_CompressionFailureZ_IS_OPTIONAL
+#define SCHEMA_HAS_IfcFan
+#define SCHEMA_IfcFan_HAS_PredefinedType
+#define SCHEMA_IfcFan_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcFanType
+#define SCHEMA_IfcFanType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcFastener
+#define SCHEMA_IfcFastener_HAS_PredefinedType
+#define SCHEMA_IfcFastener_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcFastenerType
+#define SCHEMA_IfcFastenerType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcFeatureElement
+#define SCHEMA_HAS_IfcFeatureElementAddition
+#define SCHEMA_IfcFeatureElementAddition_HAS_ProjectsElements
+#define SCHEMA_HAS_IfcFeatureElementSubtraction
+#define SCHEMA_IfcFeatureElementSubtraction_HAS_VoidsElements
+#define SCHEMA_HAS_IfcFillAreaStyle
+#define SCHEMA_IfcFillAreaStyle_HAS_FillStyles
+#define SCHEMA_IfcFillAreaStyle_HAS_ModelorDraughting
+#define SCHEMA_IfcFillAreaStyle_ModelorDraughting_IS_OPTIONAL
+#define SCHEMA_HAS_IfcFillAreaStyleHatching
+#define SCHEMA_IfcFillAreaStyleHatching_HAS_HatchLineAppearance
+#define SCHEMA_IfcFillAreaStyleHatching_HAS_StartOfNextHatchLine
+#define SCHEMA_IfcFillAreaStyleHatching_HAS_PointOfReferenceHatchLine
+#define SCHEMA_IfcFillAreaStyleHatching_PointOfReferenceHatchLine_IS_OPTIONAL
+#define SCHEMA_IfcFillAreaStyleHatching_HAS_PatternStart
+#define SCHEMA_IfcFillAreaStyleHatching_PatternStart_IS_OPTIONAL
+#define SCHEMA_IfcFillAreaStyleHatching_HAS_HatchLineAngle
+#define SCHEMA_HAS_IfcFillAreaStyleTiles
+#define SCHEMA_IfcFillAreaStyleTiles_HAS_TilingPattern
+#define SCHEMA_IfcFillAreaStyleTiles_HAS_Tiles
+#define SCHEMA_IfcFillAreaStyleTiles_HAS_TilingScale
+#define SCHEMA_HAS_IfcFilter
+#define SCHEMA_IfcFilter_HAS_PredefinedType
+#define SCHEMA_IfcFilter_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcFilterType
+#define SCHEMA_IfcFilterType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcFireSuppressionTerminal
+#define SCHEMA_IfcFireSuppressionTerminal_HAS_PredefinedType
+#define SCHEMA_IfcFireSuppressionTerminal_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcFireSuppressionTerminalType
+#define SCHEMA_IfcFireSuppressionTerminalType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcFixedReferenceSweptAreaSolid
+#define SCHEMA_IfcFixedReferenceSweptAreaSolid_HAS_FixedReference
+#define SCHEMA_HAS_IfcFlowController
+#define SCHEMA_HAS_IfcFlowControllerType
+#define SCHEMA_HAS_IfcFlowFitting
+#define SCHEMA_HAS_IfcFlowFittingType
+#define SCHEMA_HAS_IfcFlowInstrument
+#define SCHEMA_IfcFlowInstrument_HAS_PredefinedType
+#define SCHEMA_IfcFlowInstrument_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcFlowInstrumentType
+#define SCHEMA_IfcFlowInstrumentType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcFlowMeter
+#define SCHEMA_IfcFlowMeter_HAS_PredefinedType
+#define SCHEMA_IfcFlowMeter_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcFlowMeterType
+#define SCHEMA_IfcFlowMeterType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcFlowMovingDevice
+#define SCHEMA_HAS_IfcFlowMovingDeviceType
+#define SCHEMA_HAS_IfcFlowSegment
+#define SCHEMA_HAS_IfcFlowSegmentType
+#define SCHEMA_HAS_IfcFlowStorageDevice
+#define SCHEMA_HAS_IfcFlowStorageDeviceType
+#define SCHEMA_HAS_IfcFlowTerminal
+#define SCHEMA_HAS_IfcFlowTerminalType
+#define SCHEMA_HAS_IfcFlowTreatmentDevice
+#define SCHEMA_HAS_IfcFlowTreatmentDeviceType
+#define SCHEMA_HAS_IfcFooting
+#define SCHEMA_IfcFooting_HAS_PredefinedType
+#define SCHEMA_IfcFooting_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcFootingType
+#define SCHEMA_IfcFootingType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcFurnishingElement
+#define SCHEMA_HAS_IfcFurnishingElementType
+#define SCHEMA_HAS_IfcFurniture
+#define SCHEMA_IfcFurniture_HAS_PredefinedType
+#define SCHEMA_IfcFurniture_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcFurnitureType
+#define SCHEMA_IfcFurnitureType_HAS_AssemblyPlace
+#define SCHEMA_IfcFurnitureType_HAS_PredefinedType
+#define SCHEMA_IfcFurnitureType_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcGeographicElement
+#define SCHEMA_IfcGeographicElement_HAS_PredefinedType
+#define SCHEMA_IfcGeographicElement_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcGeographicElementType
+#define SCHEMA_IfcGeographicElementType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcGeometricCurveSet
+#define SCHEMA_HAS_IfcGeometricRepresentationContext
+#define SCHEMA_IfcGeometricRepresentationContext_HAS_CoordinateSpaceDimension
+#define SCHEMA_IfcGeometricRepresentationContext_HAS_Precision
+#define SCHEMA_IfcGeometricRepresentationContext_Precision_IS_OPTIONAL
+#define SCHEMA_IfcGeometricRepresentationContext_HAS_WorldCoordinateSystem
+#define SCHEMA_IfcGeometricRepresentationContext_HAS_TrueNorth
+#define SCHEMA_IfcGeometricRepresentationContext_TrueNorth_IS_OPTIONAL
+#define SCHEMA_IfcGeometricRepresentationContext_HAS_HasSubContexts
+#define SCHEMA_IfcGeometricRepresentationContext_HAS_HasCoordinateOperation
+#define SCHEMA_HAS_IfcGeometricRepresentationItem
+#define SCHEMA_HAS_IfcGeometricRepresentationSubContext
+#define SCHEMA_IfcGeometricRepresentationSubContext_HAS_ParentContext
+#define SCHEMA_IfcGeometricRepresentationSubContext_HAS_TargetScale
+#define SCHEMA_IfcGeometricRepresentationSubContext_TargetScale_IS_OPTIONAL
+#define SCHEMA_IfcGeometricRepresentationSubContext_HAS_TargetView
+#define SCHEMA_IfcGeometricRepresentationSubContext_HAS_UserDefinedTargetView
+#define SCHEMA_IfcGeometricRepresentationSubContext_UserDefinedTargetView_IS_OPTIONAL
+#define SCHEMA_HAS_IfcGeometricSet
+#define SCHEMA_IfcGeometricSet_HAS_Elements
+#define SCHEMA_HAS_IfcGeomodel
+#define SCHEMA_HAS_IfcGeoslice
+#define SCHEMA_HAS_IfcGeotechnicalAssembly
+#define SCHEMA_HAS_IfcGeotechnicalElement
+#define SCHEMA_HAS_IfcGeotechnicalStratum
+#define SCHEMA_HAS_IfcGrid
+#define SCHEMA_IfcGrid_HAS_UAxes
+#define SCHEMA_IfcGrid_HAS_VAxes
+#define SCHEMA_IfcGrid_HAS_WAxes
+#define SCHEMA_IfcGrid_WAxes_IS_OPTIONAL
+#define SCHEMA_IfcGrid_HAS_PredefinedType
+#define SCHEMA_IfcGrid_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcGridAxis
+#define SCHEMA_IfcGridAxis_HAS_AxisTag
+#define SCHEMA_IfcGridAxis_AxisTag_IS_OPTIONAL
+#define SCHEMA_IfcGridAxis_HAS_AxisCurve
+#define SCHEMA_IfcGridAxis_HAS_SameSense
+#define SCHEMA_IfcGridAxis_HAS_PartOfW
+#define SCHEMA_IfcGridAxis_HAS_PartOfV
+#define SCHEMA_IfcGridAxis_HAS_PartOfU
+#define SCHEMA_IfcGridAxis_HAS_HasIntersections
+#define SCHEMA_HAS_IfcGridPlacement
+#define SCHEMA_IfcGridPlacement_HAS_PlacementLocation
+#define SCHEMA_IfcGridPlacement_HAS_PlacementRefDirection
+#define SCHEMA_IfcGridPlacement_PlacementRefDirection_IS_OPTIONAL
+#define SCHEMA_HAS_IfcGroup
+#define SCHEMA_IfcGroup_HAS_IsGroupedBy
+#define SCHEMA_HAS_IfcHalfSpaceSolid
+#define SCHEMA_IfcHalfSpaceSolid_HAS_BaseSurface
+#define SCHEMA_IfcHalfSpaceSolid_HAS_AgreementFlag
+#define SCHEMA_HAS_IfcHeatExchanger
+#define SCHEMA_IfcHeatExchanger_HAS_PredefinedType
+#define SCHEMA_IfcHeatExchanger_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcHeatExchangerType
+#define SCHEMA_IfcHeatExchangerType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcHumidifier
+#define SCHEMA_IfcHumidifier_HAS_PredefinedType
+#define SCHEMA_IfcHumidifier_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcHumidifierType
+#define SCHEMA_IfcHumidifierType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcIShapeProfileDef
+#define SCHEMA_IfcIShapeProfileDef_HAS_OverallWidth
+#define SCHEMA_IfcIShapeProfileDef_HAS_OverallDepth
+#define SCHEMA_IfcIShapeProfileDef_HAS_WebThickness
+#define SCHEMA_IfcIShapeProfileDef_HAS_FlangeThickness
+#define SCHEMA_IfcIShapeProfileDef_HAS_FilletRadius
+#define SCHEMA_IfcIShapeProfileDef_FilletRadius_IS_OPTIONAL
+#define SCHEMA_IfcIShapeProfileDef_HAS_FlangeEdgeRadius
+#define SCHEMA_IfcIShapeProfileDef_FlangeEdgeRadius_IS_OPTIONAL
+#define SCHEMA_IfcIShapeProfileDef_HAS_FlangeSlope
+#define SCHEMA_IfcIShapeProfileDef_FlangeSlope_IS_OPTIONAL
+#define SCHEMA_HAS_IfcImageTexture
+#define SCHEMA_IfcImageTexture_HAS_URLReference
+#define SCHEMA_HAS_IfcImpactProtectionDevice
+#define SCHEMA_IfcImpactProtectionDevice_HAS_PredefinedType
+#define SCHEMA_IfcImpactProtectionDevice_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcImpactProtectionDeviceType
+#define SCHEMA_IfcImpactProtectionDeviceType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcInclinedReferenceSweptAreaSolid
+#define SCHEMA_IfcInclinedReferenceSweptAreaSolid_HAS_FixedAxisVertical
+#define SCHEMA_IfcInclinedReferenceSweptAreaSolid_FixedAxisVertical_IS_OPTIONAL
+#define SCHEMA_IfcInclinedReferenceSweptAreaSolid_HAS_Inclinating
+#define SCHEMA_HAS_IfcIndexedColourMap
+#define SCHEMA_IfcIndexedColourMap_HAS_MappedTo
+#define SCHEMA_IfcIndexedColourMap_HAS_Opacity
+#define SCHEMA_IfcIndexedColourMap_Opacity_IS_OPTIONAL
+#define SCHEMA_IfcIndexedColourMap_HAS_Colours
+#define SCHEMA_IfcIndexedColourMap_HAS_ColourIndex
+#define SCHEMA_HAS_IfcIndexedPolyCurve
+#define SCHEMA_IfcIndexedPolyCurve_HAS_Points
+#define SCHEMA_IfcIndexedPolyCurve_HAS_Segments
+#define SCHEMA_IfcIndexedPolyCurve_Segments_IS_OPTIONAL
+#define SCHEMA_IfcIndexedPolyCurve_HAS_SelfIntersect
+#define SCHEMA_IfcIndexedPolyCurve_SelfIntersect_IS_OPTIONAL
+#define SCHEMA_HAS_IfcIndexedPolygonalFace
+#define SCHEMA_IfcIndexedPolygonalFace_HAS_CoordIndex
+#define SCHEMA_IfcIndexedPolygonalFace_HAS_ToFaceSet
+#define SCHEMA_HAS_IfcIndexedPolygonalFaceWithVoids
+#define SCHEMA_IfcIndexedPolygonalFaceWithVoids_HAS_InnerCoordIndices
+#define SCHEMA_HAS_IfcIndexedTextureMap
+#define SCHEMA_IfcIndexedTextureMap_HAS_MappedTo
+#define SCHEMA_IfcIndexedTextureMap_HAS_TexCoords
+#define SCHEMA_HAS_IfcIndexedTriangleTextureMap
+#define SCHEMA_IfcIndexedTriangleTextureMap_HAS_TexCoordIndex
+#define SCHEMA_IfcIndexedTriangleTextureMap_TexCoordIndex_IS_OPTIONAL
+#define SCHEMA_HAS_IfcInterceptor
+#define SCHEMA_IfcInterceptor_HAS_PredefinedType
+#define SCHEMA_IfcInterceptor_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcInterceptorType
+#define SCHEMA_IfcInterceptorType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcIntersectionCurve
+#define SCHEMA_HAS_IfcInventory
+#define SCHEMA_IfcInventory_HAS_PredefinedType
+#define SCHEMA_IfcInventory_PredefinedType_IS_OPTIONAL
+#define SCHEMA_IfcInventory_HAS_Jurisdiction
+#define SCHEMA_IfcInventory_Jurisdiction_IS_OPTIONAL
+#define SCHEMA_IfcInventory_HAS_ResponsiblePersons
+#define SCHEMA_IfcInventory_ResponsiblePersons_IS_OPTIONAL
+#define SCHEMA_IfcInventory_HAS_LastUpdateDate
+#define SCHEMA_IfcInventory_LastUpdateDate_IS_OPTIONAL
+#define SCHEMA_IfcInventory_HAS_CurrentValue
+#define SCHEMA_IfcInventory_CurrentValue_IS_OPTIONAL
+#define SCHEMA_IfcInventory_HAS_OriginalValue
+#define SCHEMA_IfcInventory_OriginalValue_IS_OPTIONAL
+#define SCHEMA_HAS_IfcIrregularTimeSeries
+#define SCHEMA_IfcIrregularTimeSeries_HAS_Values
+#define SCHEMA_HAS_IfcIrregularTimeSeriesValue
+#define SCHEMA_IfcIrregularTimeSeriesValue_HAS_TimeStamp
+#define SCHEMA_IfcIrregularTimeSeriesValue_HAS_ListValues
+#define SCHEMA_HAS_IfcJunctionBox
+#define SCHEMA_IfcJunctionBox_HAS_PredefinedType
+#define SCHEMA_IfcJunctionBox_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcJunctionBoxType
+#define SCHEMA_IfcJunctionBoxType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcKerb
+#define SCHEMA_IfcKerb_HAS_Mountable
+#define SCHEMA_HAS_IfcKerbType
+#define SCHEMA_IfcKerbType_HAS_Mountable
+#define SCHEMA_HAS_IfcLShapeProfileDef
+#define SCHEMA_IfcLShapeProfileDef_HAS_Depth
+#define SCHEMA_IfcLShapeProfileDef_HAS_Width
+#define SCHEMA_IfcLShapeProfileDef_Width_IS_OPTIONAL
+#define SCHEMA_IfcLShapeProfileDef_HAS_Thickness
+#define SCHEMA_IfcLShapeProfileDef_HAS_FilletRadius
+#define SCHEMA_IfcLShapeProfileDef_FilletRadius_IS_OPTIONAL
+#define SCHEMA_IfcLShapeProfileDef_HAS_EdgeRadius
+#define SCHEMA_IfcLShapeProfileDef_EdgeRadius_IS_OPTIONAL
+#define SCHEMA_IfcLShapeProfileDef_HAS_LegSlope
+#define SCHEMA_IfcLShapeProfileDef_LegSlope_IS_OPTIONAL
+#define SCHEMA_HAS_IfcLaborResource
+#define SCHEMA_IfcLaborResource_HAS_PredefinedType
+#define SCHEMA_IfcLaborResource_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcLaborResourceType
+#define SCHEMA_IfcLaborResourceType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcLagTime
+#define SCHEMA_IfcLagTime_HAS_LagValue
+#define SCHEMA_IfcLagTime_HAS_DurationType
+#define SCHEMA_HAS_IfcLamp
+#define SCHEMA_IfcLamp_HAS_PredefinedType
+#define SCHEMA_IfcLamp_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcLampType
+#define SCHEMA_IfcLampType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcLibraryInformation
+#define SCHEMA_IfcLibraryInformation_HAS_Name
+#define SCHEMA_IfcLibraryInformation_HAS_Version
+#define SCHEMA_IfcLibraryInformation_Version_IS_OPTIONAL
+#define SCHEMA_IfcLibraryInformation_HAS_Publisher
+#define SCHEMA_IfcLibraryInformation_Publisher_IS_OPTIONAL
+#define SCHEMA_IfcLibraryInformation_HAS_VersionDate
+#define SCHEMA_IfcLibraryInformation_VersionDate_IS_OPTIONAL
+#define SCHEMA_IfcLibraryInformation_HAS_Location
+#define SCHEMA_IfcLibraryInformation_Location_IS_OPTIONAL
+#define SCHEMA_IfcLibraryInformation_HAS_Description
+#define SCHEMA_IfcLibraryInformation_Description_IS_OPTIONAL
+#define SCHEMA_IfcLibraryInformation_HAS_LibraryInfoForObjects
+#define SCHEMA_IfcLibraryInformation_HAS_HasLibraryReferences
+#define SCHEMA_HAS_IfcLibraryReference
+#define SCHEMA_IfcLibraryReference_HAS_Description
+#define SCHEMA_IfcLibraryReference_Description_IS_OPTIONAL
+#define SCHEMA_IfcLibraryReference_HAS_Language
+#define SCHEMA_IfcLibraryReference_Language_IS_OPTIONAL
+#define SCHEMA_IfcLibraryReference_HAS_ReferencedLibrary
+#define SCHEMA_IfcLibraryReference_ReferencedLibrary_IS_OPTIONAL
+#define SCHEMA_IfcLibraryReference_HAS_LibraryRefForObjects
+#define SCHEMA_HAS_IfcLightDistributionData
+#define SCHEMA_IfcLightDistributionData_HAS_MainPlaneAngle
+#define SCHEMA_IfcLightDistributionData_HAS_SecondaryPlaneAngle
+#define SCHEMA_IfcLightDistributionData_HAS_LuminousIntensity
+#define SCHEMA_HAS_IfcLightFixture
+#define SCHEMA_IfcLightFixture_HAS_PredefinedType
+#define SCHEMA_IfcLightFixture_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcLightFixtureType
+#define SCHEMA_IfcLightFixtureType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcLightIntensityDistribution
+#define SCHEMA_IfcLightIntensityDistribution_HAS_LightDistributionCurve
+#define SCHEMA_IfcLightIntensityDistribution_HAS_DistributionData
+#define SCHEMA_HAS_IfcLightSource
+#define SCHEMA_IfcLightSource_HAS_Name
+#define SCHEMA_IfcLightSource_Name_IS_OPTIONAL
+#define SCHEMA_IfcLightSource_HAS_LightColour
+#define SCHEMA_IfcLightSource_HAS_AmbientIntensity
+#define SCHEMA_IfcLightSource_AmbientIntensity_IS_OPTIONAL
+#define SCHEMA_IfcLightSource_HAS_Intensity
+#define SCHEMA_IfcLightSource_Intensity_IS_OPTIONAL
+#define SCHEMA_HAS_IfcLightSourceAmbient
+#define SCHEMA_HAS_IfcLightSourceDirectional
+#define SCHEMA_IfcLightSourceDirectional_HAS_Orientation
+#define SCHEMA_HAS_IfcLightSourceGoniometric
+#define SCHEMA_IfcLightSourceGoniometric_HAS_Position
+#define SCHEMA_IfcLightSourceGoniometric_HAS_ColourAppearance
+#define SCHEMA_IfcLightSourceGoniometric_ColourAppearance_IS_OPTIONAL
+#define SCHEMA_IfcLightSourceGoniometric_HAS_ColourTemperature
+#define SCHEMA_IfcLightSourceGoniometric_HAS_LuminousFlux
+#define SCHEMA_IfcLightSourceGoniometric_HAS_LightEmissionSource
+#define SCHEMA_IfcLightSourceGoniometric_HAS_LightDistributionDataSource
+#define SCHEMA_HAS_IfcLightSourcePositional
+#define SCHEMA_IfcLightSourcePositional_HAS_Position
+#define SCHEMA_IfcLightSourcePositional_HAS_Radius
+#define SCHEMA_IfcLightSourcePositional_HAS_ConstantAttenuation
+#define SCHEMA_IfcLightSourcePositional_HAS_DistanceAttenuation
+#define SCHEMA_IfcLightSourcePositional_HAS_QuadricAttenuation
+#define SCHEMA_HAS_IfcLightSourceSpot
+#define SCHEMA_IfcLightSourceSpot_HAS_Orientation
+#define SCHEMA_IfcLightSourceSpot_HAS_ConcentrationExponent
+#define SCHEMA_IfcLightSourceSpot_ConcentrationExponent_IS_OPTIONAL
+#define SCHEMA_IfcLightSourceSpot_HAS_SpreadAngle
+#define SCHEMA_IfcLightSourceSpot_HAS_BeamWidthAngle
+#define SCHEMA_HAS_IfcLine
+#define SCHEMA_IfcLine_HAS_Pnt
+#define SCHEMA_IfcLine_HAS_Dir
+#define SCHEMA_HAS_IfcLineSegment2D
+#define SCHEMA_HAS_IfcLinearAxisWithInclination
+#define SCHEMA_IfcLinearAxisWithInclination_HAS_Directrix
+#define SCHEMA_IfcLinearAxisWithInclination_HAS_Inclinating
+#define SCHEMA_HAS_IfcLinearPlacement
+#define SCHEMA_IfcLinearPlacement_HAS_PlacementMeasuredAlong
+#define SCHEMA_IfcLinearPlacement_HAS_Distance
+#define SCHEMA_IfcLinearPlacement_HAS_Orientation
+#define SCHEMA_IfcLinearPlacement_Orientation_IS_OPTIONAL
+#define SCHEMA_IfcLinearPlacement_HAS_CartesianPosition
+#define SCHEMA_IfcLinearPlacement_CartesianPosition_IS_OPTIONAL
+#define SCHEMA_HAS_IfcLinearPlacementWithInclination
+#define SCHEMA_IfcLinearPlacementWithInclination_HAS_Inclinating
+#define SCHEMA_HAS_IfcLinearPositioningElement
+#define SCHEMA_IfcLinearPositioningElement_HAS_Axis
+#define SCHEMA_HAS_IfcLinearSpanPlacement
+#define SCHEMA_IfcLinearSpanPlacement_HAS_Span
+#define SCHEMA_HAS_IfcLiquidTerminal
+#define SCHEMA_IfcLiquidTerminal_HAS_PredefinedType
+#define SCHEMA_IfcLiquidTerminal_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcLiquidTerminalType
+#define SCHEMA_IfcLiquidTerminalType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcLocalPlacement
+#define SCHEMA_IfcLocalPlacement_HAS_RelativePlacement
+#define SCHEMA_HAS_IfcLoop
+#define SCHEMA_HAS_IfcManifoldSolidBrep
+#define SCHEMA_IfcManifoldSolidBrep_HAS_Outer
+#define SCHEMA_HAS_IfcMapConversion
+#define SCHEMA_IfcMapConversion_HAS_Eastings
+#define SCHEMA_IfcMapConversion_HAS_Northings
+#define SCHEMA_IfcMapConversion_HAS_OrthogonalHeight
+#define SCHEMA_IfcMapConversion_HAS_XAxisAbscissa
+#define SCHEMA_IfcMapConversion_XAxisAbscissa_IS_OPTIONAL
+#define SCHEMA_IfcMapConversion_HAS_XAxisOrdinate
+#define SCHEMA_IfcMapConversion_XAxisOrdinate_IS_OPTIONAL
+#define SCHEMA_IfcMapConversion_HAS_Scale
+#define SCHEMA_IfcMapConversion_Scale_IS_OPTIONAL
+#define SCHEMA_HAS_IfcMappedItem
+#define SCHEMA_IfcMappedItem_HAS_MappingSource
+#define SCHEMA_IfcMappedItem_HAS_MappingTarget
+#define SCHEMA_HAS_IfcMarineFacility
+#define SCHEMA_IfcMarineFacility_HAS_PredefinedType
+#define SCHEMA_HAS_IfcMaterial
+#define SCHEMA_IfcMaterial_HAS_Name
+#define SCHEMA_IfcMaterial_HAS_Description
+#define SCHEMA_IfcMaterial_Description_IS_OPTIONAL
+#define SCHEMA_IfcMaterial_HAS_Category
+#define SCHEMA_IfcMaterial_Category_IS_OPTIONAL
+#define SCHEMA_IfcMaterial_HAS_HasRepresentation
+#define SCHEMA_IfcMaterial_HAS_IsRelatedWith
+#define SCHEMA_IfcMaterial_HAS_RelatesTo
+#define SCHEMA_HAS_IfcMaterialClassificationRelationship
+#define SCHEMA_IfcMaterialClassificationRelationship_HAS_MaterialClassifications
+#define SCHEMA_IfcMaterialClassificationRelationship_HAS_ClassifiedMaterial
+#define SCHEMA_HAS_IfcMaterialConstituent
+#define SCHEMA_IfcMaterialConstituent_HAS_Name
+#define SCHEMA_IfcMaterialConstituent_Name_IS_OPTIONAL
+#define SCHEMA_IfcMaterialConstituent_HAS_Description
+#define SCHEMA_IfcMaterialConstituent_Description_IS_OPTIONAL
+#define SCHEMA_IfcMaterialConstituent_HAS_Material
+#define SCHEMA_IfcMaterialConstituent_HAS_Fraction
+#define SCHEMA_IfcMaterialConstituent_Fraction_IS_OPTIONAL
+#define SCHEMA_IfcMaterialConstituent_HAS_Category
+#define SCHEMA_IfcMaterialConstituent_Category_IS_OPTIONAL
+#define SCHEMA_IfcMaterialConstituent_HAS_ToMaterialConstituentSet
+#define SCHEMA_HAS_IfcMaterialConstituentSet
+#define SCHEMA_IfcMaterialConstituentSet_HAS_Name
+#define SCHEMA_IfcMaterialConstituentSet_Name_IS_OPTIONAL
+#define SCHEMA_IfcMaterialConstituentSet_HAS_Description
+#define SCHEMA_IfcMaterialConstituentSet_Description_IS_OPTIONAL
+#define SCHEMA_IfcMaterialConstituentSet_HAS_MaterialConstituents
+#define SCHEMA_IfcMaterialConstituentSet_MaterialConstituents_IS_OPTIONAL
+#define SCHEMA_HAS_IfcMaterialDefinition
+#define SCHEMA_IfcMaterialDefinition_HAS_AssociatedTo
+#define SCHEMA_IfcMaterialDefinition_HAS_HasExternalReferences
+#define SCHEMA_IfcMaterialDefinition_HAS_HasProperties
+#define SCHEMA_HAS_IfcMaterialDefinitionRepresentation
+#define SCHEMA_IfcMaterialDefinitionRepresentation_HAS_RepresentedMaterial
+#define SCHEMA_HAS_IfcMaterialLayer
+#define SCHEMA_IfcMaterialLayer_HAS_Material
+#define SCHEMA_IfcMaterialLayer_Material_IS_OPTIONAL
+#define SCHEMA_IfcMaterialLayer_HAS_LayerThickness
+#define SCHEMA_IfcMaterialLayer_HAS_IsVentilated
+#define SCHEMA_IfcMaterialLayer_IsVentilated_IS_OPTIONAL
+#define SCHEMA_IfcMaterialLayer_HAS_Name
+#define SCHEMA_IfcMaterialLayer_Name_IS_OPTIONAL
+#define SCHEMA_IfcMaterialLayer_HAS_Description
+#define SCHEMA_IfcMaterialLayer_Description_IS_OPTIONAL
+#define SCHEMA_IfcMaterialLayer_HAS_Category
+#define SCHEMA_IfcMaterialLayer_Category_IS_OPTIONAL
+#define SCHEMA_IfcMaterialLayer_HAS_Priority
+#define SCHEMA_IfcMaterialLayer_Priority_IS_OPTIONAL
+#define SCHEMA_IfcMaterialLayer_HAS_ToMaterialLayerSet
+#define SCHEMA_HAS_IfcMaterialLayerSet
+#define SCHEMA_IfcMaterialLayerSet_HAS_MaterialLayers
+#define SCHEMA_IfcMaterialLayerSet_HAS_LayerSetName
+#define SCHEMA_IfcMaterialLayerSet_LayerSetName_IS_OPTIONAL
+#define SCHEMA_IfcMaterialLayerSet_HAS_Description
+#define SCHEMA_IfcMaterialLayerSet_Description_IS_OPTIONAL
+#define SCHEMA_HAS_IfcMaterialLayerSetUsage
+#define SCHEMA_IfcMaterialLayerSetUsage_HAS_ForLayerSet
+#define SCHEMA_IfcMaterialLayerSetUsage_HAS_LayerSetDirection
+#define SCHEMA_IfcMaterialLayerSetUsage_HAS_DirectionSense
+#define SCHEMA_IfcMaterialLayerSetUsage_HAS_OffsetFromReferenceLine
+#define SCHEMA_IfcMaterialLayerSetUsage_HAS_ReferenceExtent
+#define SCHEMA_IfcMaterialLayerSetUsage_ReferenceExtent_IS_OPTIONAL
+#define SCHEMA_HAS_IfcMaterialLayerWithOffsets
+#define SCHEMA_IfcMaterialLayerWithOffsets_HAS_OffsetDirection
+#define SCHEMA_IfcMaterialLayerWithOffsets_HAS_OffsetValues
+#define SCHEMA_HAS_IfcMaterialList
+#define SCHEMA_IfcMaterialList_HAS_Materials
+#define SCHEMA_HAS_IfcMaterialProfile
+#define SCHEMA_IfcMaterialProfile_HAS_Name
+#define SCHEMA_IfcMaterialProfile_Name_IS_OPTIONAL
+#define SCHEMA_IfcMaterialProfile_HAS_Description
+#define SCHEMA_IfcMaterialProfile_Description_IS_OPTIONAL
+#define SCHEMA_IfcMaterialProfile_HAS_Material
+#define SCHEMA_IfcMaterialProfile_Material_IS_OPTIONAL
+#define SCHEMA_IfcMaterialProfile_HAS_Profile
+#define SCHEMA_IfcMaterialProfile_HAS_Priority
+#define SCHEMA_IfcMaterialProfile_Priority_IS_OPTIONAL
+#define SCHEMA_IfcMaterialProfile_HAS_Category
+#define SCHEMA_IfcMaterialProfile_Category_IS_OPTIONAL
+#define SCHEMA_IfcMaterialProfile_HAS_ToMaterialProfileSet
+#define SCHEMA_HAS_IfcMaterialProfileSet
+#define SCHEMA_IfcMaterialProfileSet_HAS_Name
+#define SCHEMA_IfcMaterialProfileSet_Name_IS_OPTIONAL
+#define SCHEMA_IfcMaterialProfileSet_HAS_Description
+#define SCHEMA_IfcMaterialProfileSet_Description_IS_OPTIONAL
+#define SCHEMA_IfcMaterialProfileSet_HAS_MaterialProfiles
+#define SCHEMA_IfcMaterialProfileSet_HAS_CompositeProfile
+#define SCHEMA_IfcMaterialProfileSet_CompositeProfile_IS_OPTIONAL
+#define SCHEMA_HAS_IfcMaterialProfileSetUsage
+#define SCHEMA_IfcMaterialProfileSetUsage_HAS_ForProfileSet
+#define SCHEMA_IfcMaterialProfileSetUsage_HAS_CardinalPoint
+#define SCHEMA_IfcMaterialProfileSetUsage_CardinalPoint_IS_OPTIONAL
+#define SCHEMA_IfcMaterialProfileSetUsage_HAS_ReferenceExtent
+#define SCHEMA_IfcMaterialProfileSetUsage_ReferenceExtent_IS_OPTIONAL
+#define SCHEMA_HAS_IfcMaterialProfileSetUsageTapering
+#define SCHEMA_IfcMaterialProfileSetUsageTapering_HAS_ForProfileEndSet
+#define SCHEMA_IfcMaterialProfileSetUsageTapering_HAS_CardinalEndPoint
+#define SCHEMA_IfcMaterialProfileSetUsageTapering_CardinalEndPoint_IS_OPTIONAL
+#define SCHEMA_HAS_IfcMaterialProfileWithOffsets
+#define SCHEMA_IfcMaterialProfileWithOffsets_HAS_OffsetValues
+#define SCHEMA_HAS_IfcMaterialProperties
+#define SCHEMA_IfcMaterialProperties_HAS_Material
+#define SCHEMA_HAS_IfcMaterialRelationship
+#define SCHEMA_IfcMaterialRelationship_HAS_RelatingMaterial
+#define SCHEMA_IfcMaterialRelationship_HAS_RelatedMaterials
+#define SCHEMA_IfcMaterialRelationship_HAS_Expression
+#define SCHEMA_IfcMaterialRelationship_Expression_IS_OPTIONAL
+#define SCHEMA_HAS_IfcMaterialUsageDefinition
+#define SCHEMA_IfcMaterialUsageDefinition_HAS_AssociatedTo
+#define SCHEMA_HAS_IfcMeasureWithUnit
+#define SCHEMA_IfcMeasureWithUnit_HAS_ValueComponent
+#define SCHEMA_IfcMeasureWithUnit_HAS_UnitComponent
+#define SCHEMA_HAS_IfcMechanicalFastener
+#define SCHEMA_IfcMechanicalFastener_HAS_NominalDiameter
+#define SCHEMA_IfcMechanicalFastener_NominalDiameter_IS_OPTIONAL
+#define SCHEMA_IfcMechanicalFastener_HAS_NominalLength
+#define SCHEMA_IfcMechanicalFastener_NominalLength_IS_OPTIONAL
+#define SCHEMA_IfcMechanicalFastener_HAS_PredefinedType
+#define SCHEMA_IfcMechanicalFastener_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcMechanicalFastenerType
+#define SCHEMA_IfcMechanicalFastenerType_HAS_PredefinedType
+#define SCHEMA_IfcMechanicalFastenerType_HAS_NominalDiameter
+#define SCHEMA_IfcMechanicalFastenerType_NominalDiameter_IS_OPTIONAL
+#define SCHEMA_IfcMechanicalFastenerType_HAS_NominalLength
+#define SCHEMA_IfcMechanicalFastenerType_NominalLength_IS_OPTIONAL
+#define SCHEMA_HAS_IfcMedicalDevice
+#define SCHEMA_IfcMedicalDevice_HAS_PredefinedType
+#define SCHEMA_IfcMedicalDevice_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcMedicalDeviceType
+#define SCHEMA_IfcMedicalDeviceType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcMember
+#define SCHEMA_IfcMember_HAS_PredefinedType
+#define SCHEMA_IfcMember_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcMemberStandardCase
+#define SCHEMA_HAS_IfcMemberType
+#define SCHEMA_IfcMemberType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcMetric
+#define SCHEMA_IfcMetric_HAS_Benchmark
+#define SCHEMA_IfcMetric_HAS_ValueSource
+#define SCHEMA_IfcMetric_ValueSource_IS_OPTIONAL
+#define SCHEMA_IfcMetric_HAS_DataValue
+#define SCHEMA_IfcMetric_DataValue_IS_OPTIONAL
+#define SCHEMA_IfcMetric_HAS_ReferencePath
+#define SCHEMA_IfcMetric_ReferencePath_IS_OPTIONAL
+#define SCHEMA_HAS_IfcMirroredProfileDef
+#define SCHEMA_HAS_IfcMobileTelecommunicationsAppliance
+#define SCHEMA_IfcMobileTelecommunicationsAppliance_HAS_PredefinedType
+#define SCHEMA_IfcMobileTelecommunicationsAppliance_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcMobileTelecommunicationsApplianceType
+#define SCHEMA_IfcMobileTelecommunicationsApplianceType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcMonetaryUnit
+#define SCHEMA_IfcMonetaryUnit_HAS_Currency
+#define SCHEMA_HAS_IfcMooringDevice
+#define SCHEMA_IfcMooringDevice_HAS_PredefinedType
+#define SCHEMA_IfcMooringDevice_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcMooringDeviceType
+#define SCHEMA_IfcMooringDeviceType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcMotorConnection
+#define SCHEMA_IfcMotorConnection_HAS_PredefinedType
+#define SCHEMA_IfcMotorConnection_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcMotorConnectionType
+#define SCHEMA_IfcMotorConnectionType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcNamedUnit
+#define SCHEMA_IfcNamedUnit_HAS_Dimensions
+#define SCHEMA_IfcNamedUnit_HAS_UnitType
+#define SCHEMA_HAS_IfcNavigationElement
+#define SCHEMA_IfcNavigationElement_HAS_PredefinedType
+#define SCHEMA_IfcNavigationElement_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcNavigationElementType
+#define SCHEMA_IfcNavigationElementType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcObject
+#define SCHEMA_IfcObject_HAS_ObjectType
+#define SCHEMA_IfcObject_ObjectType_IS_OPTIONAL
+#define SCHEMA_IfcObject_HAS_IsDeclaredBy
+#define SCHEMA_IfcObject_HAS_Declares
+#define SCHEMA_IfcObject_HAS_IsTypedBy
+#define SCHEMA_IfcObject_HAS_IsDefinedBy
+#define SCHEMA_HAS_IfcObjectDefinition
+#define SCHEMA_IfcObjectDefinition_HAS_HasAssignments
+#define SCHEMA_IfcObjectDefinition_HAS_Nests
+#define SCHEMA_IfcObjectDefinition_HAS_IsNestedBy
+#define SCHEMA_IfcObjectDefinition_HAS_HasContext
+#define SCHEMA_IfcObjectDefinition_HAS_IsDecomposedBy
+#define SCHEMA_IfcObjectDefinition_HAS_Decomposes
+#define SCHEMA_IfcObjectDefinition_HAS_HasAssociations
+#define SCHEMA_HAS_IfcObjectPlacement
+#define SCHEMA_IfcObjectPlacement_HAS_PlacementRelTo
+#define SCHEMA_IfcObjectPlacement_PlacementRelTo_IS_OPTIONAL
+#define SCHEMA_IfcObjectPlacement_HAS_PlacesObject
+#define SCHEMA_HAS_IfcObjective
+#define SCHEMA_IfcObjective_HAS_BenchmarkValues
+#define SCHEMA_IfcObjective_BenchmarkValues_IS_OPTIONAL
+#define SCHEMA_IfcObjective_HAS_LogicalAggregator
+#define SCHEMA_IfcObjective_LogicalAggregator_IS_OPTIONAL
+#define SCHEMA_IfcObjective_HAS_ObjectiveQualifier
+#define SCHEMA_IfcObjective_HAS_UserDefinedQualifier
+#define SCHEMA_IfcObjective_UserDefinedQualifier_IS_OPTIONAL
+#define SCHEMA_HAS_IfcOccupant
+#define SCHEMA_IfcOccupant_HAS_PredefinedType
+#define SCHEMA_IfcOccupant_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcOffsetCurve
+#define SCHEMA_IfcOffsetCurve_HAS_BasisCurve
+#define SCHEMA_HAS_IfcOffsetCurve2D
+#define SCHEMA_IfcOffsetCurve2D_HAS_Distance
+#define SCHEMA_IfcOffsetCurve2D_HAS_SelfIntersect
+#define SCHEMA_HAS_IfcOffsetCurve3D
+#define SCHEMA_IfcOffsetCurve3D_HAS_Distance
+#define SCHEMA_IfcOffsetCurve3D_HAS_SelfIntersect
+#define SCHEMA_IfcOffsetCurve3D_HAS_RefDirection
+#define SCHEMA_HAS_IfcOffsetCurveByDistances
+#define SCHEMA_IfcOffsetCurveByDistances_HAS_OffsetValues
+#define SCHEMA_IfcOffsetCurveByDistances_HAS_Tag
+#define SCHEMA_IfcOffsetCurveByDistances_Tag_IS_OPTIONAL
+#define SCHEMA_HAS_IfcOpenCrossProfileDef
+#define SCHEMA_IfcOpenCrossProfileDef_HAS_HorizontalWidths
+#define SCHEMA_IfcOpenCrossProfileDef_HAS_Widths
+#define SCHEMA_IfcOpenCrossProfileDef_HAS_Slopes
+#define SCHEMA_IfcOpenCrossProfileDef_HAS_Tags
+#define SCHEMA_IfcOpenCrossProfileDef_Tags_IS_OPTIONAL
+#define SCHEMA_HAS_IfcOpenShell
+#define SCHEMA_HAS_IfcOpeningElement
+#define SCHEMA_IfcOpeningElement_HAS_PredefinedType
+#define SCHEMA_IfcOpeningElement_PredefinedType_IS_OPTIONAL
+#define SCHEMA_IfcOpeningElement_HAS_HasFillings
+#define SCHEMA_HAS_IfcOpeningStandardCase
+#define SCHEMA_HAS_IfcOrganization
+#define SCHEMA_IfcOrganization_HAS_Identification
+#define SCHEMA_IfcOrganization_Identification_IS_OPTIONAL
+#define SCHEMA_IfcOrganization_HAS_Name
+#define SCHEMA_IfcOrganization_HAS_Description
+#define SCHEMA_IfcOrganization_Description_IS_OPTIONAL
+#define SCHEMA_IfcOrganization_HAS_Roles
+#define SCHEMA_IfcOrganization_Roles_IS_OPTIONAL
+#define SCHEMA_IfcOrganization_HAS_Addresses
+#define SCHEMA_IfcOrganization_Addresses_IS_OPTIONAL
+#define SCHEMA_IfcOrganization_HAS_IsRelatedBy
+#define SCHEMA_IfcOrganization_HAS_Relates
+#define SCHEMA_IfcOrganization_HAS_Engages
+#define SCHEMA_HAS_IfcOrganizationRelationship
+#define SCHEMA_IfcOrganizationRelationship_HAS_RelatingOrganization
+#define SCHEMA_IfcOrganizationRelationship_HAS_RelatedOrganizations
+#define SCHEMA_HAS_IfcOrientationExpression
+#define SCHEMA_IfcOrientationExpression_HAS_LateralAxisDirection
+#define SCHEMA_IfcOrientationExpression_HAS_VerticalAxisDirection
+#define SCHEMA_HAS_IfcOrientedEdge
+#define SCHEMA_IfcOrientedEdge_HAS_EdgeElement
+#define SCHEMA_IfcOrientedEdge_HAS_Orientation
+#define SCHEMA_HAS_IfcOuterBoundaryCurve
+#define SCHEMA_HAS_IfcOutlet
+#define SCHEMA_IfcOutlet_HAS_PredefinedType
+#define SCHEMA_IfcOutlet_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcOutletType
+#define SCHEMA_IfcOutletType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcOwnerHistory
+#define SCHEMA_IfcOwnerHistory_HAS_OwningUser
+#define SCHEMA_IfcOwnerHistory_HAS_OwningApplication
+#define SCHEMA_IfcOwnerHistory_HAS_State
+#define SCHEMA_IfcOwnerHistory_State_IS_OPTIONAL
+#define SCHEMA_IfcOwnerHistory_HAS_ChangeAction
+#define SCHEMA_IfcOwnerHistory_ChangeAction_IS_OPTIONAL
+#define SCHEMA_IfcOwnerHistory_HAS_LastModifiedDate
+#define SCHEMA_IfcOwnerHistory_LastModifiedDate_IS_OPTIONAL
+#define SCHEMA_IfcOwnerHistory_HAS_LastModifyingUser
+#define SCHEMA_IfcOwnerHistory_LastModifyingUser_IS_OPTIONAL
+#define SCHEMA_IfcOwnerHistory_HAS_LastModifyingApplication
+#define SCHEMA_IfcOwnerHistory_LastModifyingApplication_IS_OPTIONAL
+#define SCHEMA_IfcOwnerHistory_HAS_CreationDate
+#define SCHEMA_HAS_IfcParameterizedProfileDef
+#define SCHEMA_IfcParameterizedProfileDef_HAS_Position
+#define SCHEMA_IfcParameterizedProfileDef_Position_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPath
+#define SCHEMA_IfcPath_HAS_EdgeList
+#define SCHEMA_HAS_IfcPavement
+#define SCHEMA_IfcPavement_HAS_Flexible
+#define SCHEMA_IfcPavement_Flexible_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPavementType
+#define SCHEMA_IfcPavementType_HAS_Flexible
+#define SCHEMA_HAS_IfcPcurve
+#define SCHEMA_IfcPcurve_HAS_BasisSurface
+#define SCHEMA_IfcPcurve_HAS_ReferenceCurve
+#define SCHEMA_HAS_IfcPerformanceHistory
+#define SCHEMA_IfcPerformanceHistory_HAS_LifeCyclePhase
+#define SCHEMA_IfcPerformanceHistory_HAS_PredefinedType
+#define SCHEMA_IfcPerformanceHistory_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPermeableCoveringProperties
+#define SCHEMA_IfcPermeableCoveringProperties_HAS_OperationType
+#define SCHEMA_IfcPermeableCoveringProperties_HAS_PanelPosition
+#define SCHEMA_IfcPermeableCoveringProperties_HAS_FrameDepth
+#define SCHEMA_IfcPermeableCoveringProperties_FrameDepth_IS_OPTIONAL
+#define SCHEMA_IfcPermeableCoveringProperties_HAS_FrameThickness
+#define SCHEMA_IfcPermeableCoveringProperties_FrameThickness_IS_OPTIONAL
+#define SCHEMA_IfcPermeableCoveringProperties_HAS_ShapeAspectStyle
+#define SCHEMA_IfcPermeableCoveringProperties_ShapeAspectStyle_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPermit
+#define SCHEMA_IfcPermit_HAS_PredefinedType
+#define SCHEMA_IfcPermit_PredefinedType_IS_OPTIONAL
+#define SCHEMA_IfcPermit_HAS_Status
+#define SCHEMA_IfcPermit_Status_IS_OPTIONAL
+#define SCHEMA_IfcPermit_HAS_LongDescription
+#define SCHEMA_IfcPermit_LongDescription_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPerson
+#define SCHEMA_IfcPerson_HAS_Identification
+#define SCHEMA_IfcPerson_Identification_IS_OPTIONAL
+#define SCHEMA_IfcPerson_HAS_FamilyName
+#define SCHEMA_IfcPerson_FamilyName_IS_OPTIONAL
+#define SCHEMA_IfcPerson_HAS_GivenName
+#define SCHEMA_IfcPerson_GivenName_IS_OPTIONAL
+#define SCHEMA_IfcPerson_HAS_MiddleNames
+#define SCHEMA_IfcPerson_MiddleNames_IS_OPTIONAL
+#define SCHEMA_IfcPerson_HAS_PrefixTitles
+#define SCHEMA_IfcPerson_PrefixTitles_IS_OPTIONAL
+#define SCHEMA_IfcPerson_HAS_SuffixTitles
+#define SCHEMA_IfcPerson_SuffixTitles_IS_OPTIONAL
+#define SCHEMA_IfcPerson_HAS_Roles
+#define SCHEMA_IfcPerson_Roles_IS_OPTIONAL
+#define SCHEMA_IfcPerson_HAS_Addresses
+#define SCHEMA_IfcPerson_Addresses_IS_OPTIONAL
+#define SCHEMA_IfcPerson_HAS_EngagedIn
+#define SCHEMA_HAS_IfcPersonAndOrganization
+#define SCHEMA_IfcPersonAndOrganization_HAS_ThePerson
+#define SCHEMA_IfcPersonAndOrganization_HAS_TheOrganization
+#define SCHEMA_IfcPersonAndOrganization_HAS_Roles
+#define SCHEMA_IfcPersonAndOrganization_Roles_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPhysicalComplexQuantity
+#define SCHEMA_IfcPhysicalComplexQuantity_HAS_HasQuantities
+#define SCHEMA_IfcPhysicalComplexQuantity_HAS_Discrimination
+#define SCHEMA_IfcPhysicalComplexQuantity_HAS_Quality
+#define SCHEMA_IfcPhysicalComplexQuantity_Quality_IS_OPTIONAL
+#define SCHEMA_IfcPhysicalComplexQuantity_HAS_Usage
+#define SCHEMA_IfcPhysicalComplexQuantity_Usage_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPhysicalQuantity
+#define SCHEMA_IfcPhysicalQuantity_HAS_Name
+#define SCHEMA_IfcPhysicalQuantity_HAS_Description
+#define SCHEMA_IfcPhysicalQuantity_Description_IS_OPTIONAL
+#define SCHEMA_IfcPhysicalQuantity_HAS_HasExternalReferences
+#define SCHEMA_IfcPhysicalQuantity_HAS_PartOfComplex
+#define SCHEMA_HAS_IfcPhysicalSimpleQuantity
+#define SCHEMA_IfcPhysicalSimpleQuantity_HAS_Unit
+#define SCHEMA_IfcPhysicalSimpleQuantity_Unit_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPile
+#define SCHEMA_IfcPile_HAS_PredefinedType
+#define SCHEMA_IfcPile_PredefinedType_IS_OPTIONAL
+#define SCHEMA_IfcPile_HAS_ConstructionType
+#define SCHEMA_IfcPile_ConstructionType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPileType
+#define SCHEMA_IfcPileType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcPipeFitting
+#define SCHEMA_IfcPipeFitting_HAS_PredefinedType
+#define SCHEMA_IfcPipeFitting_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPipeFittingType
+#define SCHEMA_IfcPipeFittingType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcPipeSegment
+#define SCHEMA_IfcPipeSegment_HAS_PredefinedType
+#define SCHEMA_IfcPipeSegment_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPipeSegmentType
+#define SCHEMA_IfcPipeSegmentType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcPixelTexture
+#define SCHEMA_IfcPixelTexture_HAS_Width
+#define SCHEMA_IfcPixelTexture_HAS_Height
+#define SCHEMA_IfcPixelTexture_HAS_ColourComponents
+#define SCHEMA_IfcPixelTexture_HAS_Pixel
+#define SCHEMA_HAS_IfcPlacement
+#define SCHEMA_IfcPlacement_HAS_Location
+#define SCHEMA_HAS_IfcPlanarBox
+#define SCHEMA_IfcPlanarBox_HAS_Placement
+#define SCHEMA_HAS_IfcPlanarExtent
+#define SCHEMA_IfcPlanarExtent_HAS_SizeInX
+#define SCHEMA_IfcPlanarExtent_HAS_SizeInY
+#define SCHEMA_HAS_IfcPlane
+#define SCHEMA_HAS_IfcPlant
+#define SCHEMA_HAS_IfcPlate
+#define SCHEMA_IfcPlate_HAS_PredefinedType
+#define SCHEMA_IfcPlate_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPlateStandardCase
+#define SCHEMA_HAS_IfcPlateType
+#define SCHEMA_IfcPlateType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcPoint
+#define SCHEMA_HAS_IfcPointOnCurve
+#define SCHEMA_IfcPointOnCurve_HAS_BasisCurve
+#define SCHEMA_IfcPointOnCurve_HAS_PointParameter
+#define SCHEMA_HAS_IfcPointOnSurface
+#define SCHEMA_IfcPointOnSurface_HAS_BasisSurface
+#define SCHEMA_IfcPointOnSurface_HAS_PointParameterU
+#define SCHEMA_IfcPointOnSurface_HAS_PointParameterV
+#define SCHEMA_HAS_IfcPolyLoop
+#define SCHEMA_IfcPolyLoop_HAS_Polygon
+#define SCHEMA_HAS_IfcPolygonalBoundedHalfSpace
+#define SCHEMA_IfcPolygonalBoundedHalfSpace_HAS_Position
+#define SCHEMA_IfcPolygonalBoundedHalfSpace_HAS_PolygonalBoundary
+#define SCHEMA_HAS_IfcPolygonalFaceSet
+#define SCHEMA_IfcPolygonalFaceSet_HAS_Closed
+#define SCHEMA_IfcPolygonalFaceSet_Closed_IS_OPTIONAL
+#define SCHEMA_IfcPolygonalFaceSet_HAS_Faces
+#define SCHEMA_IfcPolygonalFaceSet_HAS_PnIndex
+#define SCHEMA_IfcPolygonalFaceSet_PnIndex_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPolyline
+#define SCHEMA_IfcPolyline_HAS_Points
+#define SCHEMA_HAS_IfcPort
+#define SCHEMA_IfcPort_HAS_ContainedIn
+#define SCHEMA_IfcPort_HAS_ConnectedFrom
+#define SCHEMA_IfcPort_HAS_ConnectedTo
+#define SCHEMA_HAS_IfcPositioningElement
+#define SCHEMA_IfcPositioningElement_HAS_ContainedInStructure
+#define SCHEMA_IfcPositioningElement_HAS_Positions
+#define SCHEMA_HAS_IfcPostalAddress
+#define SCHEMA_IfcPostalAddress_HAS_InternalLocation
+#define SCHEMA_IfcPostalAddress_InternalLocation_IS_OPTIONAL
+#define SCHEMA_IfcPostalAddress_HAS_AddressLines
+#define SCHEMA_IfcPostalAddress_AddressLines_IS_OPTIONAL
+#define SCHEMA_IfcPostalAddress_HAS_PostalBox
+#define SCHEMA_IfcPostalAddress_PostalBox_IS_OPTIONAL
+#define SCHEMA_IfcPostalAddress_HAS_Town
+#define SCHEMA_IfcPostalAddress_Town_IS_OPTIONAL
+#define SCHEMA_IfcPostalAddress_HAS_Region
+#define SCHEMA_IfcPostalAddress_Region_IS_OPTIONAL
+#define SCHEMA_IfcPostalAddress_HAS_PostalCode
+#define SCHEMA_IfcPostalAddress_PostalCode_IS_OPTIONAL
+#define SCHEMA_IfcPostalAddress_HAS_Country
+#define SCHEMA_IfcPostalAddress_Country_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPreDefinedColour
+#define SCHEMA_HAS_IfcPreDefinedCurveFont
+#define SCHEMA_HAS_IfcPreDefinedItem
+#define SCHEMA_IfcPreDefinedItem_HAS_Name
+#define SCHEMA_HAS_IfcPreDefinedProperties
+#define SCHEMA_HAS_IfcPreDefinedPropertySet
+#define SCHEMA_HAS_IfcPreDefinedTextFont
+#define SCHEMA_HAS_IfcPresentationItem
+#define SCHEMA_HAS_IfcPresentationLayerAssignment
+#define SCHEMA_IfcPresentationLayerAssignment_HAS_Name
+#define SCHEMA_IfcPresentationLayerAssignment_HAS_Description
+#define SCHEMA_IfcPresentationLayerAssignment_Description_IS_OPTIONAL
+#define SCHEMA_IfcPresentationLayerAssignment_HAS_AssignedItems
+#define SCHEMA_IfcPresentationLayerAssignment_HAS_Identifier
+#define SCHEMA_IfcPresentationLayerAssignment_Identifier_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPresentationLayerWithStyle
+#define SCHEMA_IfcPresentationLayerWithStyle_HAS_LayerOn
+#define SCHEMA_IfcPresentationLayerWithStyle_HAS_LayerFrozen
+#define SCHEMA_IfcPresentationLayerWithStyle_HAS_LayerBlocked
+#define SCHEMA_IfcPresentationLayerWithStyle_HAS_LayerStyles
+#define SCHEMA_HAS_IfcPresentationStyle
+#define SCHEMA_IfcPresentationStyle_HAS_Name
+#define SCHEMA_IfcPresentationStyle_Name_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPresentationStyleAssignment
+#define SCHEMA_IfcPresentationStyleAssignment_HAS_Styles
+#define SCHEMA_HAS_IfcProcedure
+#define SCHEMA_IfcProcedure_HAS_PredefinedType
+#define SCHEMA_IfcProcedure_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcProcedureType
+#define SCHEMA_IfcProcedureType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcProcess
+#define SCHEMA_IfcProcess_HAS_Identification
+#define SCHEMA_IfcProcess_Identification_IS_OPTIONAL
+#define SCHEMA_IfcProcess_HAS_LongDescription
+#define SCHEMA_IfcProcess_LongDescription_IS_OPTIONAL
+#define SCHEMA_IfcProcess_HAS_IsPredecessorTo
+#define SCHEMA_IfcProcess_HAS_IsSuccessorFrom
+#define SCHEMA_IfcProcess_HAS_OperatesOn
+#define SCHEMA_HAS_IfcProduct
+#define SCHEMA_IfcProduct_HAS_ObjectPlacement
+#define SCHEMA_IfcProduct_ObjectPlacement_IS_OPTIONAL
+#define SCHEMA_IfcProduct_HAS_Representation
+#define SCHEMA_IfcProduct_Representation_IS_OPTIONAL
+#define SCHEMA_IfcProduct_HAS_ReferencedBy
+#define SCHEMA_IfcProduct_HAS_PositionedRelativeTo
+#define SCHEMA_IfcProduct_HAS_ReferencedInStructures
+#define SCHEMA_HAS_IfcProductDefinitionShape
+#define SCHEMA_IfcProductDefinitionShape_HAS_ShapeOfProduct
+#define SCHEMA_IfcProductDefinitionShape_HAS_HasShapeAspects
+#define SCHEMA_HAS_IfcProductRepresentation
+#define SCHEMA_IfcProductRepresentation_HAS_Name
+#define SCHEMA_IfcProductRepresentation_Name_IS_OPTIONAL
+#define SCHEMA_IfcProductRepresentation_HAS_Description
+#define SCHEMA_IfcProductRepresentation_Description_IS_OPTIONAL
+#define SCHEMA_IfcProductRepresentation_HAS_Representations
+#define SCHEMA_HAS_IfcProfileDef
+#define SCHEMA_IfcProfileDef_HAS_ProfileType
+#define SCHEMA_IfcProfileDef_HAS_ProfileName
+#define SCHEMA_IfcProfileDef_ProfileName_IS_OPTIONAL
+#define SCHEMA_IfcProfileDef_HAS_HasExternalReference
+#define SCHEMA_IfcProfileDef_HAS_HasProperties
+#define SCHEMA_HAS_IfcProfileProperties
+#define SCHEMA_IfcProfileProperties_HAS_ProfileDefinition
+#define SCHEMA_HAS_IfcProject
+#define SCHEMA_HAS_IfcProjectLibrary
+#define SCHEMA_HAS_IfcProjectOrder
+#define SCHEMA_IfcProjectOrder_HAS_PredefinedType
+#define SCHEMA_IfcProjectOrder_PredefinedType_IS_OPTIONAL
+#define SCHEMA_IfcProjectOrder_HAS_Status
+#define SCHEMA_IfcProjectOrder_Status_IS_OPTIONAL
+#define SCHEMA_IfcProjectOrder_HAS_LongDescription
+#define SCHEMA_IfcProjectOrder_LongDescription_IS_OPTIONAL
+#define SCHEMA_HAS_IfcProjectedCRS
+#define SCHEMA_IfcProjectedCRS_HAS_MapProjection
+#define SCHEMA_IfcProjectedCRS_MapProjection_IS_OPTIONAL
+#define SCHEMA_IfcProjectedCRS_HAS_MapZone
+#define SCHEMA_IfcProjectedCRS_MapZone_IS_OPTIONAL
+#define SCHEMA_IfcProjectedCRS_HAS_MapUnit
+#define SCHEMA_IfcProjectedCRS_MapUnit_IS_OPTIONAL
+#define SCHEMA_HAS_IfcProjectionElement
+#define SCHEMA_IfcProjectionElement_HAS_PredefinedType
+#define SCHEMA_IfcProjectionElement_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcProperty
+#define SCHEMA_IfcProperty_HAS_Name
+#define SCHEMA_IfcProperty_HAS_Description
+#define SCHEMA_IfcProperty_Description_IS_OPTIONAL
+#define SCHEMA_IfcProperty_HAS_PartOfPset
+#define SCHEMA_IfcProperty_HAS_PropertyForDependance
+#define SCHEMA_IfcProperty_HAS_PropertyDependsOn
+#define SCHEMA_IfcProperty_HAS_PartOfComplex
+#define SCHEMA_IfcProperty_HAS_HasConstraints
+#define SCHEMA_IfcProperty_HAS_HasApprovals
+#define SCHEMA_HAS_IfcPropertyAbstraction
+#define SCHEMA_IfcPropertyAbstraction_HAS_HasExternalReferences
+#define SCHEMA_HAS_IfcPropertyBoundedValue
+#define SCHEMA_IfcPropertyBoundedValue_HAS_UpperBoundValue
+#define SCHEMA_IfcPropertyBoundedValue_UpperBoundValue_IS_OPTIONAL
+#define SCHEMA_IfcPropertyBoundedValue_HAS_LowerBoundValue
+#define SCHEMA_IfcPropertyBoundedValue_LowerBoundValue_IS_OPTIONAL
+#define SCHEMA_IfcPropertyBoundedValue_HAS_Unit
+#define SCHEMA_IfcPropertyBoundedValue_Unit_IS_OPTIONAL
+#define SCHEMA_IfcPropertyBoundedValue_HAS_SetPointValue
+#define SCHEMA_IfcPropertyBoundedValue_SetPointValue_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPropertyDefinition
+#define SCHEMA_IfcPropertyDefinition_HAS_HasContext
+#define SCHEMA_IfcPropertyDefinition_HAS_HasAssociations
+#define SCHEMA_HAS_IfcPropertyDependencyRelationship
+#define SCHEMA_IfcPropertyDependencyRelationship_HAS_DependingProperty
+#define SCHEMA_IfcPropertyDependencyRelationship_HAS_DependantProperty
+#define SCHEMA_IfcPropertyDependencyRelationship_HAS_Expression
+#define SCHEMA_IfcPropertyDependencyRelationship_Expression_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPropertyEnumeratedValue
+#define SCHEMA_IfcPropertyEnumeratedValue_HAS_EnumerationValues
+#define SCHEMA_IfcPropertyEnumeratedValue_EnumerationValues_IS_OPTIONAL
+#define SCHEMA_IfcPropertyEnumeratedValue_HAS_EnumerationReference
+#define SCHEMA_IfcPropertyEnumeratedValue_EnumerationReference_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPropertyEnumeration
+#define SCHEMA_IfcPropertyEnumeration_HAS_Name
+#define SCHEMA_IfcPropertyEnumeration_HAS_EnumerationValues
+#define SCHEMA_IfcPropertyEnumeration_HAS_Unit
+#define SCHEMA_IfcPropertyEnumeration_Unit_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPropertyListValue
+#define SCHEMA_IfcPropertyListValue_HAS_ListValues
+#define SCHEMA_IfcPropertyListValue_ListValues_IS_OPTIONAL
+#define SCHEMA_IfcPropertyListValue_HAS_Unit
+#define SCHEMA_IfcPropertyListValue_Unit_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPropertyReferenceValue
+#define SCHEMA_IfcPropertyReferenceValue_HAS_UsageName
+#define SCHEMA_IfcPropertyReferenceValue_UsageName_IS_OPTIONAL
+#define SCHEMA_IfcPropertyReferenceValue_HAS_PropertyReference
+#define SCHEMA_IfcPropertyReferenceValue_PropertyReference_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPropertySet
+#define SCHEMA_IfcPropertySet_HAS_HasProperties
+#define SCHEMA_HAS_IfcPropertySetDefinition
+#define SCHEMA_IfcPropertySetDefinition_HAS_DefinesType
+#define SCHEMA_IfcPropertySetDefinition_HAS_IsDefinedBy
+#define SCHEMA_IfcPropertySetDefinition_HAS_DefinesOccurrence
+#define SCHEMA_HAS_IfcPropertySetTemplate
+#define SCHEMA_IfcPropertySetTemplate_HAS_TemplateType
+#define SCHEMA_IfcPropertySetTemplate_TemplateType_IS_OPTIONAL
+#define SCHEMA_IfcPropertySetTemplate_HAS_ApplicableEntity
+#define SCHEMA_IfcPropertySetTemplate_ApplicableEntity_IS_OPTIONAL
+#define SCHEMA_IfcPropertySetTemplate_HAS_HasPropertyTemplates
+#define SCHEMA_IfcPropertySetTemplate_HAS_Defines
+#define SCHEMA_HAS_IfcPropertySingleValue
+#define SCHEMA_IfcPropertySingleValue_HAS_NominalValue
+#define SCHEMA_IfcPropertySingleValue_NominalValue_IS_OPTIONAL
+#define SCHEMA_IfcPropertySingleValue_HAS_Unit
+#define SCHEMA_IfcPropertySingleValue_Unit_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPropertyTableValue
+#define SCHEMA_IfcPropertyTableValue_HAS_DefiningValues
+#define SCHEMA_IfcPropertyTableValue_DefiningValues_IS_OPTIONAL
+#define SCHEMA_IfcPropertyTableValue_HAS_DefinedValues
+#define SCHEMA_IfcPropertyTableValue_DefinedValues_IS_OPTIONAL
+#define SCHEMA_IfcPropertyTableValue_HAS_Expression
+#define SCHEMA_IfcPropertyTableValue_Expression_IS_OPTIONAL
+#define SCHEMA_IfcPropertyTableValue_HAS_DefiningUnit
+#define SCHEMA_IfcPropertyTableValue_DefiningUnit_IS_OPTIONAL
+#define SCHEMA_IfcPropertyTableValue_HAS_DefinedUnit
+#define SCHEMA_IfcPropertyTableValue_DefinedUnit_IS_OPTIONAL
+#define SCHEMA_IfcPropertyTableValue_HAS_CurveInterpolation
+#define SCHEMA_IfcPropertyTableValue_CurveInterpolation_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPropertyTemplate
+#define SCHEMA_IfcPropertyTemplate_HAS_PartOfComplexTemplate
+#define SCHEMA_IfcPropertyTemplate_HAS_PartOfPsetTemplate
+#define SCHEMA_HAS_IfcPropertyTemplateDefinition
+#define SCHEMA_HAS_IfcProtectiveDevice
+#define SCHEMA_IfcProtectiveDevice_HAS_PredefinedType
+#define SCHEMA_IfcProtectiveDevice_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcProtectiveDeviceTrippingUnit
+#define SCHEMA_IfcProtectiveDeviceTrippingUnit_HAS_PredefinedType
+#define SCHEMA_IfcProtectiveDeviceTrippingUnit_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcProtectiveDeviceTrippingUnitType
+#define SCHEMA_IfcProtectiveDeviceTrippingUnitType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcProtectiveDeviceType
+#define SCHEMA_IfcProtectiveDeviceType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcProxy
+#define SCHEMA_IfcProxy_HAS_ProxyType
+#define SCHEMA_IfcProxy_HAS_Tag
+#define SCHEMA_IfcProxy_Tag_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPump
+#define SCHEMA_IfcPump_HAS_PredefinedType
+#define SCHEMA_IfcPump_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcPumpType
+#define SCHEMA_IfcPumpType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcQuantityArea
+#define SCHEMA_IfcQuantityArea_HAS_AreaValue
+#define SCHEMA_IfcQuantityArea_HAS_Formula
+#define SCHEMA_IfcQuantityArea_Formula_IS_OPTIONAL
+#define SCHEMA_HAS_IfcQuantityCount
+#define SCHEMA_IfcQuantityCount_HAS_CountValue
+#define SCHEMA_IfcQuantityCount_HAS_Formula
+#define SCHEMA_IfcQuantityCount_Formula_IS_OPTIONAL
+#define SCHEMA_HAS_IfcQuantityLength
+#define SCHEMA_IfcQuantityLength_HAS_LengthValue
+#define SCHEMA_IfcQuantityLength_HAS_Formula
+#define SCHEMA_IfcQuantityLength_Formula_IS_OPTIONAL
+#define SCHEMA_HAS_IfcQuantitySet
+#define SCHEMA_HAS_IfcQuantityTime
+#define SCHEMA_IfcQuantityTime_HAS_TimeValue
+#define SCHEMA_IfcQuantityTime_HAS_Formula
+#define SCHEMA_IfcQuantityTime_Formula_IS_OPTIONAL
+#define SCHEMA_HAS_IfcQuantityVolume
+#define SCHEMA_IfcQuantityVolume_HAS_VolumeValue
+#define SCHEMA_IfcQuantityVolume_HAS_Formula
+#define SCHEMA_IfcQuantityVolume_Formula_IS_OPTIONAL
+#define SCHEMA_HAS_IfcQuantityWeight
+#define SCHEMA_IfcQuantityWeight_HAS_WeightValue
+#define SCHEMA_IfcQuantityWeight_HAS_Formula
+#define SCHEMA_IfcQuantityWeight_Formula_IS_OPTIONAL
+#define SCHEMA_HAS_IfcRail
+#define SCHEMA_IfcRail_HAS_PredefinedType
+#define SCHEMA_IfcRail_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcRailType
+#define SCHEMA_IfcRailType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcRailing
+#define SCHEMA_IfcRailing_HAS_PredefinedType
+#define SCHEMA_IfcRailing_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcRailingType
+#define SCHEMA_IfcRailingType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcRailway
+#define SCHEMA_HAS_IfcRamp
+#define SCHEMA_IfcRamp_HAS_PredefinedType
+#define SCHEMA_IfcRamp_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcRampFlight
+#define SCHEMA_IfcRampFlight_HAS_PredefinedType
+#define SCHEMA_IfcRampFlight_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcRampFlightType
+#define SCHEMA_IfcRampFlightType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcRampType
+#define SCHEMA_IfcRampType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcRationalBSplineCurveWithKnots
+#define SCHEMA_IfcRationalBSplineCurveWithKnots_HAS_WeightsData
+#define SCHEMA_HAS_IfcRationalBSplineSurfaceWithKnots
+#define SCHEMA_IfcRationalBSplineSurfaceWithKnots_HAS_WeightsData
+#define SCHEMA_HAS_IfcRectangleHollowProfileDef
+#define SCHEMA_IfcRectangleHollowProfileDef_HAS_WallThickness
+#define SCHEMA_IfcRectangleHollowProfileDef_HAS_InnerFilletRadius
+#define SCHEMA_IfcRectangleHollowProfileDef_InnerFilletRadius_IS_OPTIONAL
+#define SCHEMA_IfcRectangleHollowProfileDef_HAS_OuterFilletRadius
+#define SCHEMA_IfcRectangleHollowProfileDef_OuterFilletRadius_IS_OPTIONAL
+#define SCHEMA_HAS_IfcRectangleProfileDef
+#define SCHEMA_IfcRectangleProfileDef_HAS_XDim
+#define SCHEMA_IfcRectangleProfileDef_HAS_YDim
+#define SCHEMA_HAS_IfcRectangularPyramid
+#define SCHEMA_IfcRectangularPyramid_HAS_XLength
+#define SCHEMA_IfcRectangularPyramid_HAS_YLength
+#define SCHEMA_IfcRectangularPyramid_HAS_Height
+#define SCHEMA_HAS_IfcRectangularTrimmedSurface
+#define SCHEMA_IfcRectangularTrimmedSurface_HAS_BasisSurface
+#define SCHEMA_IfcRectangularTrimmedSurface_HAS_U1
+#define SCHEMA_IfcRectangularTrimmedSurface_HAS_V1
+#define SCHEMA_IfcRectangularTrimmedSurface_HAS_U2
+#define SCHEMA_IfcRectangularTrimmedSurface_HAS_V2
+#define SCHEMA_IfcRectangularTrimmedSurface_HAS_Usense
+#define SCHEMA_IfcRectangularTrimmedSurface_HAS_Vsense
+#define SCHEMA_HAS_IfcRecurrencePattern
+#define SCHEMA_IfcRecurrencePattern_HAS_RecurrenceType
+#define SCHEMA_IfcRecurrencePattern_HAS_DayComponent
+#define SCHEMA_IfcRecurrencePattern_DayComponent_IS_OPTIONAL
+#define SCHEMA_IfcRecurrencePattern_HAS_WeekdayComponent
+#define SCHEMA_IfcRecurrencePattern_WeekdayComponent_IS_OPTIONAL
+#define SCHEMA_IfcRecurrencePattern_HAS_MonthComponent
+#define SCHEMA_IfcRecurrencePattern_MonthComponent_IS_OPTIONAL
+#define SCHEMA_IfcRecurrencePattern_HAS_Position
+#define SCHEMA_IfcRecurrencePattern_Position_IS_OPTIONAL
+#define SCHEMA_IfcRecurrencePattern_HAS_Interval
+#define SCHEMA_IfcRecurrencePattern_Interval_IS_OPTIONAL
+#define SCHEMA_IfcRecurrencePattern_HAS_Occurrences
+#define SCHEMA_IfcRecurrencePattern_Occurrences_IS_OPTIONAL
+#define SCHEMA_IfcRecurrencePattern_HAS_TimePeriods
+#define SCHEMA_IfcRecurrencePattern_TimePeriods_IS_OPTIONAL
+#define SCHEMA_HAS_IfcReference
+#define SCHEMA_IfcReference_HAS_TypeIdentifier
+#define SCHEMA_IfcReference_TypeIdentifier_IS_OPTIONAL
+#define SCHEMA_IfcReference_HAS_AttributeIdentifier
+#define SCHEMA_IfcReference_AttributeIdentifier_IS_OPTIONAL
+#define SCHEMA_IfcReference_HAS_InstanceName
+#define SCHEMA_IfcReference_InstanceName_IS_OPTIONAL
+#define SCHEMA_IfcReference_HAS_ListPositions
+#define SCHEMA_IfcReference_ListPositions_IS_OPTIONAL
+#define SCHEMA_IfcReference_HAS_InnerReference
+#define SCHEMA_IfcReference_InnerReference_IS_OPTIONAL
+#define SCHEMA_HAS_IfcReferent
+#define SCHEMA_IfcReferent_HAS_PredefinedType
+#define SCHEMA_IfcReferent_PredefinedType_IS_OPTIONAL
+#define SCHEMA_IfcReferent_HAS_RestartDistance
+#define SCHEMA_IfcReferent_RestartDistance_IS_OPTIONAL
+#define SCHEMA_HAS_IfcRegularTimeSeries
+#define SCHEMA_IfcRegularTimeSeries_HAS_TimeStep
+#define SCHEMA_IfcRegularTimeSeries_HAS_Values
+#define SCHEMA_HAS_IfcReinforcedSoil
+#define SCHEMA_IfcReinforcedSoil_HAS_PredefinedType
+#define SCHEMA_IfcReinforcedSoil_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcReinforcementBarProperties
+#define SCHEMA_IfcReinforcementBarProperties_HAS_TotalCrossSectionArea
+#define SCHEMA_IfcReinforcementBarProperties_HAS_SteelGrade
+#define SCHEMA_IfcReinforcementBarProperties_HAS_BarSurface
+#define SCHEMA_IfcReinforcementBarProperties_BarSurface_IS_OPTIONAL
+#define SCHEMA_IfcReinforcementBarProperties_HAS_EffectiveDepth
+#define SCHEMA_IfcReinforcementBarProperties_EffectiveDepth_IS_OPTIONAL
+#define SCHEMA_IfcReinforcementBarProperties_HAS_NominalBarDiameter
+#define SCHEMA_IfcReinforcementBarProperties_NominalBarDiameter_IS_OPTIONAL
+#define SCHEMA_IfcReinforcementBarProperties_HAS_BarCount
+#define SCHEMA_IfcReinforcementBarProperties_BarCount_IS_OPTIONAL
+#define SCHEMA_HAS_IfcReinforcementDefinitionProperties
+#define SCHEMA_IfcReinforcementDefinitionProperties_HAS_DefinitionType
+#define SCHEMA_IfcReinforcementDefinitionProperties_DefinitionType_IS_OPTIONAL
+#define SCHEMA_IfcReinforcementDefinitionProperties_HAS_ReinforcementSectionDefinitions
+#define SCHEMA_HAS_IfcReinforcingBar
+#define SCHEMA_IfcReinforcingBar_HAS_NominalDiameter
+#define SCHEMA_IfcReinforcingBar_NominalDiameter_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingBar_HAS_CrossSectionArea
+#define SCHEMA_IfcReinforcingBar_CrossSectionArea_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingBar_HAS_BarLength
+#define SCHEMA_IfcReinforcingBar_BarLength_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingBar_HAS_PredefinedType
+#define SCHEMA_IfcReinforcingBar_PredefinedType_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingBar_HAS_BarSurface
+#define SCHEMA_IfcReinforcingBar_BarSurface_IS_OPTIONAL
+#define SCHEMA_HAS_IfcReinforcingBarType
+#define SCHEMA_IfcReinforcingBarType_HAS_PredefinedType
+#define SCHEMA_IfcReinforcingBarType_HAS_NominalDiameter
+#define SCHEMA_IfcReinforcingBarType_NominalDiameter_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingBarType_HAS_CrossSectionArea
+#define SCHEMA_IfcReinforcingBarType_CrossSectionArea_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingBarType_HAS_BarLength
+#define SCHEMA_IfcReinforcingBarType_BarLength_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingBarType_HAS_BarSurface
+#define SCHEMA_IfcReinforcingBarType_BarSurface_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingBarType_HAS_BendingShapeCode
+#define SCHEMA_IfcReinforcingBarType_BendingShapeCode_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingBarType_HAS_BendingParameters
+#define SCHEMA_IfcReinforcingBarType_BendingParameters_IS_OPTIONAL
+#define SCHEMA_HAS_IfcReinforcingElement
+#define SCHEMA_IfcReinforcingElement_HAS_SteelGrade
+#define SCHEMA_IfcReinforcingElement_SteelGrade_IS_OPTIONAL
+#define SCHEMA_HAS_IfcReinforcingElementType
+#define SCHEMA_HAS_IfcReinforcingMesh
+#define SCHEMA_IfcReinforcingMesh_HAS_MeshLength
+#define SCHEMA_IfcReinforcingMesh_MeshLength_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingMesh_HAS_MeshWidth
+#define SCHEMA_IfcReinforcingMesh_MeshWidth_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingMesh_HAS_LongitudinalBarNominalDiameter
+#define SCHEMA_IfcReinforcingMesh_LongitudinalBarNominalDiameter_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingMesh_HAS_TransverseBarNominalDiameter
+#define SCHEMA_IfcReinforcingMesh_TransverseBarNominalDiameter_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingMesh_HAS_LongitudinalBarCrossSectionArea
+#define SCHEMA_IfcReinforcingMesh_LongitudinalBarCrossSectionArea_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingMesh_HAS_TransverseBarCrossSectionArea
+#define SCHEMA_IfcReinforcingMesh_TransverseBarCrossSectionArea_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingMesh_HAS_LongitudinalBarSpacing
+#define SCHEMA_IfcReinforcingMesh_LongitudinalBarSpacing_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingMesh_HAS_TransverseBarSpacing
+#define SCHEMA_IfcReinforcingMesh_TransverseBarSpacing_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingMesh_HAS_PredefinedType
+#define SCHEMA_IfcReinforcingMesh_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcReinforcingMeshType
+#define SCHEMA_IfcReinforcingMeshType_HAS_PredefinedType
+#define SCHEMA_IfcReinforcingMeshType_HAS_MeshLength
+#define SCHEMA_IfcReinforcingMeshType_MeshLength_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingMeshType_HAS_MeshWidth
+#define SCHEMA_IfcReinforcingMeshType_MeshWidth_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingMeshType_HAS_LongitudinalBarNominalDiameter
+#define SCHEMA_IfcReinforcingMeshType_LongitudinalBarNominalDiameter_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingMeshType_HAS_TransverseBarNominalDiameter
+#define SCHEMA_IfcReinforcingMeshType_TransverseBarNominalDiameter_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingMeshType_HAS_LongitudinalBarCrossSectionArea
+#define SCHEMA_IfcReinforcingMeshType_LongitudinalBarCrossSectionArea_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingMeshType_HAS_TransverseBarCrossSectionArea
+#define SCHEMA_IfcReinforcingMeshType_TransverseBarCrossSectionArea_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingMeshType_HAS_LongitudinalBarSpacing
+#define SCHEMA_IfcReinforcingMeshType_LongitudinalBarSpacing_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingMeshType_HAS_TransverseBarSpacing
+#define SCHEMA_IfcReinforcingMeshType_TransverseBarSpacing_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingMeshType_HAS_BendingShapeCode
+#define SCHEMA_IfcReinforcingMeshType_BendingShapeCode_IS_OPTIONAL
+#define SCHEMA_IfcReinforcingMeshType_HAS_BendingParameters
+#define SCHEMA_IfcReinforcingMeshType_BendingParameters_IS_OPTIONAL
+#define SCHEMA_HAS_IfcRelAggregates
+#define SCHEMA_IfcRelAggregates_HAS_RelatingObject
+#define SCHEMA_IfcRelAggregates_HAS_RelatedObjects
+#define SCHEMA_HAS_IfcRelAssigns
+#define SCHEMA_IfcRelAssigns_HAS_RelatedObjects
+#define SCHEMA_IfcRelAssigns_HAS_RelatedObjectsType
+#define SCHEMA_IfcRelAssigns_RelatedObjectsType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcRelAssignsToActor
+#define SCHEMA_IfcRelAssignsToActor_HAS_RelatingActor
+#define SCHEMA_IfcRelAssignsToActor_HAS_ActingRole
+#define SCHEMA_IfcRelAssignsToActor_ActingRole_IS_OPTIONAL
+#define SCHEMA_HAS_IfcRelAssignsToControl
+#define SCHEMA_IfcRelAssignsToControl_HAS_RelatingControl
+#define SCHEMA_HAS_IfcRelAssignsToGroup
+#define SCHEMA_IfcRelAssignsToGroup_HAS_RelatingGroup
+#define SCHEMA_HAS_IfcRelAssignsToGroupByFactor
+#define SCHEMA_IfcRelAssignsToGroupByFactor_HAS_Factor
+#define SCHEMA_HAS_IfcRelAssignsToProcess
+#define SCHEMA_IfcRelAssignsToProcess_HAS_RelatingProcess
+#define SCHEMA_IfcRelAssignsToProcess_HAS_QuantityInProcess
+#define SCHEMA_IfcRelAssignsToProcess_QuantityInProcess_IS_OPTIONAL
+#define SCHEMA_HAS_IfcRelAssignsToProduct
+#define SCHEMA_IfcRelAssignsToProduct_HAS_RelatingProduct
+#define SCHEMA_HAS_IfcRelAssignsToResource
+#define SCHEMA_IfcRelAssignsToResource_HAS_RelatingResource
+#define SCHEMA_HAS_IfcRelAssociates
+#define SCHEMA_IfcRelAssociates_HAS_RelatedObjects
+#define SCHEMA_HAS_IfcRelAssociatesApproval
+#define SCHEMA_IfcRelAssociatesApproval_HAS_RelatingApproval
+#define SCHEMA_HAS_IfcRelAssociatesClassification
+#define SCHEMA_IfcRelAssociatesClassification_HAS_RelatingClassification
+#define SCHEMA_HAS_IfcRelAssociatesConstraint
+#define SCHEMA_IfcRelAssociatesConstraint_HAS_Intent
+#define SCHEMA_IfcRelAssociatesConstraint_Intent_IS_OPTIONAL
+#define SCHEMA_IfcRelAssociatesConstraint_HAS_RelatingConstraint
+#define SCHEMA_HAS_IfcRelAssociatesDocument
+#define SCHEMA_IfcRelAssociatesDocument_HAS_RelatingDocument
+#define SCHEMA_HAS_IfcRelAssociatesLibrary
+#define SCHEMA_IfcRelAssociatesLibrary_HAS_RelatingLibrary
+#define SCHEMA_HAS_IfcRelAssociatesMaterial
+#define SCHEMA_IfcRelAssociatesMaterial_HAS_RelatingMaterial
+#define SCHEMA_HAS_IfcRelAssociatesProfileDef
+#define SCHEMA_IfcRelAssociatesProfileDef_HAS_RelatingProfileDef
+#define SCHEMA_HAS_IfcRelConnects
+#define SCHEMA_HAS_IfcRelConnectsElements
+#define SCHEMA_IfcRelConnectsElements_HAS_ConnectionGeometry
+#define SCHEMA_IfcRelConnectsElements_ConnectionGeometry_IS_OPTIONAL
+#define SCHEMA_IfcRelConnectsElements_HAS_RelatingElement
+#define SCHEMA_IfcRelConnectsElements_HAS_RelatedElement
+#define SCHEMA_HAS_IfcRelConnectsPathElements
+#define SCHEMA_IfcRelConnectsPathElements_HAS_RelatingPriorities
+#define SCHEMA_IfcRelConnectsPathElements_HAS_RelatedPriorities
+#define SCHEMA_IfcRelConnectsPathElements_HAS_RelatedConnectionType
+#define SCHEMA_IfcRelConnectsPathElements_HAS_RelatingConnectionType
+#define SCHEMA_HAS_IfcRelConnectsPortToElement
+#define SCHEMA_IfcRelConnectsPortToElement_HAS_RelatingPort
+#define SCHEMA_IfcRelConnectsPortToElement_HAS_RelatedElement
+#define SCHEMA_HAS_IfcRelConnectsPorts
+#define SCHEMA_IfcRelConnectsPorts_HAS_RelatingPort
+#define SCHEMA_IfcRelConnectsPorts_HAS_RelatedPort
+#define SCHEMA_IfcRelConnectsPorts_HAS_RealizingElement
+#define SCHEMA_IfcRelConnectsPorts_RealizingElement_IS_OPTIONAL
+#define SCHEMA_HAS_IfcRelConnectsStructuralActivity
+#define SCHEMA_IfcRelConnectsStructuralActivity_HAS_RelatingElement
+#define SCHEMA_IfcRelConnectsStructuralActivity_HAS_RelatedStructuralActivity
+#define SCHEMA_HAS_IfcRelConnectsStructuralMember
+#define SCHEMA_IfcRelConnectsStructuralMember_HAS_RelatingStructuralMember
+#define SCHEMA_IfcRelConnectsStructuralMember_HAS_RelatedStructuralConnection
+#define SCHEMA_IfcRelConnectsStructuralMember_HAS_AppliedCondition
+#define SCHEMA_IfcRelConnectsStructuralMember_AppliedCondition_IS_OPTIONAL
+#define SCHEMA_IfcRelConnectsStructuralMember_HAS_AdditionalConditions
+#define SCHEMA_IfcRelConnectsStructuralMember_AdditionalConditions_IS_OPTIONAL
+#define SCHEMA_IfcRelConnectsStructuralMember_HAS_SupportedLength
+#define SCHEMA_IfcRelConnectsStructuralMember_SupportedLength_IS_OPTIONAL
+#define SCHEMA_IfcRelConnectsStructuralMember_HAS_ConditionCoordinateSystem
+#define SCHEMA_IfcRelConnectsStructuralMember_ConditionCoordinateSystem_IS_OPTIONAL
+#define SCHEMA_HAS_IfcRelConnectsWithEccentricity
+#define SCHEMA_IfcRelConnectsWithEccentricity_HAS_ConnectionConstraint
+#define SCHEMA_HAS_IfcRelConnectsWithRealizingElements
+#define SCHEMA_IfcRelConnectsWithRealizingElements_HAS_RealizingElements
+#define SCHEMA_IfcRelConnectsWithRealizingElements_HAS_ConnectionType
+#define SCHEMA_IfcRelConnectsWithRealizingElements_ConnectionType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcRelContainedInSpatialStructure
+#define SCHEMA_IfcRelContainedInSpatialStructure_HAS_RelatedElements
+#define SCHEMA_IfcRelContainedInSpatialStructure_HAS_RelatingStructure
+#define SCHEMA_HAS_IfcRelCoversBldgElements
+#define SCHEMA_IfcRelCoversBldgElements_HAS_RelatingBuildingElement
+#define SCHEMA_IfcRelCoversBldgElements_HAS_RelatedCoverings
+#define SCHEMA_HAS_IfcRelCoversSpaces
+#define SCHEMA_IfcRelCoversSpaces_HAS_RelatingSpace
+#define SCHEMA_IfcRelCoversSpaces_HAS_RelatedCoverings
+#define SCHEMA_HAS_IfcRelDeclares
+#define SCHEMA_IfcRelDeclares_HAS_RelatingContext
+#define SCHEMA_IfcRelDeclares_HAS_RelatedDefinitions
+#define SCHEMA_HAS_IfcRelDecomposes
+#define SCHEMA_HAS_IfcRelDefines
+#define SCHEMA_HAS_IfcRelDefinesByObject
+#define SCHEMA_IfcRelDefinesByObject_HAS_RelatedObjects
+#define SCHEMA_IfcRelDefinesByObject_HAS_RelatingObject
+#define SCHEMA_HAS_IfcRelDefinesByProperties
+#define SCHEMA_IfcRelDefinesByProperties_HAS_RelatedObjects
+#define SCHEMA_IfcRelDefinesByProperties_HAS_RelatingPropertyDefinition
+#define SCHEMA_HAS_IfcRelDefinesByTemplate
+#define SCHEMA_IfcRelDefinesByTemplate_HAS_RelatedPropertySets
+#define SCHEMA_IfcRelDefinesByTemplate_HAS_RelatingTemplate
+#define SCHEMA_HAS_IfcRelDefinesByType
+#define SCHEMA_IfcRelDefinesByType_HAS_RelatedObjects
+#define SCHEMA_IfcRelDefinesByType_HAS_RelatingType
+#define SCHEMA_HAS_IfcRelFillsElement
+#define SCHEMA_IfcRelFillsElement_HAS_RelatingOpeningElement
+#define SCHEMA_IfcRelFillsElement_HAS_RelatedBuildingElement
+#define SCHEMA_HAS_IfcRelFlowControlElements
+#define SCHEMA_IfcRelFlowControlElements_HAS_RelatedControlElements
+#define SCHEMA_IfcRelFlowControlElements_HAS_RelatingFlowElement
+#define SCHEMA_HAS_IfcRelInterferesElements
+#define SCHEMA_IfcRelInterferesElements_HAS_RelatingElement
+#define SCHEMA_IfcRelInterferesElements_HAS_RelatedElement
+#define SCHEMA_IfcRelInterferesElements_HAS_InterferenceGeometry
+#define SCHEMA_IfcRelInterferesElements_InterferenceGeometry_IS_OPTIONAL
+#define SCHEMA_IfcRelInterferesElements_HAS_InterferenceType
+#define SCHEMA_IfcRelInterferesElements_InterferenceType_IS_OPTIONAL
+#define SCHEMA_IfcRelInterferesElements_HAS_ImpliedOrder
+#define SCHEMA_HAS_IfcRelNests
+#define SCHEMA_IfcRelNests_HAS_RelatingObject
+#define SCHEMA_IfcRelNests_HAS_RelatedObjects
+#define SCHEMA_HAS_IfcRelPositions
+#define SCHEMA_IfcRelPositions_HAS_RelatingPositioningElement
+#define SCHEMA_IfcRelPositions_HAS_RelatedProducts
+#define SCHEMA_HAS_IfcRelProjectsElement
+#define SCHEMA_IfcRelProjectsElement_HAS_RelatingElement
+#define SCHEMA_IfcRelProjectsElement_HAS_RelatedFeatureElement
+#define SCHEMA_HAS_IfcRelReferencedInSpatialStructure
+#define SCHEMA_IfcRelReferencedInSpatialStructure_HAS_RelatedElements
+#define SCHEMA_IfcRelReferencedInSpatialStructure_HAS_RelatingStructure
+#define SCHEMA_HAS_IfcRelSequence
+#define SCHEMA_IfcRelSequence_HAS_RelatingProcess
+#define SCHEMA_IfcRelSequence_HAS_RelatedProcess
+#define SCHEMA_IfcRelSequence_HAS_TimeLag
+#define SCHEMA_IfcRelSequence_TimeLag_IS_OPTIONAL
+#define SCHEMA_IfcRelSequence_HAS_SequenceType
+#define SCHEMA_IfcRelSequence_SequenceType_IS_OPTIONAL
+#define SCHEMA_IfcRelSequence_HAS_UserDefinedSequenceType
+#define SCHEMA_IfcRelSequence_UserDefinedSequenceType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcRelServicesBuildings
+#define SCHEMA_IfcRelServicesBuildings_HAS_RelatingSystem
+#define SCHEMA_IfcRelServicesBuildings_HAS_RelatedBuildings
+#define SCHEMA_HAS_IfcRelSpaceBoundary
+#define SCHEMA_IfcRelSpaceBoundary_HAS_RelatingSpace
+#define SCHEMA_IfcRelSpaceBoundary_HAS_RelatedBuildingElement
+#define SCHEMA_IfcRelSpaceBoundary_HAS_ConnectionGeometry
+#define SCHEMA_IfcRelSpaceBoundary_ConnectionGeometry_IS_OPTIONAL
+#define SCHEMA_IfcRelSpaceBoundary_HAS_PhysicalOrVirtualBoundary
+#define SCHEMA_IfcRelSpaceBoundary_HAS_InternalOrExternalBoundary
+#define SCHEMA_HAS_IfcRelSpaceBoundary1stLevel
+#define SCHEMA_IfcRelSpaceBoundary1stLevel_HAS_ParentBoundary
+#define SCHEMA_IfcRelSpaceBoundary1stLevel_ParentBoundary_IS_OPTIONAL
+#define SCHEMA_IfcRelSpaceBoundary1stLevel_HAS_InnerBoundaries
+#define SCHEMA_HAS_IfcRelSpaceBoundary2ndLevel
+#define SCHEMA_IfcRelSpaceBoundary2ndLevel_HAS_CorrespondingBoundary
+#define SCHEMA_IfcRelSpaceBoundary2ndLevel_CorrespondingBoundary_IS_OPTIONAL
+#define SCHEMA_IfcRelSpaceBoundary2ndLevel_HAS_Corresponds
+#define SCHEMA_HAS_IfcRelVoidsElement
+#define SCHEMA_IfcRelVoidsElement_HAS_RelatingBuildingElement
+#define SCHEMA_IfcRelVoidsElement_HAS_RelatedOpeningElement
+#define SCHEMA_HAS_IfcRelationship
+#define SCHEMA_HAS_IfcReparametrisedCompositeCurveSegment
+#define SCHEMA_IfcReparametrisedCompositeCurveSegment_HAS_ParamLength
+#define SCHEMA_HAS_IfcRepresentation
+#define SCHEMA_IfcRepresentation_HAS_ContextOfItems
+#define SCHEMA_IfcRepresentation_HAS_RepresentationIdentifier
+#define SCHEMA_IfcRepresentation_RepresentationIdentifier_IS_OPTIONAL
+#define SCHEMA_IfcRepresentation_HAS_RepresentationType
+#define SCHEMA_IfcRepresentation_RepresentationType_IS_OPTIONAL
+#define SCHEMA_IfcRepresentation_HAS_Items
+#define SCHEMA_IfcRepresentation_HAS_RepresentationMap
+#define SCHEMA_IfcRepresentation_HAS_LayerAssignments
+#define SCHEMA_IfcRepresentation_HAS_OfProductRepresentation
+#define SCHEMA_HAS_IfcRepresentationContext
+#define SCHEMA_IfcRepresentationContext_HAS_ContextIdentifier
+#define SCHEMA_IfcRepresentationContext_ContextIdentifier_IS_OPTIONAL
+#define SCHEMA_IfcRepresentationContext_HAS_ContextType
+#define SCHEMA_IfcRepresentationContext_ContextType_IS_OPTIONAL
+#define SCHEMA_IfcRepresentationContext_HAS_RepresentationsInContext
+#define SCHEMA_HAS_IfcRepresentationItem
+#define SCHEMA_IfcRepresentationItem_HAS_LayerAssignment
+#define SCHEMA_IfcRepresentationItem_HAS_StyledByItem
+#define SCHEMA_HAS_IfcRepresentationMap
+#define SCHEMA_IfcRepresentationMap_HAS_MappingOrigin
+#define SCHEMA_IfcRepresentationMap_HAS_MappedRepresentation
+#define SCHEMA_IfcRepresentationMap_HAS_HasShapeAspects
+#define SCHEMA_IfcRepresentationMap_HAS_MapUsage
+#define SCHEMA_HAS_IfcResource
+#define SCHEMA_IfcResource_HAS_Identification
+#define SCHEMA_IfcResource_Identification_IS_OPTIONAL
+#define SCHEMA_IfcResource_HAS_LongDescription
+#define SCHEMA_IfcResource_LongDescription_IS_OPTIONAL
+#define SCHEMA_IfcResource_HAS_ResourceOf
+#define SCHEMA_HAS_IfcResourceApprovalRelationship
+#define SCHEMA_IfcResourceApprovalRelationship_HAS_RelatedResourceObjects
+#define SCHEMA_IfcResourceApprovalRelationship_HAS_RelatingApproval
+#define SCHEMA_HAS_IfcResourceConstraintRelationship
+#define SCHEMA_IfcResourceConstraintRelationship_HAS_RelatingConstraint
+#define SCHEMA_IfcResourceConstraintRelationship_HAS_RelatedResourceObjects
+#define SCHEMA_HAS_IfcResourceLevelRelationship
+#define SCHEMA_IfcResourceLevelRelationship_HAS_Name
+#define SCHEMA_IfcResourceLevelRelationship_Name_IS_OPTIONAL
+#define SCHEMA_IfcResourceLevelRelationship_HAS_Description
+#define SCHEMA_IfcResourceLevelRelationship_Description_IS_OPTIONAL
+#define SCHEMA_HAS_IfcResourceTime
+#define SCHEMA_IfcResourceTime_HAS_ScheduleWork
+#define SCHEMA_IfcResourceTime_ScheduleWork_IS_OPTIONAL
+#define SCHEMA_IfcResourceTime_HAS_ScheduleUsage
+#define SCHEMA_IfcResourceTime_ScheduleUsage_IS_OPTIONAL
+#define SCHEMA_IfcResourceTime_HAS_ScheduleStart
+#define SCHEMA_IfcResourceTime_ScheduleStart_IS_OPTIONAL
+#define SCHEMA_IfcResourceTime_HAS_ScheduleFinish
+#define SCHEMA_IfcResourceTime_ScheduleFinish_IS_OPTIONAL
+#define SCHEMA_IfcResourceTime_HAS_ScheduleContour
+#define SCHEMA_IfcResourceTime_ScheduleContour_IS_OPTIONAL
+#define SCHEMA_IfcResourceTime_HAS_LevelingDelay
+#define SCHEMA_IfcResourceTime_LevelingDelay_IS_OPTIONAL
+#define SCHEMA_IfcResourceTime_HAS_IsOverAllocated
+#define SCHEMA_IfcResourceTime_IsOverAllocated_IS_OPTIONAL
+#define SCHEMA_IfcResourceTime_HAS_StatusTime
+#define SCHEMA_IfcResourceTime_StatusTime_IS_OPTIONAL
+#define SCHEMA_IfcResourceTime_HAS_ActualWork
+#define SCHEMA_IfcResourceTime_ActualWork_IS_OPTIONAL
+#define SCHEMA_IfcResourceTime_HAS_ActualUsage
+#define SCHEMA_IfcResourceTime_ActualUsage_IS_OPTIONAL
+#define SCHEMA_IfcResourceTime_HAS_ActualStart
+#define SCHEMA_IfcResourceTime_ActualStart_IS_OPTIONAL
+#define SCHEMA_IfcResourceTime_HAS_ActualFinish
+#define SCHEMA_IfcResourceTime_ActualFinish_IS_OPTIONAL
+#define SCHEMA_IfcResourceTime_HAS_RemainingWork
+#define SCHEMA_IfcResourceTime_RemainingWork_IS_OPTIONAL
+#define SCHEMA_IfcResourceTime_HAS_RemainingUsage
+#define SCHEMA_IfcResourceTime_RemainingUsage_IS_OPTIONAL
+#define SCHEMA_IfcResourceTime_HAS_Completion
+#define SCHEMA_IfcResourceTime_Completion_IS_OPTIONAL
+#define SCHEMA_HAS_IfcRevolvedAreaSolid
+#define SCHEMA_IfcRevolvedAreaSolid_HAS_Axis
+#define SCHEMA_IfcRevolvedAreaSolid_HAS_Angle
+#define SCHEMA_HAS_IfcRevolvedAreaSolidTapered
+#define SCHEMA_IfcRevolvedAreaSolidTapered_HAS_EndSweptArea
+#define SCHEMA_HAS_IfcRightCircularCone
+#define SCHEMA_IfcRightCircularCone_HAS_Height
+#define SCHEMA_IfcRightCircularCone_HAS_BottomRadius
+#define SCHEMA_HAS_IfcRightCircularCylinder
+#define SCHEMA_IfcRightCircularCylinder_HAS_Height
+#define SCHEMA_IfcRightCircularCylinder_HAS_Radius
+#define SCHEMA_HAS_IfcRoad
+#define SCHEMA_HAS_IfcRoof
+#define SCHEMA_IfcRoof_HAS_PredefinedType
+#define SCHEMA_IfcRoof_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcRoofType
+#define SCHEMA_IfcRoofType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcRoot
+#define SCHEMA_IfcRoot_HAS_GlobalId
+#define SCHEMA_IfcRoot_HAS_OwnerHistory
+#define SCHEMA_IfcRoot_OwnerHistory_IS_OPTIONAL
+#define SCHEMA_IfcRoot_HAS_Name
+#define SCHEMA_IfcRoot_Name_IS_OPTIONAL
+#define SCHEMA_IfcRoot_HAS_Description
+#define SCHEMA_IfcRoot_Description_IS_OPTIONAL
+#define SCHEMA_HAS_IfcRoundedRectangleProfileDef
+#define SCHEMA_IfcRoundedRectangleProfileDef_HAS_RoundingRadius
+#define SCHEMA_HAS_IfcSIUnit
+#define SCHEMA_IfcSIUnit_HAS_Prefix
+#define SCHEMA_IfcSIUnit_Prefix_IS_OPTIONAL
+#define SCHEMA_IfcSIUnit_HAS_Name
+#define SCHEMA_HAS_IfcSanitaryTerminal
+#define SCHEMA_IfcSanitaryTerminal_HAS_PredefinedType
+#define SCHEMA_IfcSanitaryTerminal_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSanitaryTerminalType
+#define SCHEMA_IfcSanitaryTerminalType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcSchedulingTime
+#define SCHEMA_IfcSchedulingTime_HAS_Name
+#define SCHEMA_IfcSchedulingTime_Name_IS_OPTIONAL
+#define SCHEMA_IfcSchedulingTime_HAS_DataOrigin
+#define SCHEMA_IfcSchedulingTime_DataOrigin_IS_OPTIONAL
+#define SCHEMA_IfcSchedulingTime_HAS_UserDefinedDataOrigin
+#define SCHEMA_IfcSchedulingTime_UserDefinedDataOrigin_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSeamCurve
+#define SCHEMA_HAS_IfcSectionProperties
+#define SCHEMA_IfcSectionProperties_HAS_SectionType
+#define SCHEMA_IfcSectionProperties_HAS_StartProfile
+#define SCHEMA_IfcSectionProperties_HAS_EndProfile
+#define SCHEMA_IfcSectionProperties_EndProfile_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSectionReinforcementProperties
+#define SCHEMA_IfcSectionReinforcementProperties_HAS_LongitudinalStartPosition
+#define SCHEMA_IfcSectionReinforcementProperties_HAS_LongitudinalEndPosition
+#define SCHEMA_IfcSectionReinforcementProperties_HAS_TransversePosition
+#define SCHEMA_IfcSectionReinforcementProperties_TransversePosition_IS_OPTIONAL
+#define SCHEMA_IfcSectionReinforcementProperties_HAS_ReinforcementRole
+#define SCHEMA_IfcSectionReinforcementProperties_HAS_SectionDefinition
+#define SCHEMA_IfcSectionReinforcementProperties_HAS_CrossSectionReinforcementDefinitions
+#define SCHEMA_HAS_IfcSectionedSolid
+#define SCHEMA_IfcSectionedSolid_HAS_Directrix
+#define SCHEMA_IfcSectionedSolid_HAS_CrossSections
+#define SCHEMA_HAS_IfcSectionedSolidHorizontal
+#define SCHEMA_IfcSectionedSolidHorizontal_HAS_CrossSectionPositions
+#define SCHEMA_IfcSectionedSolidHorizontal_HAS_FixedAxisVertical
+#define SCHEMA_HAS_IfcSectionedSpine
+#define SCHEMA_IfcSectionedSpine_HAS_SpineCurve
+#define SCHEMA_IfcSectionedSpine_HAS_CrossSections
+#define SCHEMA_IfcSectionedSpine_HAS_CrossSectionPositions
+#define SCHEMA_HAS_IfcSectionedSurface
+#define SCHEMA_IfcSectionedSurface_HAS_Directrix
+#define SCHEMA_IfcSectionedSurface_HAS_CrossSectionPositions
+#define SCHEMA_IfcSectionedSurface_HAS_CrossSections
+#define SCHEMA_IfcSectionedSurface_HAS_FixedAxisVertical
+#define SCHEMA_HAS_IfcSensor
+#define SCHEMA_IfcSensor_HAS_PredefinedType
+#define SCHEMA_IfcSensor_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSensorType
+#define SCHEMA_IfcSensorType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcShadingDevice
+#define SCHEMA_IfcShadingDevice_HAS_PredefinedType
+#define SCHEMA_IfcShadingDevice_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcShadingDeviceType
+#define SCHEMA_IfcShadingDeviceType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcShapeAspect
+#define SCHEMA_IfcShapeAspect_HAS_ShapeRepresentations
+#define SCHEMA_IfcShapeAspect_HAS_Name
+#define SCHEMA_IfcShapeAspect_Name_IS_OPTIONAL
+#define SCHEMA_IfcShapeAspect_HAS_Description
+#define SCHEMA_IfcShapeAspect_Description_IS_OPTIONAL
+#define SCHEMA_IfcShapeAspect_HAS_ProductDefinitional
+#define SCHEMA_IfcShapeAspect_HAS_PartOfProductDefinitionShape
+#define SCHEMA_IfcShapeAspect_PartOfProductDefinitionShape_IS_OPTIONAL
+#define SCHEMA_IfcShapeAspect_HAS_HasExternalReferences
+#define SCHEMA_HAS_IfcShapeModel
+#define SCHEMA_IfcShapeModel_HAS_OfShapeAspect
+#define SCHEMA_HAS_IfcShapeRepresentation
+#define SCHEMA_HAS_IfcShellBasedSurfaceModel
+#define SCHEMA_IfcShellBasedSurfaceModel_HAS_SbsmBoundary
+#define SCHEMA_HAS_IfcSign
+#define SCHEMA_IfcSign_HAS_PredefinedType
+#define SCHEMA_IfcSign_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSignType
+#define SCHEMA_IfcSignType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcSignal
+#define SCHEMA_IfcSignal_HAS_PredefinedType
+#define SCHEMA_IfcSignal_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSignalType
+#define SCHEMA_IfcSignalType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcSimpleProperty
+#define SCHEMA_HAS_IfcSimplePropertyTemplate
+#define SCHEMA_IfcSimplePropertyTemplate_HAS_TemplateType
+#define SCHEMA_IfcSimplePropertyTemplate_TemplateType_IS_OPTIONAL
+#define SCHEMA_IfcSimplePropertyTemplate_HAS_PrimaryMeasureType
+#define SCHEMA_IfcSimplePropertyTemplate_PrimaryMeasureType_IS_OPTIONAL
+#define SCHEMA_IfcSimplePropertyTemplate_HAS_SecondaryMeasureType
+#define SCHEMA_IfcSimplePropertyTemplate_SecondaryMeasureType_IS_OPTIONAL
+#define SCHEMA_IfcSimplePropertyTemplate_HAS_Enumerators
+#define SCHEMA_IfcSimplePropertyTemplate_Enumerators_IS_OPTIONAL
+#define SCHEMA_IfcSimplePropertyTemplate_HAS_PrimaryUnit
+#define SCHEMA_IfcSimplePropertyTemplate_PrimaryUnit_IS_OPTIONAL
+#define SCHEMA_IfcSimplePropertyTemplate_HAS_SecondaryUnit
+#define SCHEMA_IfcSimplePropertyTemplate_SecondaryUnit_IS_OPTIONAL
+#define SCHEMA_IfcSimplePropertyTemplate_HAS_Expression
+#define SCHEMA_IfcSimplePropertyTemplate_Expression_IS_OPTIONAL
+#define SCHEMA_IfcSimplePropertyTemplate_HAS_AccessState
+#define SCHEMA_IfcSimplePropertyTemplate_AccessState_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSite
+#define SCHEMA_IfcSite_HAS_RefLatitude
+#define SCHEMA_IfcSite_RefLatitude_IS_OPTIONAL
+#define SCHEMA_IfcSite_HAS_RefLongitude
+#define SCHEMA_IfcSite_RefLongitude_IS_OPTIONAL
+#define SCHEMA_IfcSite_HAS_RefElevation
+#define SCHEMA_IfcSite_RefElevation_IS_OPTIONAL
+#define SCHEMA_IfcSite_HAS_LandTitleNumber
+#define SCHEMA_IfcSite_LandTitleNumber_IS_OPTIONAL
+#define SCHEMA_IfcSite_HAS_SiteAddress
+#define SCHEMA_IfcSite_SiteAddress_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSlab
+#define SCHEMA_IfcSlab_HAS_PredefinedType
+#define SCHEMA_IfcSlab_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSlabElementedCase
+#define SCHEMA_HAS_IfcSlabStandardCase
+#define SCHEMA_HAS_IfcSlabType
+#define SCHEMA_IfcSlabType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcSlippageConnectionCondition
+#define SCHEMA_IfcSlippageConnectionCondition_HAS_SlippageX
+#define SCHEMA_IfcSlippageConnectionCondition_SlippageX_IS_OPTIONAL
+#define SCHEMA_IfcSlippageConnectionCondition_HAS_SlippageY
+#define SCHEMA_IfcSlippageConnectionCondition_SlippageY_IS_OPTIONAL
+#define SCHEMA_IfcSlippageConnectionCondition_HAS_SlippageZ
+#define SCHEMA_IfcSlippageConnectionCondition_SlippageZ_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSolarDevice
+#define SCHEMA_IfcSolarDevice_HAS_PredefinedType
+#define SCHEMA_IfcSolarDevice_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSolarDeviceType
+#define SCHEMA_IfcSolarDeviceType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcSolidModel
+#define SCHEMA_HAS_IfcSolidStratum
+#define SCHEMA_HAS_IfcSpace
+#define SCHEMA_IfcSpace_HAS_PredefinedType
+#define SCHEMA_IfcSpace_PredefinedType_IS_OPTIONAL
+#define SCHEMA_IfcSpace_HAS_ElevationWithFlooring
+#define SCHEMA_IfcSpace_ElevationWithFlooring_IS_OPTIONAL
+#define SCHEMA_IfcSpace_HAS_HasCoverings
+#define SCHEMA_IfcSpace_HAS_BoundedBy
+#define SCHEMA_HAS_IfcSpaceHeater
+#define SCHEMA_IfcSpaceHeater_HAS_PredefinedType
+#define SCHEMA_IfcSpaceHeater_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSpaceHeaterType
+#define SCHEMA_IfcSpaceHeaterType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcSpaceType
+#define SCHEMA_IfcSpaceType_HAS_PredefinedType
+#define SCHEMA_IfcSpaceType_HAS_LongName
+#define SCHEMA_IfcSpaceType_LongName_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSpatialElement
+#define SCHEMA_IfcSpatialElement_HAS_LongName
+#define SCHEMA_IfcSpatialElement_LongName_IS_OPTIONAL
+#define SCHEMA_IfcSpatialElement_HAS_ContainsElements
+#define SCHEMA_IfcSpatialElement_HAS_ServicedBySystems
+#define SCHEMA_IfcSpatialElement_HAS_ReferencesElements
+#define SCHEMA_HAS_IfcSpatialElementType
+#define SCHEMA_IfcSpatialElementType_HAS_ElementType
+#define SCHEMA_IfcSpatialElementType_ElementType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSpatialStructureElement
+#define SCHEMA_IfcSpatialStructureElement_HAS_CompositionType
+#define SCHEMA_IfcSpatialStructureElement_CompositionType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSpatialStructureElementType
+#define SCHEMA_HAS_IfcSpatialZone
+#define SCHEMA_IfcSpatialZone_HAS_PredefinedType
+#define SCHEMA_IfcSpatialZone_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSpatialZoneType
+#define SCHEMA_IfcSpatialZoneType_HAS_PredefinedType
+#define SCHEMA_IfcSpatialZoneType_HAS_LongName
+#define SCHEMA_IfcSpatialZoneType_LongName_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSphere
+#define SCHEMA_IfcSphere_HAS_Radius
+#define SCHEMA_HAS_IfcSphericalSurface
+#define SCHEMA_IfcSphericalSurface_HAS_Radius
+#define SCHEMA_HAS_IfcStackTerminal
+#define SCHEMA_IfcStackTerminal_HAS_PredefinedType
+#define SCHEMA_IfcStackTerminal_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcStackTerminalType
+#define SCHEMA_IfcStackTerminalType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcStair
+#define SCHEMA_IfcStair_HAS_PredefinedType
+#define SCHEMA_IfcStair_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcStairFlight
+#define SCHEMA_IfcStairFlight_HAS_NumberOfRisers
+#define SCHEMA_IfcStairFlight_NumberOfRisers_IS_OPTIONAL
+#define SCHEMA_IfcStairFlight_HAS_NumberOfTreads
+#define SCHEMA_IfcStairFlight_NumberOfTreads_IS_OPTIONAL
+#define SCHEMA_IfcStairFlight_HAS_RiserHeight
+#define SCHEMA_IfcStairFlight_RiserHeight_IS_OPTIONAL
+#define SCHEMA_IfcStairFlight_HAS_TreadLength
+#define SCHEMA_IfcStairFlight_TreadLength_IS_OPTIONAL
+#define SCHEMA_IfcStairFlight_HAS_PredefinedType
+#define SCHEMA_IfcStairFlight_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcStairFlightType
+#define SCHEMA_IfcStairFlightType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcStairType
+#define SCHEMA_IfcStairType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcStructuralAction
+#define SCHEMA_IfcStructuralAction_HAS_DestabilizingLoad
+#define SCHEMA_IfcStructuralAction_DestabilizingLoad_IS_OPTIONAL
+#define SCHEMA_HAS_IfcStructuralActivity
+#define SCHEMA_IfcStructuralActivity_HAS_AppliedLoad
+#define SCHEMA_IfcStructuralActivity_HAS_GlobalOrLocal
+#define SCHEMA_IfcStructuralActivity_HAS_AssignedToStructuralItem
+#define SCHEMA_HAS_IfcStructuralAnalysisModel
+#define SCHEMA_IfcStructuralAnalysisModel_HAS_PredefinedType
+#define SCHEMA_IfcStructuralAnalysisModel_HAS_OrientationOf2DPlane
+#define SCHEMA_IfcStructuralAnalysisModel_OrientationOf2DPlane_IS_OPTIONAL
+#define SCHEMA_IfcStructuralAnalysisModel_HAS_LoadedBy
+#define SCHEMA_IfcStructuralAnalysisModel_LoadedBy_IS_OPTIONAL
+#define SCHEMA_IfcStructuralAnalysisModel_HAS_HasResults
+#define SCHEMA_IfcStructuralAnalysisModel_HasResults_IS_OPTIONAL
+#define SCHEMA_IfcStructuralAnalysisModel_HAS_SharedPlacement
+#define SCHEMA_IfcStructuralAnalysisModel_SharedPlacement_IS_OPTIONAL
+#define SCHEMA_HAS_IfcStructuralConnection
+#define SCHEMA_IfcStructuralConnection_HAS_AppliedCondition
+#define SCHEMA_IfcStructuralConnection_AppliedCondition_IS_OPTIONAL
+#define SCHEMA_IfcStructuralConnection_HAS_ConnectsStructuralMembers
+#define SCHEMA_HAS_IfcStructuralConnectionCondition
+#define SCHEMA_IfcStructuralConnectionCondition_HAS_Name
+#define SCHEMA_IfcStructuralConnectionCondition_Name_IS_OPTIONAL
+#define SCHEMA_HAS_IfcStructuralCurveAction
+#define SCHEMA_IfcStructuralCurveAction_HAS_ProjectedOrTrue
+#define SCHEMA_IfcStructuralCurveAction_ProjectedOrTrue_IS_OPTIONAL
+#define SCHEMA_IfcStructuralCurveAction_HAS_PredefinedType
+#define SCHEMA_HAS_IfcStructuralCurveConnection
+#define SCHEMA_IfcStructuralCurveConnection_HAS_Axis
+#define SCHEMA_HAS_IfcStructuralCurveMember
+#define SCHEMA_IfcStructuralCurveMember_HAS_PredefinedType
+#define SCHEMA_IfcStructuralCurveMember_HAS_Axis
+#define SCHEMA_HAS_IfcStructuralCurveMemberVarying
+#define SCHEMA_HAS_IfcStructuralCurveReaction
+#define SCHEMA_IfcStructuralCurveReaction_HAS_PredefinedType
+#define SCHEMA_HAS_IfcStructuralItem
+#define SCHEMA_IfcStructuralItem_HAS_AssignedStructuralActivity
+#define SCHEMA_HAS_IfcStructuralLinearAction
+#define SCHEMA_HAS_IfcStructuralLoad
+#define SCHEMA_IfcStructuralLoad_HAS_Name
+#define SCHEMA_IfcStructuralLoad_Name_IS_OPTIONAL
+#define SCHEMA_HAS_IfcStructuralLoadCase
+#define SCHEMA_IfcStructuralLoadCase_HAS_SelfWeightCoefficients
+#define SCHEMA_IfcStructuralLoadCase_SelfWeightCoefficients_IS_OPTIONAL
+#define SCHEMA_HAS_IfcStructuralLoadConfiguration
+#define SCHEMA_IfcStructuralLoadConfiguration_HAS_Values
+#define SCHEMA_IfcStructuralLoadConfiguration_HAS_Locations
+#define SCHEMA_IfcStructuralLoadConfiguration_Locations_IS_OPTIONAL
+#define SCHEMA_HAS_IfcStructuralLoadGroup
+#define SCHEMA_IfcStructuralLoadGroup_HAS_PredefinedType
+#define SCHEMA_IfcStructuralLoadGroup_HAS_ActionType
+#define SCHEMA_IfcStructuralLoadGroup_HAS_ActionSource
+#define SCHEMA_IfcStructuralLoadGroup_HAS_Coefficient
+#define SCHEMA_IfcStructuralLoadGroup_Coefficient_IS_OPTIONAL
+#define SCHEMA_IfcStructuralLoadGroup_HAS_Purpose
+#define SCHEMA_IfcStructuralLoadGroup_Purpose_IS_OPTIONAL
+#define SCHEMA_IfcStructuralLoadGroup_HAS_SourceOfResultGroup
+#define SCHEMA_IfcStructuralLoadGroup_HAS_LoadGroupFor
+#define SCHEMA_HAS_IfcStructuralLoadLinearForce
+#define SCHEMA_IfcStructuralLoadLinearForce_HAS_LinearForceX
+#define SCHEMA_IfcStructuralLoadLinearForce_LinearForceX_IS_OPTIONAL
+#define SCHEMA_IfcStructuralLoadLinearForce_HAS_LinearForceY
+#define SCHEMA_IfcStructuralLoadLinearForce_LinearForceY_IS_OPTIONAL
+#define SCHEMA_IfcStructuralLoadLinearForce_HAS_LinearForceZ
+#define SCHEMA_IfcStructuralLoadLinearForce_LinearForceZ_IS_OPTIONAL
+#define SCHEMA_IfcStructuralLoadLinearForce_HAS_LinearMomentX
+#define SCHEMA_IfcStructuralLoadLinearForce_LinearMomentX_IS_OPTIONAL
+#define SCHEMA_IfcStructuralLoadLinearForce_HAS_LinearMomentY
+#define SCHEMA_IfcStructuralLoadLinearForce_LinearMomentY_IS_OPTIONAL
+#define SCHEMA_IfcStructuralLoadLinearForce_HAS_LinearMomentZ
+#define SCHEMA_IfcStructuralLoadLinearForce_LinearMomentZ_IS_OPTIONAL
+#define SCHEMA_HAS_IfcStructuralLoadOrResult
+#define SCHEMA_HAS_IfcStructuralLoadPlanarForce
+#define SCHEMA_IfcStructuralLoadPlanarForce_HAS_PlanarForceX
+#define SCHEMA_IfcStructuralLoadPlanarForce_PlanarForceX_IS_OPTIONAL
+#define SCHEMA_IfcStructuralLoadPlanarForce_HAS_PlanarForceY
+#define SCHEMA_IfcStructuralLoadPlanarForce_PlanarForceY_IS_OPTIONAL
+#define SCHEMA_IfcStructuralLoadPlanarForce_HAS_PlanarForceZ
+#define SCHEMA_IfcStructuralLoadPlanarForce_PlanarForceZ_IS_OPTIONAL
+#define SCHEMA_HAS_IfcStructuralLoadSingleDisplacement
+#define SCHEMA_IfcStructuralLoadSingleDisplacement_HAS_DisplacementX
+#define SCHEMA_IfcStructuralLoadSingleDisplacement_DisplacementX_IS_OPTIONAL
+#define SCHEMA_IfcStructuralLoadSingleDisplacement_HAS_DisplacementY
+#define SCHEMA_IfcStructuralLoadSingleDisplacement_DisplacementY_IS_OPTIONAL
+#define SCHEMA_IfcStructuralLoadSingleDisplacement_HAS_DisplacementZ
+#define SCHEMA_IfcStructuralLoadSingleDisplacement_DisplacementZ_IS_OPTIONAL
+#define SCHEMA_IfcStructuralLoadSingleDisplacement_HAS_RotationalDisplacementRX
+#define SCHEMA_IfcStructuralLoadSingleDisplacement_RotationalDisplacementRX_IS_OPTIONAL
+#define SCHEMA_IfcStructuralLoadSingleDisplacement_HAS_RotationalDisplacementRY
+#define SCHEMA_IfcStructuralLoadSingleDisplacement_RotationalDisplacementRY_IS_OPTIONAL
+#define SCHEMA_IfcStructuralLoadSingleDisplacement_HAS_RotationalDisplacementRZ
+#define SCHEMA_IfcStructuralLoadSingleDisplacement_RotationalDisplacementRZ_IS_OPTIONAL
+#define SCHEMA_HAS_IfcStructuralLoadSingleDisplacementDistortion
+#define SCHEMA_IfcStructuralLoadSingleDisplacementDistortion_HAS_Distortion
+#define SCHEMA_IfcStructuralLoadSingleDisplacementDistortion_Distortion_IS_OPTIONAL
+#define SCHEMA_HAS_IfcStructuralLoadSingleForce
+#define SCHEMA_IfcStructuralLoadSingleForce_HAS_ForceX
+#define SCHEMA_IfcStructuralLoadSingleForce_ForceX_IS_OPTIONAL
+#define SCHEMA_IfcStructuralLoadSingleForce_HAS_ForceY
+#define SCHEMA_IfcStructuralLoadSingleForce_ForceY_IS_OPTIONAL
+#define SCHEMA_IfcStructuralLoadSingleForce_HAS_ForceZ
+#define SCHEMA_IfcStructuralLoadSingleForce_ForceZ_IS_OPTIONAL
+#define SCHEMA_IfcStructuralLoadSingleForce_HAS_MomentX
+#define SCHEMA_IfcStructuralLoadSingleForce_MomentX_IS_OPTIONAL
+#define SCHEMA_IfcStructuralLoadSingleForce_HAS_MomentY
+#define SCHEMA_IfcStructuralLoadSingleForce_MomentY_IS_OPTIONAL
+#define SCHEMA_IfcStructuralLoadSingleForce_HAS_MomentZ
+#define SCHEMA_IfcStructuralLoadSingleForce_MomentZ_IS_OPTIONAL
+#define SCHEMA_HAS_IfcStructuralLoadSingleForceWarping
+#define SCHEMA_IfcStructuralLoadSingleForceWarping_HAS_WarpingMoment
+#define SCHEMA_IfcStructuralLoadSingleForceWarping_WarpingMoment_IS_OPTIONAL
+#define SCHEMA_HAS_IfcStructuralLoadStatic
+#define SCHEMA_HAS_IfcStructuralLoadTemperature
+#define SCHEMA_IfcStructuralLoadTemperature_HAS_DeltaTConstant
+#define SCHEMA_IfcStructuralLoadTemperature_DeltaTConstant_IS_OPTIONAL
+#define SCHEMA_IfcStructuralLoadTemperature_HAS_DeltaTY
+#define SCHEMA_IfcStructuralLoadTemperature_DeltaTY_IS_OPTIONAL
+#define SCHEMA_IfcStructuralLoadTemperature_HAS_DeltaTZ
+#define SCHEMA_IfcStructuralLoadTemperature_DeltaTZ_IS_OPTIONAL
+#define SCHEMA_HAS_IfcStructuralMember
+#define SCHEMA_IfcStructuralMember_HAS_ConnectedBy
+#define SCHEMA_HAS_IfcStructuralPlanarAction
+#define SCHEMA_HAS_IfcStructuralPointAction
+#define SCHEMA_HAS_IfcStructuralPointConnection
+#define SCHEMA_IfcStructuralPointConnection_HAS_ConditionCoordinateSystem
+#define SCHEMA_IfcStructuralPointConnection_ConditionCoordinateSystem_IS_OPTIONAL
+#define SCHEMA_HAS_IfcStructuralPointReaction
+#define SCHEMA_HAS_IfcStructuralReaction
+#define SCHEMA_HAS_IfcStructuralResultGroup
+#define SCHEMA_IfcStructuralResultGroup_HAS_TheoryType
+#define SCHEMA_IfcStructuralResultGroup_HAS_ResultForLoadGroup
+#define SCHEMA_IfcStructuralResultGroup_ResultForLoadGroup_IS_OPTIONAL
+#define SCHEMA_IfcStructuralResultGroup_HAS_IsLinear
+#define SCHEMA_IfcStructuralResultGroup_HAS_ResultGroupFor
+#define SCHEMA_HAS_IfcStructuralSurfaceAction
+#define SCHEMA_IfcStructuralSurfaceAction_HAS_ProjectedOrTrue
+#define SCHEMA_IfcStructuralSurfaceAction_ProjectedOrTrue_IS_OPTIONAL
+#define SCHEMA_IfcStructuralSurfaceAction_HAS_PredefinedType
+#define SCHEMA_HAS_IfcStructuralSurfaceConnection
+#define SCHEMA_HAS_IfcStructuralSurfaceMember
+#define SCHEMA_IfcStructuralSurfaceMember_HAS_PredefinedType
+#define SCHEMA_IfcStructuralSurfaceMember_HAS_Thickness
+#define SCHEMA_IfcStructuralSurfaceMember_Thickness_IS_OPTIONAL
+#define SCHEMA_HAS_IfcStructuralSurfaceMemberVarying
+#define SCHEMA_HAS_IfcStructuralSurfaceReaction
+#define SCHEMA_IfcStructuralSurfaceReaction_HAS_PredefinedType
+#define SCHEMA_HAS_IfcStyleModel
+#define SCHEMA_HAS_IfcStyledItem
+#define SCHEMA_IfcStyledItem_HAS_Item
+#define SCHEMA_IfcStyledItem_Item_IS_OPTIONAL
+#define SCHEMA_IfcStyledItem_HAS_Styles
+#define SCHEMA_IfcStyledItem_HAS_Name
+#define SCHEMA_IfcStyledItem_Name_IS_OPTIONAL
+#define SCHEMA_HAS_IfcStyledRepresentation
+#define SCHEMA_HAS_IfcSubContractResource
+#define SCHEMA_IfcSubContractResource_HAS_PredefinedType
+#define SCHEMA_IfcSubContractResource_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSubContractResourceType
+#define SCHEMA_IfcSubContractResourceType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcSubedge
+#define SCHEMA_IfcSubedge_HAS_ParentEdge
+#define SCHEMA_HAS_IfcSurface
+#define SCHEMA_HAS_IfcSurfaceCurve
+#define SCHEMA_IfcSurfaceCurve_HAS_Curve3D
+#define SCHEMA_IfcSurfaceCurve_HAS_AssociatedGeometry
+#define SCHEMA_IfcSurfaceCurve_HAS_MasterRepresentation
+#define SCHEMA_HAS_IfcSurfaceCurveSweptAreaSolid
+#define SCHEMA_IfcSurfaceCurveSweptAreaSolid_HAS_ReferenceSurface
+#define SCHEMA_HAS_IfcSurfaceFeature
+#define SCHEMA_IfcSurfaceFeature_HAS_PredefinedType
+#define SCHEMA_IfcSurfaceFeature_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSurfaceOfLinearExtrusion
+#define SCHEMA_IfcSurfaceOfLinearExtrusion_HAS_ExtrudedDirection
+#define SCHEMA_IfcSurfaceOfLinearExtrusion_HAS_Depth
+#define SCHEMA_HAS_IfcSurfaceOfRevolution
+#define SCHEMA_IfcSurfaceOfRevolution_HAS_AxisPosition
+#define SCHEMA_HAS_IfcSurfaceReinforcementArea
+#define SCHEMA_IfcSurfaceReinforcementArea_HAS_SurfaceReinforcement1
+#define SCHEMA_IfcSurfaceReinforcementArea_SurfaceReinforcement1_IS_OPTIONAL
+#define SCHEMA_IfcSurfaceReinforcementArea_HAS_SurfaceReinforcement2
+#define SCHEMA_IfcSurfaceReinforcementArea_SurfaceReinforcement2_IS_OPTIONAL
+#define SCHEMA_IfcSurfaceReinforcementArea_HAS_ShearReinforcement
+#define SCHEMA_IfcSurfaceReinforcementArea_ShearReinforcement_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSurfaceStyle
+#define SCHEMA_IfcSurfaceStyle_HAS_Side
+#define SCHEMA_IfcSurfaceStyle_HAS_Styles
+#define SCHEMA_HAS_IfcSurfaceStyleLighting
+#define SCHEMA_IfcSurfaceStyleLighting_HAS_DiffuseTransmissionColour
+#define SCHEMA_IfcSurfaceStyleLighting_HAS_DiffuseReflectionColour
+#define SCHEMA_IfcSurfaceStyleLighting_HAS_TransmissionColour
+#define SCHEMA_IfcSurfaceStyleLighting_HAS_ReflectanceColour
+#define SCHEMA_HAS_IfcSurfaceStyleRefraction
+#define SCHEMA_IfcSurfaceStyleRefraction_HAS_RefractionIndex
+#define SCHEMA_IfcSurfaceStyleRefraction_RefractionIndex_IS_OPTIONAL
+#define SCHEMA_IfcSurfaceStyleRefraction_HAS_DispersionFactor
+#define SCHEMA_IfcSurfaceStyleRefraction_DispersionFactor_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSurfaceStyleRendering
+#define SCHEMA_IfcSurfaceStyleRendering_HAS_DiffuseColour
+#define SCHEMA_IfcSurfaceStyleRendering_DiffuseColour_IS_OPTIONAL
+#define SCHEMA_IfcSurfaceStyleRendering_HAS_TransmissionColour
+#define SCHEMA_IfcSurfaceStyleRendering_TransmissionColour_IS_OPTIONAL
+#define SCHEMA_IfcSurfaceStyleRendering_HAS_DiffuseTransmissionColour
+#define SCHEMA_IfcSurfaceStyleRendering_DiffuseTransmissionColour_IS_OPTIONAL
+#define SCHEMA_IfcSurfaceStyleRendering_HAS_ReflectionColour
+#define SCHEMA_IfcSurfaceStyleRendering_ReflectionColour_IS_OPTIONAL
+#define SCHEMA_IfcSurfaceStyleRendering_HAS_SpecularColour
+#define SCHEMA_IfcSurfaceStyleRendering_SpecularColour_IS_OPTIONAL
+#define SCHEMA_IfcSurfaceStyleRendering_HAS_SpecularHighlight
+#define SCHEMA_IfcSurfaceStyleRendering_SpecularHighlight_IS_OPTIONAL
+#define SCHEMA_IfcSurfaceStyleRendering_HAS_ReflectanceMethod
+#define SCHEMA_HAS_IfcSurfaceStyleShading
+#define SCHEMA_IfcSurfaceStyleShading_HAS_SurfaceColour
+#define SCHEMA_IfcSurfaceStyleShading_HAS_Transparency
+#define SCHEMA_IfcSurfaceStyleShading_Transparency_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSurfaceStyleWithTextures
+#define SCHEMA_IfcSurfaceStyleWithTextures_HAS_Textures
+#define SCHEMA_HAS_IfcSurfaceTexture
+#define SCHEMA_IfcSurfaceTexture_HAS_RepeatS
+#define SCHEMA_IfcSurfaceTexture_HAS_RepeatT
+#define SCHEMA_IfcSurfaceTexture_HAS_Mode
+#define SCHEMA_IfcSurfaceTexture_Mode_IS_OPTIONAL
+#define SCHEMA_IfcSurfaceTexture_HAS_TextureTransform
+#define SCHEMA_IfcSurfaceTexture_TextureTransform_IS_OPTIONAL
+#define SCHEMA_IfcSurfaceTexture_HAS_Parameter
+#define SCHEMA_IfcSurfaceTexture_Parameter_IS_OPTIONAL
+#define SCHEMA_IfcSurfaceTexture_HAS_IsMappedBy
+#define SCHEMA_IfcSurfaceTexture_HAS_UsedInStyles
+#define SCHEMA_HAS_IfcSweptAreaSolid
+#define SCHEMA_IfcSweptAreaSolid_HAS_SweptArea
+#define SCHEMA_IfcSweptAreaSolid_HAS_Position
+#define SCHEMA_IfcSweptAreaSolid_Position_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSweptDiskSolid
+#define SCHEMA_IfcSweptDiskSolid_HAS_Directrix
+#define SCHEMA_IfcSweptDiskSolid_HAS_Radius
+#define SCHEMA_IfcSweptDiskSolid_HAS_InnerRadius
+#define SCHEMA_IfcSweptDiskSolid_InnerRadius_IS_OPTIONAL
+#define SCHEMA_IfcSweptDiskSolid_HAS_StartParam
+#define SCHEMA_IfcSweptDiskSolid_StartParam_IS_OPTIONAL
+#define SCHEMA_IfcSweptDiskSolid_HAS_EndParam
+#define SCHEMA_IfcSweptDiskSolid_EndParam_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSweptDiskSolidPolygonal
+#define SCHEMA_IfcSweptDiskSolidPolygonal_HAS_FilletRadius
+#define SCHEMA_IfcSweptDiskSolidPolygonal_FilletRadius_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSweptSurface
+#define SCHEMA_IfcSweptSurface_HAS_SweptCurve
+#define SCHEMA_IfcSweptSurface_HAS_Position
+#define SCHEMA_IfcSweptSurface_Position_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSwitchingDevice
+#define SCHEMA_IfcSwitchingDevice_HAS_PredefinedType
+#define SCHEMA_IfcSwitchingDevice_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSwitchingDeviceType
+#define SCHEMA_IfcSwitchingDeviceType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcSystem
+#define SCHEMA_IfcSystem_HAS_ServicesBuildings
+#define SCHEMA_IfcSystem_HAS_ServicesFacilities
+#define SCHEMA_HAS_IfcSystemFurnitureElement
+#define SCHEMA_IfcSystemFurnitureElement_HAS_PredefinedType
+#define SCHEMA_IfcSystemFurnitureElement_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcSystemFurnitureElementType
+#define SCHEMA_IfcSystemFurnitureElementType_HAS_PredefinedType
+#define SCHEMA_IfcSystemFurnitureElementType_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcTShapeProfileDef
+#define SCHEMA_IfcTShapeProfileDef_HAS_Depth
+#define SCHEMA_IfcTShapeProfileDef_HAS_FlangeWidth
+#define SCHEMA_IfcTShapeProfileDef_HAS_WebThickness
+#define SCHEMA_IfcTShapeProfileDef_HAS_FlangeThickness
+#define SCHEMA_IfcTShapeProfileDef_HAS_FilletRadius
+#define SCHEMA_IfcTShapeProfileDef_FilletRadius_IS_OPTIONAL
+#define SCHEMA_IfcTShapeProfileDef_HAS_FlangeEdgeRadius
+#define SCHEMA_IfcTShapeProfileDef_FlangeEdgeRadius_IS_OPTIONAL
+#define SCHEMA_IfcTShapeProfileDef_HAS_WebEdgeRadius
+#define SCHEMA_IfcTShapeProfileDef_WebEdgeRadius_IS_OPTIONAL
+#define SCHEMA_IfcTShapeProfileDef_HAS_WebSlope
+#define SCHEMA_IfcTShapeProfileDef_WebSlope_IS_OPTIONAL
+#define SCHEMA_IfcTShapeProfileDef_HAS_FlangeSlope
+#define SCHEMA_IfcTShapeProfileDef_FlangeSlope_IS_OPTIONAL
+#define SCHEMA_HAS_IfcTable
+#define SCHEMA_IfcTable_HAS_Name
+#define SCHEMA_IfcTable_Name_IS_OPTIONAL
+#define SCHEMA_IfcTable_HAS_Rows
+#define SCHEMA_IfcTable_Rows_IS_OPTIONAL
+#define SCHEMA_IfcTable_HAS_Columns
+#define SCHEMA_IfcTable_Columns_IS_OPTIONAL
+#define SCHEMA_HAS_IfcTableColumn
+#define SCHEMA_IfcTableColumn_HAS_Identifier
+#define SCHEMA_IfcTableColumn_Identifier_IS_OPTIONAL
+#define SCHEMA_IfcTableColumn_HAS_Name
+#define SCHEMA_IfcTableColumn_Name_IS_OPTIONAL
+#define SCHEMA_IfcTableColumn_HAS_Description
+#define SCHEMA_IfcTableColumn_Description_IS_OPTIONAL
+#define SCHEMA_IfcTableColumn_HAS_Unit
+#define SCHEMA_IfcTableColumn_Unit_IS_OPTIONAL
+#define SCHEMA_IfcTableColumn_HAS_ReferencePath
+#define SCHEMA_IfcTableColumn_ReferencePath_IS_OPTIONAL
+#define SCHEMA_HAS_IfcTableRow
+#define SCHEMA_IfcTableRow_HAS_RowCells
+#define SCHEMA_IfcTableRow_RowCells_IS_OPTIONAL
+#define SCHEMA_IfcTableRow_HAS_IsHeading
+#define SCHEMA_IfcTableRow_IsHeading_IS_OPTIONAL
+#define SCHEMA_HAS_IfcTank
+#define SCHEMA_IfcTank_HAS_PredefinedType
+#define SCHEMA_IfcTank_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcTankType
+#define SCHEMA_IfcTankType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcTask
+#define SCHEMA_IfcTask_HAS_Status
+#define SCHEMA_IfcTask_Status_IS_OPTIONAL
+#define SCHEMA_IfcTask_HAS_WorkMethod
+#define SCHEMA_IfcTask_WorkMethod_IS_OPTIONAL
+#define SCHEMA_IfcTask_HAS_IsMilestone
+#define SCHEMA_IfcTask_HAS_Priority
+#define SCHEMA_IfcTask_Priority_IS_OPTIONAL
+#define SCHEMA_IfcTask_HAS_TaskTime
+#define SCHEMA_IfcTask_TaskTime_IS_OPTIONAL
+#define SCHEMA_IfcTask_HAS_PredefinedType
+#define SCHEMA_IfcTask_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcTaskTime
+#define SCHEMA_IfcTaskTime_HAS_DurationType
+#define SCHEMA_IfcTaskTime_DurationType_IS_OPTIONAL
+#define SCHEMA_IfcTaskTime_HAS_ScheduleDuration
+#define SCHEMA_IfcTaskTime_ScheduleDuration_IS_OPTIONAL
+#define SCHEMA_IfcTaskTime_HAS_ScheduleStart
+#define SCHEMA_IfcTaskTime_ScheduleStart_IS_OPTIONAL
+#define SCHEMA_IfcTaskTime_HAS_ScheduleFinish
+#define SCHEMA_IfcTaskTime_ScheduleFinish_IS_OPTIONAL
+#define SCHEMA_IfcTaskTime_HAS_EarlyStart
+#define SCHEMA_IfcTaskTime_EarlyStart_IS_OPTIONAL
+#define SCHEMA_IfcTaskTime_HAS_EarlyFinish
+#define SCHEMA_IfcTaskTime_EarlyFinish_IS_OPTIONAL
+#define SCHEMA_IfcTaskTime_HAS_LateStart
+#define SCHEMA_IfcTaskTime_LateStart_IS_OPTIONAL
+#define SCHEMA_IfcTaskTime_HAS_LateFinish
+#define SCHEMA_IfcTaskTime_LateFinish_IS_OPTIONAL
+#define SCHEMA_IfcTaskTime_HAS_FreeFloat
+#define SCHEMA_IfcTaskTime_FreeFloat_IS_OPTIONAL
+#define SCHEMA_IfcTaskTime_HAS_TotalFloat
+#define SCHEMA_IfcTaskTime_TotalFloat_IS_OPTIONAL
+#define SCHEMA_IfcTaskTime_HAS_IsCritical
+#define SCHEMA_IfcTaskTime_IsCritical_IS_OPTIONAL
+#define SCHEMA_IfcTaskTime_HAS_StatusTime
+#define SCHEMA_IfcTaskTime_StatusTime_IS_OPTIONAL
+#define SCHEMA_IfcTaskTime_HAS_ActualDuration
+#define SCHEMA_IfcTaskTime_ActualDuration_IS_OPTIONAL
+#define SCHEMA_IfcTaskTime_HAS_ActualStart
+#define SCHEMA_IfcTaskTime_ActualStart_IS_OPTIONAL
+#define SCHEMA_IfcTaskTime_HAS_ActualFinish
+#define SCHEMA_IfcTaskTime_ActualFinish_IS_OPTIONAL
+#define SCHEMA_IfcTaskTime_HAS_RemainingTime
+#define SCHEMA_IfcTaskTime_RemainingTime_IS_OPTIONAL
+#define SCHEMA_IfcTaskTime_HAS_Completion
+#define SCHEMA_IfcTaskTime_Completion_IS_OPTIONAL
+#define SCHEMA_HAS_IfcTaskTimeRecurring
+#define SCHEMA_IfcTaskTimeRecurring_HAS_Recurrence
+#define SCHEMA_HAS_IfcTaskType
+#define SCHEMA_IfcTaskType_HAS_PredefinedType
+#define SCHEMA_IfcTaskType_HAS_WorkMethod
+#define SCHEMA_IfcTaskType_WorkMethod_IS_OPTIONAL
+#define SCHEMA_HAS_IfcTelecomAddress
+#define SCHEMA_IfcTelecomAddress_HAS_TelephoneNumbers
+#define SCHEMA_IfcTelecomAddress_TelephoneNumbers_IS_OPTIONAL
+#define SCHEMA_IfcTelecomAddress_HAS_FacsimileNumbers
+#define SCHEMA_IfcTelecomAddress_FacsimileNumbers_IS_OPTIONAL
+#define SCHEMA_IfcTelecomAddress_HAS_PagerNumber
+#define SCHEMA_IfcTelecomAddress_PagerNumber_IS_OPTIONAL
+#define SCHEMA_IfcTelecomAddress_HAS_ElectronicMailAddresses
+#define SCHEMA_IfcTelecomAddress_ElectronicMailAddresses_IS_OPTIONAL
+#define SCHEMA_IfcTelecomAddress_HAS_WWWHomePageURL
+#define SCHEMA_IfcTelecomAddress_WWWHomePageURL_IS_OPTIONAL
+#define SCHEMA_IfcTelecomAddress_HAS_MessagingIDs
+#define SCHEMA_IfcTelecomAddress_MessagingIDs_IS_OPTIONAL
+#define SCHEMA_HAS_IfcTendon
+#define SCHEMA_IfcTendon_HAS_PredefinedType
+#define SCHEMA_IfcTendon_PredefinedType_IS_OPTIONAL
+#define SCHEMA_IfcTendon_HAS_NominalDiameter
+#define SCHEMA_IfcTendon_NominalDiameter_IS_OPTIONAL
+#define SCHEMA_IfcTendon_HAS_CrossSectionArea
+#define SCHEMA_IfcTendon_CrossSectionArea_IS_OPTIONAL
+#define SCHEMA_IfcTendon_HAS_TensionForce
+#define SCHEMA_IfcTendon_TensionForce_IS_OPTIONAL
+#define SCHEMA_IfcTendon_HAS_PreStress
+#define SCHEMA_IfcTendon_PreStress_IS_OPTIONAL
+#define SCHEMA_IfcTendon_HAS_FrictionCoefficient
+#define SCHEMA_IfcTendon_FrictionCoefficient_IS_OPTIONAL
+#define SCHEMA_IfcTendon_HAS_AnchorageSlip
+#define SCHEMA_IfcTendon_AnchorageSlip_IS_OPTIONAL
+#define SCHEMA_IfcTendon_HAS_MinCurvatureRadius
+#define SCHEMA_IfcTendon_MinCurvatureRadius_IS_OPTIONAL
+#define SCHEMA_HAS_IfcTendonAnchor
+#define SCHEMA_IfcTendonAnchor_HAS_PredefinedType
+#define SCHEMA_IfcTendonAnchor_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcTendonAnchorType
+#define SCHEMA_IfcTendonAnchorType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcTendonConduit
+#define SCHEMA_IfcTendonConduit_HAS_PredefinedType
+#define SCHEMA_HAS_IfcTendonConduitType
+#define SCHEMA_IfcTendonConduitType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcTendonType
+#define SCHEMA_IfcTendonType_HAS_PredefinedType
+#define SCHEMA_IfcTendonType_HAS_NominalDiameter
+#define SCHEMA_IfcTendonType_NominalDiameter_IS_OPTIONAL
+#define SCHEMA_IfcTendonType_HAS_CrossSectionArea
+#define SCHEMA_IfcTendonType_CrossSectionArea_IS_OPTIONAL
+#define SCHEMA_IfcTendonType_HAS_SheathDiameter
+#define SCHEMA_IfcTendonType_SheathDiameter_IS_OPTIONAL
+#define SCHEMA_HAS_IfcTessellatedFaceSet
+#define SCHEMA_IfcTessellatedFaceSet_HAS_Coordinates
+#define SCHEMA_IfcTessellatedFaceSet_HAS_HasColours
+#define SCHEMA_IfcTessellatedFaceSet_HAS_HasTextures
+#define SCHEMA_HAS_IfcTessellatedItem
+#define SCHEMA_HAS_IfcTextLiteral
+#define SCHEMA_IfcTextLiteral_HAS_Literal
+#define SCHEMA_IfcTextLiteral_HAS_Placement
+#define SCHEMA_IfcTextLiteral_HAS_Path
+#define SCHEMA_HAS_IfcTextLiteralWithExtent
+#define SCHEMA_IfcTextLiteralWithExtent_HAS_Extent
+#define SCHEMA_IfcTextLiteralWithExtent_HAS_BoxAlignment
+#define SCHEMA_HAS_IfcTextStyle
+#define SCHEMA_IfcTextStyle_HAS_TextCharacterAppearance
+#define SCHEMA_IfcTextStyle_TextCharacterAppearance_IS_OPTIONAL
+#define SCHEMA_IfcTextStyle_HAS_TextStyle
+#define SCHEMA_IfcTextStyle_TextStyle_IS_OPTIONAL
+#define SCHEMA_IfcTextStyle_HAS_TextFontStyle
+#define SCHEMA_IfcTextStyle_HAS_ModelOrDraughting
+#define SCHEMA_IfcTextStyle_ModelOrDraughting_IS_OPTIONAL
+#define SCHEMA_HAS_IfcTextStyleFontModel
+#define SCHEMA_IfcTextStyleFontModel_HAS_FontFamily
+#define SCHEMA_IfcTextStyleFontModel_HAS_FontStyle
+#define SCHEMA_IfcTextStyleFontModel_FontStyle_IS_OPTIONAL
+#define SCHEMA_IfcTextStyleFontModel_HAS_FontVariant
+#define SCHEMA_IfcTextStyleFontModel_FontVariant_IS_OPTIONAL
+#define SCHEMA_IfcTextStyleFontModel_HAS_FontWeight
+#define SCHEMA_IfcTextStyleFontModel_FontWeight_IS_OPTIONAL
+#define SCHEMA_IfcTextStyleFontModel_HAS_FontSize
+#define SCHEMA_HAS_IfcTextStyleForDefinedFont
+#define SCHEMA_IfcTextStyleForDefinedFont_HAS_Colour
+#define SCHEMA_IfcTextStyleForDefinedFont_HAS_BackgroundColour
+#define SCHEMA_IfcTextStyleForDefinedFont_BackgroundColour_IS_OPTIONAL
+#define SCHEMA_HAS_IfcTextStyleTextModel
+#define SCHEMA_IfcTextStyleTextModel_HAS_TextIndent
+#define SCHEMA_IfcTextStyleTextModel_TextIndent_IS_OPTIONAL
+#define SCHEMA_IfcTextStyleTextModel_HAS_TextAlign
+#define SCHEMA_IfcTextStyleTextModel_TextAlign_IS_OPTIONAL
+#define SCHEMA_IfcTextStyleTextModel_HAS_TextDecoration
+#define SCHEMA_IfcTextStyleTextModel_TextDecoration_IS_OPTIONAL
+#define SCHEMA_IfcTextStyleTextModel_HAS_LetterSpacing
+#define SCHEMA_IfcTextStyleTextModel_LetterSpacing_IS_OPTIONAL
+#define SCHEMA_IfcTextStyleTextModel_HAS_WordSpacing
+#define SCHEMA_IfcTextStyleTextModel_WordSpacing_IS_OPTIONAL
+#define SCHEMA_IfcTextStyleTextModel_HAS_TextTransform
+#define SCHEMA_IfcTextStyleTextModel_TextTransform_IS_OPTIONAL
+#define SCHEMA_IfcTextStyleTextModel_HAS_LineHeight
+#define SCHEMA_IfcTextStyleTextModel_LineHeight_IS_OPTIONAL
+#define SCHEMA_HAS_IfcTextureCoordinate
+#define SCHEMA_IfcTextureCoordinate_HAS_Maps
+#define SCHEMA_HAS_IfcTextureCoordinateGenerator
+#define SCHEMA_IfcTextureCoordinateGenerator_HAS_Mode
+#define SCHEMA_IfcTextureCoordinateGenerator_HAS_Parameter
+#define SCHEMA_IfcTextureCoordinateGenerator_Parameter_IS_OPTIONAL
+#define SCHEMA_HAS_IfcTextureMap
+#define SCHEMA_IfcTextureMap_HAS_Vertices
+#define SCHEMA_IfcTextureMap_HAS_MappedTo
+#define SCHEMA_HAS_IfcTextureVertex
+#define SCHEMA_IfcTextureVertex_HAS_Coordinates
+#define SCHEMA_HAS_IfcTextureVertexList
+#define SCHEMA_IfcTextureVertexList_HAS_TexCoordsList
+#define SCHEMA_HAS_IfcTimePeriod
+#define SCHEMA_IfcTimePeriod_HAS_StartTime
+#define SCHEMA_IfcTimePeriod_HAS_EndTime
+#define SCHEMA_HAS_IfcTimeSeries
+#define SCHEMA_IfcTimeSeries_HAS_Name
+#define SCHEMA_IfcTimeSeries_HAS_Description
+#define SCHEMA_IfcTimeSeries_Description_IS_OPTIONAL
+#define SCHEMA_IfcTimeSeries_HAS_StartTime
+#define SCHEMA_IfcTimeSeries_HAS_EndTime
+#define SCHEMA_IfcTimeSeries_HAS_TimeSeriesDataType
+#define SCHEMA_IfcTimeSeries_HAS_DataOrigin
+#define SCHEMA_IfcTimeSeries_HAS_UserDefinedDataOrigin
+#define SCHEMA_IfcTimeSeries_UserDefinedDataOrigin_IS_OPTIONAL
+#define SCHEMA_IfcTimeSeries_HAS_Unit
+#define SCHEMA_IfcTimeSeries_Unit_IS_OPTIONAL
+#define SCHEMA_IfcTimeSeries_HAS_HasExternalReference
+#define SCHEMA_HAS_IfcTimeSeriesValue
+#define SCHEMA_IfcTimeSeriesValue_HAS_ListValues
+#define SCHEMA_HAS_IfcTopologicalRepresentationItem
+#define SCHEMA_HAS_IfcTopologyRepresentation
+#define SCHEMA_HAS_IfcToroidalSurface
+#define SCHEMA_IfcToroidalSurface_HAS_MajorRadius
+#define SCHEMA_IfcToroidalSurface_HAS_MinorRadius
+#define SCHEMA_HAS_IfcTrackElement
+#define SCHEMA_IfcTrackElement_HAS_PredefinedType
+#define SCHEMA_IfcTrackElement_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcTrackElementType
+#define SCHEMA_IfcTrackElementType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcTransformer
+#define SCHEMA_IfcTransformer_HAS_PredefinedType
+#define SCHEMA_IfcTransformer_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcTransformerType
+#define SCHEMA_IfcTransformerType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcTransitionCurveSegment2D
+#define SCHEMA_IfcTransitionCurveSegment2D_HAS_StartRadius
+#define SCHEMA_IfcTransitionCurveSegment2D_StartRadius_IS_OPTIONAL
+#define SCHEMA_IfcTransitionCurveSegment2D_HAS_EndRadius
+#define SCHEMA_IfcTransitionCurveSegment2D_EndRadius_IS_OPTIONAL
+#define SCHEMA_IfcTransitionCurveSegment2D_HAS_IsStartRadiusCCW
+#define SCHEMA_IfcTransitionCurveSegment2D_HAS_IsEndRadiusCCW
+#define SCHEMA_IfcTransitionCurveSegment2D_HAS_TransitionCurveType
+#define SCHEMA_HAS_IfcTransportElement
+#define SCHEMA_IfcTransportElement_HAS_PredefinedType
+#define SCHEMA_IfcTransportElement_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcTransportElementType
+#define SCHEMA_IfcTransportElementType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcTrapeziumProfileDef
+#define SCHEMA_IfcTrapeziumProfileDef_HAS_BottomXDim
+#define SCHEMA_IfcTrapeziumProfileDef_HAS_TopXDim
+#define SCHEMA_IfcTrapeziumProfileDef_HAS_YDim
+#define SCHEMA_IfcTrapeziumProfileDef_HAS_TopXOffset
+#define SCHEMA_HAS_IfcTriangulatedFaceSet
+#define SCHEMA_IfcTriangulatedFaceSet_HAS_Normals
+#define SCHEMA_IfcTriangulatedFaceSet_Normals_IS_OPTIONAL
+#define SCHEMA_IfcTriangulatedFaceSet_HAS_Closed
+#define SCHEMA_IfcTriangulatedFaceSet_Closed_IS_OPTIONAL
+#define SCHEMA_IfcTriangulatedFaceSet_HAS_CoordIndex
+#define SCHEMA_IfcTriangulatedFaceSet_HAS_PnIndex
+#define SCHEMA_IfcTriangulatedFaceSet_PnIndex_IS_OPTIONAL
+#define SCHEMA_HAS_IfcTriangulatedIrregularNetwork
+#define SCHEMA_IfcTriangulatedIrregularNetwork_HAS_Flags
+#define SCHEMA_HAS_IfcTrimmedCurve
+#define SCHEMA_IfcTrimmedCurve_HAS_BasisCurve
+#define SCHEMA_IfcTrimmedCurve_HAS_Trim1
+#define SCHEMA_IfcTrimmedCurve_HAS_Trim2
+#define SCHEMA_IfcTrimmedCurve_HAS_SenseAgreement
+#define SCHEMA_IfcTrimmedCurve_HAS_MasterRepresentation
+#define SCHEMA_HAS_IfcTubeBundle
+#define SCHEMA_IfcTubeBundle_HAS_PredefinedType
+#define SCHEMA_IfcTubeBundle_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcTubeBundleType
+#define SCHEMA_IfcTubeBundleType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcTypeObject
+#define SCHEMA_IfcTypeObject_HAS_ApplicableOccurrence
+#define SCHEMA_IfcTypeObject_ApplicableOccurrence_IS_OPTIONAL
+#define SCHEMA_IfcTypeObject_HAS_HasPropertySets
+#define SCHEMA_IfcTypeObject_HasPropertySets_IS_OPTIONAL
+#define SCHEMA_IfcTypeObject_HAS_Types
+#define SCHEMA_HAS_IfcTypeProcess
+#define SCHEMA_IfcTypeProcess_HAS_Identification
+#define SCHEMA_IfcTypeProcess_Identification_IS_OPTIONAL
+#define SCHEMA_IfcTypeProcess_HAS_LongDescription
+#define SCHEMA_IfcTypeProcess_LongDescription_IS_OPTIONAL
+#define SCHEMA_IfcTypeProcess_HAS_ProcessType
+#define SCHEMA_IfcTypeProcess_ProcessType_IS_OPTIONAL
+#define SCHEMA_IfcTypeProcess_HAS_OperatesOn
+#define SCHEMA_HAS_IfcTypeProduct
+#define SCHEMA_IfcTypeProduct_HAS_RepresentationMaps
+#define SCHEMA_IfcTypeProduct_RepresentationMaps_IS_OPTIONAL
+#define SCHEMA_IfcTypeProduct_HAS_Tag
+#define SCHEMA_IfcTypeProduct_Tag_IS_OPTIONAL
+#define SCHEMA_IfcTypeProduct_HAS_ReferencedBy
+#define SCHEMA_HAS_IfcTypeResource
+#define SCHEMA_IfcTypeResource_HAS_Identification
+#define SCHEMA_IfcTypeResource_Identification_IS_OPTIONAL
+#define SCHEMA_IfcTypeResource_HAS_LongDescription
+#define SCHEMA_IfcTypeResource_LongDescription_IS_OPTIONAL
+#define SCHEMA_IfcTypeResource_HAS_ResourceType
+#define SCHEMA_IfcTypeResource_ResourceType_IS_OPTIONAL
+#define SCHEMA_IfcTypeResource_HAS_ResourceOf
+#define SCHEMA_HAS_IfcUShapeProfileDef
+#define SCHEMA_IfcUShapeProfileDef_HAS_Depth
+#define SCHEMA_IfcUShapeProfileDef_HAS_FlangeWidth
+#define SCHEMA_IfcUShapeProfileDef_HAS_WebThickness
+#define SCHEMA_IfcUShapeProfileDef_HAS_FlangeThickness
+#define SCHEMA_IfcUShapeProfileDef_HAS_FilletRadius
+#define SCHEMA_IfcUShapeProfileDef_FilletRadius_IS_OPTIONAL
+#define SCHEMA_IfcUShapeProfileDef_HAS_EdgeRadius
+#define SCHEMA_IfcUShapeProfileDef_EdgeRadius_IS_OPTIONAL
+#define SCHEMA_IfcUShapeProfileDef_HAS_FlangeSlope
+#define SCHEMA_IfcUShapeProfileDef_FlangeSlope_IS_OPTIONAL
+#define SCHEMA_HAS_IfcUnitAssignment
+#define SCHEMA_IfcUnitAssignment_HAS_Units
+#define SCHEMA_HAS_IfcUnitaryControlElement
+#define SCHEMA_IfcUnitaryControlElement_HAS_PredefinedType
+#define SCHEMA_IfcUnitaryControlElement_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcUnitaryControlElementType
+#define SCHEMA_IfcUnitaryControlElementType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcUnitaryEquipment
+#define SCHEMA_IfcUnitaryEquipment_HAS_PredefinedType
+#define SCHEMA_IfcUnitaryEquipment_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcUnitaryEquipmentType
+#define SCHEMA_IfcUnitaryEquipmentType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcValve
+#define SCHEMA_IfcValve_HAS_PredefinedType
+#define SCHEMA_IfcValve_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcValveType
+#define SCHEMA_IfcValveType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcVector
+#define SCHEMA_IfcVector_HAS_Orientation
+#define SCHEMA_IfcVector_HAS_Magnitude
+#define SCHEMA_HAS_IfcVertex
+#define SCHEMA_HAS_IfcVertexLoop
+#define SCHEMA_IfcVertexLoop_HAS_LoopVertex
+#define SCHEMA_HAS_IfcVertexPoint
+#define SCHEMA_IfcVertexPoint_HAS_VertexGeometry
+#define SCHEMA_HAS_IfcVibrationDamper
+#define SCHEMA_IfcVibrationDamper_HAS_PredefinedType
+#define SCHEMA_IfcVibrationDamper_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcVibrationDamperType
+#define SCHEMA_IfcVibrationDamperType_HAS_PredefinedType
+#define SCHEMA_IfcVibrationDamperType_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcVibrationIsolator
+#define SCHEMA_IfcVibrationIsolator_HAS_PredefinedType
+#define SCHEMA_IfcVibrationIsolator_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcVibrationIsolatorType
+#define SCHEMA_IfcVibrationIsolatorType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcVirtualElement
+#define SCHEMA_HAS_IfcVirtualGridIntersection
+#define SCHEMA_IfcVirtualGridIntersection_HAS_IntersectingAxes
+#define SCHEMA_IfcVirtualGridIntersection_HAS_OffsetDistances
+#define SCHEMA_HAS_IfcVoidStratum
+#define SCHEMA_HAS_IfcVoidingFeature
+#define SCHEMA_IfcVoidingFeature_HAS_PredefinedType
+#define SCHEMA_IfcVoidingFeature_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcWall
+#define SCHEMA_IfcWall_HAS_PredefinedType
+#define SCHEMA_IfcWall_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcWallElementedCase
+#define SCHEMA_HAS_IfcWallStandardCase
+#define SCHEMA_HAS_IfcWallType
+#define SCHEMA_IfcWallType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcWasteTerminal
+#define SCHEMA_IfcWasteTerminal_HAS_PredefinedType
+#define SCHEMA_IfcWasteTerminal_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcWasteTerminalType
+#define SCHEMA_IfcWasteTerminalType_HAS_PredefinedType
+#define SCHEMA_HAS_IfcWaterStratum
+#define SCHEMA_HAS_IfcWindow
+#define SCHEMA_IfcWindow_HAS_OverallHeight
+#define SCHEMA_IfcWindow_OverallHeight_IS_OPTIONAL
+#define SCHEMA_IfcWindow_HAS_OverallWidth
+#define SCHEMA_IfcWindow_OverallWidth_IS_OPTIONAL
+#define SCHEMA_IfcWindow_HAS_PredefinedType
+#define SCHEMA_IfcWindow_PredefinedType_IS_OPTIONAL
+#define SCHEMA_IfcWindow_HAS_PartitioningType
+#define SCHEMA_IfcWindow_PartitioningType_IS_OPTIONAL
+#define SCHEMA_IfcWindow_HAS_UserDefinedPartitioningType
+#define SCHEMA_IfcWindow_UserDefinedPartitioningType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcWindowLiningProperties
+#define SCHEMA_IfcWindowLiningProperties_HAS_LiningDepth
+#define SCHEMA_IfcWindowLiningProperties_LiningDepth_IS_OPTIONAL
+#define SCHEMA_IfcWindowLiningProperties_HAS_LiningThickness
+#define SCHEMA_IfcWindowLiningProperties_LiningThickness_IS_OPTIONAL
+#define SCHEMA_IfcWindowLiningProperties_HAS_TransomThickness
+#define SCHEMA_IfcWindowLiningProperties_TransomThickness_IS_OPTIONAL
+#define SCHEMA_IfcWindowLiningProperties_HAS_MullionThickness
+#define SCHEMA_IfcWindowLiningProperties_MullionThickness_IS_OPTIONAL
+#define SCHEMA_IfcWindowLiningProperties_HAS_FirstTransomOffset
+#define SCHEMA_IfcWindowLiningProperties_FirstTransomOffset_IS_OPTIONAL
+#define SCHEMA_IfcWindowLiningProperties_HAS_SecondTransomOffset
+#define SCHEMA_IfcWindowLiningProperties_SecondTransomOffset_IS_OPTIONAL
+#define SCHEMA_IfcWindowLiningProperties_HAS_FirstMullionOffset
+#define SCHEMA_IfcWindowLiningProperties_FirstMullionOffset_IS_OPTIONAL
+#define SCHEMA_IfcWindowLiningProperties_HAS_SecondMullionOffset
+#define SCHEMA_IfcWindowLiningProperties_SecondMullionOffset_IS_OPTIONAL
+#define SCHEMA_IfcWindowLiningProperties_HAS_ShapeAspectStyle
+#define SCHEMA_IfcWindowLiningProperties_ShapeAspectStyle_IS_OPTIONAL
+#define SCHEMA_IfcWindowLiningProperties_HAS_LiningOffset
+#define SCHEMA_IfcWindowLiningProperties_LiningOffset_IS_OPTIONAL
+#define SCHEMA_IfcWindowLiningProperties_HAS_LiningToPanelOffsetX
+#define SCHEMA_IfcWindowLiningProperties_LiningToPanelOffsetX_IS_OPTIONAL
+#define SCHEMA_IfcWindowLiningProperties_HAS_LiningToPanelOffsetY
+#define SCHEMA_IfcWindowLiningProperties_LiningToPanelOffsetY_IS_OPTIONAL
+#define SCHEMA_HAS_IfcWindowPanelProperties
+#define SCHEMA_IfcWindowPanelProperties_HAS_OperationType
+#define SCHEMA_IfcWindowPanelProperties_HAS_PanelPosition
+#define SCHEMA_IfcWindowPanelProperties_HAS_FrameDepth
+#define SCHEMA_IfcWindowPanelProperties_FrameDepth_IS_OPTIONAL
+#define SCHEMA_IfcWindowPanelProperties_HAS_FrameThickness
+#define SCHEMA_IfcWindowPanelProperties_FrameThickness_IS_OPTIONAL
+#define SCHEMA_IfcWindowPanelProperties_HAS_ShapeAspectStyle
+#define SCHEMA_IfcWindowPanelProperties_ShapeAspectStyle_IS_OPTIONAL
+#define SCHEMA_HAS_IfcWindowStandardCase
+#define SCHEMA_HAS_IfcWindowStyle
+#define SCHEMA_IfcWindowStyle_HAS_ConstructionType
+#define SCHEMA_IfcWindowStyle_HAS_OperationType
+#define SCHEMA_IfcWindowStyle_HAS_ParameterTakesPrecedence
+#define SCHEMA_IfcWindowStyle_HAS_Sizeable
+#define SCHEMA_HAS_IfcWindowType
+#define SCHEMA_IfcWindowType_HAS_PredefinedType
+#define SCHEMA_IfcWindowType_HAS_PartitioningType
+#define SCHEMA_IfcWindowType_HAS_ParameterTakesPrecedence
+#define SCHEMA_IfcWindowType_ParameterTakesPrecedence_IS_OPTIONAL
+#define SCHEMA_IfcWindowType_HAS_UserDefinedPartitioningType
+#define SCHEMA_IfcWindowType_UserDefinedPartitioningType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcWorkCalendar
+#define SCHEMA_IfcWorkCalendar_HAS_WorkingTimes
+#define SCHEMA_IfcWorkCalendar_WorkingTimes_IS_OPTIONAL
+#define SCHEMA_IfcWorkCalendar_HAS_ExceptionTimes
+#define SCHEMA_IfcWorkCalendar_ExceptionTimes_IS_OPTIONAL
+#define SCHEMA_IfcWorkCalendar_HAS_PredefinedType
+#define SCHEMA_IfcWorkCalendar_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcWorkControl
+#define SCHEMA_IfcWorkControl_HAS_CreationDate
+#define SCHEMA_IfcWorkControl_HAS_Creators
+#define SCHEMA_IfcWorkControl_Creators_IS_OPTIONAL
+#define SCHEMA_IfcWorkControl_HAS_Purpose
+#define SCHEMA_IfcWorkControl_Purpose_IS_OPTIONAL
+#define SCHEMA_IfcWorkControl_HAS_Duration
+#define SCHEMA_IfcWorkControl_Duration_IS_OPTIONAL
+#define SCHEMA_IfcWorkControl_HAS_TotalFloat
+#define SCHEMA_IfcWorkControl_TotalFloat_IS_OPTIONAL
+#define SCHEMA_IfcWorkControl_HAS_StartTime
+#define SCHEMA_IfcWorkControl_HAS_FinishTime
+#define SCHEMA_IfcWorkControl_FinishTime_IS_OPTIONAL
+#define SCHEMA_HAS_IfcWorkPlan
+#define SCHEMA_IfcWorkPlan_HAS_PredefinedType
+#define SCHEMA_IfcWorkPlan_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcWorkSchedule
+#define SCHEMA_IfcWorkSchedule_HAS_PredefinedType
+#define SCHEMA_IfcWorkSchedule_PredefinedType_IS_OPTIONAL
+#define SCHEMA_HAS_IfcWorkTime
+#define SCHEMA_IfcWorkTime_HAS_RecurrencePattern
+#define SCHEMA_IfcWorkTime_RecurrencePattern_IS_OPTIONAL
+#define SCHEMA_IfcWorkTime_HAS_Start
+#define SCHEMA_IfcWorkTime_Start_IS_OPTIONAL
+#define SCHEMA_IfcWorkTime_HAS_Finish
+#define SCHEMA_IfcWorkTime_Finish_IS_OPTIONAL
+#define SCHEMA_HAS_IfcZShapeProfileDef
+#define SCHEMA_IfcZShapeProfileDef_HAS_Depth
+#define SCHEMA_IfcZShapeProfileDef_HAS_FlangeWidth
+#define SCHEMA_IfcZShapeProfileDef_HAS_WebThickness
+#define SCHEMA_IfcZShapeProfileDef_HAS_FlangeThickness
+#define SCHEMA_IfcZShapeProfileDef_HAS_FilletRadius
+#define SCHEMA_IfcZShapeProfileDef_FilletRadius_IS_OPTIONAL
+#define SCHEMA_IfcZShapeProfileDef_HAS_EdgeRadius
+#define SCHEMA_IfcZShapeProfileDef_EdgeRadius_IS_OPTIONAL
+#define SCHEMA_HAS_IfcZone
+#define SCHEMA_IfcZone_HAS_LongName
+#define SCHEMA_IfcZone_LongName_IS_OPTIONAL
diff --git a/src/ifcparse/Ifc4x3_rc1-schema.cpp b/src/ifcparse/Ifc4x3_rc1-schema.cpp
new file mode 100644
index 0000000000..58b023b524
--- /dev/null
+++ b/src/ifcparse/Ifc4x3_rc1-schema.cpp
@@ -0,0 +1,16909 @@
+/********************************************************************************
+ * *
+ * 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_RC1.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_rc1.h"
+
+using namespace IfcParse;
+
+entity* IFC4X3_RC1_IfcActionRequest_type = 0;
+entity* IFC4X3_RC1_IfcActor_type = 0;
+entity* IFC4X3_RC1_IfcActorRole_type = 0;
+entity* IFC4X3_RC1_IfcActuator_type = 0;
+entity* IFC4X3_RC1_IfcActuatorType_type = 0;
+entity* IFC4X3_RC1_IfcAddress_type = 0;
+entity* IFC4X3_RC1_IfcAdvancedBrep_type = 0;
+entity* IFC4X3_RC1_IfcAdvancedBrepWithVoids_type = 0;
+entity* IFC4X3_RC1_IfcAdvancedFace_type = 0;
+entity* IFC4X3_RC1_IfcAirTerminal_type = 0;
+entity* IFC4X3_RC1_IfcAirTerminalBox_type = 0;
+entity* IFC4X3_RC1_IfcAirTerminalBoxType_type = 0;
+entity* IFC4X3_RC1_IfcAirTerminalType_type = 0;
+entity* IFC4X3_RC1_IfcAirToAirHeatRecovery_type = 0;
+entity* IFC4X3_RC1_IfcAirToAirHeatRecoveryType_type = 0;
+entity* IFC4X3_RC1_IfcAlarm_type = 0;
+entity* IFC4X3_RC1_IfcAlarmType_type = 0;
+entity* IFC4X3_RC1_IfcAlignment_type = 0;
+entity* IFC4X3_RC1_IfcAlignment2DCant_type = 0;
+entity* IFC4X3_RC1_IfcAlignment2DCantSegLine_type = 0;
+entity* IFC4X3_RC1_IfcAlignment2DCantSegTransition_type = 0;
+entity* IFC4X3_RC1_IfcAlignment2DCantSegment_type = 0;
+entity* IFC4X3_RC1_IfcAlignment2DHorizontal_type = 0;
+entity* IFC4X3_RC1_IfcAlignment2DHorizontalSegment_type = 0;
+entity* IFC4X3_RC1_IfcAlignment2DSegment_type = 0;
+entity* IFC4X3_RC1_IfcAlignment2DVerSegCircularArc_type = 0;
+entity* IFC4X3_RC1_IfcAlignment2DVerSegLine_type = 0;
+entity* IFC4X3_RC1_IfcAlignment2DVerSegParabolicArc_type = 0;
+entity* IFC4X3_RC1_IfcAlignment2DVerSegTransition_type = 0;
+entity* IFC4X3_RC1_IfcAlignment2DVertical_type = 0;
+entity* IFC4X3_RC1_IfcAlignment2DVerticalSegment_type = 0;
+entity* IFC4X3_RC1_IfcAlignmentCurve_type = 0;
+entity* IFC4X3_RC1_IfcAnnotation_type = 0;
+entity* IFC4X3_RC1_IfcAnnotationFillArea_type = 0;
+entity* IFC4X3_RC1_IfcApplication_type = 0;
+entity* IFC4X3_RC1_IfcAppliedValue_type = 0;
+entity* IFC4X3_RC1_IfcApproval_type = 0;
+entity* IFC4X3_RC1_IfcApprovalRelationship_type = 0;
+entity* IFC4X3_RC1_IfcArbitraryClosedProfileDef_type = 0;
+entity* IFC4X3_RC1_IfcArbitraryOpenProfileDef_type = 0;
+entity* IFC4X3_RC1_IfcArbitraryProfileDefWithVoids_type = 0;
+entity* IFC4X3_RC1_IfcAsset_type = 0;
+entity* IFC4X3_RC1_IfcAsymmetricIShapeProfileDef_type = 0;
+entity* IFC4X3_RC1_IfcAudioVisualAppliance_type = 0;
+entity* IFC4X3_RC1_IfcAudioVisualApplianceType_type = 0;
+entity* IFC4X3_RC1_IfcAxis1Placement_type = 0;
+entity* IFC4X3_RC1_IfcAxis2Placement2D_type = 0;
+entity* IFC4X3_RC1_IfcAxis2Placement3D_type = 0;
+entity* IFC4X3_RC1_IfcAxisLateralInclination_type = 0;
+entity* IFC4X3_RC1_IfcBSplineCurve_type = 0;
+entity* IFC4X3_RC1_IfcBSplineCurveWithKnots_type = 0;
+entity* IFC4X3_RC1_IfcBSplineSurface_type = 0;
+entity* IFC4X3_RC1_IfcBSplineSurfaceWithKnots_type = 0;
+entity* IFC4X3_RC1_IfcBeam_type = 0;
+entity* IFC4X3_RC1_IfcBeamStandardCase_type = 0;
+entity* IFC4X3_RC1_IfcBeamType_type = 0;
+entity* IFC4X3_RC1_IfcBearing_type = 0;
+entity* IFC4X3_RC1_IfcBearingType_type = 0;
+entity* IFC4X3_RC1_IfcBlobTexture_type = 0;
+entity* IFC4X3_RC1_IfcBlock_type = 0;
+entity* IFC4X3_RC1_IfcBoiler_type = 0;
+entity* IFC4X3_RC1_IfcBoilerType_type = 0;
+entity* IFC4X3_RC1_IfcBooleanClippingResult_type = 0;
+entity* IFC4X3_RC1_IfcBooleanResult_type = 0;
+entity* IFC4X3_RC1_IfcBorehole_type = 0;
+entity* IFC4X3_RC1_IfcBoundaryCondition_type = 0;
+entity* IFC4X3_RC1_IfcBoundaryCurve_type = 0;
+entity* IFC4X3_RC1_IfcBoundaryEdgeCondition_type = 0;
+entity* IFC4X3_RC1_IfcBoundaryFaceCondition_type = 0;
+entity* IFC4X3_RC1_IfcBoundaryNodeCondition_type = 0;
+entity* IFC4X3_RC1_IfcBoundaryNodeConditionWarping_type = 0;
+entity* IFC4X3_RC1_IfcBoundedCurve_type = 0;
+entity* IFC4X3_RC1_IfcBoundedSurface_type = 0;
+entity* IFC4X3_RC1_IfcBoundingBox_type = 0;
+entity* IFC4X3_RC1_IfcBoxedHalfSpace_type = 0;
+entity* IFC4X3_RC1_IfcBridge_type = 0;
+entity* IFC4X3_RC1_IfcBridgePart_type = 0;
+entity* IFC4X3_RC1_IfcBuilding_type = 0;
+entity* IFC4X3_RC1_IfcBuildingElementPart_type = 0;
+entity* IFC4X3_RC1_IfcBuildingElementPartType_type = 0;
+entity* IFC4X3_RC1_IfcBuildingElementProxy_type = 0;
+entity* IFC4X3_RC1_IfcBuildingElementProxyType_type = 0;
+entity* IFC4X3_RC1_IfcBuildingStorey_type = 0;
+entity* IFC4X3_RC1_IfcBuildingSystem_type = 0;
+entity* IFC4X3_RC1_IfcBuiltElement_type = 0;
+entity* IFC4X3_RC1_IfcBuiltElementType_type = 0;
+entity* IFC4X3_RC1_IfcBuiltSystem_type = 0;
+entity* IFC4X3_RC1_IfcBurner_type = 0;
+entity* IFC4X3_RC1_IfcBurnerType_type = 0;
+entity* IFC4X3_RC1_IfcCShapeProfileDef_type = 0;
+entity* IFC4X3_RC1_IfcCableCarrierFitting_type = 0;
+entity* IFC4X3_RC1_IfcCableCarrierFittingType_type = 0;
+entity* IFC4X3_RC1_IfcCableCarrierSegment_type = 0;
+entity* IFC4X3_RC1_IfcCableCarrierSegmentType_type = 0;
+entity* IFC4X3_RC1_IfcCableFitting_type = 0;
+entity* IFC4X3_RC1_IfcCableFittingType_type = 0;
+entity* IFC4X3_RC1_IfcCableSegment_type = 0;
+entity* IFC4X3_RC1_IfcCableSegmentType_type = 0;
+entity* IFC4X3_RC1_IfcCaissonFoundation_type = 0;
+entity* IFC4X3_RC1_IfcCaissonFoundationType_type = 0;
+entity* IFC4X3_RC1_IfcCartesianPoint_type = 0;
+entity* IFC4X3_RC1_IfcCartesianPointList_type = 0;
+entity* IFC4X3_RC1_IfcCartesianPointList2D_type = 0;
+entity* IFC4X3_RC1_IfcCartesianPointList3D_type = 0;
+entity* IFC4X3_RC1_IfcCartesianTransformationOperator_type = 0;
+entity* IFC4X3_RC1_IfcCartesianTransformationOperator2D_type = 0;
+entity* IFC4X3_RC1_IfcCartesianTransformationOperator2DnonUniform_type = 0;
+entity* IFC4X3_RC1_IfcCartesianTransformationOperator3D_type = 0;
+entity* IFC4X3_RC1_IfcCartesianTransformationOperator3DnonUniform_type = 0;
+entity* IFC4X3_RC1_IfcCenterLineProfileDef_type = 0;
+entity* IFC4X3_RC1_IfcChiller_type = 0;
+entity* IFC4X3_RC1_IfcChillerType_type = 0;
+entity* IFC4X3_RC1_IfcChimney_type = 0;
+entity* IFC4X3_RC1_IfcChimneyType_type = 0;
+entity* IFC4X3_RC1_IfcCircle_type = 0;
+entity* IFC4X3_RC1_IfcCircleHollowProfileDef_type = 0;
+entity* IFC4X3_RC1_IfcCircleProfileDef_type = 0;
+entity* IFC4X3_RC1_IfcCircularArcSegment2D_type = 0;
+entity* IFC4X3_RC1_IfcCivilElement_type = 0;
+entity* IFC4X3_RC1_IfcCivilElementType_type = 0;
+entity* IFC4X3_RC1_IfcClassification_type = 0;
+entity* IFC4X3_RC1_IfcClassificationReference_type = 0;
+entity* IFC4X3_RC1_IfcClosedShell_type = 0;
+entity* IFC4X3_RC1_IfcCoil_type = 0;
+entity* IFC4X3_RC1_IfcCoilType_type = 0;
+entity* IFC4X3_RC1_IfcColourRgb_type = 0;
+entity* IFC4X3_RC1_IfcColourRgbList_type = 0;
+entity* IFC4X3_RC1_IfcColourSpecification_type = 0;
+entity* IFC4X3_RC1_IfcColumn_type = 0;
+entity* IFC4X3_RC1_IfcColumnStandardCase_type = 0;
+entity* IFC4X3_RC1_IfcColumnType_type = 0;
+entity* IFC4X3_RC1_IfcCommunicationsAppliance_type = 0;
+entity* IFC4X3_RC1_IfcCommunicationsApplianceType_type = 0;
+entity* IFC4X3_RC1_IfcComplexProperty_type = 0;
+entity* IFC4X3_RC1_IfcComplexPropertyTemplate_type = 0;
+entity* IFC4X3_RC1_IfcCompositeCurve_type = 0;
+entity* IFC4X3_RC1_IfcCompositeCurveOnSurface_type = 0;
+entity* IFC4X3_RC1_IfcCompositeCurveSegment_type = 0;
+entity* IFC4X3_RC1_IfcCompositeProfileDef_type = 0;
+entity* IFC4X3_RC1_IfcCompressor_type = 0;
+entity* IFC4X3_RC1_IfcCompressorType_type = 0;
+entity* IFC4X3_RC1_IfcCondenser_type = 0;
+entity* IFC4X3_RC1_IfcCondenserType_type = 0;
+entity* IFC4X3_RC1_IfcConic_type = 0;
+entity* IFC4X3_RC1_IfcConnectedFaceSet_type = 0;
+entity* IFC4X3_RC1_IfcConnectionCurveGeometry_type = 0;
+entity* IFC4X3_RC1_IfcConnectionGeometry_type = 0;
+entity* IFC4X3_RC1_IfcConnectionPointEccentricity_type = 0;
+entity* IFC4X3_RC1_IfcConnectionPointGeometry_type = 0;
+entity* IFC4X3_RC1_IfcConnectionSurfaceGeometry_type = 0;
+entity* IFC4X3_RC1_IfcConnectionVolumeGeometry_type = 0;
+entity* IFC4X3_RC1_IfcConstraint_type = 0;
+entity* IFC4X3_RC1_IfcConstructionEquipmentResource_type = 0;
+entity* IFC4X3_RC1_IfcConstructionEquipmentResourceType_type = 0;
+entity* IFC4X3_RC1_IfcConstructionMaterialResource_type = 0;
+entity* IFC4X3_RC1_IfcConstructionMaterialResourceType_type = 0;
+entity* IFC4X3_RC1_IfcConstructionProductResource_type = 0;
+entity* IFC4X3_RC1_IfcConstructionProductResourceType_type = 0;
+entity* IFC4X3_RC1_IfcConstructionResource_type = 0;
+entity* IFC4X3_RC1_IfcConstructionResourceType_type = 0;
+entity* IFC4X3_RC1_IfcContext_type = 0;
+entity* IFC4X3_RC1_IfcContextDependentUnit_type = 0;
+entity* IFC4X3_RC1_IfcControl_type = 0;
+entity* IFC4X3_RC1_IfcController_type = 0;
+entity* IFC4X3_RC1_IfcControllerType_type = 0;
+entity* IFC4X3_RC1_IfcConversionBasedUnit_type = 0;
+entity* IFC4X3_RC1_IfcConversionBasedUnitWithOffset_type = 0;
+entity* IFC4X3_RC1_IfcConveyorSegment_type = 0;
+entity* IFC4X3_RC1_IfcConveyorSegmentType_type = 0;
+entity* IFC4X3_RC1_IfcCooledBeam_type = 0;
+entity* IFC4X3_RC1_IfcCooledBeamType_type = 0;
+entity* IFC4X3_RC1_IfcCoolingTower_type = 0;
+entity* IFC4X3_RC1_IfcCoolingTowerType_type = 0;
+entity* IFC4X3_RC1_IfcCoordinateOperation_type = 0;
+entity* IFC4X3_RC1_IfcCoordinateReferenceSystem_type = 0;
+entity* IFC4X3_RC1_IfcCostItem_type = 0;
+entity* IFC4X3_RC1_IfcCostSchedule_type = 0;
+entity* IFC4X3_RC1_IfcCostValue_type = 0;
+entity* IFC4X3_RC1_IfcCourse_type = 0;
+entity* IFC4X3_RC1_IfcCourseType_type = 0;
+entity* IFC4X3_RC1_IfcCovering_type = 0;
+entity* IFC4X3_RC1_IfcCoveringType_type = 0;
+entity* IFC4X3_RC1_IfcCrewResource_type = 0;
+entity* IFC4X3_RC1_IfcCrewResourceType_type = 0;
+entity* IFC4X3_RC1_IfcCsgPrimitive3D_type = 0;
+entity* IFC4X3_RC1_IfcCsgSolid_type = 0;
+entity* IFC4X3_RC1_IfcCurrencyRelationship_type = 0;
+entity* IFC4X3_RC1_IfcCurtainWall_type = 0;
+entity* IFC4X3_RC1_IfcCurtainWallType_type = 0;
+entity* IFC4X3_RC1_IfcCurve_type = 0;
+entity* IFC4X3_RC1_IfcCurveBoundedPlane_type = 0;
+entity* IFC4X3_RC1_IfcCurveBoundedSurface_type = 0;
+entity* IFC4X3_RC1_IfcCurveSegment2D_type = 0;
+entity* IFC4X3_RC1_IfcCurveStyle_type = 0;
+entity* IFC4X3_RC1_IfcCurveStyleFont_type = 0;
+entity* IFC4X3_RC1_IfcCurveStyleFontAndScaling_type = 0;
+entity* IFC4X3_RC1_IfcCurveStyleFontPattern_type = 0;
+entity* IFC4X3_RC1_IfcCylindricalSurface_type = 0;
+entity* IFC4X3_RC1_IfcDamper_type = 0;
+entity* IFC4X3_RC1_IfcDamperType_type = 0;
+entity* IFC4X3_RC1_IfcDeepFoundation_type = 0;
+entity* IFC4X3_RC1_IfcDeepFoundationType_type = 0;
+entity* IFC4X3_RC1_IfcDerivedProfileDef_type = 0;
+entity* IFC4X3_RC1_IfcDerivedUnit_type = 0;
+entity* IFC4X3_RC1_IfcDerivedUnitElement_type = 0;
+entity* IFC4X3_RC1_IfcDimensionalExponents_type = 0;
+entity* IFC4X3_RC1_IfcDirection_type = 0;
+entity* IFC4X3_RC1_IfcDirectrixCurveSweptAreaSolid_type = 0;
+entity* IFC4X3_RC1_IfcDirectrixDistanceSweptAreaSolid_type = 0;
+entity* IFC4X3_RC1_IfcDiscreteAccessory_type = 0;
+entity* IFC4X3_RC1_IfcDiscreteAccessoryType_type = 0;
+entity* IFC4X3_RC1_IfcDistanceExpression_type = 0;
+entity* IFC4X3_RC1_IfcDistributionBoard_type = 0;
+entity* IFC4X3_RC1_IfcDistributionBoardType_type = 0;
+entity* IFC4X3_RC1_IfcDistributionChamberElement_type = 0;
+entity* IFC4X3_RC1_IfcDistributionChamberElementType_type = 0;
+entity* IFC4X3_RC1_IfcDistributionCircuit_type = 0;
+entity* IFC4X3_RC1_IfcDistributionControlElement_type = 0;
+entity* IFC4X3_RC1_IfcDistributionControlElementType_type = 0;
+entity* IFC4X3_RC1_IfcDistributionElement_type = 0;
+entity* IFC4X3_RC1_IfcDistributionElementType_type = 0;
+entity* IFC4X3_RC1_IfcDistributionFlowElement_type = 0;
+entity* IFC4X3_RC1_IfcDistributionFlowElementType_type = 0;
+entity* IFC4X3_RC1_IfcDistributionPort_type = 0;
+entity* IFC4X3_RC1_IfcDistributionSystem_type = 0;
+entity* IFC4X3_RC1_IfcDocumentInformation_type = 0;
+entity* IFC4X3_RC1_IfcDocumentInformationRelationship_type = 0;
+entity* IFC4X3_RC1_IfcDocumentReference_type = 0;
+entity* IFC4X3_RC1_IfcDoor_type = 0;
+entity* IFC4X3_RC1_IfcDoorLiningProperties_type = 0;
+entity* IFC4X3_RC1_IfcDoorPanelProperties_type = 0;
+entity* IFC4X3_RC1_IfcDoorStandardCase_type = 0;
+entity* IFC4X3_RC1_IfcDoorStyle_type = 0;
+entity* IFC4X3_RC1_IfcDoorType_type = 0;
+entity* IFC4X3_RC1_IfcDraughtingPreDefinedColour_type = 0;
+entity* IFC4X3_RC1_IfcDraughtingPreDefinedCurveFont_type = 0;
+entity* IFC4X3_RC1_IfcDuctFitting_type = 0;
+entity* IFC4X3_RC1_IfcDuctFittingType_type = 0;
+entity* IFC4X3_RC1_IfcDuctSegment_type = 0;
+entity* IFC4X3_RC1_IfcDuctSegmentType_type = 0;
+entity* IFC4X3_RC1_IfcDuctSilencer_type = 0;
+entity* IFC4X3_RC1_IfcDuctSilencerType_type = 0;
+entity* IFC4X3_RC1_IfcEarthworksCut_type = 0;
+entity* IFC4X3_RC1_IfcEarthworksElement_type = 0;
+entity* IFC4X3_RC1_IfcEarthworksFill_type = 0;
+entity* IFC4X3_RC1_IfcEdge_type = 0;
+entity* IFC4X3_RC1_IfcEdgeCurve_type = 0;
+entity* IFC4X3_RC1_IfcEdgeLoop_type = 0;
+entity* IFC4X3_RC1_IfcElectricAppliance_type = 0;
+entity* IFC4X3_RC1_IfcElectricApplianceType_type = 0;
+entity* IFC4X3_RC1_IfcElectricDistributionBoard_type = 0;
+entity* IFC4X3_RC1_IfcElectricDistributionBoardType_type = 0;
+entity* IFC4X3_RC1_IfcElectricFlowStorageDevice_type = 0;
+entity* IFC4X3_RC1_IfcElectricFlowStorageDeviceType_type = 0;
+entity* IFC4X3_RC1_IfcElectricFlowTreatmentDevice_type = 0;
+entity* IFC4X3_RC1_IfcElectricFlowTreatmentDeviceType_type = 0;
+entity* IFC4X3_RC1_IfcElectricGenerator_type = 0;
+entity* IFC4X3_RC1_IfcElectricGeneratorType_type = 0;
+entity* IFC4X3_RC1_IfcElectricMotor_type = 0;
+entity* IFC4X3_RC1_IfcElectricMotorType_type = 0;
+entity* IFC4X3_RC1_IfcElectricTimeControl_type = 0;
+entity* IFC4X3_RC1_IfcElectricTimeControlType_type = 0;
+entity* IFC4X3_RC1_IfcElement_type = 0;
+entity* IFC4X3_RC1_IfcElementAssembly_type = 0;
+entity* IFC4X3_RC1_IfcElementAssemblyType_type = 0;
+entity* IFC4X3_RC1_IfcElementComponent_type = 0;
+entity* IFC4X3_RC1_IfcElementComponentType_type = 0;
+entity* IFC4X3_RC1_IfcElementQuantity_type = 0;
+entity* IFC4X3_RC1_IfcElementType_type = 0;
+entity* IFC4X3_RC1_IfcElementarySurface_type = 0;
+entity* IFC4X3_RC1_IfcEllipse_type = 0;
+entity* IFC4X3_RC1_IfcEllipseProfileDef_type = 0;
+entity* IFC4X3_RC1_IfcEnergyConversionDevice_type = 0;
+entity* IFC4X3_RC1_IfcEnergyConversionDeviceType_type = 0;
+entity* IFC4X3_RC1_IfcEngine_type = 0;
+entity* IFC4X3_RC1_IfcEngineType_type = 0;
+entity* IFC4X3_RC1_IfcEvaporativeCooler_type = 0;
+entity* IFC4X3_RC1_IfcEvaporativeCoolerType_type = 0;
+entity* IFC4X3_RC1_IfcEvaporator_type = 0;
+entity* IFC4X3_RC1_IfcEvaporatorType_type = 0;
+entity* IFC4X3_RC1_IfcEvent_type = 0;
+entity* IFC4X3_RC1_IfcEventTime_type = 0;
+entity* IFC4X3_RC1_IfcEventType_type = 0;
+entity* IFC4X3_RC1_IfcExtendedProperties_type = 0;
+entity* IFC4X3_RC1_IfcExternalInformation_type = 0;
+entity* IFC4X3_RC1_IfcExternalReference_type = 0;
+entity* IFC4X3_RC1_IfcExternalReferenceRelationship_type = 0;
+entity* IFC4X3_RC1_IfcExternalSpatialElement_type = 0;
+entity* IFC4X3_RC1_IfcExternalSpatialStructureElement_type = 0;
+entity* IFC4X3_RC1_IfcExternallyDefinedHatchStyle_type = 0;
+entity* IFC4X3_RC1_IfcExternallyDefinedSurfaceStyle_type = 0;
+entity* IFC4X3_RC1_IfcExternallyDefinedTextFont_type = 0;
+entity* IFC4X3_RC1_IfcExtrudedAreaSolid_type = 0;
+entity* IFC4X3_RC1_IfcExtrudedAreaSolidTapered_type = 0;
+entity* IFC4X3_RC1_IfcFace_type = 0;
+entity* IFC4X3_RC1_IfcFaceBasedSurfaceModel_type = 0;
+entity* IFC4X3_RC1_IfcFaceBound_type = 0;
+entity* IFC4X3_RC1_IfcFaceOuterBound_type = 0;
+entity* IFC4X3_RC1_IfcFaceSurface_type = 0;
+entity* IFC4X3_RC1_IfcFacetedBrep_type = 0;
+entity* IFC4X3_RC1_IfcFacetedBrepWithVoids_type = 0;
+entity* IFC4X3_RC1_IfcFacility_type = 0;
+entity* IFC4X3_RC1_IfcFacilityPart_type = 0;
+entity* IFC4X3_RC1_IfcFailureConnectionCondition_type = 0;
+entity* IFC4X3_RC1_IfcFan_type = 0;
+entity* IFC4X3_RC1_IfcFanType_type = 0;
+entity* IFC4X3_RC1_IfcFastener_type = 0;
+entity* IFC4X3_RC1_IfcFastenerType_type = 0;
+entity* IFC4X3_RC1_IfcFeatureElement_type = 0;
+entity* IFC4X3_RC1_IfcFeatureElementAddition_type = 0;
+entity* IFC4X3_RC1_IfcFeatureElementSubtraction_type = 0;
+entity* IFC4X3_RC1_IfcFillAreaStyle_type = 0;
+entity* IFC4X3_RC1_IfcFillAreaStyleHatching_type = 0;
+entity* IFC4X3_RC1_IfcFillAreaStyleTiles_type = 0;
+entity* IFC4X3_RC1_IfcFilter_type = 0;
+entity* IFC4X3_RC1_IfcFilterType_type = 0;
+entity* IFC4X3_RC1_IfcFireSuppressionTerminal_type = 0;
+entity* IFC4X3_RC1_IfcFireSuppressionTerminalType_type = 0;
+entity* IFC4X3_RC1_IfcFixedReferenceSweptAreaSolid_type = 0;
+entity* IFC4X3_RC1_IfcFlowController_type = 0;
+entity* IFC4X3_RC1_IfcFlowControllerType_type = 0;
+entity* IFC4X3_RC1_IfcFlowFitting_type = 0;
+entity* IFC4X3_RC1_IfcFlowFittingType_type = 0;
+entity* IFC4X3_RC1_IfcFlowInstrument_type = 0;
+entity* IFC4X3_RC1_IfcFlowInstrumentType_type = 0;
+entity* IFC4X3_RC1_IfcFlowMeter_type = 0;
+entity* IFC4X3_RC1_IfcFlowMeterType_type = 0;
+entity* IFC4X3_RC1_IfcFlowMovingDevice_type = 0;
+entity* IFC4X3_RC1_IfcFlowMovingDeviceType_type = 0;
+entity* IFC4X3_RC1_IfcFlowSegment_type = 0;
+entity* IFC4X3_RC1_IfcFlowSegmentType_type = 0;
+entity* IFC4X3_RC1_IfcFlowStorageDevice_type = 0;
+entity* IFC4X3_RC1_IfcFlowStorageDeviceType_type = 0;
+entity* IFC4X3_RC1_IfcFlowTerminal_type = 0;
+entity* IFC4X3_RC1_IfcFlowTerminalType_type = 0;
+entity* IFC4X3_RC1_IfcFlowTreatmentDevice_type = 0;
+entity* IFC4X3_RC1_IfcFlowTreatmentDeviceType_type = 0;
+entity* IFC4X3_RC1_IfcFooting_type = 0;
+entity* IFC4X3_RC1_IfcFootingType_type = 0;
+entity* IFC4X3_RC1_IfcFurnishingElement_type = 0;
+entity* IFC4X3_RC1_IfcFurnishingElementType_type = 0;
+entity* IFC4X3_RC1_IfcFurniture_type = 0;
+entity* IFC4X3_RC1_IfcFurnitureType_type = 0;
+entity* IFC4X3_RC1_IfcGeographicElement_type = 0;
+entity* IFC4X3_RC1_IfcGeographicElementType_type = 0;
+entity* IFC4X3_RC1_IfcGeometricCurveSet_type = 0;
+entity* IFC4X3_RC1_IfcGeometricRepresentationContext_type = 0;
+entity* IFC4X3_RC1_IfcGeometricRepresentationItem_type = 0;
+entity* IFC4X3_RC1_IfcGeometricRepresentationSubContext_type = 0;
+entity* IFC4X3_RC1_IfcGeometricSet_type = 0;
+entity* IFC4X3_RC1_IfcGeomodel_type = 0;
+entity* IFC4X3_RC1_IfcGeoslice_type = 0;
+entity* IFC4X3_RC1_IfcGeotechnicalAssembly_type = 0;
+entity* IFC4X3_RC1_IfcGeotechnicalElement_type = 0;
+entity* IFC4X3_RC1_IfcGeotechnicalStratum_type = 0;
+entity* IFC4X3_RC1_IfcGrid_type = 0;
+entity* IFC4X3_RC1_IfcGridAxis_type = 0;
+entity* IFC4X3_RC1_IfcGridPlacement_type = 0;
+entity* IFC4X3_RC1_IfcGroup_type = 0;
+entity* IFC4X3_RC1_IfcHalfSpaceSolid_type = 0;
+entity* IFC4X3_RC1_IfcHeatExchanger_type = 0;
+entity* IFC4X3_RC1_IfcHeatExchangerType_type = 0;
+entity* IFC4X3_RC1_IfcHumidifier_type = 0;
+entity* IFC4X3_RC1_IfcHumidifierType_type = 0;
+entity* IFC4X3_RC1_IfcIShapeProfileDef_type = 0;
+entity* IFC4X3_RC1_IfcImageTexture_type = 0;
+entity* IFC4X3_RC1_IfcImpactProtectionDevice_type = 0;
+entity* IFC4X3_RC1_IfcImpactProtectionDeviceType_type = 0;
+entity* IFC4X3_RC1_IfcInclinedReferenceSweptAreaSolid_type = 0;
+entity* IFC4X3_RC1_IfcIndexedColourMap_type = 0;
+entity* IFC4X3_RC1_IfcIndexedPolyCurve_type = 0;
+entity* IFC4X3_RC1_IfcIndexedPolygonalFace_type = 0;
+entity* IFC4X3_RC1_IfcIndexedPolygonalFaceWithVoids_type = 0;
+entity* IFC4X3_RC1_IfcIndexedTextureMap_type = 0;
+entity* IFC4X3_RC1_IfcIndexedTriangleTextureMap_type = 0;
+entity* IFC4X3_RC1_IfcInterceptor_type = 0;
+entity* IFC4X3_RC1_IfcInterceptorType_type = 0;
+entity* IFC4X3_RC1_IfcIntersectionCurve_type = 0;
+entity* IFC4X3_RC1_IfcInventory_type = 0;
+entity* IFC4X3_RC1_IfcIrregularTimeSeries_type = 0;
+entity* IFC4X3_RC1_IfcIrregularTimeSeriesValue_type = 0;
+entity* IFC4X3_RC1_IfcJunctionBox_type = 0;
+entity* IFC4X3_RC1_IfcJunctionBoxType_type = 0;
+entity* IFC4X3_RC1_IfcKerb_type = 0;
+entity* IFC4X3_RC1_IfcKerbType_type = 0;
+entity* IFC4X3_RC1_IfcLShapeProfileDef_type = 0;
+entity* IFC4X3_RC1_IfcLaborResource_type = 0;
+entity* IFC4X3_RC1_IfcLaborResourceType_type = 0;
+entity* IFC4X3_RC1_IfcLagTime_type = 0;
+entity* IFC4X3_RC1_IfcLamp_type = 0;
+entity* IFC4X3_RC1_IfcLampType_type = 0;
+entity* IFC4X3_RC1_IfcLibraryInformation_type = 0;
+entity* IFC4X3_RC1_IfcLibraryReference_type = 0;
+entity* IFC4X3_RC1_IfcLightDistributionData_type = 0;
+entity* IFC4X3_RC1_IfcLightFixture_type = 0;
+entity* IFC4X3_RC1_IfcLightFixtureType_type = 0;
+entity* IFC4X3_RC1_IfcLightIntensityDistribution_type = 0;
+entity* IFC4X3_RC1_IfcLightSource_type = 0;
+entity* IFC4X3_RC1_IfcLightSourceAmbient_type = 0;
+entity* IFC4X3_RC1_IfcLightSourceDirectional_type = 0;
+entity* IFC4X3_RC1_IfcLightSourceGoniometric_type = 0;
+entity* IFC4X3_RC1_IfcLightSourcePositional_type = 0;
+entity* IFC4X3_RC1_IfcLightSourceSpot_type = 0;
+entity* IFC4X3_RC1_IfcLine_type = 0;
+entity* IFC4X3_RC1_IfcLineSegment2D_type = 0;
+entity* IFC4X3_RC1_IfcLinearAxisWithInclination_type = 0;
+entity* IFC4X3_RC1_IfcLinearPlacement_type = 0;
+entity* IFC4X3_RC1_IfcLinearPlacementWithInclination_type = 0;
+entity* IFC4X3_RC1_IfcLinearPositioningElement_type = 0;
+entity* IFC4X3_RC1_IfcLinearSpanPlacement_type = 0;
+entity* IFC4X3_RC1_IfcLiquidTerminal_type = 0;
+entity* IFC4X3_RC1_IfcLiquidTerminalType_type = 0;
+entity* IFC4X3_RC1_IfcLocalPlacement_type = 0;
+entity* IFC4X3_RC1_IfcLoop_type = 0;
+entity* IFC4X3_RC1_IfcManifoldSolidBrep_type = 0;
+entity* IFC4X3_RC1_IfcMapConversion_type = 0;
+entity* IFC4X3_RC1_IfcMappedItem_type = 0;
+entity* IFC4X3_RC1_IfcMarineFacility_type = 0;
+entity* IFC4X3_RC1_IfcMaterial_type = 0;
+entity* IFC4X3_RC1_IfcMaterialClassificationRelationship_type = 0;
+entity* IFC4X3_RC1_IfcMaterialConstituent_type = 0;
+entity* IFC4X3_RC1_IfcMaterialConstituentSet_type = 0;
+entity* IFC4X3_RC1_IfcMaterialDefinition_type = 0;
+entity* IFC4X3_RC1_IfcMaterialDefinitionRepresentation_type = 0;
+entity* IFC4X3_RC1_IfcMaterialLayer_type = 0;
+entity* IFC4X3_RC1_IfcMaterialLayerSet_type = 0;
+entity* IFC4X3_RC1_IfcMaterialLayerSetUsage_type = 0;
+entity* IFC4X3_RC1_IfcMaterialLayerWithOffsets_type = 0;
+entity* IFC4X3_RC1_IfcMaterialList_type = 0;
+entity* IFC4X3_RC1_IfcMaterialProfile_type = 0;
+entity* IFC4X3_RC1_IfcMaterialProfileSet_type = 0;
+entity* IFC4X3_RC1_IfcMaterialProfileSetUsage_type = 0;
+entity* IFC4X3_RC1_IfcMaterialProfileSetUsageTapering_type = 0;
+entity* IFC4X3_RC1_IfcMaterialProfileWithOffsets_type = 0;
+entity* IFC4X3_RC1_IfcMaterialProperties_type = 0;
+entity* IFC4X3_RC1_IfcMaterialRelationship_type = 0;
+entity* IFC4X3_RC1_IfcMaterialUsageDefinition_type = 0;
+entity* IFC4X3_RC1_IfcMeasureWithUnit_type = 0;
+entity* IFC4X3_RC1_IfcMechanicalFastener_type = 0;
+entity* IFC4X3_RC1_IfcMechanicalFastenerType_type = 0;
+entity* IFC4X3_RC1_IfcMedicalDevice_type = 0;
+entity* IFC4X3_RC1_IfcMedicalDeviceType_type = 0;
+entity* IFC4X3_RC1_IfcMember_type = 0;
+entity* IFC4X3_RC1_IfcMemberStandardCase_type = 0;
+entity* IFC4X3_RC1_IfcMemberType_type = 0;
+entity* IFC4X3_RC1_IfcMetric_type = 0;
+entity* IFC4X3_RC1_IfcMirroredProfileDef_type = 0;
+entity* IFC4X3_RC1_IfcMobileTelecommunicationsAppliance_type = 0;
+entity* IFC4X3_RC1_IfcMobileTelecommunicationsApplianceType_type = 0;
+entity* IFC4X3_RC1_IfcMonetaryUnit_type = 0;
+entity* IFC4X3_RC1_IfcMooringDevice_type = 0;
+entity* IFC4X3_RC1_IfcMooringDeviceType_type = 0;
+entity* IFC4X3_RC1_IfcMotorConnection_type = 0;
+entity* IFC4X3_RC1_IfcMotorConnectionType_type = 0;
+entity* IFC4X3_RC1_IfcNamedUnit_type = 0;
+entity* IFC4X3_RC1_IfcNavigationElement_type = 0;
+entity* IFC4X3_RC1_IfcNavigationElementType_type = 0;
+entity* IFC4X3_RC1_IfcObject_type = 0;
+entity* IFC4X3_RC1_IfcObjectDefinition_type = 0;
+entity* IFC4X3_RC1_IfcObjectPlacement_type = 0;
+entity* IFC4X3_RC1_IfcObjective_type = 0;
+entity* IFC4X3_RC1_IfcOccupant_type = 0;
+entity* IFC4X3_RC1_IfcOffsetCurve_type = 0;
+entity* IFC4X3_RC1_IfcOffsetCurve2D_type = 0;
+entity* IFC4X3_RC1_IfcOffsetCurve3D_type = 0;
+entity* IFC4X3_RC1_IfcOffsetCurveByDistances_type = 0;
+entity* IFC4X3_RC1_IfcOpenCrossProfileDef_type = 0;
+entity* IFC4X3_RC1_IfcOpenShell_type = 0;
+entity* IFC4X3_RC1_IfcOpeningElement_type = 0;
+entity* IFC4X3_RC1_IfcOpeningStandardCase_type = 0;
+entity* IFC4X3_RC1_IfcOrganization_type = 0;
+entity* IFC4X3_RC1_IfcOrganizationRelationship_type = 0;
+entity* IFC4X3_RC1_IfcOrientationExpression_type = 0;
+entity* IFC4X3_RC1_IfcOrientedEdge_type = 0;
+entity* IFC4X3_RC1_IfcOuterBoundaryCurve_type = 0;
+entity* IFC4X3_RC1_IfcOutlet_type = 0;
+entity* IFC4X3_RC1_IfcOutletType_type = 0;
+entity* IFC4X3_RC1_IfcOwnerHistory_type = 0;
+entity* IFC4X3_RC1_IfcParameterizedProfileDef_type = 0;
+entity* IFC4X3_RC1_IfcPath_type = 0;
+entity* IFC4X3_RC1_IfcPavement_type = 0;
+entity* IFC4X3_RC1_IfcPavementType_type = 0;
+entity* IFC4X3_RC1_IfcPcurve_type = 0;
+entity* IFC4X3_RC1_IfcPerformanceHistory_type = 0;
+entity* IFC4X3_RC1_IfcPermeableCoveringProperties_type = 0;
+entity* IFC4X3_RC1_IfcPermit_type = 0;
+entity* IFC4X3_RC1_IfcPerson_type = 0;
+entity* IFC4X3_RC1_IfcPersonAndOrganization_type = 0;
+entity* IFC4X3_RC1_IfcPhysicalComplexQuantity_type = 0;
+entity* IFC4X3_RC1_IfcPhysicalQuantity_type = 0;
+entity* IFC4X3_RC1_IfcPhysicalSimpleQuantity_type = 0;
+entity* IFC4X3_RC1_IfcPile_type = 0;
+entity* IFC4X3_RC1_IfcPileType_type = 0;
+entity* IFC4X3_RC1_IfcPipeFitting_type = 0;
+entity* IFC4X3_RC1_IfcPipeFittingType_type = 0;
+entity* IFC4X3_RC1_IfcPipeSegment_type = 0;
+entity* IFC4X3_RC1_IfcPipeSegmentType_type = 0;
+entity* IFC4X3_RC1_IfcPixelTexture_type = 0;
+entity* IFC4X3_RC1_IfcPlacement_type = 0;
+entity* IFC4X3_RC1_IfcPlanarBox_type = 0;
+entity* IFC4X3_RC1_IfcPlanarExtent_type = 0;
+entity* IFC4X3_RC1_IfcPlane_type = 0;
+entity* IFC4X3_RC1_IfcPlant_type = 0;
+entity* IFC4X3_RC1_IfcPlate_type = 0;
+entity* IFC4X3_RC1_IfcPlateStandardCase_type = 0;
+entity* IFC4X3_RC1_IfcPlateType_type = 0;
+entity* IFC4X3_RC1_IfcPoint_type = 0;
+entity* IFC4X3_RC1_IfcPointOnCurve_type = 0;
+entity* IFC4X3_RC1_IfcPointOnSurface_type = 0;
+entity* IFC4X3_RC1_IfcPolyLoop_type = 0;
+entity* IFC4X3_RC1_IfcPolygonalBoundedHalfSpace_type = 0;
+entity* IFC4X3_RC1_IfcPolygonalFaceSet_type = 0;
+entity* IFC4X3_RC1_IfcPolyline_type = 0;
+entity* IFC4X3_RC1_IfcPort_type = 0;
+entity* IFC4X3_RC1_IfcPositioningElement_type = 0;
+entity* IFC4X3_RC1_IfcPostalAddress_type = 0;
+entity* IFC4X3_RC1_IfcPreDefinedColour_type = 0;
+entity* IFC4X3_RC1_IfcPreDefinedCurveFont_type = 0;
+entity* IFC4X3_RC1_IfcPreDefinedItem_type = 0;
+entity* IFC4X3_RC1_IfcPreDefinedProperties_type = 0;
+entity* IFC4X3_RC1_IfcPreDefinedPropertySet_type = 0;
+entity* IFC4X3_RC1_IfcPreDefinedTextFont_type = 0;
+entity* IFC4X3_RC1_IfcPresentationItem_type = 0;
+entity* IFC4X3_RC1_IfcPresentationLayerAssignment_type = 0;
+entity* IFC4X3_RC1_IfcPresentationLayerWithStyle_type = 0;
+entity* IFC4X3_RC1_IfcPresentationStyle_type = 0;
+entity* IFC4X3_RC1_IfcPresentationStyleAssignment_type = 0;
+entity* IFC4X3_RC1_IfcProcedure_type = 0;
+entity* IFC4X3_RC1_IfcProcedureType_type = 0;
+entity* IFC4X3_RC1_IfcProcess_type = 0;
+entity* IFC4X3_RC1_IfcProduct_type = 0;
+entity* IFC4X3_RC1_IfcProductDefinitionShape_type = 0;
+entity* IFC4X3_RC1_IfcProductRepresentation_type = 0;
+entity* IFC4X3_RC1_IfcProfileDef_type = 0;
+entity* IFC4X3_RC1_IfcProfileProperties_type = 0;
+entity* IFC4X3_RC1_IfcProject_type = 0;
+entity* IFC4X3_RC1_IfcProjectLibrary_type = 0;
+entity* IFC4X3_RC1_IfcProjectOrder_type = 0;
+entity* IFC4X3_RC1_IfcProjectedCRS_type = 0;
+entity* IFC4X3_RC1_IfcProjectionElement_type = 0;
+entity* IFC4X3_RC1_IfcProperty_type = 0;
+entity* IFC4X3_RC1_IfcPropertyAbstraction_type = 0;
+entity* IFC4X3_RC1_IfcPropertyBoundedValue_type = 0;
+entity* IFC4X3_RC1_IfcPropertyDefinition_type = 0;
+entity* IFC4X3_RC1_IfcPropertyDependencyRelationship_type = 0;
+entity* IFC4X3_RC1_IfcPropertyEnumeratedValue_type = 0;
+entity* IFC4X3_RC1_IfcPropertyEnumeration_type = 0;
+entity* IFC4X3_RC1_IfcPropertyListValue_type = 0;
+entity* IFC4X3_RC1_IfcPropertyReferenceValue_type = 0;
+entity* IFC4X3_RC1_IfcPropertySet_type = 0;
+entity* IFC4X3_RC1_IfcPropertySetDefinition_type = 0;
+entity* IFC4X3_RC1_IfcPropertySetTemplate_type = 0;
+entity* IFC4X3_RC1_IfcPropertySingleValue_type = 0;
+entity* IFC4X3_RC1_IfcPropertyTableValue_type = 0;
+entity* IFC4X3_RC1_IfcPropertyTemplate_type = 0;
+entity* IFC4X3_RC1_IfcPropertyTemplateDefinition_type = 0;
+entity* IFC4X3_RC1_IfcProtectiveDevice_type = 0;
+entity* IFC4X3_RC1_IfcProtectiveDeviceTrippingUnit_type = 0;
+entity* IFC4X3_RC1_IfcProtectiveDeviceTrippingUnitType_type = 0;
+entity* IFC4X3_RC1_IfcProtectiveDeviceType_type = 0;
+entity* IFC4X3_RC1_IfcProxy_type = 0;
+entity* IFC4X3_RC1_IfcPump_type = 0;
+entity* IFC4X3_RC1_IfcPumpType_type = 0;
+entity* IFC4X3_RC1_IfcQuantityArea_type = 0;
+entity* IFC4X3_RC1_IfcQuantityCount_type = 0;
+entity* IFC4X3_RC1_IfcQuantityLength_type = 0;
+entity* IFC4X3_RC1_IfcQuantitySet_type = 0;
+entity* IFC4X3_RC1_IfcQuantityTime_type = 0;
+entity* IFC4X3_RC1_IfcQuantityVolume_type = 0;
+entity* IFC4X3_RC1_IfcQuantityWeight_type = 0;
+entity* IFC4X3_RC1_IfcRail_type = 0;
+entity* IFC4X3_RC1_IfcRailType_type = 0;
+entity* IFC4X3_RC1_IfcRailing_type = 0;
+entity* IFC4X3_RC1_IfcRailingType_type = 0;
+entity* IFC4X3_RC1_IfcRailway_type = 0;
+entity* IFC4X3_RC1_IfcRamp_type = 0;
+entity* IFC4X3_RC1_IfcRampFlight_type = 0;
+entity* IFC4X3_RC1_IfcRampFlightType_type = 0;
+entity* IFC4X3_RC1_IfcRampType_type = 0;
+entity* IFC4X3_RC1_IfcRationalBSplineCurveWithKnots_type = 0;
+entity* IFC4X3_RC1_IfcRationalBSplineSurfaceWithKnots_type = 0;
+entity* IFC4X3_RC1_IfcRectangleHollowProfileDef_type = 0;
+entity* IFC4X3_RC1_IfcRectangleProfileDef_type = 0;
+entity* IFC4X3_RC1_IfcRectangularPyramid_type = 0;
+entity* IFC4X3_RC1_IfcRectangularTrimmedSurface_type = 0;
+entity* IFC4X3_RC1_IfcRecurrencePattern_type = 0;
+entity* IFC4X3_RC1_IfcReference_type = 0;
+entity* IFC4X3_RC1_IfcReferent_type = 0;
+entity* IFC4X3_RC1_IfcRegularTimeSeries_type = 0;
+entity* IFC4X3_RC1_IfcReinforcedSoil_type = 0;
+entity* IFC4X3_RC1_IfcReinforcementBarProperties_type = 0;
+entity* IFC4X3_RC1_IfcReinforcementDefinitionProperties_type = 0;
+entity* IFC4X3_RC1_IfcReinforcingBar_type = 0;
+entity* IFC4X3_RC1_IfcReinforcingBarType_type = 0;
+entity* IFC4X3_RC1_IfcReinforcingElement_type = 0;
+entity* IFC4X3_RC1_IfcReinforcingElementType_type = 0;
+entity* IFC4X3_RC1_IfcReinforcingMesh_type = 0;
+entity* IFC4X3_RC1_IfcReinforcingMeshType_type = 0;
+entity* IFC4X3_RC1_IfcRelAggregates_type = 0;
+entity* IFC4X3_RC1_IfcRelAssigns_type = 0;
+entity* IFC4X3_RC1_IfcRelAssignsToActor_type = 0;
+entity* IFC4X3_RC1_IfcRelAssignsToControl_type = 0;
+entity* IFC4X3_RC1_IfcRelAssignsToGroup_type = 0;
+entity* IFC4X3_RC1_IfcRelAssignsToGroupByFactor_type = 0;
+entity* IFC4X3_RC1_IfcRelAssignsToProcess_type = 0;
+entity* IFC4X3_RC1_IfcRelAssignsToProduct_type = 0;
+entity* IFC4X3_RC1_IfcRelAssignsToResource_type = 0;
+entity* IFC4X3_RC1_IfcRelAssociates_type = 0;
+entity* IFC4X3_RC1_IfcRelAssociatesApproval_type = 0;
+entity* IFC4X3_RC1_IfcRelAssociatesClassification_type = 0;
+entity* IFC4X3_RC1_IfcRelAssociatesConstraint_type = 0;
+entity* IFC4X3_RC1_IfcRelAssociatesDocument_type = 0;
+entity* IFC4X3_RC1_IfcRelAssociatesLibrary_type = 0;
+entity* IFC4X3_RC1_IfcRelAssociatesMaterial_type = 0;
+entity* IFC4X3_RC1_IfcRelAssociatesProfileDef_type = 0;
+entity* IFC4X3_RC1_IfcRelConnects_type = 0;
+entity* IFC4X3_RC1_IfcRelConnectsElements_type = 0;
+entity* IFC4X3_RC1_IfcRelConnectsPathElements_type = 0;
+entity* IFC4X3_RC1_IfcRelConnectsPortToElement_type = 0;
+entity* IFC4X3_RC1_IfcRelConnectsPorts_type = 0;
+entity* IFC4X3_RC1_IfcRelConnectsStructuralActivity_type = 0;
+entity* IFC4X3_RC1_IfcRelConnectsStructuralMember_type = 0;
+entity* IFC4X3_RC1_IfcRelConnectsWithEccentricity_type = 0;
+entity* IFC4X3_RC1_IfcRelConnectsWithRealizingElements_type = 0;
+entity* IFC4X3_RC1_IfcRelContainedInSpatialStructure_type = 0;
+entity* IFC4X3_RC1_IfcRelCoversBldgElements_type = 0;
+entity* IFC4X3_RC1_IfcRelCoversSpaces_type = 0;
+entity* IFC4X3_RC1_IfcRelDeclares_type = 0;
+entity* IFC4X3_RC1_IfcRelDecomposes_type = 0;
+entity* IFC4X3_RC1_IfcRelDefines_type = 0;
+entity* IFC4X3_RC1_IfcRelDefinesByObject_type = 0;
+entity* IFC4X3_RC1_IfcRelDefinesByProperties_type = 0;
+entity* IFC4X3_RC1_IfcRelDefinesByTemplate_type = 0;
+entity* IFC4X3_RC1_IfcRelDefinesByType_type = 0;
+entity* IFC4X3_RC1_IfcRelFillsElement_type = 0;
+entity* IFC4X3_RC1_IfcRelFlowControlElements_type = 0;
+entity* IFC4X3_RC1_IfcRelInterferesElements_type = 0;
+entity* IFC4X3_RC1_IfcRelNests_type = 0;
+entity* IFC4X3_RC1_IfcRelPositions_type = 0;
+entity* IFC4X3_RC1_IfcRelProjectsElement_type = 0;
+entity* IFC4X3_RC1_IfcRelReferencedInSpatialStructure_type = 0;
+entity* IFC4X3_RC1_IfcRelSequence_type = 0;
+entity* IFC4X3_RC1_IfcRelServicesBuildings_type = 0;
+entity* IFC4X3_RC1_IfcRelSpaceBoundary_type = 0;
+entity* IFC4X3_RC1_IfcRelSpaceBoundary1stLevel_type = 0;
+entity* IFC4X3_RC1_IfcRelSpaceBoundary2ndLevel_type = 0;
+entity* IFC4X3_RC1_IfcRelVoidsElement_type = 0;
+entity* IFC4X3_RC1_IfcRelationship_type = 0;
+entity* IFC4X3_RC1_IfcReparametrisedCompositeCurveSegment_type = 0;
+entity* IFC4X3_RC1_IfcRepresentation_type = 0;
+entity* IFC4X3_RC1_IfcRepresentationContext_type = 0;
+entity* IFC4X3_RC1_IfcRepresentationItem_type = 0;
+entity* IFC4X3_RC1_IfcRepresentationMap_type = 0;
+entity* IFC4X3_RC1_IfcResource_type = 0;
+entity* IFC4X3_RC1_IfcResourceApprovalRelationship_type = 0;
+entity* IFC4X3_RC1_IfcResourceConstraintRelationship_type = 0;
+entity* IFC4X3_RC1_IfcResourceLevelRelationship_type = 0;
+entity* IFC4X3_RC1_IfcResourceTime_type = 0;
+entity* IFC4X3_RC1_IfcRevolvedAreaSolid_type = 0;
+entity* IFC4X3_RC1_IfcRevolvedAreaSolidTapered_type = 0;
+entity* IFC4X3_RC1_IfcRightCircularCone_type = 0;
+entity* IFC4X3_RC1_IfcRightCircularCylinder_type = 0;
+entity* IFC4X3_RC1_IfcRoad_type = 0;
+entity* IFC4X3_RC1_IfcRoof_type = 0;
+entity* IFC4X3_RC1_IfcRoofType_type = 0;
+entity* IFC4X3_RC1_IfcRoot_type = 0;
+entity* IFC4X3_RC1_IfcRoundedRectangleProfileDef_type = 0;
+entity* IFC4X3_RC1_IfcSIUnit_type = 0;
+entity* IFC4X3_RC1_IfcSanitaryTerminal_type = 0;
+entity* IFC4X3_RC1_IfcSanitaryTerminalType_type = 0;
+entity* IFC4X3_RC1_IfcSchedulingTime_type = 0;
+entity* IFC4X3_RC1_IfcSeamCurve_type = 0;
+entity* IFC4X3_RC1_IfcSectionProperties_type = 0;
+entity* IFC4X3_RC1_IfcSectionReinforcementProperties_type = 0;
+entity* IFC4X3_RC1_IfcSectionedSolid_type = 0;
+entity* IFC4X3_RC1_IfcSectionedSolidHorizontal_type = 0;
+entity* IFC4X3_RC1_IfcSectionedSpine_type = 0;
+entity* IFC4X3_RC1_IfcSectionedSurface_type = 0;
+entity* IFC4X3_RC1_IfcSensor_type = 0;
+entity* IFC4X3_RC1_IfcSensorType_type = 0;
+entity* IFC4X3_RC1_IfcShadingDevice_type = 0;
+entity* IFC4X3_RC1_IfcShadingDeviceType_type = 0;
+entity* IFC4X3_RC1_IfcShapeAspect_type = 0;
+entity* IFC4X3_RC1_IfcShapeModel_type = 0;
+entity* IFC4X3_RC1_IfcShapeRepresentation_type = 0;
+entity* IFC4X3_RC1_IfcShellBasedSurfaceModel_type = 0;
+entity* IFC4X3_RC1_IfcSign_type = 0;
+entity* IFC4X3_RC1_IfcSignType_type = 0;
+entity* IFC4X3_RC1_IfcSignal_type = 0;
+entity* IFC4X3_RC1_IfcSignalType_type = 0;
+entity* IFC4X3_RC1_IfcSimpleProperty_type = 0;
+entity* IFC4X3_RC1_IfcSimplePropertyTemplate_type = 0;
+entity* IFC4X3_RC1_IfcSite_type = 0;
+entity* IFC4X3_RC1_IfcSlab_type = 0;
+entity* IFC4X3_RC1_IfcSlabElementedCase_type = 0;
+entity* IFC4X3_RC1_IfcSlabStandardCase_type = 0;
+entity* IFC4X3_RC1_IfcSlabType_type = 0;
+entity* IFC4X3_RC1_IfcSlippageConnectionCondition_type = 0;
+entity* IFC4X3_RC1_IfcSolarDevice_type = 0;
+entity* IFC4X3_RC1_IfcSolarDeviceType_type = 0;
+entity* IFC4X3_RC1_IfcSolidModel_type = 0;
+entity* IFC4X3_RC1_IfcSolidStratum_type = 0;
+entity* IFC4X3_RC1_IfcSpace_type = 0;
+entity* IFC4X3_RC1_IfcSpaceHeater_type = 0;
+entity* IFC4X3_RC1_IfcSpaceHeaterType_type = 0;
+entity* IFC4X3_RC1_IfcSpaceType_type = 0;
+entity* IFC4X3_RC1_IfcSpatialElement_type = 0;
+entity* IFC4X3_RC1_IfcSpatialElementType_type = 0;
+entity* IFC4X3_RC1_IfcSpatialStructureElement_type = 0;
+entity* IFC4X3_RC1_IfcSpatialStructureElementType_type = 0;
+entity* IFC4X3_RC1_IfcSpatialZone_type = 0;
+entity* IFC4X3_RC1_IfcSpatialZoneType_type = 0;
+entity* IFC4X3_RC1_IfcSphere_type = 0;
+entity* IFC4X3_RC1_IfcSphericalSurface_type = 0;
+entity* IFC4X3_RC1_IfcStackTerminal_type = 0;
+entity* IFC4X3_RC1_IfcStackTerminalType_type = 0;
+entity* IFC4X3_RC1_IfcStair_type = 0;
+entity* IFC4X3_RC1_IfcStairFlight_type = 0;
+entity* IFC4X3_RC1_IfcStairFlightType_type = 0;
+entity* IFC4X3_RC1_IfcStairType_type = 0;
+entity* IFC4X3_RC1_IfcStructuralAction_type = 0;
+entity* IFC4X3_RC1_IfcStructuralActivity_type = 0;
+entity* IFC4X3_RC1_IfcStructuralAnalysisModel_type = 0;
+entity* IFC4X3_RC1_IfcStructuralConnection_type = 0;
+entity* IFC4X3_RC1_IfcStructuralConnectionCondition_type = 0;
+entity* IFC4X3_RC1_IfcStructuralCurveAction_type = 0;
+entity* IFC4X3_RC1_IfcStructuralCurveConnection_type = 0;
+entity* IFC4X3_RC1_IfcStructuralCurveMember_type = 0;
+entity* IFC4X3_RC1_IfcStructuralCurveMemberVarying_type = 0;
+entity* IFC4X3_RC1_IfcStructuralCurveReaction_type = 0;
+entity* IFC4X3_RC1_IfcStructuralItem_type = 0;
+entity* IFC4X3_RC1_IfcStructuralLinearAction_type = 0;
+entity* IFC4X3_RC1_IfcStructuralLoad_type = 0;
+entity* IFC4X3_RC1_IfcStructuralLoadCase_type = 0;
+entity* IFC4X3_RC1_IfcStructuralLoadConfiguration_type = 0;
+entity* IFC4X3_RC1_IfcStructuralLoadGroup_type = 0;
+entity* IFC4X3_RC1_IfcStructuralLoadLinearForce_type = 0;
+entity* IFC4X3_RC1_IfcStructuralLoadOrResult_type = 0;
+entity* IFC4X3_RC1_IfcStructuralLoadPlanarForce_type = 0;
+entity* IFC4X3_RC1_IfcStructuralLoadSingleDisplacement_type = 0;
+entity* IFC4X3_RC1_IfcStructuralLoadSingleDisplacementDistortion_type = 0;
+entity* IFC4X3_RC1_IfcStructuralLoadSingleForce_type = 0;
+entity* IFC4X3_RC1_IfcStructuralLoadSingleForceWarping_type = 0;
+entity* IFC4X3_RC1_IfcStructuralLoadStatic_type = 0;
+entity* IFC4X3_RC1_IfcStructuralLoadTemperature_type = 0;
+entity* IFC4X3_RC1_IfcStructuralMember_type = 0;
+entity* IFC4X3_RC1_IfcStructuralPlanarAction_type = 0;
+entity* IFC4X3_RC1_IfcStructuralPointAction_type = 0;
+entity* IFC4X3_RC1_IfcStructuralPointConnection_type = 0;
+entity* IFC4X3_RC1_IfcStructuralPointReaction_type = 0;
+entity* IFC4X3_RC1_IfcStructuralReaction_type = 0;
+entity* IFC4X3_RC1_IfcStructuralResultGroup_type = 0;
+entity* IFC4X3_RC1_IfcStructuralSurfaceAction_type = 0;
+entity* IFC4X3_RC1_IfcStructuralSurfaceConnection_type = 0;
+entity* IFC4X3_RC1_IfcStructuralSurfaceMember_type = 0;
+entity* IFC4X3_RC1_IfcStructuralSurfaceMemberVarying_type = 0;
+entity* IFC4X3_RC1_IfcStructuralSurfaceReaction_type = 0;
+entity* IFC4X3_RC1_IfcStyleModel_type = 0;
+entity* IFC4X3_RC1_IfcStyledItem_type = 0;
+entity* IFC4X3_RC1_IfcStyledRepresentation_type = 0;
+entity* IFC4X3_RC1_IfcSubContractResource_type = 0;
+entity* IFC4X3_RC1_IfcSubContractResourceType_type = 0;
+entity* IFC4X3_RC1_IfcSubedge_type = 0;
+entity* IFC4X3_RC1_IfcSurface_type = 0;
+entity* IFC4X3_RC1_IfcSurfaceCurve_type = 0;
+entity* IFC4X3_RC1_IfcSurfaceCurveSweptAreaSolid_type = 0;
+entity* IFC4X3_RC1_IfcSurfaceFeature_type = 0;
+entity* IFC4X3_RC1_IfcSurfaceOfLinearExtrusion_type = 0;
+entity* IFC4X3_RC1_IfcSurfaceOfRevolution_type = 0;
+entity* IFC4X3_RC1_IfcSurfaceReinforcementArea_type = 0;
+entity* IFC4X3_RC1_IfcSurfaceStyle_type = 0;
+entity* IFC4X3_RC1_IfcSurfaceStyleLighting_type = 0;
+entity* IFC4X3_RC1_IfcSurfaceStyleRefraction_type = 0;
+entity* IFC4X3_RC1_IfcSurfaceStyleRendering_type = 0;
+entity* IFC4X3_RC1_IfcSurfaceStyleShading_type = 0;
+entity* IFC4X3_RC1_IfcSurfaceStyleWithTextures_type = 0;
+entity* IFC4X3_RC1_IfcSurfaceTexture_type = 0;
+entity* IFC4X3_RC1_IfcSweptAreaSolid_type = 0;
+entity* IFC4X3_RC1_IfcSweptDiskSolid_type = 0;
+entity* IFC4X3_RC1_IfcSweptDiskSolidPolygonal_type = 0;
+entity* IFC4X3_RC1_IfcSweptSurface_type = 0;
+entity* IFC4X3_RC1_IfcSwitchingDevice_type = 0;
+entity* IFC4X3_RC1_IfcSwitchingDeviceType_type = 0;
+entity* IFC4X3_RC1_IfcSystem_type = 0;
+entity* IFC4X3_RC1_IfcSystemFurnitureElement_type = 0;
+entity* IFC4X3_RC1_IfcSystemFurnitureElementType_type = 0;
+entity* IFC4X3_RC1_IfcTShapeProfileDef_type = 0;
+entity* IFC4X3_RC1_IfcTable_type = 0;
+entity* IFC4X3_RC1_IfcTableColumn_type = 0;
+entity* IFC4X3_RC1_IfcTableRow_type = 0;
+entity* IFC4X3_RC1_IfcTank_type = 0;
+entity* IFC4X3_RC1_IfcTankType_type = 0;
+entity* IFC4X3_RC1_IfcTask_type = 0;
+entity* IFC4X3_RC1_IfcTaskTime_type = 0;
+entity* IFC4X3_RC1_IfcTaskTimeRecurring_type = 0;
+entity* IFC4X3_RC1_IfcTaskType_type = 0;
+entity* IFC4X3_RC1_IfcTelecomAddress_type = 0;
+entity* IFC4X3_RC1_IfcTendon_type = 0;
+entity* IFC4X3_RC1_IfcTendonAnchor_type = 0;
+entity* IFC4X3_RC1_IfcTendonAnchorType_type = 0;
+entity* IFC4X3_RC1_IfcTendonConduit_type = 0;
+entity* IFC4X3_RC1_IfcTendonConduitType_type = 0;
+entity* IFC4X3_RC1_IfcTendonType_type = 0;
+entity* IFC4X3_RC1_IfcTessellatedFaceSet_type = 0;
+entity* IFC4X3_RC1_IfcTessellatedItem_type = 0;
+entity* IFC4X3_RC1_IfcTextLiteral_type = 0;
+entity* IFC4X3_RC1_IfcTextLiteralWithExtent_type = 0;
+entity* IFC4X3_RC1_IfcTextStyle_type = 0;
+entity* IFC4X3_RC1_IfcTextStyleFontModel_type = 0;
+entity* IFC4X3_RC1_IfcTextStyleForDefinedFont_type = 0;
+entity* IFC4X3_RC1_IfcTextStyleTextModel_type = 0;
+entity* IFC4X3_RC1_IfcTextureCoordinate_type = 0;
+entity* IFC4X3_RC1_IfcTextureCoordinateGenerator_type = 0;
+entity* IFC4X3_RC1_IfcTextureMap_type = 0;
+entity* IFC4X3_RC1_IfcTextureVertex_type = 0;
+entity* IFC4X3_RC1_IfcTextureVertexList_type = 0;
+entity* IFC4X3_RC1_IfcTimePeriod_type = 0;
+entity* IFC4X3_RC1_IfcTimeSeries_type = 0;
+entity* IFC4X3_RC1_IfcTimeSeriesValue_type = 0;
+entity* IFC4X3_RC1_IfcTopologicalRepresentationItem_type = 0;
+entity* IFC4X3_RC1_IfcTopologyRepresentation_type = 0;
+entity* IFC4X3_RC1_IfcToroidalSurface_type = 0;
+entity* IFC4X3_RC1_IfcTrackElement_type = 0;
+entity* IFC4X3_RC1_IfcTrackElementType_type = 0;
+entity* IFC4X3_RC1_IfcTransformer_type = 0;
+entity* IFC4X3_RC1_IfcTransformerType_type = 0;
+entity* IFC4X3_RC1_IfcTransitionCurveSegment2D_type = 0;
+entity* IFC4X3_RC1_IfcTransportElement_type = 0;
+entity* IFC4X3_RC1_IfcTransportElementType_type = 0;
+entity* IFC4X3_RC1_IfcTrapeziumProfileDef_type = 0;
+entity* IFC4X3_RC1_IfcTriangulatedFaceSet_type = 0;
+entity* IFC4X3_RC1_IfcTriangulatedIrregularNetwork_type = 0;
+entity* IFC4X3_RC1_IfcTrimmedCurve_type = 0;
+entity* IFC4X3_RC1_IfcTubeBundle_type = 0;
+entity* IFC4X3_RC1_IfcTubeBundleType_type = 0;
+entity* IFC4X3_RC1_IfcTypeObject_type = 0;
+entity* IFC4X3_RC1_IfcTypeProcess_type = 0;
+entity* IFC4X3_RC1_IfcTypeProduct_type = 0;
+entity* IFC4X3_RC1_IfcTypeResource_type = 0;
+entity* IFC4X3_RC1_IfcUShapeProfileDef_type = 0;
+entity* IFC4X3_RC1_IfcUnitAssignment_type = 0;
+entity* IFC4X3_RC1_IfcUnitaryControlElement_type = 0;
+entity* IFC4X3_RC1_IfcUnitaryControlElementType_type = 0;
+entity* IFC4X3_RC1_IfcUnitaryEquipment_type = 0;
+entity* IFC4X3_RC1_IfcUnitaryEquipmentType_type = 0;
+entity* IFC4X3_RC1_IfcValve_type = 0;
+entity* IFC4X3_RC1_IfcValveType_type = 0;
+entity* IFC4X3_RC1_IfcVector_type = 0;
+entity* IFC4X3_RC1_IfcVertex_type = 0;
+entity* IFC4X3_RC1_IfcVertexLoop_type = 0;
+entity* IFC4X3_RC1_IfcVertexPoint_type = 0;
+entity* IFC4X3_RC1_IfcVibrationDamper_type = 0;
+entity* IFC4X3_RC1_IfcVibrationDamperType_type = 0;
+entity* IFC4X3_RC1_IfcVibrationIsolator_type = 0;
+entity* IFC4X3_RC1_IfcVibrationIsolatorType_type = 0;
+entity* IFC4X3_RC1_IfcVirtualElement_type = 0;
+entity* IFC4X3_RC1_IfcVirtualGridIntersection_type = 0;
+entity* IFC4X3_RC1_IfcVoidStratum_type = 0;
+entity* IFC4X3_RC1_IfcVoidingFeature_type = 0;
+entity* IFC4X3_RC1_IfcWall_type = 0;
+entity* IFC4X3_RC1_IfcWallElementedCase_type = 0;
+entity* IFC4X3_RC1_IfcWallStandardCase_type = 0;
+entity* IFC4X3_RC1_IfcWallType_type = 0;
+entity* IFC4X3_RC1_IfcWasteTerminal_type = 0;
+entity* IFC4X3_RC1_IfcWasteTerminalType_type = 0;
+entity* IFC4X3_RC1_IfcWaterStratum_type = 0;
+entity* IFC4X3_RC1_IfcWindow_type = 0;
+entity* IFC4X3_RC1_IfcWindowLiningProperties_type = 0;
+entity* IFC4X3_RC1_IfcWindowPanelProperties_type = 0;
+entity* IFC4X3_RC1_IfcWindowStandardCase_type = 0;
+entity* IFC4X3_RC1_IfcWindowStyle_type = 0;
+entity* IFC4X3_RC1_IfcWindowType_type = 0;
+entity* IFC4X3_RC1_IfcWorkCalendar_type = 0;
+entity* IFC4X3_RC1_IfcWorkControl_type = 0;
+entity* IFC4X3_RC1_IfcWorkPlan_type = 0;
+entity* IFC4X3_RC1_IfcWorkSchedule_type = 0;
+entity* IFC4X3_RC1_IfcWorkTime_type = 0;
+entity* IFC4X3_RC1_IfcZShapeProfileDef_type = 0;
+entity* IFC4X3_RC1_IfcZone_type = 0;
+type_declaration* IFC4X3_RC1_IfcAbsorbedDoseMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcAccelerationMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcAmountOfSubstanceMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcAngularVelocityMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcArcIndex_type = 0;
+type_declaration* IFC4X3_RC1_IfcAreaDensityMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcAreaMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcBinary_type = 0;
+type_declaration* IFC4X3_RC1_IfcBoolean_type = 0;
+type_declaration* IFC4X3_RC1_IfcBoxAlignment_type = 0;
+type_declaration* IFC4X3_RC1_IfcCardinalPointReference_type = 0;
+type_declaration* IFC4X3_RC1_IfcComplexNumber_type = 0;
+type_declaration* IFC4X3_RC1_IfcCompoundPlaneAngleMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcContextDependentMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcCountMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcCurvatureMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcDate_type = 0;
+type_declaration* IFC4X3_RC1_IfcDateTime_type = 0;
+type_declaration* IFC4X3_RC1_IfcDayInMonthNumber_type = 0;
+type_declaration* IFC4X3_RC1_IfcDayInWeekNumber_type = 0;
+type_declaration* IFC4X3_RC1_IfcDescriptiveMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcDimensionCount_type = 0;
+type_declaration* IFC4X3_RC1_IfcDoseEquivalentMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcDuration_type = 0;
+type_declaration* IFC4X3_RC1_IfcDynamicViscosityMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcElectricCapacitanceMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcElectricChargeMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcElectricConductanceMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcElectricCurrentMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcElectricResistanceMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcElectricVoltageMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcEnergyMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcFontStyle_type = 0;
+type_declaration* IFC4X3_RC1_IfcFontVariant_type = 0;
+type_declaration* IFC4X3_RC1_IfcFontWeight_type = 0;
+type_declaration* IFC4X3_RC1_IfcForceMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcFrequencyMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcGloballyUniqueId_type = 0;
+type_declaration* IFC4X3_RC1_IfcHeatFluxDensityMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcHeatingValueMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcIdentifier_type = 0;
+type_declaration* IFC4X3_RC1_IfcIlluminanceMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcInductanceMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcInteger_type = 0;
+type_declaration* IFC4X3_RC1_IfcIntegerCountRateMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcIonConcentrationMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcIsothermalMoistureCapacityMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcKinematicViscosityMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcLabel_type = 0;
+type_declaration* IFC4X3_RC1_IfcLanguageId_type = 0;
+type_declaration* IFC4X3_RC1_IfcLengthMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcLineIndex_type = 0;
+type_declaration* IFC4X3_RC1_IfcLinearForceMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcLinearMomentMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcLinearStiffnessMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcLinearVelocityMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcLogical_type = 0;
+type_declaration* IFC4X3_RC1_IfcLuminousFluxMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcLuminousIntensityDistributionMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcLuminousIntensityMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcMagneticFluxDensityMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcMagneticFluxMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcMassDensityMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcMassFlowRateMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcMassMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcMassPerLengthMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcModulusOfElasticityMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcModulusOfLinearSubgradeReactionMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcModulusOfRotationalSubgradeReactionMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcModulusOfSubgradeReactionMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcMoistureDiffusivityMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcMolecularWeightMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcMomentOfInertiaMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcMonetaryMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcMonthInYearNumber_type = 0;
+type_declaration* IFC4X3_RC1_IfcNonNegativeLengthMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcNormalisedRatioMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcNumericMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcPHMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcParameterValue_type = 0;
+type_declaration* IFC4X3_RC1_IfcPlanarForceMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcPlaneAngleMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcPositiveInteger_type = 0;
+type_declaration* IFC4X3_RC1_IfcPositiveLengthMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcPositivePlaneAngleMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcPositiveRatioMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcPowerMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcPresentableText_type = 0;
+type_declaration* IFC4X3_RC1_IfcPressureMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcPropertySetDefinitionSet_type = 0;
+type_declaration* IFC4X3_RC1_IfcRadioActivityMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcRatioMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcReal_type = 0;
+type_declaration* IFC4X3_RC1_IfcRotationalFrequencyMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcRotationalMassMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcRotationalStiffnessMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcSectionModulusMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcSectionalAreaIntegralMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcShearModulusMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcSolidAngleMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcSoundPowerLevelMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcSoundPowerMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcSoundPressureLevelMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcSoundPressureMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcSpecificHeatCapacityMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcSpecularExponent_type = 0;
+type_declaration* IFC4X3_RC1_IfcSpecularRoughness_type = 0;
+type_declaration* IFC4X3_RC1_IfcTemperatureGradientMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcTemperatureRateOfChangeMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcText_type = 0;
+type_declaration* IFC4X3_RC1_IfcTextAlignment_type = 0;
+type_declaration* IFC4X3_RC1_IfcTextDecoration_type = 0;
+type_declaration* IFC4X3_RC1_IfcTextFontName_type = 0;
+type_declaration* IFC4X3_RC1_IfcTextTransformation_type = 0;
+type_declaration* IFC4X3_RC1_IfcThermalAdmittanceMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcThermalConductivityMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcThermalExpansionCoefficientMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcThermalResistanceMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcThermalTransmittanceMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcThermodynamicTemperatureMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcTime_type = 0;
+type_declaration* IFC4X3_RC1_IfcTimeMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcTimeStamp_type = 0;
+type_declaration* IFC4X3_RC1_IfcTorqueMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcURIReference_type = 0;
+type_declaration* IFC4X3_RC1_IfcVaporPermeabilityMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcVolumeMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcVolumetricFlowRateMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcWarpingConstantMeasure_type = 0;
+type_declaration* IFC4X3_RC1_IfcWarpingMomentMeasure_type = 0;
+select_type* IFC4X3_RC1_IfcActorSelect_type = 0;
+select_type* IFC4X3_RC1_IfcAppliedValueSelect_type = 0;
+select_type* IFC4X3_RC1_IfcAxis2Placement_type = 0;
+select_type* IFC4X3_RC1_IfcBendingParameterSelect_type = 0;
+select_type* IFC4X3_RC1_IfcBooleanOperand_type = 0;
+select_type* IFC4X3_RC1_IfcClassificationReferenceSelect_type = 0;
+select_type* IFC4X3_RC1_IfcClassificationSelect_type = 0;
+select_type* IFC4X3_RC1_IfcColour_type = 0;
+select_type* IFC4X3_RC1_IfcColourOrFactor_type = 0;
+select_type* IFC4X3_RC1_IfcCoordinateReferenceSystemSelect_type = 0;
+select_type* IFC4X3_RC1_IfcCsgSelect_type = 0;
+select_type* IFC4X3_RC1_IfcCurveFontOrScaledCurveFontSelect_type = 0;
+select_type* IFC4X3_RC1_IfcCurveOnSurface_type = 0;
+select_type* IFC4X3_RC1_IfcCurveOrEdgeCurve_type = 0;
+select_type* IFC4X3_RC1_IfcCurveStyleFontSelect_type = 0;
+select_type* IFC4X3_RC1_IfcDefinitionSelect_type = 0;
+select_type* IFC4X3_RC1_IfcDerivedMeasureValue_type = 0;
+select_type* IFC4X3_RC1_IfcDocumentSelect_type = 0;
+select_type* IFC4X3_RC1_IfcFacilityPartTypeSelect_type = 0;
+select_type* IFC4X3_RC1_IfcFillStyleSelect_type = 0;
+select_type* IFC4X3_RC1_IfcGeometricSetSelect_type = 0;
+select_type* IFC4X3_RC1_IfcGridPlacementDirectionSelect_type = 0;
+select_type* IFC4X3_RC1_IfcHatchLineDistanceSelect_type = 0;
+select_type* IFC4X3_RC1_IfcImpactProtectionDeviceTypeSelect_type = 0;
+select_type* IFC4X3_RC1_IfcInterferenceSelect_type = 0;
+select_type* IFC4X3_RC1_IfcLayeredItem_type = 0;
+select_type* IFC4X3_RC1_IfcLibrarySelect_type = 0;
+select_type* IFC4X3_RC1_IfcLightDistributionDataSourceSelect_type = 0;
+select_type* IFC4X3_RC1_IfcLinearAxisSelect_type = 0;
+select_type* IFC4X3_RC1_IfcMaterialSelect_type = 0;
+select_type* IFC4X3_RC1_IfcMeasureValue_type = 0;
+select_type* IFC4X3_RC1_IfcMetricValueSelect_type = 0;
+select_type* IFC4X3_RC1_IfcModulusOfRotationalSubgradeReactionSelect_type = 0;
+select_type* IFC4X3_RC1_IfcModulusOfSubgradeReactionSelect_type = 0;
+select_type* IFC4X3_RC1_IfcModulusOfTranslationalSubgradeReactionSelect_type = 0;
+select_type* IFC4X3_RC1_IfcObjectReferenceSelect_type = 0;
+select_type* IFC4X3_RC1_IfcPointOrVertexPoint_type = 0;
+select_type* IFC4X3_RC1_IfcPresentationStyleSelect_type = 0;
+select_type* IFC4X3_RC1_IfcProcessSelect_type = 0;
+select_type* IFC4X3_RC1_IfcProductRepresentationSelect_type = 0;
+select_type* IFC4X3_RC1_IfcProductSelect_type = 0;
+select_type* IFC4X3_RC1_IfcPropertySetDefinitionSelect_type = 0;
+select_type* IFC4X3_RC1_IfcResourceObjectSelect_type = 0;
+select_type* IFC4X3_RC1_IfcResourceSelect_type = 0;
+select_type* IFC4X3_RC1_IfcRotationalStiffnessSelect_type = 0;
+select_type* IFC4X3_RC1_IfcSegmentIndexSelect_type = 0;
+select_type* IFC4X3_RC1_IfcShell_type = 0;
+select_type* IFC4X3_RC1_IfcSimpleValue_type = 0;
+select_type* IFC4X3_RC1_IfcSizeSelect_type = 0;
+select_type* IFC4X3_RC1_IfcSolidOrShell_type = 0;
+select_type* IFC4X3_RC1_IfcSpaceBoundarySelect_type = 0;
+select_type* IFC4X3_RC1_IfcSpatialReferenceSelect_type = 0;
+select_type* IFC4X3_RC1_IfcSpecularHighlightSelect_type = 0;
+select_type* IFC4X3_RC1_IfcStructuralActivityAssignmentSelect_type = 0;
+select_type* IFC4X3_RC1_IfcStyleAssignmentSelect_type = 0;
+select_type* IFC4X3_RC1_IfcSurfaceOrFaceSurface_type = 0;
+select_type* IFC4X3_RC1_IfcSurfaceStyleElementSelect_type = 0;
+select_type* IFC4X3_RC1_IfcTextFontSelect_type = 0;
+select_type* IFC4X3_RC1_IfcTimeOrRatioSelect_type = 0;
+select_type* IFC4X3_RC1_IfcTranslationalStiffnessSelect_type = 0;
+select_type* IFC4X3_RC1_IfcTransportElementTypeSelect_type = 0;
+select_type* IFC4X3_RC1_IfcTrimmingSelect_type = 0;
+select_type* IFC4X3_RC1_IfcUnit_type = 0;
+select_type* IFC4X3_RC1_IfcValue_type = 0;
+select_type* IFC4X3_RC1_IfcVectorOrDirection_type = 0;
+select_type* IFC4X3_RC1_IfcWarpingStiffnessSelect_type = 0;
+enumeration_type* IFC4X3_RC1_IfcActionRequestTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcActionSourceTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcActionTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcActuatorTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcAddressTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcAirTerminalBoxTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcAirTerminalTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcAirToAirHeatRecoveryTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcAlarmTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcAlignmentTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcAnalysisModelTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcAnalysisTheoryTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcAnnotationTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcArithmeticOperatorEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcAssemblyPlaceEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcAudioVisualApplianceTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcBSplineCurveForm_type = 0;
+enumeration_type* IFC4X3_RC1_IfcBSplineSurfaceForm_type = 0;
+enumeration_type* IFC4X3_RC1_IfcBeamTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcBearingTypeDisplacementEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcBearingTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcBenchmarkEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcBoilerTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcBooleanOperator_type = 0;
+enumeration_type* IFC4X3_RC1_IfcBridgePartTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcBridgeTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcBuildingElementPartTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcBuildingElementProxyTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcBuildingSystemTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcBuiltSystemTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcBurnerTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcCableCarrierFittingTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcCableCarrierSegmentTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcCableFittingTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcCableSegmentTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcCaissonFoundationTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcChangeActionEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcChillerTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcChimneyTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcCoilTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcColumnTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcCommunicationsApplianceTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcComplexPropertyTemplateTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcCompressorTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcCondenserTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcConnectionTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcConstraintEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcConstructionEquipmentResourceTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcConstructionMaterialResourceTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcConstructionProductResourceTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcControllerTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcConveyorSegmentTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcCooledBeamTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcCoolingTowerTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcCostItemTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcCostScheduleTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcCourseTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcCoveringTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcCrewResourceTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcCurtainWallTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcCurveInterpolationEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcDamperTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcDataOriginEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcDerivedUnitEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcDirectionSenseEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcDiscreteAccessoryTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcDistributionBoardTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcDistributionChamberElementTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcDistributionPortTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcDistributionSystemEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcDocumentConfidentialityEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcDocumentStatusEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcDoorPanelOperationEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcDoorPanelPositionEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcDoorStyleConstructionEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcDoorStyleOperationEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcDoorTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcDoorTypeOperationEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcDuctFittingTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcDuctSegmentTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcDuctSilencerTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcEarthworksCutTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcEarthworksFillTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcElectricApplianceTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcElectricDistributionBoardTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcElectricFlowStorageDeviceTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcElectricFlowTreatmentDeviceTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcElectricGeneratorTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcElectricMotorTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcElectricTimeControlTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcElementAssemblyTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcElementCompositionEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcEngineTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcEvaporativeCoolerTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcEvaporatorTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcEventTriggerTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcEventTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcExternalSpatialElementTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcFacilityPartCommonTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcFacilityUsageEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcFanTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcFastenerTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcFilterTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcFireSuppressionTerminalTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcFlowDirectionEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcFlowInstrumentTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcFlowMeterTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcFootingTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcFurnitureTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcGeographicElementTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcGeometricProjectionEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcGlobalOrLocalEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcGridTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcHeatExchangerTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcHumidifierTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcImpactProtectionDeviceTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcInterceptorTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcInternalOrExternalEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcInventoryTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcJunctionBoxTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcKnotType_type = 0;
+enumeration_type* IFC4X3_RC1_IfcLaborResourceTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcLampTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcLayerSetDirectionEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcLightDistributionCurveEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcLightEmissionSourceEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcLightFixtureTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcLiquidTerminalTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcLoadGroupTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcLogicalOperatorEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcMarineFacilityTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcMarinePartTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcMechanicalFastenerTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcMedicalDeviceTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcMemberTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcMobileTelecommunicationsApplianceTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcMooringDeviceTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcMotorConnectionTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcNavigationElementTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcNullStyle_type = 0;
+enumeration_type* IFC4X3_RC1_IfcObjectTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcObjectiveEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcOccupantTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcOpeningElementTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcOutletTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcPerformanceHistoryTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcPermeableCoveringOperationEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcPermitTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcPhysicalOrVirtualEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcPileConstructionEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcPileTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcPipeFittingTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcPipeSegmentTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcPlateTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcPreferredSurfaceCurveRepresentation_type = 0;
+enumeration_type* IFC4X3_RC1_IfcProcedureTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcProfileTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcProjectOrderTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcProjectedOrTrueLengthEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcProjectionElementTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcPropertySetTemplateTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcProtectiveDeviceTrippingUnitTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcProtectiveDeviceTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcPumpTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcRailTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcRailingTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcRailwayPartTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcRampFlightTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcRampTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcRecurrenceTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcReferentTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcReflectanceMethodEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcReinforcedSoilTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcReinforcingBarRoleEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcReinforcingBarSurfaceEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcReinforcingBarTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcReinforcingMeshTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcRoadPartTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcRoleEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcRoofTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcSIPrefix_type = 0;
+enumeration_type* IFC4X3_RC1_IfcSIUnitName_type = 0;
+enumeration_type* IFC4X3_RC1_IfcSanitaryTerminalTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcSectionTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcSensorTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcSequenceEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcShadingDeviceTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcSignTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcSignalTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcSimplePropertyTemplateTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcSlabTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcSolarDeviceTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcSpaceHeaterTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcSpaceTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcSpatialZoneTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcStackTerminalTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcStairFlightTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcStairTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcStateEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcStructuralCurveActivityTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcStructuralCurveMemberTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcStructuralSurfaceActivityTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcStructuralSurfaceMemberTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcSubContractResourceTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcSurfaceFeatureTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcSurfaceSide_type = 0;
+enumeration_type* IFC4X3_RC1_IfcSwitchingDeviceTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcSystemFurnitureElementTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcTankTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcTaskDurationEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcTaskTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcTendonAnchorTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcTendonConduitTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcTendonTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcTextPath_type = 0;
+enumeration_type* IFC4X3_RC1_IfcTimeSeriesDataTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcTrackElementTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcTransformerTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcTransitionCode_type = 0;
+enumeration_type* IFC4X3_RC1_IfcTransitionCurveType_type = 0;
+enumeration_type* IFC4X3_RC1_IfcTransportElementFixedTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcTransportElementNonFixedTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcTrimmingPreference_type = 0;
+enumeration_type* IFC4X3_RC1_IfcTubeBundleTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcUnitEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcUnitaryControlElementTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcUnitaryEquipmentTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcValveTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcVibrationDamperTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcVibrationIsolatorTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcVoidingFeatureTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcWallTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcWasteTerminalTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcWindowPanelOperationEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcWindowPanelPositionEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcWindowStyleConstructionEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcWindowStyleOperationEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcWindowTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcWindowTypePartitioningEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcWorkCalendarTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcWorkPlanTypeEnum_type = 0;
+enumeration_type* IFC4X3_RC1_IfcWorkScheduleTypeEnum_type = 0;
+
+class IFC4X3_RC1_instance_factory : public IfcParse::instance_factory {
+ virtual IfcUtil::IfcBaseClass* operator()(IfcEntityInstanceData* data) const {
+ switch(data->type()->index_in_schema()) {
+ case 0: return new ::Ifc4x3_rc1::IfcAbsorbedDoseMeasure(data);
+ case 1: return new ::Ifc4x3_rc1::IfcAccelerationMeasure(data);
+ case 2: return new ::Ifc4x3_rc1::IfcActionRequest(data);
+ case 6: return new ::Ifc4x3_rc1::IfcActor(data);
+ case 7: return new ::Ifc4x3_rc1::IfcActorRole(data);
+ case 9: return new ::Ifc4x3_rc1::IfcActuator(data);
+ case 10: return new ::Ifc4x3_rc1::IfcActuatorType(data);
+ case 12: return new ::Ifc4x3_rc1::IfcAddress(data);
+ case 14: return new ::Ifc4x3_rc1::IfcAdvancedBrep(data);
+ case 15: return new ::Ifc4x3_rc1::IfcAdvancedBrepWithVoids(data);
+ case 16: return new ::Ifc4x3_rc1::IfcAdvancedFace(data);
+ case 17: return new ::Ifc4x3_rc1::IfcAirTerminal(data);
+ case 18: return new ::Ifc4x3_rc1::IfcAirTerminalBox(data);
+ case 19: return new ::Ifc4x3_rc1::IfcAirTerminalBoxType(data);
+ case 21: return new ::Ifc4x3_rc1::IfcAirTerminalType(data);
+ case 23: return new ::Ifc4x3_rc1::IfcAirToAirHeatRecovery(data);
+ case 24: return new ::Ifc4x3_rc1::IfcAirToAirHeatRecoveryType(data);
+ case 26: return new ::Ifc4x3_rc1::IfcAlarm(data);
+ case 27: return new ::Ifc4x3_rc1::IfcAlarmType(data);
+ case 29: return new ::Ifc4x3_rc1::IfcAlignment(data);
+ case 30: return new ::Ifc4x3_rc1::IfcAlignment2DCant(data);
+ case 31: return new ::Ifc4x3_rc1::IfcAlignment2DCantSegLine(data);
+ case 32: return new ::Ifc4x3_rc1::IfcAlignment2DCantSegment(data);
+ case 33: return new ::Ifc4x3_rc1::IfcAlignment2DCantSegTransition(data);
+ case 34: return new ::Ifc4x3_rc1::IfcAlignment2DHorizontal(data);
+ case 35: return new ::Ifc4x3_rc1::IfcAlignment2DHorizontalSegment(data);
+ case 36: return new ::Ifc4x3_rc1::IfcAlignment2DSegment(data);
+ case 37: return new ::Ifc4x3_rc1::IfcAlignment2DVerSegCircularArc(data);
+ case 38: return new ::Ifc4x3_rc1::IfcAlignment2DVerSegLine(data);
+ case 39: return new ::Ifc4x3_rc1::IfcAlignment2DVerSegParabolicArc(data);
+ case 40: return new ::Ifc4x3_rc1::IfcAlignment2DVerSegTransition(data);
+ case 41: return new ::Ifc4x3_rc1::IfcAlignment2DVertical(data);
+ case 42: return new ::Ifc4x3_rc1::IfcAlignment2DVerticalSegment(data);
+ case 43: return new ::Ifc4x3_rc1::IfcAlignmentCurve(data);
+ case 45: return new ::Ifc4x3_rc1::IfcAmountOfSubstanceMeasure(data);
+ case 48: return new ::Ifc4x3_rc1::IfcAngularVelocityMeasure(data);
+ case 49: return new ::Ifc4x3_rc1::IfcAnnotation(data);
+ case 50: return new ::Ifc4x3_rc1::IfcAnnotationFillArea(data);
+ case 52: return new ::Ifc4x3_rc1::IfcApplication(data);
+ case 53: return new ::Ifc4x3_rc1::IfcAppliedValue(data);
+ case 55: return new ::Ifc4x3_rc1::IfcApproval(data);
+ case 56: return new ::Ifc4x3_rc1::IfcApprovalRelationship(data);
+ case 57: return new ::Ifc4x3_rc1::IfcArbitraryClosedProfileDef(data);
+ case 58: return new ::Ifc4x3_rc1::IfcArbitraryOpenProfileDef(data);
+ case 59: return new ::Ifc4x3_rc1::IfcArbitraryProfileDefWithVoids(data);
+ case 60: return new ::Ifc4x3_rc1::IfcArcIndex(data);
+ case 61: return new ::Ifc4x3_rc1::IfcAreaDensityMeasure(data);
+ case 62: return new ::Ifc4x3_rc1::IfcAreaMeasure(data);
+ case 65: return new ::Ifc4x3_rc1::IfcAsset(data);
+ case 66: return new ::Ifc4x3_rc1::IfcAsymmetricIShapeProfileDef(data);
+ case 67: return new ::Ifc4x3_rc1::IfcAudioVisualAppliance(data);
+ case 68: return new ::Ifc4x3_rc1::IfcAudioVisualApplianceType(data);
+ case 70: return new ::Ifc4x3_rc1::IfcAxis1Placement(data);
+ case 72: return new ::Ifc4x3_rc1::IfcAxis2Placement2D(data);
+ case 73: return new ::Ifc4x3_rc1::IfcAxis2Placement3D(data);
+ case 74: return new ::Ifc4x3_rc1::IfcAxisLateralInclination(data);
+ case 75: return new ::Ifc4x3_rc1::IfcBeam(data);
+ case 76: return new ::Ifc4x3_rc1::IfcBeamStandardCase(data);
+ case 77: return new ::Ifc4x3_rc1::IfcBeamType(data);
+ case 79: return new ::Ifc4x3_rc1::IfcBearing(data);
+ case 80: return new ::Ifc4x3_rc1::IfcBearingType(data);
+ case 85: return new ::Ifc4x3_rc1::IfcBinary(data);
+ case 86: return new ::Ifc4x3_rc1::IfcBlobTexture(data);
+ case 87: return new ::Ifc4x3_rc1::IfcBlock(data);
+ case 88: return new ::Ifc4x3_rc1::IfcBoiler(data);
+ case 89: return new ::Ifc4x3_rc1::IfcBoilerType(data);
+ case 91: return new ::Ifc4x3_rc1::IfcBoolean(data);
+ case 92: return new ::Ifc4x3_rc1::IfcBooleanClippingResult(data);
+ case 95: return new ::Ifc4x3_rc1::IfcBooleanResult(data);
+ case 96: return new ::Ifc4x3_rc1::IfcBorehole(data);
+ case 97: return new ::Ifc4x3_rc1::IfcBoundaryCondition(data);
+ case 98: return new ::Ifc4x3_rc1::IfcBoundaryCurve(data);
+ case 99: return new ::Ifc4x3_rc1::IfcBoundaryEdgeCondition(data);
+ case 100: return new ::Ifc4x3_rc1::IfcBoundaryFaceCondition(data);
+ case 101: return new ::Ifc4x3_rc1::IfcBoundaryNodeCondition(data);
+ case 102: return new ::Ifc4x3_rc1::IfcBoundaryNodeConditionWarping(data);
+ case 103: return new ::Ifc4x3_rc1::IfcBoundedCurve(data);
+ case 104: return new ::Ifc4x3_rc1::IfcBoundedSurface(data);
+ case 105: return new ::Ifc4x3_rc1::IfcBoundingBox(data);
+ case 106: return new ::Ifc4x3_rc1::IfcBoxAlignment(data);
+ case 107: return new ::Ifc4x3_rc1::IfcBoxedHalfSpace(data);
+ case 108: return new ::Ifc4x3_rc1::IfcBridge(data);
+ case 109: return new ::Ifc4x3_rc1::IfcBridgePart(data);
+ case 112: return new ::Ifc4x3_rc1::IfcBSplineCurve(data);
+ case 114: return new ::Ifc4x3_rc1::IfcBSplineCurveWithKnots(data);
+ case 115: return new ::Ifc4x3_rc1::IfcBSplineSurface(data);
+ case 117: return new ::Ifc4x3_rc1::IfcBSplineSurfaceWithKnots(data);
+ case 118: return new ::Ifc4x3_rc1::IfcBuilding(data);
+ case 119: return new ::Ifc4x3_rc1::IfcBuildingElementPart(data);
+ case 120: return new ::Ifc4x3_rc1::IfcBuildingElementPartType(data);
+ case 122: return new ::Ifc4x3_rc1::IfcBuildingElementProxy(data);
+ case 123: return new ::Ifc4x3_rc1::IfcBuildingElementProxyType(data);
+ case 125: return new ::Ifc4x3_rc1::IfcBuildingStorey(data);
+ case 126: return new ::Ifc4x3_rc1::IfcBuildingSystem(data);
+ case 128: return new ::Ifc4x3_rc1::IfcBuiltElement(data);
+ case 129: return new ::Ifc4x3_rc1::IfcBuiltElementType(data);
+ case 130: return new ::Ifc4x3_rc1::IfcBuiltSystem(data);
+ case 132: return new ::Ifc4x3_rc1::IfcBurner(data);
+ case 133: return new ::Ifc4x3_rc1::IfcBurnerType(data);
+ case 135: return new ::Ifc4x3_rc1::IfcCableCarrierFitting(data);
+ case 136: return new ::Ifc4x3_rc1::IfcCableCarrierFittingType(data);
+ case 138: return new ::Ifc4x3_rc1::IfcCableCarrierSegment(data);
+ case 139: return new ::Ifc4x3_rc1::IfcCableCarrierSegmentType(data);
+ case 141: return new ::Ifc4x3_rc1::IfcCableFitting(data);
+ case 142: return new ::Ifc4x3_rc1::IfcCableFittingType(data);
+ case 144: return new ::Ifc4x3_rc1::IfcCableSegment(data);
+ case 145: return new ::Ifc4x3_rc1::IfcCableSegmentType(data);
+ case 147: return new ::Ifc4x3_rc1::IfcCaissonFoundation(data);
+ case 148: return new ::Ifc4x3_rc1::IfcCaissonFoundationType(data);
+ case 150: return new ::Ifc4x3_rc1::IfcCardinalPointReference(data);
+ case 151: return new ::Ifc4x3_rc1::IfcCartesianPoint(data);
+ case 152: return new ::Ifc4x3_rc1::IfcCartesianPointList(data);
+ case 153: return new ::Ifc4x3_rc1::IfcCartesianPointList2D(data);
+ case 154: return new ::Ifc4x3_rc1::IfcCartesianPointList3D(data);
+ case 155: return new ::Ifc4x3_rc1::IfcCartesianTransformationOperator(data);
+ case 156: return new ::Ifc4x3_rc1::IfcCartesianTransformationOperator2D(data);
+ case 157: return new ::Ifc4x3_rc1::IfcCartesianTransformationOperator2DnonUniform(data);
+ case 158: return new ::Ifc4x3_rc1::IfcCartesianTransformationOperator3D(data);
+ case 159: return new ::Ifc4x3_rc1::IfcCartesianTransformationOperator3DnonUniform(data);
+ case 160: return new ::Ifc4x3_rc1::IfcCenterLineProfileDef(data);
+ case 162: return new ::Ifc4x3_rc1::IfcChiller(data);
+ case 163: return new ::Ifc4x3_rc1::IfcChillerType(data);
+ case 165: return new ::Ifc4x3_rc1::IfcChimney(data);
+ case 166: return new ::Ifc4x3_rc1::IfcChimneyType(data);
+ case 168: return new ::Ifc4x3_rc1::IfcCircle(data);
+ case 169: return new ::Ifc4x3_rc1::IfcCircleHollowProfileDef(data);
+ case 170: return new ::Ifc4x3_rc1::IfcCircleProfileDef(data);
+ case 171: return new ::Ifc4x3_rc1::IfcCircularArcSegment2D(data);
+ case 172: return new ::Ifc4x3_rc1::IfcCivilElement(data);
+ case 173: return new ::Ifc4x3_rc1::IfcCivilElementType(data);
+ case 174: return new ::Ifc4x3_rc1::IfcClassification(data);
+ case 175: return new ::Ifc4x3_rc1::IfcClassificationReference(data);
+ case 178: return new ::Ifc4x3_rc1::IfcClosedShell(data);
+ case 179: return new ::Ifc4x3_rc1::IfcCoil(data);
+ case 180: return new ::Ifc4x3_rc1::IfcCoilType(data);
+ case 184: return new ::Ifc4x3_rc1::IfcColourRgb(data);
+ case 185: return new ::Ifc4x3_rc1::IfcColourRgbList(data);
+ case 186: return new ::Ifc4x3_rc1::IfcColourSpecification(data);
+ case 187: return new ::Ifc4x3_rc1::IfcColumn(data);
+ case 188: return new ::Ifc4x3_rc1::IfcColumnStandardCase(data);
+ case 189: return new ::Ifc4x3_rc1::IfcColumnType(data);
+ case 191: return new ::Ifc4x3_rc1::IfcCommunicationsAppliance(data);
+ case 192: return new ::Ifc4x3_rc1::IfcCommunicationsApplianceType(data);
+ case 194: return new ::Ifc4x3_rc1::IfcComplexNumber(data);
+ case 195: return new ::Ifc4x3_rc1::IfcComplexProperty(data);
+ case 196: return new ::Ifc4x3_rc1::IfcComplexPropertyTemplate(data);
+ case 198: return new ::Ifc4x3_rc1::IfcCompositeCurve(data);
+ case 199: return new ::Ifc4x3_rc1::IfcCompositeCurveOnSurface(data);
+ case 200: return new ::Ifc4x3_rc1::IfcCompositeCurveSegment(data);
+ case 201: return new ::Ifc4x3_rc1::IfcCompositeProfileDef(data);
+ case 202: return new ::Ifc4x3_rc1::IfcCompoundPlaneAngleMeasure(data);
+ case 203: return new ::Ifc4x3_rc1::IfcCompressor(data);
+ case 204: return new ::Ifc4x3_rc1::IfcCompressorType(data);
+ case 206: return new ::Ifc4x3_rc1::IfcCondenser(data);
+ case 207: return new ::Ifc4x3_rc1::IfcCondenserType(data);
+ case 209: return new ::Ifc4x3_rc1::IfcConic(data);
+ case 210: return new ::Ifc4x3_rc1::IfcConnectedFaceSet(data);
+ case 211: return new ::Ifc4x3_rc1::IfcConnectionCurveGeometry(data);
+ case 212: return new ::Ifc4x3_rc1::IfcConnectionGeometry(data);
+ case 213: return new ::Ifc4x3_rc1::IfcConnectionPointEccentricity(data);
+ case 214: return new ::Ifc4x3_rc1::IfcConnectionPointGeometry(data);
+ case 215: return new ::Ifc4x3_rc1::IfcConnectionSurfaceGeometry(data);
+ case 217: return new ::Ifc4x3_rc1::IfcConnectionVolumeGeometry(data);
+ case 218: return new ::Ifc4x3_rc1::IfcConstraint(data);
+ case 220: return new ::Ifc4x3_rc1::IfcConstructionEquipmentResource(data);
+ case 221: return new ::Ifc4x3_rc1::IfcConstructionEquipmentResourceType(data);
+ case 223: return new ::Ifc4x3_rc1::IfcConstructionMaterialResource(data);
+ case 224: return new ::Ifc4x3_rc1::IfcConstructionMaterialResourceType(data);
+ case 226: return new ::Ifc4x3_rc1::IfcConstructionProductResource(data);
+ case 227: return new ::Ifc4x3_rc1::IfcConstructionProductResourceType(data);
+ case 229: return new ::Ifc4x3_rc1::IfcConstructionResource(data);
+ case 230: return new ::Ifc4x3_rc1::IfcConstructionResourceType(data);
+ case 231: return new ::Ifc4x3_rc1::IfcContext(data);
+ case 232: return new ::Ifc4x3_rc1::IfcContextDependentMeasure(data);
+ case 233: return new ::Ifc4x3_rc1::IfcContextDependentUnit(data);
+ case 234: return new ::Ifc4x3_rc1::IfcControl(data);
+ case 235: return new ::Ifc4x3_rc1::IfcController(data);
+ case 236: return new ::Ifc4x3_rc1::IfcControllerType(data);
+ case 238: return new ::Ifc4x3_rc1::IfcConversionBasedUnit(data);
+ case 239: return new ::Ifc4x3_rc1::IfcConversionBasedUnitWithOffset(data);
+ case 240: return new ::Ifc4x3_rc1::IfcConveyorSegment(data);
+ case 241: return new ::Ifc4x3_rc1::IfcConveyorSegmentType(data);
+ case 243: return new ::Ifc4x3_rc1::IfcCooledBeam(data);
+ case 244: return new ::Ifc4x3_rc1::IfcCooledBeamType(data);
+ case 246: return new ::Ifc4x3_rc1::IfcCoolingTower(data);
+ case 247: return new ::Ifc4x3_rc1::IfcCoolingTowerType(data);
+ case 249: return new ::Ifc4x3_rc1::IfcCoordinateOperation(data);
+ case 250: return new ::Ifc4x3_rc1::IfcCoordinateReferenceSystem(data);
+ case 252: return new ::Ifc4x3_rc1::IfcCostItem(data);
+ case 254: return new ::Ifc4x3_rc1::IfcCostSchedule(data);
+ case 256: return new ::Ifc4x3_rc1::IfcCostValue(data);
+ case 257: return new ::Ifc4x3_rc1::IfcCountMeasure(data);
+ case 258: return new ::Ifc4x3_rc1::IfcCourse(data);
+ case 259: return new ::Ifc4x3_rc1::IfcCourseType(data);
+ case 261: return new ::Ifc4x3_rc1::IfcCovering(data);
+ case 262: return new ::Ifc4x3_rc1::IfcCoveringType(data);
+ case 264: return new ::Ifc4x3_rc1::IfcCrewResource(data);
+ case 265: return new ::Ifc4x3_rc1::IfcCrewResourceType(data);
+ case 267: return new ::Ifc4x3_rc1::IfcCsgPrimitive3D(data);
+ case 269: return new ::Ifc4x3_rc1::IfcCsgSolid(data);
+ case 270: return new ::Ifc4x3_rc1::IfcCShapeProfileDef(data);
+ case 271: return new ::Ifc4x3_rc1::IfcCurrencyRelationship(data);
+ case 272: return new ::Ifc4x3_rc1::IfcCurtainWall(data);
+ case 273: return new ::Ifc4x3_rc1::IfcCurtainWallType(data);
+ case 275: return new ::Ifc4x3_rc1::IfcCurvatureMeasure(data);
+ case 276: return new ::Ifc4x3_rc1::IfcCurve(data);
+ case 277: return new ::Ifc4x3_rc1::IfcCurveBoundedPlane(data);
+ case 278: return new ::Ifc4x3_rc1::IfcCurveBoundedSurface(data);
+ case 283: return new ::Ifc4x3_rc1::IfcCurveSegment2D(data);
+ case 284: return new ::Ifc4x3_rc1::IfcCurveStyle(data);
+ case 285: return new ::Ifc4x3_rc1::IfcCurveStyleFont(data);
+ case 286: return new ::Ifc4x3_rc1::IfcCurveStyleFontAndScaling(data);
+ case 287: return new ::Ifc4x3_rc1::IfcCurveStyleFontPattern(data);
+ case 289: return new ::Ifc4x3_rc1::IfcCylindricalSurface(data);
+ case 290: return new ::Ifc4x3_rc1::IfcDamper(data);
+ case 291: return new ::Ifc4x3_rc1::IfcDamperType(data);
+ case 294: return new ::Ifc4x3_rc1::IfcDate(data);
+ case 295: return new ::Ifc4x3_rc1::IfcDateTime(data);
+ case 296: return new ::Ifc4x3_rc1::IfcDayInMonthNumber(data);
+ case 297: return new ::Ifc4x3_rc1::IfcDayInWeekNumber(data);
+ case 298: return new ::Ifc4x3_rc1::IfcDeepFoundation(data);
+ case 299: return new ::Ifc4x3_rc1::IfcDeepFoundationType(data);
+ case 302: return new ::Ifc4x3_rc1::IfcDerivedProfileDef(data);
+ case 303: return new ::Ifc4x3_rc1::IfcDerivedUnit(data);
+ case 304: return new ::Ifc4x3_rc1::IfcDerivedUnitElement(data);
+ case 306: return new ::Ifc4x3_rc1::IfcDescriptiveMeasure(data);
+ case 307: return new ::Ifc4x3_rc1::IfcDimensionalExponents(data);
+ case 308: return new ::Ifc4x3_rc1::IfcDimensionCount(data);
+ case 309: return new ::Ifc4x3_rc1::IfcDirection(data);
+ case 311: return new ::Ifc4x3_rc1::IfcDirectrixCurveSweptAreaSolid(data);
+ case 312: return new ::Ifc4x3_rc1::IfcDirectrixDistanceSweptAreaSolid(data);
+ case 313: return new ::Ifc4x3_rc1::IfcDiscreteAccessory(data);
+ case 314: return new ::Ifc4x3_rc1::IfcDiscreteAccessoryType(data);
+ case 316: return new ::Ifc4x3_rc1::IfcDistanceExpression(data);
+ case 317: return new ::Ifc4x3_rc1::IfcDistributionBoard(data);
+ case 318: return new ::Ifc4x3_rc1::IfcDistributionBoardType(data);
+ case 320: return new ::Ifc4x3_rc1::IfcDistributionChamberElement(data);
+ case 321: return new ::Ifc4x3_rc1::IfcDistributionChamberElementType(data);
+ case 323: return new ::Ifc4x3_rc1::IfcDistributionCircuit(data);
+ case 324: return new ::Ifc4x3_rc1::IfcDistributionControlElement(data);
+ case 325: return new ::Ifc4x3_rc1::IfcDistributionControlElementType(data);
+ case 326: return new ::Ifc4x3_rc1::IfcDistributionElement(data);
+ case 327: return new ::Ifc4x3_rc1::IfcDistributionElementType(data);
+ case 328: return new ::Ifc4x3_rc1::IfcDistributionFlowElement(data);
+ case 329: return new ::Ifc4x3_rc1::IfcDistributionFlowElementType(data);
+ case 330: return new ::Ifc4x3_rc1::IfcDistributionPort(data);
+ case 332: return new ::Ifc4x3_rc1::IfcDistributionSystem(data);
+ case 335: return new ::Ifc4x3_rc1::IfcDocumentInformation(data);
+ case 336: return new ::Ifc4x3_rc1::IfcDocumentInformationRelationship(data);
+ case 337: return new ::Ifc4x3_rc1::IfcDocumentReference(data);
+ case 340: return new ::Ifc4x3_rc1::IfcDoor(data);
+ case 341: return new ::Ifc4x3_rc1::IfcDoorLiningProperties(data);
+ case 344: return new ::Ifc4x3_rc1::IfcDoorPanelProperties(data);
+ case 345: return new ::Ifc4x3_rc1::IfcDoorStandardCase(data);
+ case 346: return new ::Ifc4x3_rc1::IfcDoorStyle(data);
+ case 349: return new ::Ifc4x3_rc1::IfcDoorType(data);
+ case 352: return new ::Ifc4x3_rc1::IfcDoseEquivalentMeasure(data);
+ case 353: return new ::Ifc4x3_rc1::IfcDraughtingPreDefinedColour(data);
+ case 354: return new ::Ifc4x3_rc1::IfcDraughtingPreDefinedCurveFont(data);
+ case 355: return new ::Ifc4x3_rc1::IfcDuctFitting(data);
+ case 356: return new ::Ifc4x3_rc1::IfcDuctFittingType(data);
+ case 358: return new ::Ifc4x3_rc1::IfcDuctSegment(data);
+ case 359: return new ::Ifc4x3_rc1::IfcDuctSegmentType(data);
+ case 361: return new ::Ifc4x3_rc1::IfcDuctSilencer(data);
+ case 362: return new ::Ifc4x3_rc1::IfcDuctSilencerType(data);
+ case 364: return new ::Ifc4x3_rc1::IfcDuration(data);
+ case 365: return new ::Ifc4x3_rc1::IfcDynamicViscosityMeasure(data);
+ case 366: return new ::Ifc4x3_rc1::IfcEarthworksCut(data);
+ case 368: return new ::Ifc4x3_rc1::IfcEarthworksElement(data);
+ case 369: return new ::Ifc4x3_rc1::IfcEarthworksFill(data);
+ case 371: return new ::Ifc4x3_rc1::IfcEdge(data);
+ case 372: return new ::Ifc4x3_rc1::IfcEdgeCurve(data);
+ case 373: return new ::Ifc4x3_rc1::IfcEdgeLoop(data);
+ case 374: return new ::Ifc4x3_rc1::IfcElectricAppliance(data);
+ case 375: return new ::Ifc4x3_rc1::IfcElectricApplianceType(data);
+ case 377: return new ::Ifc4x3_rc1::IfcElectricCapacitanceMeasure(data);
+ case 378: return new ::Ifc4x3_rc1::IfcElectricChargeMeasure(data);
+ case 379: return new ::Ifc4x3_rc1::IfcElectricConductanceMeasure(data);
+ case 380: return new ::Ifc4x3_rc1::IfcElectricCurrentMeasure(data);
+ case 381: return new ::Ifc4x3_rc1::IfcElectricDistributionBoard(data);
+ case 382: return new ::Ifc4x3_rc1::IfcElectricDistributionBoardType(data);
+ case 384: return new ::Ifc4x3_rc1::IfcElectricFlowStorageDevice(data);
+ case 385: return new ::Ifc4x3_rc1::IfcElectricFlowStorageDeviceType(data);
+ case 387: return new ::Ifc4x3_rc1::IfcElectricFlowTreatmentDevice(data);
+ case 388: return new ::Ifc4x3_rc1::IfcElectricFlowTreatmentDeviceType(data);
+ case 390: return new ::Ifc4x3_rc1::IfcElectricGenerator(data);
+ case 391: return new ::Ifc4x3_rc1::IfcElectricGeneratorType(data);
+ case 393: return new ::Ifc4x3_rc1::IfcElectricMotor(data);
+ case 394: return new ::Ifc4x3_rc1::IfcElectricMotorType(data);
+ case 396: return new ::Ifc4x3_rc1::IfcElectricResistanceMeasure(data);
+ case 397: return new ::Ifc4x3_rc1::IfcElectricTimeControl(data);
+ case 398: return new ::Ifc4x3_rc1::IfcElectricTimeControlType(data);
+ case 400: return new ::Ifc4x3_rc1::IfcElectricVoltageMeasure(data);
+ case 401: return new ::Ifc4x3_rc1::IfcElement(data);
+ case 402: return new ::Ifc4x3_rc1::IfcElementarySurface(data);
+ case 403: return new ::Ifc4x3_rc1::IfcElementAssembly(data);
+ case 404: return new ::Ifc4x3_rc1::IfcElementAssemblyType(data);
+ case 406: return new ::Ifc4x3_rc1::IfcElementComponent(data);
+ case 407: return new ::Ifc4x3_rc1::IfcElementComponentType(data);
+ case 409: return new ::Ifc4x3_rc1::IfcElementQuantity(data);
+ case 410: return new ::Ifc4x3_rc1::IfcElementType(data);
+ case 411: return new ::Ifc4x3_rc1::IfcEllipse(data);
+ case 412: return new ::Ifc4x3_rc1::IfcEllipseProfileDef(data);
+ case 413: return new ::Ifc4x3_rc1::IfcEnergyConversionDevice(data);
+ case 414: return new ::Ifc4x3_rc1::IfcEnergyConversionDeviceType(data);
+ case 415: return new ::Ifc4x3_rc1::IfcEnergyMeasure(data);
+ case 416: return new ::Ifc4x3_rc1::IfcEngine(data);
+ case 417: return new ::Ifc4x3_rc1::IfcEngineType(data);
+ case 419: return new ::Ifc4x3_rc1::IfcEvaporativeCooler(data);
+ case 420: return new ::Ifc4x3_rc1::IfcEvaporativeCoolerType(data);
+ case 422: return new ::Ifc4x3_rc1::IfcEvaporator(data);
+ case 423: return new ::Ifc4x3_rc1::IfcEvaporatorType(data);
+ case 425: return new ::Ifc4x3_rc1::IfcEvent(data);
+ case 426: return new ::Ifc4x3_rc1::IfcEventTime(data);
+ case 428: return new ::Ifc4x3_rc1::IfcEventType(data);
+ case 430: return new ::Ifc4x3_rc1::IfcExtendedProperties(data);
+ case 431: return new ::Ifc4x3_rc1::IfcExternalInformation(data);
+ case 432: return new ::Ifc4x3_rc1::IfcExternallyDefinedHatchStyle(data);
+ case 433: return new ::Ifc4x3_rc1::IfcExternallyDefinedSurfaceStyle(data);
+ case 434: return new ::Ifc4x3_rc1::IfcExternallyDefinedTextFont(data);
+ case 435: return new ::Ifc4x3_rc1::IfcExternalReference(data);
+ case 436: return new ::Ifc4x3_rc1::IfcExternalReferenceRelationship(data);
+ case 437: return new ::Ifc4x3_rc1::IfcExternalSpatialElement(data);
+ case 439: return new ::Ifc4x3_rc1::IfcExternalSpatialStructureElement(data);
+ case 440: return new ::Ifc4x3_rc1::IfcExtrudedAreaSolid(data);
+ case 441: return new ::Ifc4x3_rc1::IfcExtrudedAreaSolidTapered(data);
+ case 442: return new ::Ifc4x3_rc1::IfcFace(data);
+ case 443: return new ::Ifc4x3_rc1::IfcFaceBasedSurfaceModel(data);
+ case 444: return new ::Ifc4x3_rc1::IfcFaceBound(data);
+ case 445: return new ::Ifc4x3_rc1::IfcFaceOuterBound(data);
+ case 446: return new ::Ifc4x3_rc1::IfcFaceSurface(data);
+ case 447: return new ::Ifc4x3_rc1::IfcFacetedBrep(data);
+ case 448: return new ::Ifc4x3_rc1::IfcFacetedBrepWithVoids(data);
+ case 449: return new ::Ifc4x3_rc1::IfcFacility(data);
+ case 450: return new ::Ifc4x3_rc1::IfcFacilityPart(data);
+ case 454: return new ::Ifc4x3_rc1::IfcFailureConnectionCondition(data);
+ case 455: return new ::Ifc4x3_rc1::IfcFan(data);
+ case 456: return new ::Ifc4x3_rc1::IfcFanType(data);
+ case 458: return new ::Ifc4x3_rc1::IfcFastener(data);
+ case 459: return new ::Ifc4x3_rc1::IfcFastenerType(data);
+ case 461: return new ::Ifc4x3_rc1::IfcFeatureElement(data);
+ case 462: return new ::Ifc4x3_rc1::IfcFeatureElementAddition(data);
+ case 463: return new ::Ifc4x3_rc1::IfcFeatureElementSubtraction(data);
+ case 464: return new ::Ifc4x3_rc1::IfcFillAreaStyle(data);
+ case 465: return new ::Ifc4x3_rc1::IfcFillAreaStyleHatching(data);
+ case 466: return new ::Ifc4x3_rc1::IfcFillAreaStyleTiles(data);
+ case 468: return new ::Ifc4x3_rc1::IfcFilter(data);
+ case 469: return new ::Ifc4x3_rc1::IfcFilterType(data);
+ case 471: return new ::Ifc4x3_rc1::IfcFireSuppressionTerminal(data);
+ case 472: return new ::Ifc4x3_rc1::IfcFireSuppressionTerminalType(data);
+ case 474: return new ::Ifc4x3_rc1::IfcFixedReferenceSweptAreaSolid(data);
+ case 475: return new ::Ifc4x3_rc1::IfcFlowController(data);
+ case 476: return new ::Ifc4x3_rc1::IfcFlowControllerType(data);
+ case 478: return new ::Ifc4x3_rc1::IfcFlowFitting(data);
+ case 479: return new ::Ifc4x3_rc1::IfcFlowFittingType(data);
+ case 480: return new ::Ifc4x3_rc1::IfcFlowInstrument(data);
+ case 481: return new ::Ifc4x3_rc1::IfcFlowInstrumentType(data);
+ case 483: return new ::Ifc4x3_rc1::IfcFlowMeter(data);
+ case 484: return new ::Ifc4x3_rc1::IfcFlowMeterType(data);
+ case 486: return new ::Ifc4x3_rc1::IfcFlowMovingDevice(data);
+ case 487: return new ::Ifc4x3_rc1::IfcFlowMovingDeviceType(data);
+ case 488: return new ::Ifc4x3_rc1::IfcFlowSegment(data);
+ case 489: return new ::Ifc4x3_rc1::IfcFlowSegmentType(data);
+ case 490: return new ::Ifc4x3_rc1::IfcFlowStorageDevice(data);
+ case 491: return new ::Ifc4x3_rc1::IfcFlowStorageDeviceType(data);
+ case 492: return new ::Ifc4x3_rc1::IfcFlowTerminal(data);
+ case 493: return new ::Ifc4x3_rc1::IfcFlowTerminalType(data);
+ case 494: return new ::Ifc4x3_rc1::IfcFlowTreatmentDevice(data);
+ case 495: return new ::Ifc4x3_rc1::IfcFlowTreatmentDeviceType(data);
+ case 496: return new ::Ifc4x3_rc1::IfcFontStyle(data);
+ case 497: return new ::Ifc4x3_rc1::IfcFontVariant(data);
+ case 498: return new ::Ifc4x3_rc1::IfcFontWeight(data);
+ case 499: return new ::Ifc4x3_rc1::IfcFooting(data);
+ case 500: return new ::Ifc4x3_rc1::IfcFootingType(data);
+ case 502: return new ::Ifc4x3_rc1::IfcForceMeasure(data);
+ case 503: return new ::Ifc4x3_rc1::IfcFrequencyMeasure(data);
+ case 504: return new ::Ifc4x3_rc1::IfcFurnishingElement(data);
+ case 505: return new ::Ifc4x3_rc1::IfcFurnishingElementType(data);
+ case 506: return new ::Ifc4x3_rc1::IfcFurniture(data);
+ case 507: return new ::Ifc4x3_rc1::IfcFurnitureType(data);
+ case 509: return new ::Ifc4x3_rc1::IfcGeographicElement(data);
+ case 510: return new ::Ifc4x3_rc1::IfcGeographicElementType(data);
+ case 512: return new ::Ifc4x3_rc1::IfcGeometricCurveSet(data);
+ case 514: return new ::Ifc4x3_rc1::IfcGeometricRepresentationContext(data);
+ case 515: return new ::Ifc4x3_rc1::IfcGeometricRepresentationItem(data);
+ case 516: return new ::Ifc4x3_rc1::IfcGeometricRepresentationSubContext(data);
+ case 517: return new ::Ifc4x3_rc1::IfcGeometricSet(data);
+ case 519: return new ::Ifc4x3_rc1::IfcGeomodel(data);
+ case 520: return new ::Ifc4x3_rc1::IfcGeoslice(data);
+ case 521: return new ::Ifc4x3_rc1::IfcGeotechnicalAssembly(data);
+ case 522: return new ::Ifc4x3_rc1::IfcGeotechnicalElement(data);
+ case 523: return new ::Ifc4x3_rc1::IfcGeotechnicalStratum(data);
+ case 524: return new ::Ifc4x3_rc1::IfcGloballyUniqueId(data);
+ case 526: return new ::Ifc4x3_rc1::IfcGrid(data);
+ case 527: return new ::Ifc4x3_rc1::IfcGridAxis(data);
+ case 528: return new ::Ifc4x3_rc1::IfcGridPlacement(data);
+ case 531: return new ::Ifc4x3_rc1::IfcGroup(data);
+ case 532: return new ::Ifc4x3_rc1::IfcHalfSpaceSolid(data);
+ case 534: return new ::Ifc4x3_rc1::IfcHeatExchanger(data);
+ case 535: return new ::Ifc4x3_rc1::IfcHeatExchangerType(data);
+ case 537: return new ::Ifc4x3_rc1::IfcHeatFluxDensityMeasure(data);
+ case 538: return new ::Ifc4x3_rc1::IfcHeatingValueMeasure(data);
+ case 539: return new ::Ifc4x3_rc1::IfcHumidifier(data);
+ case 540: return new ::Ifc4x3_rc1::IfcHumidifierType(data);
+ case 542: return new ::Ifc4x3_rc1::IfcIdentifier(data);
+ case 543: return new ::Ifc4x3_rc1::IfcIlluminanceMeasure(data);
+ case 544: return new ::Ifc4x3_rc1::IfcImageTexture(data);
+ case 545: return new ::Ifc4x3_rc1::IfcImpactProtectionDevice(data);
+ case 546: return new ::Ifc4x3_rc1::IfcImpactProtectionDeviceType(data);
+ case 549: return new ::Ifc4x3_rc1::IfcInclinedReferenceSweptAreaSolid(data);
+ case 550: return new ::Ifc4x3_rc1::IfcIndexedColourMap(data);
+ case 551: return new ::Ifc4x3_rc1::IfcIndexedPolyCurve(data);
+ case 552: return new ::Ifc4x3_rc1::IfcIndexedPolygonalFace(data);
+ case 553: return new ::Ifc4x3_rc1::IfcIndexedPolygonalFaceWithVoids(data);
+ case 554: return new ::Ifc4x3_rc1::IfcIndexedTextureMap(data);
+ case 555: return new ::Ifc4x3_rc1::IfcIndexedTriangleTextureMap(data);
+ case 556: return new ::Ifc4x3_rc1::IfcInductanceMeasure(data);
+ case 557: return new ::Ifc4x3_rc1::IfcInteger(data);
+ case 558: return new ::Ifc4x3_rc1::IfcIntegerCountRateMeasure(data);
+ case 559: return new ::Ifc4x3_rc1::IfcInterceptor(data);
+ case 560: return new ::Ifc4x3_rc1::IfcInterceptorType(data);
+ case 564: return new ::Ifc4x3_rc1::IfcIntersectionCurve(data);
+ case 565: return new ::Ifc4x3_rc1::IfcInventory(data);
+ case 567: return new ::Ifc4x3_rc1::IfcIonConcentrationMeasure(data);
+ case 568: return new ::Ifc4x3_rc1::IfcIrregularTimeSeries(data);
+ case 569: return new ::Ifc4x3_rc1::IfcIrregularTimeSeriesValue(data);
+ case 570: return new ::Ifc4x3_rc1::IfcIShapeProfileDef(data);
+ case 571: return new ::Ifc4x3_rc1::IfcIsothermalMoistureCapacityMeasure(data);
+ case 572: return new ::Ifc4x3_rc1::IfcJunctionBox(data);
+ case 573: return new ::Ifc4x3_rc1::IfcJunctionBoxType(data);
+ case 575: return new ::Ifc4x3_rc1::IfcKerb(data);
+ case 576: return new ::Ifc4x3_rc1::IfcKerbType(data);
+ case 577: return new ::Ifc4x3_rc1::IfcKinematicViscosityMeasure(data);
+ case 579: return new ::Ifc4x3_rc1::IfcLabel(data);
+ case 580: return new ::Ifc4x3_rc1::IfcLaborResource(data);
+ case 581: return new ::Ifc4x3_rc1::IfcLaborResourceType(data);
+ case 583: return new ::Ifc4x3_rc1::IfcLagTime(data);
+ case 584: return new ::Ifc4x3_rc1::IfcLamp(data);
+ case 585: return new ::Ifc4x3_rc1::IfcLampType(data);
+ case 587: return new ::Ifc4x3_rc1::IfcLanguageId(data);
+ case 590: return new ::Ifc4x3_rc1::IfcLengthMeasure(data);
+ case 591: return new ::Ifc4x3_rc1::IfcLibraryInformation(data);
+ case 592: return new ::Ifc4x3_rc1::IfcLibraryReference(data);
+ case 595: return new ::Ifc4x3_rc1::IfcLightDistributionData(data);
+ case 598: return new ::Ifc4x3_rc1::IfcLightFixture(data);
+ case 599: return new ::Ifc4x3_rc1::IfcLightFixtureType(data);
+ case 601: return new ::Ifc4x3_rc1::IfcLightIntensityDistribution(data);
+ case 602: return new ::Ifc4x3_rc1::IfcLightSource(data);
+ case 603: return new ::Ifc4x3_rc1::IfcLightSourceAmbient(data);
+ case 604: return new ::Ifc4x3_rc1::IfcLightSourceDirectional(data);
+ case 605: return new ::Ifc4x3_rc1::IfcLightSourceGoniometric(data);
+ case 606: return new ::Ifc4x3_rc1::IfcLightSourcePositional(data);
+ case 607: return new ::Ifc4x3_rc1::IfcLightSourceSpot(data);
+ case 608: return new ::Ifc4x3_rc1::IfcLine(data);
+ case 610: return new ::Ifc4x3_rc1::IfcLinearAxisWithInclination(data);
+ case 611: return new ::Ifc4x3_rc1::IfcLinearForceMeasure(data);
+ case 612: return new ::Ifc4x3_rc1::IfcLinearMomentMeasure(data);
+ case 613: return new ::Ifc4x3_rc1::IfcLinearPlacement(data);
+ case 614: return new ::Ifc4x3_rc1::IfcLinearPlacementWithInclination(data);
+ case 615: return new ::Ifc4x3_rc1::IfcLinearPositioningElement(data);
+ case 616: return new ::Ifc4x3_rc1::IfcLinearSpanPlacement(data);
+ case 617: return new ::Ifc4x3_rc1::IfcLinearStiffnessMeasure(data);
+ case 618: return new ::Ifc4x3_rc1::IfcLinearVelocityMeasure(data);
+ case 619: return new ::Ifc4x3_rc1::IfcLineIndex(data);
+ case 620: return new ::Ifc4x3_rc1::IfcLineSegment2D(data);
+ case 621: return new ::Ifc4x3_rc1::IfcLiquidTerminal(data);
+ case 622: return new ::Ifc4x3_rc1::IfcLiquidTerminalType(data);
+ case 625: return new ::Ifc4x3_rc1::IfcLocalPlacement(data);
+ case 626: return new ::Ifc4x3_rc1::IfcLogical(data);
+ case 628: return new ::Ifc4x3_rc1::IfcLoop(data);
+ case 629: return new ::Ifc4x3_rc1::IfcLShapeProfileDef(data);
+ case 630: return new ::Ifc4x3_rc1::IfcLuminousFluxMeasure(data);
+ case 631: return new ::Ifc4x3_rc1::IfcLuminousIntensityDistributionMeasure(data);
+ case 632: return new ::Ifc4x3_rc1::IfcLuminousIntensityMeasure(data);
+ case 633: return new ::Ifc4x3_rc1::IfcMagneticFluxDensityMeasure(data);
+ case 634: return new ::Ifc4x3_rc1::IfcMagneticFluxMeasure(data);
+ case 635: return new ::Ifc4x3_rc1::IfcManifoldSolidBrep(data);
+ case 636: return new ::Ifc4x3_rc1::IfcMapConversion(data);
+ case 637: return new ::Ifc4x3_rc1::IfcMappedItem(data);
+ case 638: return new ::Ifc4x3_rc1::IfcMarineFacility(data);
+ case 641: return new ::Ifc4x3_rc1::IfcMassDensityMeasure(data);
+ case 642: return new ::Ifc4x3_rc1::IfcMassFlowRateMeasure(data);
+ case 643: return new ::Ifc4x3_rc1::IfcMassMeasure(data);
+ case 644: return new ::Ifc4x3_rc1::IfcMassPerLengthMeasure(data);
+ case 645: return new ::Ifc4x3_rc1::IfcMaterial(data);
+ case 646: return new ::Ifc4x3_rc1::IfcMaterialClassificationRelationship(data);
+ case 647: return new ::Ifc4x3_rc1::IfcMaterialConstituent(data);
+ case 648: return new ::Ifc4x3_rc1::IfcMaterialConstituentSet(data);
+ case 649: return new ::Ifc4x3_rc1::IfcMaterialDefinition(data);
+ case 650: return new ::Ifc4x3_rc1::IfcMaterialDefinitionRepresentation(data);
+ case 651: return new ::Ifc4x3_rc1::IfcMaterialLayer(data);
+ case 652: return new ::Ifc4x3_rc1::IfcMaterialLayerSet(data);
+ case 653: return new ::Ifc4x3_rc1::IfcMaterialLayerSetUsage(data);
+ case 654: return new ::Ifc4x3_rc1::IfcMaterialLayerWithOffsets(data);
+ case 655: return new ::Ifc4x3_rc1::IfcMaterialList(data);
+ case 656: return new ::Ifc4x3_rc1::IfcMaterialProfile(data);
+ case 657: return new ::Ifc4x3_rc1::IfcMaterialProfileSet(data);
+ case 658: return new ::Ifc4x3_rc1::IfcMaterialProfileSetUsage(data);
+ case 659: return new ::Ifc4x3_rc1::IfcMaterialProfileSetUsageTapering(data);
+ case 660: return new ::Ifc4x3_rc1::IfcMaterialProfileWithOffsets(data);
+ case 661: return new ::Ifc4x3_rc1::IfcMaterialProperties(data);
+ case 662: return new ::Ifc4x3_rc1::IfcMaterialRelationship(data);
+ case 664: return new ::Ifc4x3_rc1::IfcMaterialUsageDefinition(data);
+ case 666: return new ::Ifc4x3_rc1::IfcMeasureWithUnit(data);
+ case 667: return new ::Ifc4x3_rc1::IfcMechanicalFastener(data);
+ case 668: return new ::Ifc4x3_rc1::IfcMechanicalFastenerType(data);
+ case 670: return new ::Ifc4x3_rc1::IfcMedicalDevice(data);
+ case 671: return new ::Ifc4x3_rc1::IfcMedicalDeviceType(data);
+ case 673: return new ::Ifc4x3_rc1::IfcMember(data);
+ case 674: return new ::Ifc4x3_rc1::IfcMemberStandardCase(data);
+ case 675: return new ::Ifc4x3_rc1::IfcMemberType(data);
+ case 677: return new ::Ifc4x3_rc1::IfcMetric(data);
+ case 679: return new ::Ifc4x3_rc1::IfcMirroredProfileDef(data);
+ case 680: return new ::Ifc4x3_rc1::IfcMobileTelecommunicationsAppliance(data);
+ case 681: return new ::Ifc4x3_rc1::IfcMobileTelecommunicationsApplianceType(data);
+ case 683: return new ::Ifc4x3_rc1::IfcModulusOfElasticityMeasure(data);
+ case 684: return new ::Ifc4x3_rc1::IfcModulusOfLinearSubgradeReactionMeasure(data);
+ case 685: return new ::Ifc4x3_rc1::IfcModulusOfRotationalSubgradeReactionMeasure(data);
+ case 687: return new ::Ifc4x3_rc1::IfcModulusOfSubgradeReactionMeasure(data);
+ case 690: return new ::Ifc4x3_rc1::IfcMoistureDiffusivityMeasure(data);
+ case 691: return new ::Ifc4x3_rc1::IfcMolecularWeightMeasure(data);
+ case 692: return new ::Ifc4x3_rc1::IfcMomentOfInertiaMeasure(data);
+ case 693: return new ::Ifc4x3_rc1::IfcMonetaryMeasure(data);
+ case 694: return new ::Ifc4x3_rc1::IfcMonetaryUnit(data);
+ case 695: return new ::Ifc4x3_rc1::IfcMonthInYearNumber(data);
+ case 696: return new ::Ifc4x3_rc1::IfcMooringDevice(data);
+ case 697: return new ::Ifc4x3_rc1::IfcMooringDeviceType(data);
+ case 699: return new ::Ifc4x3_rc1::IfcMotorConnection(data);
+ case 700: return new ::Ifc4x3_rc1::IfcMotorConnectionType(data);
+ case 702: return new ::Ifc4x3_rc1::IfcNamedUnit(data);
+ case 703: return new ::Ifc4x3_rc1::IfcNavigationElement(data);
+ case 704: return new ::Ifc4x3_rc1::IfcNavigationElementType(data);
+ case 706: return new ::Ifc4x3_rc1::IfcNonNegativeLengthMeasure(data);
+ case 707: return new ::Ifc4x3_rc1::IfcNormalisedRatioMeasure(data);
+ case 709: return new ::Ifc4x3_rc1::IfcNumericMeasure(data);
+ case 710: return new ::Ifc4x3_rc1::IfcObject(data);
+ case 711: return new ::Ifc4x3_rc1::IfcObjectDefinition(data);
+ case 712: return new ::Ifc4x3_rc1::IfcObjective(data);
+ case 714: return new ::Ifc4x3_rc1::IfcObjectPlacement(data);
+ case 717: return new ::Ifc4x3_rc1::IfcOccupant(data);
+ case 719: return new ::Ifc4x3_rc1::IfcOffsetCurve(data);
+ case 720: return new ::Ifc4x3_rc1::IfcOffsetCurve2D(data);
+ case 721: return new ::Ifc4x3_rc1::IfcOffsetCurve3D(data);
+ case 722: return new ::Ifc4x3_rc1::IfcOffsetCurveByDistances(data);
+ case 723: return new ::Ifc4x3_rc1::IfcOpenCrossProfileDef(data);
+ case 724: return new ::Ifc4x3_rc1::IfcOpeningElement(data);
+ case 726: return new ::Ifc4x3_rc1::IfcOpeningStandardCase(data);
+ case 727: return new ::Ifc4x3_rc1::IfcOpenShell(data);
+ case 728: return new ::Ifc4x3_rc1::IfcOrganization(data);
+ case 729: return new ::Ifc4x3_rc1::IfcOrganizationRelationship(data);
+ case 730: return new ::Ifc4x3_rc1::IfcOrientationExpression(data);
+ case 731: return new ::Ifc4x3_rc1::IfcOrientedEdge(data);
+ case 732: return new ::Ifc4x3_rc1::IfcOuterBoundaryCurve(data);
+ case 733: return new ::Ifc4x3_rc1::IfcOutlet(data);
+ case 734: return new ::Ifc4x3_rc1::IfcOutletType(data);
+ case 736: return new ::Ifc4x3_rc1::IfcOwnerHistory(data);
+ case 737: return new ::Ifc4x3_rc1::IfcParameterizedProfileDef(data);
+ case 738: return new ::Ifc4x3_rc1::IfcParameterValue(data);
+ case 739: return new ::Ifc4x3_rc1::IfcPath(data);
+ case 740: return new ::Ifc4x3_rc1::IfcPavement(data);
+ case 741: return new ::Ifc4x3_rc1::IfcPavementType(data);
+ case 742: return new ::Ifc4x3_rc1::IfcPcurve(data);
+ case 743: return new ::Ifc4x3_rc1::IfcPerformanceHistory(data);
+ case 746: return new ::Ifc4x3_rc1::IfcPermeableCoveringProperties(data);
+ case 747: return new ::Ifc4x3_rc1::IfcPermit(data);
+ case 749: return new ::Ifc4x3_rc1::IfcPerson(data);
+ case 750: return new ::Ifc4x3_rc1::IfcPersonAndOrganization(data);
+ case 751: return new ::Ifc4x3_rc1::IfcPHMeasure(data);
+ case 752: return new ::Ifc4x3_rc1::IfcPhysicalComplexQuantity(data);
+ case 754: return new ::Ifc4x3_rc1::IfcPhysicalQuantity(data);
+ case 755: return new ::Ifc4x3_rc1::IfcPhysicalSimpleQuantity(data);
+ case 756: return new ::Ifc4x3_rc1::IfcPile(data);
+ case 758: return new ::Ifc4x3_rc1::IfcPileType(data);
+ case 760: return new ::Ifc4x3_rc1::IfcPipeFitting(data);
+ case 761: return new ::Ifc4x3_rc1::IfcPipeFittingType(data);
+ case 763: return new ::Ifc4x3_rc1::IfcPipeSegment(data);
+ case 764: return new ::Ifc4x3_rc1::IfcPipeSegmentType(data);
+ case 766: return new ::Ifc4x3_rc1::IfcPixelTexture(data);
+ case 767: return new ::Ifc4x3_rc1::IfcPlacement(data);
+ case 768: return new ::Ifc4x3_rc1::IfcPlanarBox(data);
+ case 769: return new ::Ifc4x3_rc1::IfcPlanarExtent(data);
+ case 770: return new ::Ifc4x3_rc1::IfcPlanarForceMeasure(data);
+ case 771: return new ::Ifc4x3_rc1::IfcPlane(data);
+ case 772: return new ::Ifc4x3_rc1::IfcPlaneAngleMeasure(data);
+ case 773: return new ::Ifc4x3_rc1::IfcPlant(data);
+ case 774: return new ::Ifc4x3_rc1::IfcPlate(data);
+ case 775: return new ::Ifc4x3_rc1::IfcPlateStandardCase(data);
+ case 776: return new ::Ifc4x3_rc1::IfcPlateType(data);
+ case 778: return new ::Ifc4x3_rc1::IfcPoint(data);
+ case 779: return new ::Ifc4x3_rc1::IfcPointOnCurve(data);
+ case 780: return new ::Ifc4x3_rc1::IfcPointOnSurface(data);
+ case 782: return new ::Ifc4x3_rc1::IfcPolygonalBoundedHalfSpace(data);
+ case 783: return new ::Ifc4x3_rc1::IfcPolygonalFaceSet(data);
+ case 784: return new ::Ifc4x3_rc1::IfcPolyline(data);
+ case 785: return new ::Ifc4x3_rc1::IfcPolyLoop(data);
+ case 786: return new ::Ifc4x3_rc1::IfcPort(data);
+ case 787: return new ::Ifc4x3_rc1::IfcPositioningElement(data);
+ case 788: return new ::Ifc4x3_rc1::IfcPositiveInteger(data);
+ case 789: return new ::Ifc4x3_rc1::IfcPositiveLengthMeasure(data);
+ case 790: return new ::Ifc4x3_rc1::IfcPositivePlaneAngleMeasure(data);
+ case 791: return new ::Ifc4x3_rc1::IfcPositiveRatioMeasure(data);
+ case 792: return new ::Ifc4x3_rc1::IfcPostalAddress(data);
+ case 793: return new ::Ifc4x3_rc1::IfcPowerMeasure(data);
+ case 794: return new ::Ifc4x3_rc1::IfcPreDefinedColour(data);
+ case 795: return new ::Ifc4x3_rc1::IfcPreDefinedCurveFont(data);
+ case 796: return new ::Ifc4x3_rc1::IfcPreDefinedItem(data);
+ case 797: return new ::Ifc4x3_rc1::IfcPreDefinedProperties(data);
+ case 798: return new ::Ifc4x3_rc1::IfcPreDefinedPropertySet(data);
+ case 799: return new ::Ifc4x3_rc1::IfcPreDefinedTextFont(data);
+ case 801: return new ::Ifc4x3_rc1::IfcPresentableText(data);
+ case 802: return new ::Ifc4x3_rc1::IfcPresentationItem(data);
+ case 803: return new ::Ifc4x3_rc1::IfcPresentationLayerAssignment(data);
+ case 804: return new ::Ifc4x3_rc1::IfcPresentationLayerWithStyle(data);
+ case 805: return new ::Ifc4x3_rc1::IfcPresentationStyle(data);
+ case 806: return new ::Ifc4x3_rc1::IfcPresentationStyleAssignment(data);
+ case 808: return new ::Ifc4x3_rc1::IfcPressureMeasure(data);
+ case 809: return new ::Ifc4x3_rc1::IfcProcedure(data);
+ case 810: return new ::Ifc4x3_rc1::IfcProcedureType(data);
+ case 812: return new ::Ifc4x3_rc1::IfcProcess(data);
+ case 814: return new ::Ifc4x3_rc1::IfcProduct(data);
+ case 815: return new ::Ifc4x3_rc1::IfcProductDefinitionShape(data);
+ case 816: return new ::Ifc4x3_rc1::IfcProductRepresentation(data);
+ case 819: return new ::Ifc4x3_rc1::IfcProfileDef(data);
+ case 820: return new ::Ifc4x3_rc1::IfcProfileProperties(data);
+ case 822: return new ::Ifc4x3_rc1::IfcProject(data);
+ case 823: return new ::Ifc4x3_rc1::IfcProjectedCRS(data);
+ case 825: return new ::Ifc4x3_rc1::IfcProjectionElement(data);
+ case 827: return new ::Ifc4x3_rc1::IfcProjectLibrary(data);
+ case 828: return new ::Ifc4x3_rc1::IfcProjectOrder(data);
+ case 830: return new ::Ifc4x3_rc1::IfcProperty(data);
+ case 831: return new ::Ifc4x3_rc1::IfcPropertyAbstraction(data);
+ case 832: return new ::Ifc4x3_rc1::IfcPropertyBoundedValue(data);
+ case 833: return new ::Ifc4x3_rc1::IfcPropertyDefinition(data);
+ case 834: return new ::Ifc4x3_rc1::IfcPropertyDependencyRelationship(data);
+ case 835: return new ::Ifc4x3_rc1::IfcPropertyEnumeratedValue(data);
+ case 836: return new ::Ifc4x3_rc1::IfcPropertyEnumeration(data);
+ case 837: return new ::Ifc4x3_rc1::IfcPropertyListValue(data);
+ case 838: return new ::Ifc4x3_rc1::IfcPropertyReferenceValue(data);
+ case 839: return new ::Ifc4x3_rc1::IfcPropertySet(data);
+ case 840: return new ::Ifc4x3_rc1::IfcPropertySetDefinition(data);
+ case 842: return new ::Ifc4x3_rc1::IfcPropertySetDefinitionSet(data);
+ case 843: return new ::Ifc4x3_rc1::IfcPropertySetTemplate(data);
+ case 845: return new ::Ifc4x3_rc1::IfcPropertySingleValue(data);
+ case 846: return new ::Ifc4x3_rc1::IfcPropertyTableValue(data);
+ case 847: return new ::Ifc4x3_rc1::IfcPropertyTemplate(data);
+ case 848: return new ::Ifc4x3_rc1::IfcPropertyTemplateDefinition(data);
+ case 849: return new ::Ifc4x3_rc1::IfcProtectiveDevice(data);
+ case 850: return new ::Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnit(data);
+ case 851: return new ::Ifc4x3_rc1::IfcProtectiveDeviceTrippingUnitType(data);
+ case 853: return new ::Ifc4x3_rc1::IfcProtectiveDeviceType(data);
+ case 855: return new ::Ifc4x3_rc1::IfcProxy(data);
+ case 856: return new ::Ifc4x3_rc1::IfcPump(data);
+ case 857: return new ::Ifc4x3_rc1::IfcPumpType(data);
+ case 859: return new ::Ifc4x3_rc1::IfcQuantityArea(data);
+ case 860: return new ::Ifc4x3_rc1::IfcQuantityCount(data);
+ case 861: return new ::Ifc4x3_rc1::IfcQuantityLength(data);
+ case 862: return new ::Ifc4x3_rc1::IfcQuantitySet(data);
+ case 863: return new ::Ifc4x3_rc1::IfcQuantityTime(data);
+ case 864: return new ::Ifc4x3_rc1::IfcQuantityVolume(data);
+ case 865: return new ::Ifc4x3_rc1::IfcQuantityWeight(data);
+ case 866: return new ::Ifc4x3_rc1::IfcRadioActivityMeasure(data);
+ case 867: return new ::Ifc4x3_rc1::IfcRail(data);
+ case 868: return new ::Ifc4x3_rc1::IfcRailing(data);
+ case 869: return new ::Ifc4x3_rc1::IfcRailingType(data);
+ case 871: return new ::Ifc4x3_rc1::IfcRailType(data);
+ case 873: return new ::Ifc4x3_rc1::IfcRailway(data);
+ case 875: return new ::Ifc4x3_rc1::IfcRamp(data);
+ case 876: return new ::Ifc4x3_rc1::IfcRampFlight(data);
+ case 877: return new ::Ifc4x3_rc1::IfcRampFlightType(data);
+ case 879: return new ::Ifc4x3_rc1::IfcRampType(data);
+ case 881: return new ::Ifc4x3_rc1::IfcRatioMeasure(data);
+ case 882: return new ::Ifc4x3_rc1::IfcRationalBSplineCurveWithKnots(data);
+ case 883: return new ::Ifc4x3_rc1::IfcRationalBSplineSurfaceWithKnots(data);
+ case 884: return new ::Ifc4x3_rc1::IfcReal(data);
+ case 885: return new ::Ifc4x3_rc1::IfcRectangleHollowProfileDef(data);
+ case 886: return new ::Ifc4x3_rc1::IfcRectangleProfileDef(data);
+ case 887: return new ::Ifc4x3_rc1::IfcRectangularPyramid(data);
+ case 888: return new ::Ifc4x3_rc1::IfcRectangularTrimmedSurface(data);
+ case 889: return new ::Ifc4x3_rc1::IfcRecurrencePattern(data);
+ case 891: return new ::Ifc4x3_rc1::IfcReference(data);
+ case 892: return new ::Ifc4x3_rc1::IfcReferent(data);
+ case 895: return new ::Ifc4x3_rc1::IfcRegularTimeSeries(data);
+ case 896: return new ::Ifc4x3_rc1::IfcReinforcedSoil(data);
+ case 898: return new ::Ifc4x3_rc1::IfcReinforcementBarProperties(data);
+ case 899: return new ::Ifc4x3_rc1::IfcReinforcementDefinitionProperties(data);
+ case 900: return new ::Ifc4x3_rc1::IfcReinforcingBar(data);
+ case 903: return new ::Ifc4x3_rc1::IfcReinforcingBarType(data);
+ case 905: return new ::Ifc4x3_rc1::IfcReinforcingElement(data);
+ case 906: return new ::Ifc4x3_rc1::IfcReinforcingElementType(data);
+ case 907: return new ::Ifc4x3_rc1::IfcReinforcingMesh(data);
+ case 908: return new ::Ifc4x3_rc1::IfcReinforcingMeshType(data);
+ case 910: return new ::Ifc4x3_rc1::IfcRelAggregates(data);
+ case 911: return new ::Ifc4x3_rc1::IfcRelAssigns(data);
+ case 912: return new ::Ifc4x3_rc1::IfcRelAssignsToActor(data);
+ case 913: return new ::Ifc4x3_rc1::IfcRelAssignsToControl(data);
+ case 914: return new ::Ifc4x3_rc1::IfcRelAssignsToGroup(data);
+ case 915: return new ::Ifc4x3_rc1::IfcRelAssignsToGroupByFactor(data);
+ case 916: return new ::Ifc4x3_rc1::IfcRelAssignsToProcess(data);
+ case 917: return new ::Ifc4x3_rc1::IfcRelAssignsToProduct(data);
+ case 918: return new ::Ifc4x3_rc1::IfcRelAssignsToResource(data);
+ case 919: return new ::Ifc4x3_rc1::IfcRelAssociates(data);
+ case 920: return new ::Ifc4x3_rc1::IfcRelAssociatesApproval(data);
+ case 921: return new ::Ifc4x3_rc1::IfcRelAssociatesClassification(data);
+ case 922: return new ::Ifc4x3_rc1::IfcRelAssociatesConstraint(data);
+ case 923: return new ::Ifc4x3_rc1::IfcRelAssociatesDocument(data);
+ case 924: return new ::Ifc4x3_rc1::IfcRelAssociatesLibrary(data);
+ case 925: return new ::Ifc4x3_rc1::IfcRelAssociatesMaterial(data);
+ case 926: return new ::Ifc4x3_rc1::IfcRelAssociatesProfileDef(data);
+ case 927: return new ::Ifc4x3_rc1::IfcRelationship(data);
+ case 928: return new ::Ifc4x3_rc1::IfcRelConnects(data);
+ case 929: return new ::Ifc4x3_rc1::IfcRelConnectsElements(data);
+ case 930: return new ::Ifc4x3_rc1::IfcRelConnectsPathElements(data);
+ case 931: return new ::Ifc4x3_rc1::IfcRelConnectsPorts(data);
+ case 932: return new ::Ifc4x3_rc1::IfcRelConnectsPortToElement(data);
+ case 933: return new ::Ifc4x3_rc1::IfcRelConnectsStructuralActivity(data);
+ case 934: return new ::Ifc4x3_rc1::IfcRelConnectsStructuralMember(data);
+ case 935: return new ::Ifc4x3_rc1::IfcRelConnectsWithEccentricity(data);
+ case 936: return new ::Ifc4x3_rc1::IfcRelConnectsWithRealizingElements(data);
+ case 937: return new ::Ifc4x3_rc1::IfcRelContainedInSpatialStructure(data);
+ case 938: return new ::Ifc4x3_rc1::IfcRelCoversBldgElements(data);
+ case 939: return new ::Ifc4x3_rc1::IfcRelCoversSpaces(data);
+ case 940: return new ::Ifc4x3_rc1::IfcRelDeclares(data);
+ case 941: return new ::Ifc4x3_rc1::IfcRelDecomposes(data);
+ case 942: return new ::Ifc4x3_rc1::IfcRelDefines(data);
+ case 943: return new ::Ifc4x3_rc1::IfcRelDefinesByObject(data);
+ case 944: return new ::Ifc4x3_rc1::IfcRelDefinesByProperties(data);
+ case 945: return new ::Ifc4x3_rc1::IfcRelDefinesByTemplate(data);
+ case 946: return new ::Ifc4x3_rc1::IfcRelDefinesByType(data);
+ case 947: return new ::Ifc4x3_rc1::IfcRelFillsElement(data);
+ case 948: return new ::Ifc4x3_rc1::IfcRelFlowControlElements(data);
+ case 949: return new ::Ifc4x3_rc1::IfcRelInterferesElements(data);
+ case 950: return new ::Ifc4x3_rc1::IfcRelNests(data);
+ case 951: return new ::Ifc4x3_rc1::IfcRelPositions(data);
+ case 952: return new ::Ifc4x3_rc1::IfcRelProjectsElement(data);
+ case 953: return new ::Ifc4x3_rc1::IfcRelReferencedInSpatialStructure(data);
+ case 954: return new ::Ifc4x3_rc1::IfcRelSequence(data);
+ case 955: return new ::Ifc4x3_rc1::IfcRelServicesBuildings(data);
+ case 956: return new ::Ifc4x3_rc1::IfcRelSpaceBoundary(data);
+ case 957: return new ::Ifc4x3_rc1::IfcRelSpaceBoundary1stLevel(data);
+ case 958: return new ::Ifc4x3_rc1::IfcRelSpaceBoundary2ndLevel(data);
+ case 959: return new ::Ifc4x3_rc1::IfcRelVoidsElement(data);
+ case 960: return new ::Ifc4x3_rc1::IfcReparametrisedCompositeCurveSegment(data);
+ case 961: return new ::Ifc4x3_rc1::IfcRepresentation(data);
+ case 962: return new ::Ifc4x3_rc1::IfcRepresentationContext(data);
+ case 963: return new ::Ifc4x3_rc1::IfcRepresentationItem(data);
+ case 964: return new ::Ifc4x3_rc1::IfcRepresentationMap(data);
+ case 965: return new ::Ifc4x3_rc1::IfcResource(data);
+ case 966: return new ::Ifc4x3_rc1::IfcResourceApprovalRelationship(data);
+ case 967: return new ::Ifc4x3_rc1::IfcResourceConstraintRelationship(data);
+ case 968: return new ::Ifc4x3_rc1::IfcResourceLevelRelationship(data);
+ case 971: return new ::Ifc4x3_rc1::IfcResourceTime(data);
+ case 972: return new ::Ifc4x3_rc1::IfcRevolvedAreaSolid(data);
+ case 973: return new ::Ifc4x3_rc1::IfcRevolvedAreaSolidTapered(data);
+ case 974: return new ::Ifc4x3_rc1::IfcRightCircularCone(data);
+ case 975: return new ::Ifc4x3_rc1::IfcRightCircularCylinder(data);
+ case 976: return new ::Ifc4x3_rc1::IfcRoad(data);
+ case 979: return new ::Ifc4x3_rc1::IfcRoof(data);
+ case 980: return new ::Ifc4x3_rc1::IfcRoofType(data);
+ case 982: return new ::Ifc4x3_rc1::IfcRoot(data);
+ case 983: return new ::Ifc4x3_rc1::IfcRotationalFrequencyMeasure(data);
+ case 984: return new ::Ifc4x3_rc1::IfcRotationalMassMeasure(data);
+ case 985: return new ::Ifc4x3_rc1::IfcRotationalStiffnessMeasure(data);
+ case 987: return new ::Ifc4x3_rc1::IfcRoundedRectangleProfileDef(data);
+ case 988: return new ::Ifc4x3_rc1::IfcSanitaryTerminal(data);
+ case 989: return new ::Ifc4x3_rc1::IfcSanitaryTerminalType(data);
+ case 991: return new ::Ifc4x3_rc1::IfcSchedulingTime(data);
+ case 992: return new ::Ifc4x3_rc1::IfcSeamCurve(data);
+ case 993: return new ::Ifc4x3_rc1::IfcSectionalAreaIntegralMeasure(data);
+ case 994: return new ::Ifc4x3_rc1::IfcSectionedSolid(data);
+ case 995: return new ::Ifc4x3_rc1::IfcSectionedSolidHorizontal(data);
+ case 996: return new ::Ifc4x3_rc1::IfcSectionedSpine(data);
+ case 997: return new ::Ifc4x3_rc1::IfcSectionedSurface(data);
+ case 998: return new ::Ifc4x3_rc1::IfcSectionModulusMeasure(data);
+ case 999: return new ::Ifc4x3_rc1::IfcSectionProperties(data);
+ case 1000: return new ::Ifc4x3_rc1::IfcSectionReinforcementProperties(data);
+ case 1003: return new ::Ifc4x3_rc1::IfcSensor(data);
+ case 1004: return new ::Ifc4x3_rc1::IfcSensorType(data);
+ case 1007: return new ::Ifc4x3_rc1::IfcShadingDevice(data);
+ case 1008: return new ::Ifc4x3_rc1::IfcShadingDeviceType(data);
+ case 1010: return new ::Ifc4x3_rc1::IfcShapeAspect(data);
+ case 1011: return new ::Ifc4x3_rc1::IfcShapeModel(data);
+ case 1012: return new ::Ifc4x3_rc1::IfcShapeRepresentation(data);
+ case 1013: return new ::Ifc4x3_rc1::IfcShearModulusMeasure(data);
+ case 1015: return new ::Ifc4x3_rc1::IfcShellBasedSurfaceModel(data);
+ case 1016: return new ::Ifc4x3_rc1::IfcSign(data);
+ case 1017: return new ::Ifc4x3_rc1::IfcSignal(data);
+ case 1018: return new ::Ifc4x3_rc1::IfcSignalType(data);
+ case 1020: return new ::Ifc4x3_rc1::IfcSignType(data);
+ case 1022: return new ::Ifc4x3_rc1::IfcSimpleProperty(data);
+ case 1023: return new ::Ifc4x3_rc1::IfcSimplePropertyTemplate(data);
+ case 1027: return new ::Ifc4x3_rc1::IfcSite(data);
+ case 1028: return new ::Ifc4x3_rc1::IfcSIUnit(data);
+ case 1031: return new ::Ifc4x3_rc1::IfcSlab(data);
+ case 1032: return new ::Ifc4x3_rc1::IfcSlabElementedCase(data);
+ case 1033: return new ::Ifc4x3_rc1::IfcSlabStandardCase(data);
+ case 1034: return new ::Ifc4x3_rc1::IfcSlabType(data);
+ case 1036: return new ::Ifc4x3_rc1::IfcSlippageConnectionCondition(data);
+ case 1037: return new ::Ifc4x3_rc1::IfcSolarDevice(data);
+ case 1038: return new ::Ifc4x3_rc1::IfcSolarDeviceType(data);
+ case 1040: return new ::Ifc4x3_rc1::IfcSolidAngleMeasure(data);
+ case 1041: return new ::Ifc4x3_rc1::IfcSolidModel(data);
+ case 1043: return new ::Ifc4x3_rc1::IfcSolidStratum(data);
+ case 1044: return new ::Ifc4x3_rc1::IfcSoundPowerLevelMeasure(data);
+ case 1045: return new ::Ifc4x3_rc1::IfcSoundPowerMeasure(data);
+ case 1046: return new ::Ifc4x3_rc1::IfcSoundPressureLevelMeasure(data);
+ case 1047: return new ::Ifc4x3_rc1::IfcSoundPressureMeasure(data);
+ case 1048: return new ::Ifc4x3_rc1::IfcSpace(data);
+ case 1050: return new ::Ifc4x3_rc1::IfcSpaceHeater(data);
+ case 1051: return new ::Ifc4x3_rc1::IfcSpaceHeaterType(data);
+ case 1053: return new ::Ifc4x3_rc1::IfcSpaceType(data);
+ case 1055: return new ::Ifc4x3_rc1::IfcSpatialElement(data);
+ case 1056: return new ::Ifc4x3_rc1::IfcSpatialElementType(data);
+ case 1058: return new ::Ifc4x3_rc1::IfcSpatialStructureElement(data);
+ case 1059: return new ::Ifc4x3_rc1::IfcSpatialStructureElementType(data);
+ case 1060: return new ::Ifc4x3_rc1::IfcSpatialZone(data);
+ case 1061: return new ::Ifc4x3_rc1::IfcSpatialZoneType(data);
+ case 1063: return new ::Ifc4x3_rc1::IfcSpecificHeatCapacityMeasure(data);
+ case 1064: return new ::Ifc4x3_rc1::IfcSpecularExponent(data);
+ case 1066: return new ::Ifc4x3_rc1::IfcSpecularRoughness(data);
+ case 1067: return new ::Ifc4x3_rc1::IfcSphere(data);
+ case 1068: return new ::Ifc4x3_rc1::IfcSphericalSurface(data);
+ case 1069: return new ::Ifc4x3_rc1::IfcStackTerminal(data);
+ case 1070: return new ::Ifc4x3_rc1::IfcStackTerminalType(data);
+ case 1072: return new ::Ifc4x3_rc1::IfcStair(data);
+ case 1073: return new ::Ifc4x3_rc1::IfcStairFlight(data);
+ case 1074: return new ::Ifc4x3_rc1::IfcStairFlightType(data);
+ case 1076: return new ::Ifc4x3_rc1::IfcStairType(data);
+ case 1079: return new ::Ifc4x3_rc1::IfcStructuralAction(data);
+ case 1080: return new ::Ifc4x3_rc1::IfcStructuralActivity(data);
+ case 1082: return new ::Ifc4x3_rc1::IfcStructuralAnalysisModel(data);
+ case 1083: return new ::Ifc4x3_rc1::IfcStructuralConnection(data);
+ case 1084: return new ::Ifc4x3_rc1::IfcStructuralConnectionCondition(data);
+ case 1085: return new ::Ifc4x3_rc1::IfcStructuralCurveAction(data);
+ case 1087: return new ::Ifc4x3_rc1::IfcStructuralCurveConnection(data);
+ case 1088: return new ::Ifc4x3_rc1::IfcStructuralCurveMember(data);
+ case 1090: return new ::Ifc4x3_rc1::IfcStructuralCurveMemberVarying(data);
+ case 1091: return new ::Ifc4x3_rc1::IfcStructuralCurveReaction(data);
+ case 1092: return new ::Ifc4x3_rc1::IfcStructuralItem(data);
+ case 1093: return new ::Ifc4x3_rc1::IfcStructuralLinearAction(data);
+ case 1094: return new ::Ifc4x3_rc1::IfcStructuralLoad(data);
+ case 1095: return new ::Ifc4x3_rc1::IfcStructuralLoadCase(data);
+ case 1096: return new ::Ifc4x3_rc1::IfcStructuralLoadConfiguration(data);
+ case 1097: return new ::Ifc4x3_rc1::IfcStructuralLoadGroup(data);
+ case 1098: return new ::Ifc4x3_rc1::IfcStructuralLoadLinearForce(data);
+ case 1099: return new ::Ifc4x3_rc1::IfcStructuralLoadOrResult(data);
+ case 1100: return new ::Ifc4x3_rc1::IfcStructuralLoadPlanarForce(data);
+ case 1101: return new ::Ifc4x3_rc1::IfcStructuralLoadSingleDisplacement(data);
+ case 1102: return new ::Ifc4x3_rc1::IfcStructuralLoadSingleDisplacementDistortion(data);
+ case 1103: return new ::Ifc4x3_rc1::IfcStructuralLoadSingleForce(data);
+ case 1104: return new ::Ifc4x3_rc1::IfcStructuralLoadSingleForceWarping(data);
+ case 1105: return new ::Ifc4x3_rc1::IfcStructuralLoadStatic(data);
+ case 1106: return new ::Ifc4x3_rc1::IfcStructuralLoadTemperature(data);
+ case 1107: return new ::Ifc4x3_rc1::IfcStructuralMember(data);
+ case 1108: return new ::Ifc4x3_rc1::IfcStructuralPlanarAction(data);
+ case 1109: return new ::Ifc4x3_rc1::IfcStructuralPointAction(data);
+ case 1110: return new ::Ifc4x3_rc1::IfcStructuralPointConnection(data);
+ case 1111: return new ::Ifc4x3_rc1::IfcStructuralPointReaction(data);
+ case 1112: return new ::Ifc4x3_rc1::IfcStructuralReaction(data);
+ case 1113: return new ::Ifc4x3_rc1::IfcStructuralResultGroup(data);
+ case 1114: return new ::Ifc4x3_rc1::IfcStructuralSurfaceAction(data);
+ case 1116: return new ::Ifc4x3_rc1::IfcStructuralSurfaceConnection(data);
+ case 1117: return new ::Ifc4x3_rc1::IfcStructuralSurfaceMember(data);
+ case 1119: return new ::Ifc4x3_rc1::IfcStructuralSurfaceMemberVarying(data);
+ case 1120: return new ::Ifc4x3_rc1::IfcStructuralSurfaceReaction(data);
+ case 1122: return new ::Ifc4x3_rc1::IfcStyledItem(data);
+ case 1123: return new ::Ifc4x3_rc1::IfcStyledRepresentation(data);
+ case 1124: return new ::Ifc4x3_rc1::IfcStyleModel(data);
+ case 1125: return new ::Ifc4x3_rc1::IfcSubContractResource(data);
+ case 1126: return new ::Ifc4x3_rc1::IfcSubContractResourceType(data);
+ case 1128: return new ::Ifc4x3_rc1::IfcSubedge(data);
+ case 1129: return new ::Ifc4x3_rc1::IfcSurface(data);
+ case 1130: return new ::Ifc4x3_rc1::IfcSurfaceCurve(data);
+ case 1131: return new ::Ifc4x3_rc1::IfcSurfaceCurveSweptAreaSolid(data);
+ case 1132: return new ::Ifc4x3_rc1::IfcSurfaceFeature(data);
+ case 1134: return new ::Ifc4x3_rc1::IfcSurfaceOfLinearExtrusion(data);
+ case 1135: return new ::Ifc4x3_rc1::IfcSurfaceOfRevolution(data);
+ case 1137: return new ::Ifc4x3_rc1::IfcSurfaceReinforcementArea(data);
+ case 1139: return new ::Ifc4x3_rc1::IfcSurfaceStyle(data);
+ case 1141: return new ::Ifc4x3_rc1::IfcSurfaceStyleLighting(data);
+ case 1142: return new ::Ifc4x3_rc1::IfcSurfaceStyleRefraction(data);
+ case 1143: return new ::Ifc4x3_rc1::IfcSurfaceStyleRendering(data);
+ case 1144: return new ::Ifc4x3_rc1::IfcSurfaceStyleShading(data);
+ case 1145: return new ::Ifc4x3_rc1::IfcSurfaceStyleWithTextures(data);
+ case 1146: return new ::Ifc4x3_rc1::IfcSurfaceTexture(data);
+ case 1147: return new ::Ifc4x3_rc1::IfcSweptAreaSolid(data);
+ case 1148: return new ::Ifc4x3_rc1::IfcSweptDiskSolid(data);
+ case 1149: return new ::Ifc4x3_rc1::IfcSweptDiskSolidPolygonal(data);
+ case 1150: return new ::Ifc4x3_rc1::IfcSweptSurface(data);
+ case 1151: return new ::Ifc4x3_rc1::IfcSwitchingDevice(data);
+ case 1152: return new ::Ifc4x3_rc1::IfcSwitchingDeviceType(data);
+ case 1154: return new ::Ifc4x3_rc1::IfcSystem(data);
+ case 1155: return new ::Ifc4x3_rc1::IfcSystemFurnitureElement(data);
+ case 1156: return new ::Ifc4x3_rc1::IfcSystemFurnitureElementType(data);
+ case 1158: return new ::Ifc4x3_rc1::IfcTable(data);
+ case 1159: return new ::Ifc4x3_rc1::IfcTableColumn(data);
+ case 1160: return new ::Ifc4x3_rc1::IfcTableRow(data);
+ case 1161: return new ::Ifc4x3_rc1::IfcTank(data);
+ case 1162: return new ::Ifc4x3_rc1::IfcTankType(data);
+ case 1164: return new ::Ifc4x3_rc1::IfcTask(data);
+ case 1166: return new ::Ifc4x3_rc1::IfcTaskTime(data);
+ case 1167: return new ::Ifc4x3_rc1::IfcTaskTimeRecurring(data);
+ case 1168: return new ::Ifc4x3_rc1::IfcTaskType(data);
+ case 1170: return new ::Ifc4x3_rc1::IfcTelecomAddress(data);
+ case 1171: return new ::Ifc4x3_rc1::IfcTemperatureGradientMeasure(data);
+ case 1172: return new ::Ifc4x3_rc1::IfcTemperatureRateOfChangeMeasure(data);
+ case 1173: return new ::Ifc4x3_rc1::IfcTendon(data);
+ case 1174: return new ::Ifc4x3_rc1::IfcTendonAnchor(data);
+ case 1175: return new ::Ifc4x3_rc1::IfcTendonAnchorType(data);
+ case 1177: return new ::Ifc4x3_rc1::IfcTendonConduit(data);
+ case 1178: return new ::Ifc4x3_rc1::IfcTendonConduitType(data);
+ case 1180: return new ::Ifc4x3_rc1::IfcTendonType(data);
+ case 1182: return new ::Ifc4x3_rc1::IfcTessellatedFaceSet(data);
+ case 1183: return new ::Ifc4x3_rc1::IfcTessellatedItem(data);
+ case 1184: return new ::Ifc4x3_rc1::IfcText(data);
+ case 1185: return new ::Ifc4x3_rc1::IfcTextAlignment(data);
+ case 1186: return new ::Ifc4x3_rc1::IfcTextDecoration(data);
+ case 1187: return new ::Ifc4x3_rc1::IfcTextFontName(data);
+ case 1189: return new ::Ifc4x3_rc1::IfcTextLiteral(data);
+ case 1190: return new ::Ifc4x3_rc1::IfcTextLiteralWithExtent(data);
+ case 1192: return new ::Ifc4x3_rc1::IfcTextStyle(data);
+ case 1193: return new ::Ifc4x3_rc1::IfcTextStyleFontModel(data);
+ case 1194: return new ::Ifc4x3_rc1::IfcTextStyleForDefinedFont(data);
+ case 1195: return new ::Ifc4x3_rc1::IfcTextStyleTextModel(data);
+ case 1196: return new ::Ifc4x3_rc1::IfcTextTransformation(data);
+ case 1197: return new ::Ifc4x3_rc1::IfcTextureCoordinate(data);
+ case 1198: return new ::Ifc4x3_rc1::IfcTextureCoordinateGenerator(data);
+ case 1199: return new ::Ifc4x3_rc1::IfcTextureMap(data);
+ case 1200: return new ::Ifc4x3_rc1::IfcTextureVertex(data);
+ case 1201: return new ::Ifc4x3_rc1::IfcTextureVertexList(data);
+ case 1202: return new ::Ifc4x3_rc1::IfcThermalAdmittanceMeasure(data);
+ case 1203: return new ::Ifc4x3_rc1::IfcThermalConductivityMeasure(data);
+ case 1204: return new ::Ifc4x3_rc1::IfcThermalExpansionCoefficientMeasure(data);
+ case 1205: return new ::Ifc4x3_rc1::IfcThermalResistanceMeasure(data);
+ case 1206: return new ::Ifc4x3_rc1::IfcThermalTransmittanceMeasure(data);
+ case 1207: return new ::Ifc4x3_rc1::IfcThermodynamicTemperatureMeasure(data);
+ case 1208: return new ::Ifc4x3_rc1::IfcTime(data);
+ case 1209: return new ::Ifc4x3_rc1::IfcTimeMeasure(data);
+ case 1211: return new ::Ifc4x3_rc1::IfcTimePeriod(data);
+ case 1212: return new ::Ifc4x3_rc1::IfcTimeSeries(data);
+ case 1214: return new ::Ifc4x3_rc1::IfcTimeSeriesValue(data);
+ case 1215: return new ::Ifc4x3_rc1::IfcTimeStamp(data);
+ case 1216: return new ::Ifc4x3_rc1::IfcTopologicalRepresentationItem(data);
+ case 1217: return new ::Ifc4x3_rc1::IfcTopologyRepresentation(data);
+ case 1218: return new ::Ifc4x3_rc1::IfcToroidalSurface(data);
+ case 1219: return new ::Ifc4x3_rc1::IfcTorqueMeasure(data);
+ case 1220: return new ::Ifc4x3_rc1::IfcTrackElement(data);
+ case 1221: return new ::Ifc4x3_rc1::IfcTrackElementType(data);
+ case 1223: return new ::Ifc4x3_rc1::IfcTransformer(data);
+ case 1224: return new ::Ifc4x3_rc1::IfcTransformerType(data);
+ case 1227: return new ::Ifc4x3_rc1::IfcTransitionCurveSegment2D(data);
+ case 1230: return new ::Ifc4x3_rc1::IfcTransportElement(data);
+ case 1233: return new ::Ifc4x3_rc1::IfcTransportElementType(data);
+ case 1235: return new ::Ifc4x3_rc1::IfcTrapeziumProfileDef(data);
+ case 1236: return new ::Ifc4x3_rc1::IfcTriangulatedFaceSet(data);
+ case 1237: return new ::Ifc4x3_rc1::IfcTriangulatedIrregularNetwork(data);
+ case 1238: return new ::Ifc4x3_rc1::IfcTrimmedCurve(data);
+ case 1241: return new ::Ifc4x3_rc1::IfcTShapeProfileDef(data);
+ case 1242: return new ::Ifc4x3_rc1::IfcTubeBundle(data);
+ case 1243: return new ::Ifc4x3_rc1::IfcTubeBundleType(data);
+ case 1245: return new ::Ifc4x3_rc1::IfcTypeObject(data);
+ case 1246: return new ::Ifc4x3_rc1::IfcTypeProcess(data);
+ case 1247: return new ::Ifc4x3_rc1::IfcTypeProduct(data);
+ case 1248: return new ::Ifc4x3_rc1::IfcTypeResource(data);
+ case 1250: return new ::Ifc4x3_rc1::IfcUnitaryControlElement(data);
+ case 1251: return new ::Ifc4x3_rc1::IfcUnitaryControlElementType(data);
+ case 1253: return new ::Ifc4x3_rc1::IfcUnitaryEquipment(data);
+ case 1254: return new ::Ifc4x3_rc1::IfcUnitaryEquipmentType(data);
+ case 1256: return new ::Ifc4x3_rc1::IfcUnitAssignment(data);
+ case 1258: return new ::Ifc4x3_rc1::IfcURIReference(data);
+ case 1259: return new ::Ifc4x3_rc1::IfcUShapeProfileDef(data);
+ case 1261: return new ::Ifc4x3_rc1::IfcValve(data);
+ case 1262: return new ::Ifc4x3_rc1::IfcValveType(data);
+ case 1264: return new ::Ifc4x3_rc1::IfcVaporPermeabilityMeasure(data);
+ case 1265: return new ::Ifc4x3_rc1::IfcVector(data);
+ case 1267: return new ::Ifc4x3_rc1::IfcVertex(data);
+ case 1268: return new ::Ifc4x3_rc1::IfcVertexLoop(data);
+ case 1269: return new ::Ifc4x3_rc1::IfcVertexPoint(data);
+ case 1270: return new ::Ifc4x3_rc1::IfcVibrationDamper(data);
+ case 1271: return new ::Ifc4x3_rc1::IfcVibrationDamperType(data);
+ case 1273: return new ::Ifc4x3_rc1::IfcVibrationIsolator(data);
+ case 1274: return new ::Ifc4x3_rc1::IfcVibrationIsolatorType(data);
+ case 1276: return new ::Ifc4x3_rc1::IfcVirtualElement(data);
+ case 1277: return new ::Ifc4x3_rc1::IfcVirtualGridIntersection(data);
+ case 1278: return new ::Ifc4x3_rc1::IfcVoidingFeature(data);
+ case 1280: return new ::Ifc4x3_rc1::IfcVoidStratum(data);
+ case 1281: return new ::Ifc4x3_rc1::IfcVolumeMeasure(data);
+ case 1282: return new ::Ifc4x3_rc1::IfcVolumetricFlowRateMeasure(data);
+ case 1283: return new ::Ifc4x3_rc1::IfcWall(data);
+ case 1284: return new ::Ifc4x3_rc1::IfcWallElementedCase(data);
+ case 1285: return new ::Ifc4x3_rc1::IfcWallStandardCase(data);
+ case 1286: return new ::Ifc4x3_rc1::IfcWallType(data);
+ case 1288: return new ::Ifc4x3_rc1::IfcWarpingConstantMeasure(data);
+ case 1289: return new ::Ifc4x3_rc1::IfcWarpingMomentMeasure(data);
+ case 1291: return new ::Ifc4x3_rc1::IfcWasteTerminal(data);
+ case 1292: return new ::Ifc4x3_rc1::IfcWasteTerminalType(data);
+ case 1294: return new ::Ifc4x3_rc1::IfcWaterStratum(data);
+ case 1295: return new ::Ifc4x3_rc1::IfcWindow(data);
+ case 1296: return new ::Ifc4x3_rc1::IfcWindowLiningProperties(data);
+ case 1299: return new ::Ifc4x3_rc1::IfcWindowPanelProperties(data);
+ case 1300: return new ::Ifc4x3_rc1::IfcWindowStandardCase(data);
+ case 1301: return new ::Ifc4x3_rc1::IfcWindowStyle(data);
+ case 1304: return new ::Ifc4x3_rc1::IfcWindowType(data);
+ case 1307: return new ::Ifc4x3_rc1::IfcWorkCalendar(data);
+ case 1309: return new ::Ifc4x3_rc1::IfcWorkControl(data);
+ case 1310: return new ::Ifc4x3_rc1::IfcWorkPlan(data);
+ case 1312: return new ::Ifc4x3_rc1::IfcWorkSchedule(data);
+ case 1314: return new ::Ifc4x3_rc1::IfcWorkTime(data);
+ case 1315: return new ::Ifc4x3_rc1::IfcZone(data);
+ case 1316: return new ::Ifc4x3_rc1::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_RC1_populate_schema() {
+ IFC4X3_RC1_IfcAbsorbedDoseMeasure_type = new type_declaration("IfcAbsorbedDoseMeasure", 0, new simple_type(simple_type::real_type));
+ IFC4X3_RC1_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_RC1_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_RC1_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_RC1_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_RC1_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_RC1_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_RC1_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_RC1_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_RC1_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_RC1_IfcAlarmTypeEnum_type = new enumeration_type("IfcAlarmTypeEnum", 28, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X3_RC1_IfcAlignmentTypeEnum_type = new enumeration_type("IfcAlignmentTypeEnum", 44, items);
+ }
+ IFC4X3_RC1_IfcAmountOfSubstanceMeasure_type = new type_declaration("IfcAmountOfSubstanceMeasure", 45, 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_RC1_IfcAnalysisModelTypeEnum_type = new enumeration_type("IfcAnalysisModelTypeEnum", 46, 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_RC1_IfcAnalysisTheoryTypeEnum_type = new enumeration_type("IfcAnalysisTheoryTypeEnum", 47, items);
+ }
+ IFC4X3_RC1_IfcAngularVelocityMeasure_type = new type_declaration("IfcAngularVelocityMeasure", 48, 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_RC1_IfcAnnotationTypeEnum_type = new enumeration_type("IfcAnnotationTypeEnum", 51, items);
+ }
+ IFC4X3_RC1_IfcAreaDensityMeasure_type = new type_declaration("IfcAreaDensityMeasure", 61, new simple_type(simple_type::real_type));
+ IFC4X3_RC1_IfcAreaMeasure_type = new type_declaration("IfcAreaMeasure", 62, 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_RC1_IfcArithmeticOperatorEnum_type = new enumeration_type("IfcArithmeticOperatorEnum", 63, items);
+ }
+ {
+ std::vector items; items.reserve(3);
+ items.push_back("FACTORY");
+ items.push_back("NOTDEFINED");
+ items.push_back("SITE");
+ IFC4X3_RC1_IfcAssemblyPlaceEnum_type = new enumeration_type("IfcAssemblyPlaceEnum", 64, items);
+ }
+ {
+ std::vector items; items.reserve(14);
+ items.push_back("AMPLIFIER");
+ items.push_back("CAMERA");
+ items.push_back("DISPLAY");
+ items.push_back("MICROPHONE");
+ items.push_back("NOTDEFINED");
+ items.push_back("PLAYER");
+ items.push_back("PROJECTOR");
+ items.push_back("RAILWAY_COMMUNICATION_TERMINAL");
+ items.push_back("RECEIVER");
+ items.push_back("SPEAKER");
+ items.push_back("SWITCHER");
+ items.push_back("TELEPHONE");
+ items.push_back("TUNER");
+ items.push_back("USERDEFINED");
+ IFC4X3_RC1_IfcAudioVisualApplianceTypeEnum_type = new enumeration_type("IfcAudioVisualApplianceTypeEnum", 69, 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_RC1_IfcBSplineCurveForm_type = new enumeration_type("IfcBSplineCurveForm", 113, 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_RC1_IfcBSplineSurfaceForm_type = new enumeration_type("IfcBSplineSurfaceForm", 116, 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_RC1_IfcBeamTypeEnum_type = new enumeration_type("IfcBeamTypeEnum", 78, 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_RC1_IfcBearingTypeDisplacementEnum_type = new enumeration_type("IfcBearingTypeDisplacementEnum", 81, 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_RC1_IfcBearingTypeEnum_type = new enumeration_type("IfcBearingTypeEnum", 82, 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_RC1_IfcBenchmarkEnum_type = new enumeration_type("IfcBenchmarkEnum", 83, items);
+ }
+ IFC4X3_RC1_IfcBinary_type = new type_declaration("IfcBinary", 85, 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_RC1_IfcBoilerTypeEnum_type = new enumeration_type("IfcBoilerTypeEnum", 90, items);
+ }
+ IFC4X3_RC1_IfcBoolean_type = new type_declaration("IfcBoolean", 91, 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_RC1_IfcBooleanOperator_type = new enumeration_type("IfcBooleanOperator", 94, 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_RC1_IfcBridgePartTypeEnum_type = new enumeration_type("IfcBridgePartTypeEnum", 110, 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_RC1_IfcBridgeTypeEnum_type = new enumeration_type("IfcBridgeTypeEnum", 111, 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_RC1_IfcBuildingElementPartTypeEnum_type = new enumeration_type("IfcBuildingElementPartTypeEnum", 121, items);
+ }
+ {
+ std::vector items; items.reserve(7);
+ items.push_back("COMPLEX");
+ items.push_back("ELEMENT");
+ items.push_back("NOTDEFINED");
+ items.push_back("PARTIAL");
+ items.push_back("PROVISIONFORSPACE");
+ items.push_back("PROVISIONFORVOID");
+ items.push_back("USERDEFINED");
+ IFC4X3_RC1_IfcBuildingElementProxyTypeEnum_type = new enumeration_type("IfcBuildingElementProxyTypeEnum", 124, 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_RC1_IfcBuildingSystemTypeEnum_type = new enumeration_type("IfcBuildingSystemTypeEnum", 127, items);
+ }
+ {
+ std::vector items; items.reserve(14);
+ items.push_back("EROSIONPREVENTION");
+ items.push_back("FENESTRATION");
+ items.push_back("FOUNDATION");
+ items.push_back("LOADBEARING");
+ items.push_back("MOORING");
+ items.push_back("MOORINGSYSTEM");
+ items.push_back("NOTDEFINED");
+ items.push_back("OUTERSHELL");
+ items.push_back("PRESTRESSING");
+ items.push_back("REINFORCING");
+ items.push_back("SHADING");
+ items.push_back("TRACKCIRCUIT");
+ items.push_back("TRANSPORT");
+ items.push_back("USERDEFINED");
+ IFC4X3_RC1_IfcBuiltSystemTypeEnum_type = new enumeration_type("IfcBuiltSystemTypeEnum", 131, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X3_RC1_IfcBurnerTypeEnum_type = new enumeration_type("IfcBurnerTypeEnum", 134, items);
+ }
+ {
+ std::vector items; items.reserve(6);
+ items.push_back("BEND");
+ items.push_back("CROSS");
+ items.push_back("NOTDEFINED");
+ items.push_back("REDUCER");
+ items.push_back("TEE");
+ items.push_back("USERDEFINED");
+ IFC4X3_RC1_IfcCableCarrierFittingTypeEnum_type = new enumeration_type("IfcCableCarrierFittingTypeEnum", 137, 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_RC1_IfcCableCarrierSegmentTypeEnum_type = new enumeration_type("IfcCableCarrierSegmentTypeEnum", 140, 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_RC1_IfcCableFittingTypeEnum_type = new enumeration_type("IfcCableFittingTypeEnum", 143, 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_RC1_IfcCableSegmentTypeEnum_type = new enumeration_type("IfcCableSegmentTypeEnum", 146, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("CAISSON");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ items.push_back("WELL");
+ IFC4X3_RC1_IfcCaissonFoundationTypeEnum_type = new enumeration_type("IfcCaissonFoundationTypeEnum", 149, items);
+ }
+ IFC4X3_RC1_IfcCardinalPointReference_type = new type_declaration("IfcCardinalPointReference", 150, 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_RC1_IfcChangeActionEnum_type = new enumeration_type("IfcChangeActionEnum", 161, 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_RC1_IfcChillerTypeEnum_type = new enumeration_type("IfcChillerTypeEnum", 164, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X3_RC1_IfcChimneyTypeEnum_type = new enumeration_type("IfcChimneyTypeEnum", 167, 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_RC1_IfcCoilTypeEnum_type = new enumeration_type("IfcCoilTypeEnum", 181, 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_RC1_IfcColumnTypeEnum_type = new enumeration_type("IfcColumnTypeEnum", 190, items);
+ }
+ {
+ std::vector items; items.reserve(23);
+ items.push_back("ANTENNA");
+ items.push_back("AUTOMATON");
+ items.push_back("COMPUTER");
+ items.push_back("FAX");
+ items.push_back("GATEWAY");
+ items.push_back("INTELLIGENT_PERIPHERAL");
+ items.push_back("IP_NETWORK_EQUIPMENT");
+ items.push_back("MODEM");
+ items.push_back("NETWORKAPPLIANCE");
+ items.push_back("NETWORKBRIDGE");
+ items.push_back("NETWORKHUB");
+ items.push_back("NOTDEFINED");
+ items.push_back("OPTICAL_NETWORK_UNIT");
+ items.push_back("PRINTER");
+ items.push_back("REPEATER");
+ items.push_back("ROUTER");
+ items.push_back("SCANNER");
+ items.push_back("TELECOMMAND");
+ items.push_back("TELEPHONYEXCHANGE");
+ items.push_back("TRANSITIONCOMPONENT");
+ items.push_back("TRANSPONDER");
+ items.push_back("TRANSPORTEQUIPMENT");
+ items.push_back("USERDEFINED");
+ IFC4X3_RC1_IfcCommunicationsApplianceTypeEnum_type = new enumeration_type("IfcCommunicationsApplianceTypeEnum", 193, items);
+ }
+ IFC4X3_RC1_IfcComplexNumber_type = new type_declaration("IfcComplexNumber", 194, 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_RC1_IfcComplexPropertyTemplateTypeEnum_type = new enumeration_type("IfcComplexPropertyTemplateTypeEnum", 197, items);
+ }
+ IFC4X3_RC1_IfcCompoundPlaneAngleMeasure_type = new type_declaration("IfcCompoundPlaneAngleMeasure", 202, 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_RC1_IfcCompressorTypeEnum_type = new enumeration_type("IfcCompressorTypeEnum", 205, 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_RC1_IfcCondenserTypeEnum_type = new enumeration_type("IfcCondenserTypeEnum", 208, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("ATEND");
+ items.push_back("ATPATH");
+ items.push_back("ATSTART");
+ items.push_back("NOTDEFINED");
+ IFC4X3_RC1_IfcConnectionTypeEnum_type = new enumeration_type("IfcConnectionTypeEnum", 216, 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_RC1_IfcConstraintEnum_type = new enumeration_type("IfcConstraintEnum", 219, 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_RC1_IfcConstructionEquipmentResourceTypeEnum_type = new enumeration_type("IfcConstructionEquipmentResourceTypeEnum", 222, 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_RC1_IfcConstructionMaterialResourceTypeEnum_type = new enumeration_type("IfcConstructionMaterialResourceTypeEnum", 225, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("ASSEMBLY");
+ items.push_back("FORMWORK");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X3_RC1_IfcConstructionProductResourceTypeEnum_type = new enumeration_type("IfcConstructionProductResourceTypeEnum", 228, items);
+ }
+ IFC4X3_RC1_IfcContextDependentMeasure_type = new type_declaration("IfcContextDependentMeasure", 232, 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_RC1_IfcControllerTypeEnum_type = new enumeration_type("IfcControllerTypeEnum", 237, 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_RC1_IfcConveyorSegmentTypeEnum_type = new enumeration_type("IfcConveyorSegmentTypeEnum", 242, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("ACTIVE");
+ items.push_back("NOTDEFINED");
+ items.push_back("PASSIVE");
+ items.push_back("USERDEFINED");
+ IFC4X3_RC1_IfcCooledBeamTypeEnum_type = new enumeration_type("IfcCooledBeamTypeEnum", 245, 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_RC1_IfcCoolingTowerTypeEnum_type = new enumeration_type("IfcCoolingTowerTypeEnum", 248, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X3_RC1_IfcCostItemTypeEnum_type = new enumeration_type("IfcCostItemTypeEnum", 253, 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_RC1_IfcCostScheduleTypeEnum_type = new enumeration_type("IfcCostScheduleTypeEnum", 255, items);
+ }
+ IFC4X3_RC1_IfcCountMeasure_type = new type_declaration("IfcCountMeasure", 257, new simple_type(simple_type::number_type));
+ {
+ std::vector items; items.reserve(8);
+ items.push_back("ARMOUR");
+ items.push_back("BALLASTBED");
+ items.push_back("CORE");
+ items.push_back("FILTER");
+ items.push_back("NOTDEFINED");
+ items.push_back("PAVEMENT");
+ items.push_back("PROTECTION");
+ items.push_back("USERDEFINED");
+ IFC4X3_RC1_IfcCourseTypeEnum_type = new enumeration_type("IfcCourseTypeEnum", 260, items);
+ }
+ {
+ std::vector items; items.reserve(13);
+ items.push_back("CEILING");
+ items.push_back("CLADDING");
+ items.push_back("COPING");
+ items.push_back("FLOORING");
+ items.push_back("INSULATION");
+ items.push_back("MEMBRANE");
+ items.push_back("MOLDING");
+ items.push_back("NOTDEFINED");
+ items.push_back("ROOFING");
+ items.push_back("SKIRTINGBOARD");
+ items.push_back("SLEEVING");
+ items.push_back("USERDEFINED");
+ items.push_back("WRAPPING");
+ IFC4X3_RC1_IfcCoveringTypeEnum_type = new enumeration_type("IfcCoveringTypeEnum", 263, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("NOTDEFINED");
+ items.push_back("OFFICE");
+ items.push_back("SITE");
+ items.push_back("USERDEFINED");
+ IFC4X3_RC1_IfcCrewResourceTypeEnum_type = new enumeration_type("IfcCrewResourceTypeEnum", 266, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X3_RC1_IfcCurtainWallTypeEnum_type = new enumeration_type("IfcCurtainWallTypeEnum", 274, items);
+ }
+ IFC4X3_RC1_IfcCurvatureMeasure_type = new type_declaration("IfcCurvatureMeasure", 275, 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_RC1_IfcCurveInterpolationEnum_type = new enumeration_type("IfcCurveInterpolationEnum", 280, 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_RC1_IfcDamperTypeEnum_type = new enumeration_type("IfcDamperTypeEnum", 292, 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_RC1_IfcDataOriginEnum_type = new enumeration_type("IfcDataOriginEnum", 293, items);
+ }
+ IFC4X3_RC1_IfcDate_type = new type_declaration("IfcDate", 294, new simple_type(simple_type::string_type));
+ IFC4X3_RC1_IfcDateTime_type = new type_declaration("IfcDateTime", 295, new simple_type(simple_type::string_type));
+ IFC4X3_RC1_IfcDayInMonthNumber_type = new type_declaration("IfcDayInMonthNumber", 296, new simple_type(simple_type::integer_type));
+ IFC4X3_RC1_IfcDayInWeekNumber_type = new type_declaration("IfcDayInWeekNumber", 297, 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_RC1_IfcDerivedUnitEnum_type = new enumeration_type("IfcDerivedUnitEnum", 305, items);
+ }
+ IFC4X3_RC1_IfcDescriptiveMeasure_type = new type_declaration("IfcDescriptiveMeasure", 306, new simple_type(simple_type::string_type));
+ IFC4X3_RC1_IfcDimensionCount_type = new type_declaration("IfcDimensionCount", 308, new simple_type(simple_type::integer_type));
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("NEGATIVE");
+ items.push_back("POSITIVE");
+ IFC4X3_RC1_IfcDirectionSenseEnum_type = new enumeration_type("IfcDirectionSenseEnum", 310, items);
+ }
+ {
+ std::vector items; items.reserve(19);
+ items.push_back("ANCHORPLATE");
+ items.push_back("BIRDPROTECTION");
+ items.push_back("BRACKET");
+ items.push_back("CABLEARRANGER");
+ items.push_back("ELASTIC_CUSHION");
+ items.push_back("EXPANSION_JOINT_DEVICE");
+ items.push_back("INSULATOR");
+ items.push_back("LOCK");
+ items.push_back("NOTDEFINED");
+ items.push_back("PANEL_STRENGTHENING");
+ items.push_back("RAILBRACE");
+ items.push_back("RAILPAD");
+ items.push_back("RAIL_LUBRICATION");
+ items.push_back("RAIL_MECHANICAL_EQUIPMENT");
+ items.push_back("SHOE");
+ items.push_back("SLIDINGCHAIR");
+ items.push_back("SOUNDABSORPTION");
+ items.push_back("TENSIONINGEQUIPMENT");
+ items.push_back("USERDEFINED");
+ IFC4X3_RC1_IfcDiscreteAccessoryTypeEnum_type = new enumeration_type("IfcDiscreteAccessoryTypeEnum", 315, items);
+ }
+ {
+ std::vector items; items.reserve(7);
+ items.push_back("CONSUMERUNIT");
+ items.push_back("DISTRIBUTIONBOARD");
+ items.push_back("DISTRIBUTIONFRAME");
+ items.push_back("MOTORCONTROLCENTRE");
+ items.push_back("NOTDEFINED");
+ items.push_back("SWITCHBOARD");
+ items.push_back("USERDEFINED");
+ IFC4X3_RC1_IfcDistributionBoardTypeEnum_type = new enumeration_type("IfcDistributionBoardTypeEnum", 319, 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_RC1_IfcDistributionChamberElementTypeEnum_type = new enumeration_type("IfcDistributionChamberElementTypeEnum", 322, 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_RC1_IfcDistributionPortTypeEnum_type = new enumeration_type("IfcDistributionPortTypeEnum", 331, items);
+ }
+ {
+ std::vector items; items.reserve(47);
+ items.push_back("AIRCONDITIONING");
+ items.push_back("AUDIOVISUAL");
+ items.push_back("CATENARY_SYSTEM");
+ items.push_back("CHEMICAL");
+ items.push_back("CHILLEDWATER");
+ items.push_back("COMMUNICATION");
+ items.push_back("COMPRESSEDAIR");
+ items.push_back("CONDENSERWATER");
+ items.push_back("CONTROL");
+ items.push_back("CONVEYING");
+ items.push_back("DATA");
+ items.push_back("DISPOSAL");
+ items.push_back("DOMESTICCOLDWATER");
+ items.push_back("DOMESTICHOTWATER");
+ items.push_back("DRAINAGE");
+ items.push_back("EARTHING");
+ items.push_back("ELECTRICAL");
+ items.push_back("ELECTROACOUSTIC");
+ items.push_back("EXHAUST");
+ items.push_back("FIREPROTECTION");
+ items.push_back("FUEL");
+ items.push_back("GAS");
+ items.push_back("HAZARDOUS");
+ items.push_back("HEATING");
+ items.push_back("LIGHTING");
+ items.push_back("LIGHTNINGPROTECTION");
+ items.push_back("MUNICIPALSOLIDWASTE");
+ items.push_back("NOTDEFINED");
+ items.push_back("OIL");
+ items.push_back("OPERATIONAL");
+ items.push_back("OVERHEAD_CONTACTLINE_SYSTEM");
+ items.push_back("POWERGENERATION");
+ items.push_back("RAINWATER");
+ items.push_back("REFRIGERATION");
+ items.push_back("RETURN_CIRCUIT");
+ items.push_back("SECURITY");
+ items.push_back("SEWAGE");
+ items.push_back("SIGNAL");
+ items.push_back("STORMWATER");
+ items.push_back("TELEPHONE");
+ items.push_back("TV");
+ items.push_back("USERDEFINED");
+ items.push_back("VACUUM");
+ items.push_back("VENT");
+ items.push_back("VENTILATION");
+ items.push_back("WASTEWATER");
+ items.push_back("WATERSUPPLY");
+ IFC4X3_RC1_IfcDistributionSystemEnum_type = new enumeration_type("IfcDistributionSystemEnum", 333, 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_RC1_IfcDocumentConfidentialityEnum_type = new enumeration_type("IfcDocumentConfidentialityEnum", 334, 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_RC1_IfcDocumentStatusEnum_type = new enumeration_type("IfcDocumentStatusEnum", 339, 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_RC1_IfcDoorPanelOperationEnum_type = new enumeration_type("IfcDoorPanelOperationEnum", 342, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("LEFT");
+ items.push_back("MIDDLE");
+ items.push_back("NOTDEFINED");
+ items.push_back("RIGHT");
+ IFC4X3_RC1_IfcDoorPanelPositionEnum_type = new enumeration_type("IfcDoorPanelPositionEnum", 343, 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_RC1_IfcDoorStyleConstructionEnum_type = new enumeration_type("IfcDoorStyleConstructionEnum", 347, 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_RC1_IfcDoorStyleOperationEnum_type = new enumeration_type("IfcDoorStyleOperationEnum", 348, 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_RC1_IfcDoorTypeEnum_type = new enumeration_type("IfcDoorTypeEnum", 350, items);
+ }
+ {
+ std::vector items; items.reserve(20);
+ items.push_back("DOUBLE_DOOR_DOUBLE_SWING");
+ items.push_back("DOUBLE_DOOR_FOLDING");
+ items.push_back("DOUBLE_DOOR_SINGLE_SWING");
+ items.push_back("DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT");
+ items.push_back("DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT");
+ items.push_back("DOUBLE_DOOR_SLIDING");
+ items.push_back("DOUBLE_SWING_LEFT");
+ items.push_back("DOUBLE_SWING_RIGHT");
+ items.push_back("FOLDING_TO_LEFT");
+ items.push_back("FOLDING_TO_RIGHT");
+ items.push_back("NOTDEFINED");
+ items.push_back("REVOLVING");
+ items.push_back("ROLLINGUP");
+ items.push_back("SINGLE_SWING_LEFT");
+ items.push_back("SINGLE_SWING_RIGHT");
+ items.push_back("SLIDING_TO_LEFT");
+ items.push_back("SLIDING_TO_RIGHT");
+ items.push_back("SWING_FIXED_LEFT");
+ items.push_back("SWING_FIXED_RIGHT");
+ items.push_back("USERDEFINED");
+ IFC4X3_RC1_IfcDoorTypeOperationEnum_type = new enumeration_type("IfcDoorTypeOperationEnum", 351, items);
+ }
+ IFC4X3_RC1_IfcDoseEquivalentMeasure_type = new type_declaration("IfcDoseEquivalentMeasure", 352, 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_RC1_IfcDuctFittingTypeEnum_type = new enumeration_type("IfcDuctFittingTypeEnum", 357, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("FLEXIBLESEGMENT");
+ items.push_back("NOTDEFINED");
+ items.push_back("RIGIDSEGMENT");
+ items.push_back("USERDEFINED");
+ IFC4X3_RC1_IfcDuctSegmentTypeEnum_type = new enumeration_type("IfcDuctSegmentTypeEnum", 360, 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_RC1_IfcDuctSilencerTypeEnum_type = new enumeration_type("IfcDuctSilencerTypeEnum", 363, items);
+ }
+ IFC4X3_RC1_IfcDuration_type = new type_declaration("IfcDuration", 364, new simple_type(simple_type::string_type));
+ IFC4X3_RC1_IfcDynamicViscosityMeasure_type = new type_declaration("IfcDynamicViscosityMeasure", 365, 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_RC1_IfcEarthworksCutTypeEnum_type = new enumeration_type("IfcEarthworksCutTypeEnum", 367, 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_RC1_IfcEarthworksFillTypeEnum_type = new enumeration_type("IfcEarthworksFillTypeEnum", 370, 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_RC1_IfcElectricApplianceTypeEnum_type = new enumeration_type("IfcElectricApplianceTypeEnum", 376, items);
+ }
+ IFC4X3_RC1_IfcElectricCapacitanceMeasure_type = new type_declaration("IfcElectricCapacitanceMeasure", 377, new simple_type(simple_type::real_type));
+ IFC4X3_RC1_IfcElectricChargeMeasure_type = new type_declaration("IfcElectricChargeMeasure", 378, new simple_type(simple_type::real_type));
+ IFC4X3_RC1_IfcElectricConductanceMeasure_type = new type_declaration("IfcElectricConductanceMeasure", 379, new simple_type(simple_type::real_type));
+ IFC4X3_RC1_IfcElectricCurrentMeasure_type = new type_declaration("IfcElectricCurrentMeasure", 380, 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_RC1_IfcElectricDistributionBoardTypeEnum_type = new enumeration_type("IfcElectricDistributionBoardTypeEnum", 383, 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_RC1_IfcElectricFlowStorageDeviceTypeEnum_type = new enumeration_type("IfcElectricFlowStorageDeviceTypeEnum", 386, items);
+ }
+ {
+ std::vector items; items.reserve(3);
+ items.push_back("ELECTRONICFILTER");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X3_RC1_IfcElectricFlowTreatmentDeviceTypeEnum_type = new enumeration_type("IfcElectricFlowTreatmentDeviceTypeEnum", 389, 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_RC1_IfcElectricGeneratorTypeEnum_type = new enumeration_type("IfcElectricGeneratorTypeEnum", 392, 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_RC1_IfcElectricMotorTypeEnum_type = new enumeration_type("IfcElectricMotorTypeEnum", 395, items);
+ }
+ IFC4X3_RC1_IfcElectricResistanceMeasure_type = new type_declaration("IfcElectricResistanceMeasure", 396, 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_RC1_IfcElectricTimeControlTypeEnum_type = new enumeration_type("IfcElectricTimeControlTypeEnum", 399, items);
+ }
+ IFC4X3_RC1_IfcElectricVoltageMeasure_type = new type_declaration("IfcElectricVoltageMeasure", 400, 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_RC1_IfcElementAssemblyTypeEnum_type = new enumeration_type("IfcElementAssemblyTypeEnum", 405, items);
+ }
+ {
+ std::vector items; items.reserve(3);
+ items.push_back("COMPLEX");
+ items.push_back("ELEMENT");
+ items.push_back("PARTIAL");
+ IFC4X3_RC1_IfcElementCompositionEnum_type = new enumeration_type("IfcElementCompositionEnum", 408, items);
+ }
+ IFC4X3_RC1_IfcEnergyMeasure_type = new type_declaration("IfcEnergyMeasure", 415, 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_RC1_IfcEngineTypeEnum_type = new enumeration_type("IfcEngineTypeEnum", 418, 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_RC1_IfcEvaporativeCoolerTypeEnum_type = new enumeration_type("IfcEvaporativeCoolerTypeEnum", 421, 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_RC1_IfcEvaporatorTypeEnum_type = new enumeration_type("IfcEvaporatorTypeEnum", 424, 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_RC1_IfcEventTriggerTypeEnum_type = new enumeration_type("IfcEventTriggerTypeEnum", 427, 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_RC1_IfcEventTypeEnum_type = new enumeration_type("IfcEventTypeEnum", 429, 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_RC1_IfcExternalSpatialElementTypeEnum_type = new enumeration_type("IfcExternalSpatialElementTypeEnum", 438, 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_RC1_IfcFacilityPartCommonTypeEnum_type = new enumeration_type("IfcFacilityPartCommonTypeEnum", 451, 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_RC1_IfcFacilityUsageEnum_type = new enumeration_type("IfcFacilityUsageEnum", 453, 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_RC1_IfcFanTypeEnum_type = new enumeration_type("IfcFanTypeEnum", 457, 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_RC1_IfcFastenerTypeEnum_type = new enumeration_type("IfcFastenerTypeEnum", 460, 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_RC1_IfcFilterTypeEnum_type = new enumeration_type("IfcFilterTypeEnum", 470, items);
+ }
+ {
+ std::vector items; items.reserve(7);
+ items.push_back("BREECHINGINLET");
+ items.push_back("FIREHYDRANT");
+ items.push_back("HOSEREEL");
+ items.push_back("NOTDEFINED");
+ items.push_back("SPRINKLER");
+ items.push_back("SPRINKLERDEFLECTOR");
+ items.push_back("USERDEFINED");
+ IFC4X3_RC1_IfcFireSuppressionTerminalTypeEnum_type = new enumeration_type("IfcFireSuppressionTerminalTypeEnum", 473, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("NOTDEFINED");
+ items.push_back("SINK");
+ items.push_back("SOURCE");
+ items.push_back("SOURCEANDSINK");
+ IFC4X3_RC1_IfcFlowDirectionEnum_type = new enumeration_type("IfcFlowDirectionEnum", 477, 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_RC1_IfcFlowInstrumentTypeEnum_type = new enumeration_type("IfcFlowInstrumentTypeEnum", 482, 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_RC1_IfcFlowMeterTypeEnum_type = new enumeration_type("IfcFlowMeterTypeEnum", 485, items);
+ }
+ IFC4X3_RC1_IfcFontStyle_type = new type_declaration("IfcFontStyle", 496, new simple_type(simple_type::string_type));
+ IFC4X3_RC1_IfcFontVariant_type = new type_declaration("IfcFontVariant", 497, new simple_type(simple_type::string_type));
+ IFC4X3_RC1_IfcFontWeight_type = new type_declaration("IfcFontWeight", 498, 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_RC1_IfcFootingTypeEnum_type = new enumeration_type("IfcFootingTypeEnum", 501, items);
+ }
+ IFC4X3_RC1_IfcForceMeasure_type = new type_declaration("IfcForceMeasure", 502, new simple_type(simple_type::real_type));
+ IFC4X3_RC1_IfcFrequencyMeasure_type = new type_declaration("IfcFrequencyMeasure", 503, 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_RC1_IfcFurnitureTypeEnum_type = new enumeration_type("IfcFurnitureTypeEnum", 508, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("NOTDEFINED");
+ items.push_back("SOIL_BORING_POINT");
+ items.push_back("TERRAIN");
+ items.push_back("USERDEFINED");
+ IFC4X3_RC1_IfcGeographicElementTypeEnum_type = new enumeration_type("IfcGeographicElementTypeEnum", 511, 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_RC1_IfcGeometricProjectionEnum_type = new enumeration_type("IfcGeometricProjectionEnum", 513, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("GLOBAL_COORDS");
+ items.push_back("LOCAL_COORDS");
+ IFC4X3_RC1_IfcGlobalOrLocalEnum_type = new enumeration_type("IfcGlobalOrLocalEnum", 525, items);
+ }
+ IFC4X3_RC1_IfcGloballyUniqueId_type = new type_declaration("IfcGloballyUniqueId", 524, 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_RC1_IfcGridTypeEnum_type = new enumeration_type("IfcGridTypeEnum", 530, 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_RC1_IfcHeatExchangerTypeEnum_type = new enumeration_type("IfcHeatExchangerTypeEnum", 536, items);
+ }
+ IFC4X3_RC1_IfcHeatFluxDensityMeasure_type = new type_declaration("IfcHeatFluxDensityMeasure", 537, new simple_type(simple_type::real_type));
+ IFC4X3_RC1_IfcHeatingValueMeasure_type = new type_declaration("IfcHeatingValueMeasure", 538, 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_RC1_IfcHumidifierTypeEnum_type = new enumeration_type("IfcHumidifierTypeEnum", 541, items);
+ }
+ IFC4X3_RC1_IfcIdentifier_type = new type_declaration("IfcIdentifier", 542, new simple_type(simple_type::string_type));
+ IFC4X3_RC1_IfcIlluminanceMeasure_type = new type_declaration("IfcIlluminanceMeasure", 543, 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_RC1_IfcImpactProtectionDeviceTypeEnum_type = new enumeration_type("IfcImpactProtectionDeviceTypeEnum", 547, items);
+ }
+ IFC4X3_RC1_IfcInductanceMeasure_type = new type_declaration("IfcInductanceMeasure", 556, new simple_type(simple_type::real_type));
+ IFC4X3_RC1_IfcInteger_type = new type_declaration("IfcInteger", 557, new simple_type(simple_type::integer_type));
+ IFC4X3_RC1_IfcIntegerCountRateMeasure_type = new type_declaration("IfcIntegerCountRateMeasure", 558, 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_RC1_IfcInterceptorTypeEnum_type = new enumeration_type("IfcInterceptorTypeEnum", 561, 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_RC1_IfcInternalOrExternalEnum_type = new enumeration_type("IfcInternalOrExternalEnum", 563, 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_RC1_IfcInventoryTypeEnum_type = new enumeration_type("IfcInventoryTypeEnum", 566, items);
+ }
+ IFC4X3_RC1_IfcIonConcentrationMeasure_type = new type_declaration("IfcIonConcentrationMeasure", 567, new simple_type(simple_type::real_type));
+ IFC4X3_RC1_IfcIsothermalMoistureCapacityMeasure_type = new type_declaration("IfcIsothermalMoistureCapacityMeasure", 571, 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_RC1_IfcJunctionBoxTypeEnum_type = new enumeration_type("IfcJunctionBoxTypeEnum", 574, items);
+ }
+ IFC4X3_RC1_IfcKinematicViscosityMeasure_type = new type_declaration("IfcKinematicViscosityMeasure", 577, 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_RC1_IfcKnotType_type = new enumeration_type("IfcKnotType", 578, items);
+ }
+ IFC4X3_RC1_IfcLabel_type = new type_declaration("IfcLabel", 579, 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_RC1_IfcLaborResourceTypeEnum_type = new enumeration_type("IfcLaborResourceTypeEnum", 582, 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_RC1_IfcLampTypeEnum_type = new enumeration_type("IfcLampTypeEnum", 586, items);
+ }
+ IFC4X3_RC1_IfcLanguageId_type = new type_declaration("IfcLanguageId", 587, new named_type(IFC4X3_RC1_IfcIdentifier_type));
+ {
+ std::vector items; items.reserve(3);
+ items.push_back("AXIS1");
+ items.push_back("AXIS2");
+ items.push_back("AXIS3");
+ IFC4X3_RC1_IfcLayerSetDirectionEnum_type = new enumeration_type("IfcLayerSetDirectionEnum", 589, items);
+ }
+ IFC4X3_RC1_IfcLengthMeasure_type = new type_declaration("IfcLengthMeasure", 590, 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_RC1_IfcLightDistributionCurveEnum_type = new enumeration_type("IfcLightDistributionCurveEnum", 594, 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_RC1_IfcLightEmissionSourceEnum_type = new enumeration_type("IfcLightEmissionSourceEnum", 597, 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_RC1_IfcLightFixtureTypeEnum_type = new enumeration_type("IfcLightFixtureTypeEnum", 600, items);
+ }
+ IFC4X3_RC1_IfcLinearForceMeasure_type = new type_declaration("IfcLinearForceMeasure", 611, new simple_type(simple_type::real_type));
+ IFC4X3_RC1_IfcLinearMomentMeasure_type = new type_declaration("IfcLinearMomentMeasure", 612, new simple_type(simple_type::real_type));
+ IFC4X3_RC1_IfcLinearStiffnessMeasure_type = new type_declaration("IfcLinearStiffnessMeasure", 617, new simple_type(simple_type::real_type));
+ IFC4X3_RC1_IfcLinearVelocityMeasure_type = new type_declaration("IfcLinearVelocityMeasure", 618, 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_RC1_IfcLiquidTerminalTypeEnum_type = new enumeration_type("IfcLiquidTerminalTypeEnum", 623, 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_RC1_IfcLoadGroupTypeEnum_type = new enumeration_type("IfcLoadGroupTypeEnum", 624, items);
+ }
+ IFC4X3_RC1_IfcLogical_type = new type_declaration("IfcLogical", 626, 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_RC1_IfcLogicalOperatorEnum_type = new enumeration_type("IfcLogicalOperatorEnum", 627, items);
+ }
+ IFC4X3_RC1_IfcLuminousFluxMeasure_type = new type_declaration("IfcLuminousFluxMeasure", 630, new simple_type(simple_type::real_type));
+ IFC4X3_RC1_IfcLuminousIntensityDistributionMeasure_type = new type_declaration("IfcLuminousIntensityDistributionMeasure", 631, new simple_type(simple_type::real_type));
+ IFC4X3_RC1_IfcLuminousIntensityMeasure_type = new type_declaration("IfcLuminousIntensityMeasure", 632, new simple_type(simple_type::real_type));
+ IFC4X3_RC1_IfcMagneticFluxDensityMeasure_type = new type_declaration("IfcMagneticFluxDensityMeasure", 633, new simple_type(simple_type::real_type));
+ IFC4X3_RC1_IfcMagneticFluxMeasure_type = new type_declaration("IfcMagneticFluxMeasure", 634, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(21);
+ items.push_back("BARRIERBEACH");
+ items.push_back("BREAKWATER");
+ items.push_back("CANAL");
+ items.push_back("DRYDOCK");
+ items.push_back("EMBANKMENT");
+ items.push_back("FLOATINGDOCK");
+ items.push_back("HYDROLIFT");
+ items.push_back("JETTY");
+ items.push_back("LAUNCHRECOVERY");
+ items.push_back("MARINEDEFENCE");
+ items.push_back("NAVIGATIONALCHANNEL");
+ items.push_back("NOTDEFINED");
+ items.push_back("PORT");
+ items.push_back("QUAY");
+ items.push_back("SHIPLIFT");
+ items.push_back("SHIPLOCK");
+ items.push_back("SHIPYARD");
+ items.push_back("SLIPWAY");
+ items.push_back("USERDEFINED");
+ items.push_back("WATERWAY");
+ items.push_back("WATERWAYSHIPLIFT");
+ IFC4X3_RC1_IfcMarineFacilityTypeEnum_type = new enumeration_type("IfcMarineFacilityTypeEnum", 639, items);
+ }
+ {
+ std::vector items; items.reserve(26);
+ items.push_back("ABOVEWATERLINE");
+ items.push_back("ANCHORAGE");
+ items.push_back("APPROACHCHANNEL");
+ items.push_back("BELOWWATERLINE");
+ items.push_back("BERTHINGSTRUCTURE");
+ items.push_back("CHAMBER");
+ items.push_back("CILL_LEVEL");
+ items.push_back("COPELEVEL");
+ items.push_back("CORE");
+ items.push_back("CREST");
+ items.push_back("GATEHEAD");
+ items.push_back("GUDINGSTRUCTURE");
+ items.push_back("HIGHWATERLINE");
+ items.push_back("LANDFIELD");
+ items.push_back("LEEWARDSIDE");
+ items.push_back("LOWWATERLINE");
+ items.push_back("MANUFACTURING");
+ items.push_back("NAVIGATIONALAREA");
+ items.push_back("NOTDEFINED");
+ items.push_back("PROTECTION");
+ items.push_back("SHIPTRANSFER");
+ items.push_back("STORAGE");
+ items.push_back("USERDEFINED");
+ items.push_back("VEHICLESERVICING");
+ items.push_back("WATERFIELD");
+ items.push_back("WEATHERSIDE");
+ IFC4X3_RC1_IfcMarinePartTypeEnum_type = new enumeration_type("IfcMarinePartTypeEnum", 640, items);
+ }
+ IFC4X3_RC1_IfcMassDensityMeasure_type = new type_declaration("IfcMassDensityMeasure", 641, new simple_type(simple_type::real_type));
+ IFC4X3_RC1_IfcMassFlowRateMeasure_type = new type_declaration("IfcMassFlowRateMeasure", 642, new simple_type(simple_type::real_type));
+ IFC4X3_RC1_IfcMassMeasure_type = new type_declaration("IfcMassMeasure", 643, new simple_type(simple_type::real_type));
+ IFC4X3_RC1_IfcMassPerLengthMeasure_type = new type_declaration("IfcMassPerLengthMeasure", 644, 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_RC1_IfcMechanicalFastenerTypeEnum_type = new enumeration_type("IfcMechanicalFastenerTypeEnum", 669, 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_RC1_IfcMedicalDeviceTypeEnum_type = new enumeration_type("IfcMedicalDeviceTypeEnum", 672, 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_RC1_IfcMemberTypeEnum_type = new enumeration_type("IfcMemberTypeEnum", 676, items);
+ }
+ {
+ std::vector items; items.reserve(9);
+ items.push_back("ACCESSPOINT");
+ items.push_back("BASEBANDUNIT");
+ items.push_back("BASETRANSCEIVERSTATION");
+ items.push_back("E_UTRAN_NODE_B");
+ items.push_back("MASTERUNIT");
+ items.push_back("NOTDEFINED");
+ items.push_back("REMOTEUNIT");
+ items.push_back("REMOTE_RADIO_UNIT");
+ items.push_back("USERDEFINED");
+ IFC4X3_RC1_IfcMobileTelecommunicationsApplianceTypeEnum_type = new enumeration_type("IfcMobileTelecommunicationsApplianceTypeEnum", 682, items);
+ }
+ IFC4X3_RC1_IfcModulusOfElasticityMeasure_type = new type_declaration("IfcModulusOfElasticityMeasure", 683, new simple_type(simple_type::real_type));
+ IFC4X3_RC1_IfcModulusOfLinearSubgradeReactionMeasure_type = new type_declaration("IfcModulusOfLinearSubgradeReactionMeasure", 684, new simple_type(simple_type::real_type));
+ IFC4X3_RC1_IfcModulusOfRotationalSubgradeReactionMeasure_type = new type_declaration("IfcModulusOfRotationalSubgradeReactionMeasure", 685, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IFC4X3_RC1_IfcBoolean_type);
+ items.push_back(IFC4X3_RC1_IfcModulusOfRotationalSubgradeReactionMeasure_type);
+ IFC4X3_RC1_IfcModulusOfRotationalSubgradeReactionSelect_type = new select_type("IfcModulusOfRotationalSubgradeReactionSelect", 686, items);
+ }
+ IFC4X3_RC1_IfcModulusOfSubgradeReactionMeasure_type = new type_declaration("IfcModulusOfSubgradeReactionMeasure", 687, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IFC4X3_RC1_IfcBoolean_type);
+ items.push_back(IFC4X3_RC1_IfcModulusOfSubgradeReactionMeasure_type);
+ IFC4X3_RC1_IfcModulusOfSubgradeReactionSelect_type = new select_type("IfcModulusOfSubgradeReactionSelect", 688, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IFC4X3_RC1_IfcBoolean_type);
+ items.push_back(IFC4X3_RC1_IfcModulusOfLinearSubgradeReactionMeasure_type);
+ IFC4X3_RC1_IfcModulusOfTranslationalSubgradeReactionSelect_type = new select_type("IfcModulusOfTranslationalSubgradeReactionSelect", 689, items);
+ }
+ IFC4X3_RC1_IfcMoistureDiffusivityMeasure_type = new type_declaration("IfcMoistureDiffusivityMeasure", 690, new simple_type(simple_type::real_type));
+ IFC4X3_RC1_IfcMolecularWeightMeasure_type = new type_declaration("IfcMolecularWeightMeasure", 691, new simple_type(simple_type::real_type));
+ IFC4X3_RC1_IfcMomentOfInertiaMeasure_type = new type_declaration("IfcMomentOfInertiaMeasure", 692, new simple_type(simple_type::real_type));
+ IFC4X3_RC1_IfcMonetaryMeasure_type = new type_declaration("IfcMonetaryMeasure", 693, new simple_type(simple_type::real_type));
+ IFC4X3_RC1_IfcMonthInYearNumber_type = new type_declaration("IfcMonthInYearNumber", 695, 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_RC1_IfcMooringDeviceTypeEnum_type = new enumeration_type("IfcMooringDeviceTypeEnum", 698, 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_RC1_IfcMotorConnectionTypeEnum_type = new enumeration_type("IfcMotorConnectionTypeEnum", 701, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("BEACON");
+ items.push_back("BUOY");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X3_RC1_IfcNavigationElementTypeEnum_type = new enumeration_type("IfcNavigationElementTypeEnum", 705, items);
+ }
+ IFC4X3_RC1_IfcNonNegativeLengthMeasure_type = new type_declaration("IfcNonNegativeLengthMeasure", 706, new named_type(IFC4X3_RC1_IfcLengthMeasure_type));
+ {
+ std::vector items; items.reserve(1);
+ items.push_back("NULL");
+ IFC4X3_RC1_IfcNullStyle_type = new enumeration_type("IfcNullStyle", 708, items);
+ }
+ IFC4X3_RC1_IfcNumericMeasure_type = new type_declaration("IfcNumericMeasure", 709, 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_RC1_IfcObjectTypeEnum_type = new enumeration_type("IfcObjectTypeEnum", 716, 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_RC1_IfcObjectiveEnum_type = new enumeration_type("IfcObjectiveEnum", 713, 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_RC1_IfcOccupantTypeEnum_type = new enumeration_type("IfcOccupantTypeEnum", 718, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("NOTDEFINED");
+ items.push_back("OPENING");
+ items.push_back("RECESS");
+ items.push_back("USERDEFINED");
+ IFC4X3_RC1_IfcOpeningElementTypeEnum_type = new enumeration_type("IfcOpeningElementTypeEnum", 725, 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_RC1_IfcOutletTypeEnum_type = new enumeration_type("IfcOutletTypeEnum", 735, items);
+ }
+ IFC4X3_RC1_IfcPHMeasure_type = new type_declaration("IfcPHMeasure", 751, new simple_type(simple_type::real_type));
+ IFC4X3_RC1_IfcParameterValue_type = new type_declaration("IfcParameterValue", 738, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X3_RC1_IfcPerformanceHistoryTypeEnum_type = new enumeration_type("IfcPerformanceHistoryTypeEnum", 744, 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_RC1_IfcPermeableCoveringOperationEnum_type = new enumeration_type("IfcPermeableCoveringOperationEnum", 745, 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_RC1_IfcPermitTypeEnum_type = new enumeration_type("IfcPermitTypeEnum", 748, items);
+ }
+ {
+ std::vector items; items.reserve(3);
+ items.push_back("NOTDEFINED");
+ items.push_back("PHYSICAL");
+ items.push_back("VIRTUAL");
+ IFC4X3_RC1_IfcPhysicalOrVirtualEnum_type = new enumeration_type("IfcPhysicalOrVirtualEnum", 753, 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_RC1_IfcPileConstructionEnum_type = new enumeration_type("IfcPileConstructionEnum", 757, 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_RC1_IfcPileTypeEnum_type = new enumeration_type("IfcPileTypeEnum", 759, 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_RC1_IfcPipeFittingTypeEnum_type = new enumeration_type("IfcPipeFittingTypeEnum", 762, 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_RC1_IfcPipeSegmentTypeEnum_type = new enumeration_type("IfcPipeSegmentTypeEnum", 765, items);
+ }
+ IFC4X3_RC1_IfcPlanarForceMeasure_type = new type_declaration("IfcPlanarForceMeasure", 770, new simple_type(simple_type::real_type));
+ IFC4X3_RC1_IfcPlaneAngleMeasure_type = new type_declaration("IfcPlaneAngleMeasure", 772, 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_RC1_IfcPlateTypeEnum_type = new enumeration_type("IfcPlateTypeEnum", 777, items);
+ }
+ IFC4X3_RC1_IfcPositiveInteger_type = new type_declaration("IfcPositiveInteger", 788, new named_type(IFC4X3_RC1_IfcInteger_type));
+ IFC4X3_RC1_IfcPositiveLengthMeasure_type = new type_declaration("IfcPositiveLengthMeasure", 789, new named_type(IFC4X3_RC1_IfcLengthMeasure_type));
+ IFC4X3_RC1_IfcPositivePlaneAngleMeasure_type = new type_declaration("IfcPositivePlaneAngleMeasure", 790, new named_type(IFC4X3_RC1_IfcPlaneAngleMeasure_type));
+ IFC4X3_RC1_IfcPowerMeasure_type = new type_declaration("IfcPowerMeasure", 793, 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_RC1_IfcPreferredSurfaceCurveRepresentation_type = new enumeration_type("IfcPreferredSurfaceCurveRepresentation", 800, items);
+ }
+ IFC4X3_RC1_IfcPresentableText_type = new type_declaration("IfcPresentableText", 801, new simple_type(simple_type::string_type));
+ IFC4X3_RC1_IfcPressureMeasure_type = new type_declaration("IfcPressureMeasure", 808, 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_RC1_IfcProcedureTypeEnum_type = new enumeration_type("IfcProcedureTypeEnum", 811, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("AREA");
+ items.push_back("CURVE");
+ IFC4X3_RC1_IfcProfileTypeEnum_type = new enumeration_type("IfcProfileTypeEnum", 821, 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_RC1_IfcProjectOrderTypeEnum_type = new enumeration_type("IfcProjectOrderTypeEnum", 829, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("PROJECTED_LENGTH");
+ items.push_back("TRUE_LENGTH");
+ IFC4X3_RC1_IfcProjectedOrTrueLengthEnum_type = new enumeration_type("IfcProjectedOrTrueLengthEnum", 824, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("BLISTER");
+ items.push_back("DEVIATOR");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X3_RC1_IfcProjectionElementTypeEnum_type = new enumeration_type("IfcProjectionElementTypeEnum", 826, items);
+ }
+ {
+ std::vector items; items.reserve(8);
+ items.push_back("NOTDEFINED");
+ items.push_back("PSET_OCCURRENCEDRIVEN");
+ items.push_back("PSET_PERFORMANCEDRIVEN");
+ items.push_back("PSET_TYPEDRIVENONLY");
+ items.push_back("PSET_TYPEDRIVENOVERRIDE");
+ items.push_back("QTO_OCCURRENCEDRIVEN");
+ items.push_back("QTO_TYPEDRIVENONLY");
+ items.push_back("QTO_TYPEDRIVENOVERRIDE");
+ IFC4X3_RC1_IfcPropertySetTemplateTypeEnum_type = new enumeration_type("IfcPropertySetTemplateTypeEnum", 844, 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_RC1_IfcProtectiveDeviceTrippingUnitTypeEnum_type = new enumeration_type("IfcProtectiveDeviceTrippingUnitTypeEnum", 852, 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_RC1_IfcProtectiveDeviceTypeEnum_type = new enumeration_type("IfcProtectiveDeviceTypeEnum", 854, 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_RC1_IfcPumpTypeEnum_type = new enumeration_type("IfcPumpTypeEnum", 858, items);
+ }
+ IFC4X3_RC1_IfcRadioActivityMeasure_type = new type_declaration("IfcRadioActivityMeasure", 866, 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_RC1_IfcRailTypeEnum_type = new enumeration_type("IfcRailTypeEnum", 872, 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_RC1_IfcRailingTypeEnum_type = new enumeration_type("IfcRailingTypeEnum", 870, items);
+ }
+ {
+ std::vector items; items.reserve(10);
+ items.push_back("DILATATIONSUPERSTRUCTURE");
+ items.push_back("LINESIDESTRUCTURE");
+ items.push_back("LINESIDESTRUCTUREPART");
+ items.push_back("NOTDEFINED");
+ items.push_back("PLAINTRACKSUPESTRUCTURE");
+ items.push_back("SUPERSTRUCTURE");
+ items.push_back("TRACKSTRUCTURE");
+ items.push_back("TRACKSTRUCTUREPART");
+ items.push_back("TURNOUTSUPERSTRUCTURE");
+ items.push_back("USERDEFINED");
+ IFC4X3_RC1_IfcRailwayPartTypeEnum_type = new enumeration_type("IfcRailwayPartTypeEnum", 874, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("NOTDEFINED");
+ items.push_back("SPIRAL");
+ items.push_back("STRAIGHT");
+ items.push_back("USERDEFINED");
+ IFC4X3_RC1_IfcRampFlightTypeEnum_type = new enumeration_type("IfcRampFlightTypeEnum", 878, 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_RC1_IfcRampTypeEnum_type = new enumeration_type("IfcRampTypeEnum", 880, items);
+ }
+ IFC4X3_RC1_IfcRatioMeasure_type = new type_declaration("IfcRatioMeasure", 881, new simple_type(simple_type::real_type));
+ IFC4X3_RC1_IfcReal_type = new type_declaration("IfcReal", 884, 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_RC1_IfcRecurrenceTypeEnum_type = new enumeration_type("IfcRecurrenceTypeEnum", 890, items);
+ }
+ {
+ std::vector items; items.reserve(6);
+ items.push_back("KILOPOINT");
+ items.push_back("MILEPOINT");
+ items.push_back("NOTDEFINED");
+ items.push_back("REFERENCEMARKER");
+ items.push_back("STATION");
+ items.push_back("USERDEFINED");
+ IFC4X3_RC1_IfcReferentTypeEnum_type = new enumeration_type("IfcReferentTypeEnum", 893, items);
+ }
+ {
+ std::vector items; items.reserve(10);
+ items.push_back("BLINN");
+ items.push_back("FLAT");
+ items.push_back("GLASS");
+ items.push_back("MATT");
+ items.push_back("METAL");
+ items.push_back("MIRROR");
+ items.push_back("NOTDEFINED");
+ items.push_back("PHONG");
+ items.push_back("PLASTIC");
+ items.push_back("STRAUSS");
+ IFC4X3_RC1_IfcReflectanceMethodEnum_type = new enumeration_type("IfcReflectanceMethodEnum", 894, 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_RC1_IfcReinforcedSoilTypeEnum_type = new enumeration_type("IfcReinforcedSoilTypeEnum", 897, 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_RC1_IfcReinforcingBarRoleEnum_type = new enumeration_type("IfcReinforcingBarRoleEnum", 901, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("PLAIN");
+ items.push_back("TEXTURED");
+ IFC4X3_RC1_IfcReinforcingBarSurfaceEnum_type = new enumeration_type("IfcReinforcingBarSurfaceEnum", 902, 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_RC1_IfcReinforcingBarTypeEnum_type = new enumeration_type("IfcReinforcingBarTypeEnum", 904, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X3_RC1_IfcReinforcingMeshTypeEnum_type = new enumeration_type("IfcReinforcingMeshTypeEnum", 909, 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_RC1_IfcRoadPartTypeEnum_type = new enumeration_type("IfcRoadPartTypeEnum", 977, 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_RC1_IfcRoleEnum_type = new enumeration_type("IfcRoleEnum", 978, 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_RC1_IfcRoofTypeEnum_type = new enumeration_type("IfcRoofTypeEnum", 981, items);
+ }
+ IFC4X3_RC1_IfcRotationalFrequencyMeasure_type = new type_declaration("IfcRotationalFrequencyMeasure", 983, new simple_type(simple_type::real_type));
+ IFC4X3_RC1_IfcRotationalMassMeasure_type = new type_declaration("IfcRotationalMassMeasure", 984, new simple_type(simple_type::real_type));
+ IFC4X3_RC1_IfcRotationalStiffnessMeasure_type = new type_declaration("IfcRotationalStiffnessMeasure", 985, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IFC4X3_RC1_IfcBoolean_type);
+ items.push_back(IFC4X3_RC1_IfcRotationalStiffnessMeasure_type);
+ IFC4X3_RC1_IfcRotationalStiffnessSelect_type = new select_type("IfcRotationalStiffnessSelect", 986, 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_RC1_IfcSIPrefix_type = new enumeration_type("IfcSIPrefix", 1026, 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_RC1_IfcSIUnitName_type = new enumeration_type("IfcSIUnitName", 1029, 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_RC1_IfcSanitaryTerminalTypeEnum_type = new enumeration_type("IfcSanitaryTerminalTypeEnum", 990, items);
+ }
+ IFC4X3_RC1_IfcSectionModulusMeasure_type = new type_declaration("IfcSectionModulusMeasure", 998, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("TAPERED");
+ items.push_back("UNIFORM");
+ IFC4X3_RC1_IfcSectionTypeEnum_type = new enumeration_type("IfcSectionTypeEnum", 1001, items);
+ }
+ IFC4X3_RC1_IfcSectionalAreaIntegralMeasure_type = new type_declaration("IfcSectionalAreaIntegralMeasure", 993, 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_RC1_IfcSensorTypeEnum_type = new enumeration_type("IfcSensorTypeEnum", 1005, 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_RC1_IfcSequenceEnum_type = new enumeration_type("IfcSequenceEnum", 1006, 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_RC1_IfcShadingDeviceTypeEnum_type = new enumeration_type("IfcShadingDeviceTypeEnum", 1009, items);
+ }
+ IFC4X3_RC1_IfcShearModulusMeasure_type = new type_declaration("IfcShearModulusMeasure", 1013, 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_RC1_IfcSignTypeEnum_type = new enumeration_type("IfcSignTypeEnum", 1021, 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_RC1_IfcSignalTypeEnum_type = new enumeration_type("IfcSignalTypeEnum", 1019, items);
+ }
+ {
+ std::vector items; items.reserve(12);
+ items.push_back("P_BOUNDEDVALUE");
+ items.push_back("P_ENUMERATEDVALUE");
+ items.push_back("P_LISTVALUE");
+ items.push_back("P_REFERENCEVALUE");
+ items.push_back("P_SINGLEVALUE");
+ items.push_back("P_TABLEVALUE");
+ items.push_back("Q_AREA");
+ items.push_back("Q_COUNT");
+ items.push_back("Q_LENGTH");
+ items.push_back("Q_TIME");
+ items.push_back("Q_VOLUME");
+ items.push_back("Q_WEIGHT");
+ IFC4X3_RC1_IfcSimplePropertyTemplateTypeEnum_type = new enumeration_type("IfcSimplePropertyTemplateTypeEnum", 1024, 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_RC1_IfcSlabTypeEnum_type = new enumeration_type("IfcSlabTypeEnum", 1035, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("NOTDEFINED");
+ items.push_back("SOLARCOLLECTOR");
+ items.push_back("SOLARPANEL");
+ items.push_back("USERDEFINED");
+ IFC4X3_RC1_IfcSolarDeviceTypeEnum_type = new enumeration_type("IfcSolarDeviceTypeEnum", 1039, items);
+ }
+ IFC4X3_RC1_IfcSolidAngleMeasure_type = new type_declaration("IfcSolidAngleMeasure", 1040, new simple_type(simple_type::real_type));
+ IFC4X3_RC1_IfcSoundPowerLevelMeasure_type = new type_declaration("IfcSoundPowerLevelMeasure", 1044, new simple_type(simple_type::real_type));
+ IFC4X3_RC1_IfcSoundPowerMeasure_type = new type_declaration("IfcSoundPowerMeasure", 1045, new simple_type(simple_type::real_type));
+ IFC4X3_RC1_IfcSoundPressureLevelMeasure_type = new type_declaration("IfcSoundPressureLevelMeasure", 1046, new simple_type(simple_type::real_type));
+ IFC4X3_RC1_IfcSoundPressureMeasure_type = new type_declaration("IfcSoundPressureMeasure", 1047, 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_RC1_IfcSpaceHeaterTypeEnum_type = new enumeration_type("IfcSpaceHeaterTypeEnum", 1052, items);
+ }
+ {
+ std::vector items; items.reserve(7);
+ items.push_back("EXTERNAL");
+ items.push_back("GFA");
+ items.push_back("INTERNAL");
+ items.push_back("NOTDEFINED");
+ items.push_back("PARKING");
+ items.push_back("SPACE");
+ items.push_back("USERDEFINED");
+ IFC4X3_RC1_IfcSpaceTypeEnum_type = new enumeration_type("IfcSpaceTypeEnum", 1054, items);
+ }
+ {
+ std::vector items; items.reserve(11);
+ items.push_back("CONSTRUCTION");
+ items.push_back("FIRESAFETY");
+ items.push_back("LIGHTING");
+ items.push_back("NOTDEFINED");
+ items.push_back("OCCUPANCY");
+ items.push_back("RESERVATION");
+ items.push_back("SECURITY");
+ items.push_back("THERMAL");
+ items.push_back("TRANSPORT");
+ items.push_back("USERDEFINED");
+ items.push_back("VENTILATION");
+ IFC4X3_RC1_IfcSpatialZoneTypeEnum_type = new enumeration_type("IfcSpatialZoneTypeEnum", 1062, items);
+ }
+ IFC4X3_RC1_IfcSpecificHeatCapacityMeasure_type = new type_declaration("IfcSpecificHeatCapacityMeasure", 1063, new simple_type(simple_type::real_type));
+ IFC4X3_RC1_IfcSpecularExponent_type = new type_declaration("IfcSpecularExponent", 1064, new simple_type(simple_type::real_type));
+ IFC4X3_RC1_IfcSpecularRoughness_type = new type_declaration("IfcSpecularRoughness", 1066, 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_RC1_IfcStackTerminalTypeEnum_type = new enumeration_type("IfcStackTerminalTypeEnum", 1071, 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_RC1_IfcStairFlightTypeEnum_type = new enumeration_type("IfcStairFlightTypeEnum", 1075, 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_RC1_IfcStairTypeEnum_type = new enumeration_type("IfcStairTypeEnum", 1077, 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_RC1_IfcStateEnum_type = new enumeration_type("IfcStateEnum", 1078, 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_RC1_IfcStructuralCurveActivityTypeEnum_type = new enumeration_type("IfcStructuralCurveActivityTypeEnum", 1086, 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_RC1_IfcStructuralCurveMemberTypeEnum_type = new enumeration_type("IfcStructuralCurveMemberTypeEnum", 1089, 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_RC1_IfcStructuralSurfaceActivityTypeEnum_type = new enumeration_type("IfcStructuralSurfaceActivityTypeEnum", 1115, 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_RC1_IfcStructuralSurfaceMemberTypeEnum_type = new enumeration_type("IfcStructuralSurfaceMemberTypeEnum", 1118, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("NOTDEFINED");
+ items.push_back("PURCHASE");
+ items.push_back("USERDEFINED");
+ items.push_back("WORK");
+ IFC4X3_RC1_IfcSubContractResourceTypeEnum_type = new enumeration_type("IfcSubContractResourceTypeEnum", 1127, 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_RC1_IfcSurfaceFeatureTypeEnum_type = new enumeration_type("IfcSurfaceFeatureTypeEnum", 1133, items);
+ }
+ {
+ std::vector items; items.reserve(3);
+ items.push_back("BOTH");
+ items.push_back("NEGATIVE");
+ items.push_back("POSITIVE");
+ IFC4X3_RC1_IfcSurfaceSide_type = new enumeration_type("IfcSurfaceSide", 1138, 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_RC1_IfcSwitchingDeviceTypeEnum_type = new enumeration_type("IfcSwitchingDeviceTypeEnum", 1153, 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_RC1_IfcSystemFurnitureElementTypeEnum_type = new enumeration_type("IfcSystemFurnitureElementTypeEnum", 1157, 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_RC1_IfcTankTypeEnum_type = new enumeration_type("IfcTankTypeEnum", 1163, items);
+ }
+ {
+ std::vector items; items.reserve(3);
+ items.push_back("ELAPSEDTIME");
+ items.push_back("NOTDEFINED");
+ items.push_back("WORKTIME");
+ IFC4X3_RC1_IfcTaskDurationEnum_type = new enumeration_type("IfcTaskDurationEnum", 1165, items);
+ }
+ {
+ std::vector