diff --git a/Install/Program Files to Install/bundle/PackageContents.xml b/Install/Program Files to Install/bundle/PackageContents.xml
index 004fd823..847efae7 100644
--- a/Install/Program Files to Install/bundle/PackageContents.xml
+++ b/Install/Program Files to Install/bundle/PackageContents.xml
@@ -8,7 +8,7 @@
-
-
+
+
\ No newline at end of file
diff --git a/Install/RevitIFCSetupWix/Product.wxs b/Install/RevitIFCSetupWix/Product.wxs
index 655ad2a8..585b1ed5 100644
--- a/Install/RevitIFCSetupWix/Product.wxs
+++ b/Install/RevitIFCSetupWix/Product.wxs
@@ -2,7 +2,7 @@
-
+
diff --git a/Install/RevitIFCSetupWix/RevitIFCSetupWix.wixproj b/Install/RevitIFCSetupWix/RevitIFCSetupWix.wixproj
index 7e2f6350..fecb9c0c 100644
--- a/Install/RevitIFCSetupWix/RevitIFCSetupWix.wixproj
+++ b/Install/RevitIFCSetupWix/RevitIFCSetupWix.wixproj
@@ -6,7 +6,7 @@
3.8
7dfbd495-c588-4c7b-b8f6-5b793adb06f2
2.0
- IFC for Revit 2022.2.1.0
+ IFC for Revit 2022.3.0.0
Package
$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets
$(MSBuildExtensionsPath)\Microsoft\WiX\v3.x\Wix.targets
diff --git a/Install/RevitIFCSetupWix/buildInstaller.bat b/Install/RevitIFCSetupWix/buildInstaller.bat
index 3c0a8099..c37522a5 100644
--- a/Install/RevitIFCSetupWix/buildInstaller.bat
+++ b/Install/RevitIFCSetupWix/buildInstaller.bat
@@ -11,9 +11,9 @@ rem It is necessary to add the Wix bin directory to the system path temporarily
SET PATH=%PATH%;%WixRoot%
candle.exe -dProjectDir=%2 -ext WixUtilExtension %2Product.wxs
-light.exe -ext WixUtilExtension -out RevitIFC2022.2.1.msi product.wixobj -ext WixUIExtension
+light.exe -ext WixUtilExtension -out RevitIFC2022.3.0.msi product.wixobj -ext WixUIExtension
-copy RevitIFC2022.2.1.msi %1..\Releasex64
-del RevitIFC2022.2.1.msi
+copy RevitIFC2022.3.0.msi %1..\Releasex64
+del RevitIFC2022.3.0.msi
-echo %1..\Releasex64\RevitIFC2022.2.1.msi
+echo %1..\Releasex64\RevitIFC2022.3.0.msi
diff --git a/Source/IFCExporterUIOverride/IFCExporterUIWindow.xaml b/Source/IFCExporterUIOverride/IFCExporterUIWindow.xaml
index 4809a515..40a6084e 100644
--- a/Source/IFCExporterUIOverride/IFCExporterUIWindow.xaml
+++ b/Source/IFCExporterUIOverride/IFCExporterUIWindow.xaml
@@ -32,7 +32,7 @@
-
+
diff --git a/Source/IFCExporterUIOverride/IFCExporterUIWindow.xaml.cs b/Source/IFCExporterUIOverride/IFCExporterUIWindow.xaml.cs
index e14a623c..0acf5a55 100644
--- a/Source/IFCExporterUIOverride/IFCExporterUIWindow.xaml.cs
+++ b/Source/IFCExporterUIOverride/IFCExporterUIWindow.xaml.cs
@@ -826,12 +826,11 @@ private IFCExportConfiguration CreateNewEditableConfiguration(IFCExportConfigura
private IFCExportConfiguration GetSelectedConfiguration()
{
IFCExportConfiguration configuration = (IFCExportConfiguration)listBoxConfigurations.SelectedItem;
- //if (configuration == null)
- //{
- // configuration = IFCExportConfiguration.CreateDefaultConfiguration();
- // IFCExportConfiguration.SetInSession(configuration);
- // listBoxConfigurations.SelectedItem = configuration;
- //}
+ if (configuration == null)
+ {
+ configuration = IFCExportConfiguration.GetInSession();
+ listBoxConfigurations.SelectedItem = configuration;
+ }
return configuration;
}
diff --git a/Source/IFCExporterUIOverride/Properties/AssemblyInfo.cs b/Source/IFCExporterUIOverride/Properties/AssemblyInfo.cs
index 6e2c73ec..61052108 100644
--- a/Source/IFCExporterUIOverride/Properties/AssemblyInfo.cs
+++ b/Source/IFCExporterUIOverride/Properties/AssemblyInfo.cs
@@ -66,6 +66,6 @@
// The following information is used in the Open Source version as the release version number.
// The number will show up in the Title bar of the export dialog as well as at the IFC header file
// This number must be manually updated prior to releasing the new version
-[assembly: AssemblyVersion("22.2.1.0")]
-[assembly: AssemblyFileVersion("22.2.1.0")]
+[assembly: AssemblyVersion("22.3.0.0")]
+[assembly: AssemblyFileVersion("22.3.0.0")]
#endif
\ No newline at end of file
diff --git a/Source/Revit.IFC.Common/Enums/IFC2xEntityType.cs b/Source/Revit.IFC.Common/Enums/IFC2xEntityType.cs
index 592e643c..4245cce9 100644
--- a/Source/Revit.IFC.Common/Enums/IFC2xEntityType.cs
+++ b/Source/Revit.IFC.Common/Enums/IFC2xEntityType.cs
@@ -30,10 +30,15 @@ public enum IFCEntityType
{
Ifc2DCompositeCurve,
IfcActionRequest,
+ IfcActionTimeControl,
IfcActor,
IfcActorRole,
+ IfcActuator,
IfcActuatorType,
IfcAddress,
+ IfcAirFilter,
+ IfcAirTerminal,
+ IfcAirTerminalBox,
IfcAirTerminalBoxType,
IfcAirTerminalType,
IfcAirToAirHeatRecoveryType,
@@ -55,9 +60,11 @@ public enum IFCEntityType
IfcApprovalActorRelationship,
IfcApprovalPropertyRelationship,
IfcApprovalRelationship,
+ IfcApprovalUsage,
IfcArbitraryClosedProfileDef,
IfcArbitraryOpenProfileDef,
IfcArbitraryProfileDefWithVoids,
+ IfcAssessory,
IfcAsset,
IfcAsymmetricIShapeProfileDef,
IfcAxis1Placement,
@@ -69,6 +76,7 @@ public enum IFCEntityType
IfcBezierCurve,
IfcBlobTexture,
IfcBlock,
+ IfcBoiler,
IfcBoilerType,
IfcBooleanClippingResult,
IfcBooleanResult,
@@ -81,6 +89,7 @@ public enum IFCEntityType
IfcBoundedSurface,
IfcBoundingBox,
IfcBoxedHalfSpace,
+ IfcBudget,
IfcBuilding,
IfcBuildingElement,
IfcBuildingElementComponent,
@@ -89,6 +98,7 @@ public enum IFCEntityType
IfcBuildingElementProxyType,
IfcBuildingElementType,
IfcBuildingStorey,
+ IfcBuiltIn,
IfcCShapeProfileDef,
IfcCableCarrierFittingType,
IfcCableCarrierSegmentType,
@@ -102,6 +112,8 @@ public enum IFCEntityType
IfcCartesianTransformationOperator3DnonUniform,
IfcCenterLineProfileDef,
IfcChamferEdgeFeature,
+ IfcChangeOrder,
+ IfcChiller,
IfcChillerType,
IfcCircle,
IfcCircleHollowProfileDef,
@@ -113,21 +125,26 @@ public enum IFCEntityType
IfcClassificationNotationFacet,
IfcClassificationReference,
IfcClosedShell,
+ IfcCMDocPackage,
+ IfcCoil,
IfcCoilType,
IfcColourRgb,
IfcColourSpecification,
IfcColumn,
IfcColumnType,
+ IfcCompartment,
IfcComplexProperty,
IfcCompositeCurve,
IfcCompositeCurveSegment,
IfcCompositeProfileDef,
+ IfcCompressor,
IfcCompressorType,
IfcCondenserType,
IfcCondition,
IfcConditionCriterion,
IfcConic,
IfcConnectedFaceSet,
+ IfcConnectionConstraint,
IfcConnectionCurveGeometry,
IfcConnectionGeometry,
IfcConnectionPointEccentricity,
@@ -138,20 +155,29 @@ public enum IFCEntityType
IfcConstraintAggregationRelationship,
IfcConstraintClassificationRelationship,
IfcConstraintRelationship,
+ IfcConstraintUsage,
IfcConstructionEquipmentResource,
IfcConstructionMaterialResource,
IfcConstructionProductResource,
IfcConstructionResource,
IfcContextDependentUnit,
IfcControl,
+ IfcControlElement,
+ IfcController,
IfcControllerType,
IfcConversionBasedUnit,
IfcCooledBeamType,
+ IfcCoolingTower,
IfcCoolingTowerType,
IfcCoordinatedUniversalTimeOffset,
+ IfcCost,
IfcCostItem,
+ IfcCostModifier,
+ IfcCostModifierValue,
+ IfcCostQuantity,
IfcCostSchedule,
IfcCostValue,
+ IfcCostValueRelationship,
IfcCovering,
IfcCoveringType,
IfcCraneRailAShapeProfileDef,
@@ -168,6 +194,7 @@ public enum IFCEntityType
IfcCurveStyleFont,
IfcCurveStyleFontAndScaling,
IfcCurveStyleFontPattern,
+ IfcDamper,
IfcDamperType,
IfcDateAndTime,
IfcDefinedSymbol,
@@ -182,8 +209,10 @@ public enum IFCEntityType
IfcDimensionPair,
IfcDimensionalExponents,
IfcDirection,
+ IfcDirectionalLightSource,
IfcDiscreteAccessory,
IfcDiscreteAccessoryType,
+ IfcDiscreteElement,
IfcDistributionChamberElement,
IfcDistributionChamberElementType,
IfcDistributionControlElement,
@@ -213,16 +242,19 @@ public enum IFCEntityType
IfcEdgeCurve,
IfcEdgeFeature,
IfcEdgeLoop,
+ IfcElectricalAppliance,
+ IfcElectricalBaseProperties,
+ IfcElectricalCircuit,
+ IfcElectricalElement,
+ IfcElectricalExtendedProperties,
IfcElectricApplianceType,
IfcElectricDistributionPoint,
IfcElectricFlowStorageDeviceType,
IfcElectricGeneratorType,
IfcElectricHeaterType,
+ IfcElectricMotor,
IfcElectricMotorType,
IfcElectricTimeControlType,
- IfcElectricalBaseProperties,
- IfcElectricalCircuit,
- IfcElectricalElement,
IfcElement,
IfcElementAssembly,
IfcElementComponent,
@@ -255,6 +287,7 @@ public enum IFCEntityType
IfcFacetedBrep,
IfcFacetedBrepWithVoids,
IfcFailureConnectionCondition,
+ IfcFan,
IfcFanType,
IfcFastener,
IfcFastenerType,
@@ -284,10 +317,12 @@ public enum IFCEntityType
IfcFlowTreatmentDevice,
IfcFlowTreatmentDeviceType,
IfcFluidFlowProperties,
+ IfcFluidMovingDevice,
IfcFooting,
IfcFuelProperties,
IfcFurnishingElement,
IfcFurnishingElementType,
+ IfcFurniture,
IfcFurnitureStandard,
IfcFurnitureType,
IfcGasTerminalType,
@@ -303,14 +338,18 @@ public enum IFCEntityType
IfcGridPlacement,
IfcGroup,
IfcHalfSpaceSolid,
+ IfcHeatExchanger,
IfcHeatExchangerType,
+ IfcHeatTransferDevice,
IfcHumidifierType,
+ IfcHydronicHeater,
IfcHygroscopicMaterialProperties,
- IfcIShapeProfileDef,
IfcImageTexture,
IfcInventory,
IfcIrregularTimeSeries,
IfcIrregularTimeSeriesValue,
+ IfcIShapeProfileDef,
+ IfcIshapeProfileDef,
IfcJunctionBoxType,
IfcLShapeProfileDef,
IfcLaborResource,
@@ -318,6 +357,7 @@ public enum IFCEntityType
IfcLibraryInformation,
IfcLibraryReference,
IfcLightDistributionData,
+ IfcLightFixture,
IfcLightFixtureType,
IfcLightIntensityDistribution,
IfcLightSource,
@@ -331,7 +371,10 @@ public enum IFCEntityType
IfcLocalPlacement,
IfcLocalTime,
IfcLoop,
+ IfcMaintenanceRecord,
+ IfcMaintenanceWorkOrder,
IfcManifoldSolidBrep,
+ IfcManufacturerInformation,
IfcMappedItem,
IfcMaterial,
IfcMaterialClassificationRelationship,
@@ -350,6 +393,8 @@ public enum IFCEntityType
IfcMember,
IfcMemberType,
IfcMetric,
+ IfcMetricBenchmark,
+ IfcMetricValue,
IfcMonetaryUnit,
IfcMotorConnectionType,
IfcMove,
@@ -369,6 +414,7 @@ public enum IFCEntityType
IfcOrganization,
IfcOrganizationRelationship,
IfcOrientedEdge,
+ IfcOutlet,
IfcOutletType,
IfcOwnerHistory,
IfcParameterizedProfileDef,
@@ -392,6 +438,7 @@ public enum IFCEntityType
IfcPlate,
IfcPlateType,
IfcPoint,
+ IfcPointLightSource,
IfcPointOnCurve,
IfcPointOnSurface,
IfcPolyLoop,
@@ -409,6 +456,7 @@ public enum IFCEntityType
IfcPreDefinedTextFont,
IfcPresentationLayerAssignment,
IfcPresentationLayerWithStyle,
+ IfcPresentationLightSource,
IfcPresentationStyle,
IfcPresentationStyleAssignment,
IfcProcedure,
@@ -439,7 +487,9 @@ public enum IFCEntityType
IfcPropertyTableValue,
IfcProtectiveDeviceType,
IfcProxy,
+ IfcPump,
IfcPumpType,
+ IfcPurchaseOrder,
IfcQuantityArea,
IfcQuantityCount,
IfcQuantityLength,
@@ -457,7 +507,12 @@ public enum IFCEntityType
IfcRectangleProfileDef,
IfcRectangularPyramid,
IfcRectangularTrimmedSurface,
+ IfcReferenceEdge,
+ IfcReferenceFace,
+ IfcReferenceGeometry,
+ IfcReferencesCostDocument,
IfcReferencesValueDocument,
+ IfcReferenceVertex,
IfcRegularTimeSeries,
IfcReinforcementBarProperties,
IfcReinforcementDefinitionProperties,
@@ -465,7 +520,9 @@ public enum IFCEntityType
IfcReinforcingElement,
IfcReinforcingMesh,
IfcRelAggregates,
+ IfcRelAggregatesResources,
IfcRelAssigns,
+ IfcRelAssignsFMStandard,
IfcRelAssignsTasks,
IfcRelAssignsToActor,
IfcRelAssignsToControl,
@@ -494,6 +551,7 @@ public enum IFCEntityType
IfcRelConnectsWithEccentricity,
IfcRelConnectsWithRealizingElements,
IfcRelContainedInSpatialStructure,
+ IfcRelCostsObjects,
IfcRelCoversBldgElements,
IfcRelCoversSpaces,
IfcRelDecomposes,
@@ -503,6 +561,7 @@ public enum IFCEntityType
IfcRelFillsElement,
IfcRelFlowControlElements,
IfcRelInteractionRequirements,
+ IfcRelMaintenanceEvent,
IfcRelNests,
IfcRelOccupiesSpaces,
IfcRelOverridesProperties,
@@ -512,6 +571,7 @@ public enum IFCEntityType
IfcRelSequence,
IfcRelServicesBuildings,
IfcRelSpaceBoundary,
+ IfcRelUsesResource,
IfcRelVoidsElement,
IfcRelationship,
IfcRelaxation,
@@ -529,11 +589,13 @@ public enum IFCEntityType
IfcRoundedEdgeFeature,
IfcRoundedRectangleProfileDef,
IfcSIUnit,
+ IfcSanitaryTerminal,
IfcSanitaryTerminalType,
IfcScheduleTimeControl,
IfcSectionProperties,
IfcSectionReinforcementProperties,
IfcSectionedSpine,
+ IfcSensor,
IfcSensorType,
IfcServiceLife,
IfcServiceLifeFactor,
@@ -552,15 +614,19 @@ public enum IFCEntityType
IfcSpace,
IfcSpaceHeaterType,
IfcSpaceProgram,
+ IfcSpaceProgramGroup,
+ IfcSpaceThermalLoad,
IfcSpaceThermalLoadProperties,
IfcSpaceType,
IfcSpatialStructureElement,
IfcSpatialStructureElementType,
IfcSphere,
+ IfcSpotLightSource,
IfcStackTerminalType,
IfcStair,
IfcStairFlight,
IfcStairFlightType,
+ IfcStorageDevice,
IfcStructuralAction,
IfcStructuralActivity,
IfcStructuralAnalysisModel,
@@ -603,13 +669,18 @@ public enum IFCEntityType
IfcSubedge,
IfcSurface,
IfcSurfaceCurveSweptAreaSolid,
+ IfcSurfaceExtendedProperties,
IfcSurfaceOfLinearExtrusion,
IfcSurfaceOfRevolution,
+ IfcSurfaceRenderingProperties,
+ IfcSurfaceShadingProperties,
IfcSurfaceStyle,
IfcSurfaceStyleLighting,
+ IfcSurfaceStyleProperties,
IfcSurfaceStyleRefraction,
IfcSurfaceStyleRendering,
IfcSurfaceStyleShading,
+ IfcSurfaceStyleUsage,
IfcSurfaceStyleWithTextures,
IfcSurfaceTexture,
IfcSweptAreaSolid,
@@ -618,10 +689,12 @@ public enum IFCEntityType
IfcSwitchingDeviceType,
IfcSymbolStyle,
IfcSystem,
+ IfcSystemFurnitureElement,
IfcSystemFurnitureElementType,
IfcTShapeProfileDef,
IfcTable,
IfcTableRow,
+ IfcTank,
IfcTankType,
IfcTask,
IfcTelecomAddress,
@@ -650,14 +723,18 @@ public enum IFCEntityType
IfcTransportElement,
IfcTransportElementType,
IfcTrapeziumProfileDef,
+ IfcTreatmentDevice,
IfcTrimmedCurve,
+ IfcTubeBundle,
IfcTubeBundleType,
IfcTwoDirectionRepeatFactor,
IfcTypeObject,
IfcTypeProduct,
IfcUShapeProfileDef,
IfcUnitAssignment,
+ IfcUnitHeater,
IfcUnitaryEquipmentType,
+ IfcValve,
IfcValveType,
IfcVector,
IfcVertex,
@@ -677,6 +754,7 @@ public enum IFCEntityType
IfcWindowPanelProperties,
IfcWindowStyle,
IfcWorkControl,
+ IfcWorkOrder,
IfcWorkPlan,
IfcWorkSchedule,
IfcZShapeProfileDef,
diff --git a/Source/Revit.IFC.Common/Enums/IFC4x1EntityType.cs b/Source/Revit.IFC.Common/Enums/IFC4x1EntityType.cs
new file mode 100644
index 00000000..2ddd9ce9
--- /dev/null
+++ b/Source/Revit.IFC.Common/Enums/IFC4x1EntityType.cs
@@ -0,0 +1,837 @@
+//
+// BIM IFC export alternate UI library: this library works with Autodesk(R) Revit(R) to provide an alternate user interface for the export of IFC files from Revit.
+// Copyright (C) 2013 Autodesk, Inc.
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library 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 GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace Revit.IFC.Common.Enums.IFC4x1
+{
+ ///
+ /// IFC4x1 entity types.
+ ///
+ /// Schema IFC4x1 currently withdrawn
+ ///
+ ///
+ public enum IFCEntityType
+ {
+ IfcActionRequest,
+ IfcActor,
+ IfcActorRole,
+ IfcActuator,
+ IfcActuatorType,
+ IfcAddress,
+ IfcAdvancedBrep,
+ IfcAdvancedBrepWithVoids,
+ IfcAdvancedFace,
+ IfcAirTerminal,
+ IfcAirTerminalBox,
+ IfcAirTerminalBoxType,
+ IfcAirTerminalType,
+ IfcAirToAirHeatRecovery,
+ IfcAirToAirHeatRecoveryType,
+ IfcAlarm,
+ IfcAlarmType,
+ IfcAlignment,
+ IfcAlignment2DHorizontal,
+ IfcAlignment2DHorizontalSegment,
+ IfcAlignment2DSegment,
+ IfcAlignment2DVerSegCircularArc,
+ IfcAlignment2DVerSegLine,
+ IfcAlignment2DVerSegParabolicArc,
+ IfcAlignment2DVertical,
+ IfcAlignment2DVerticalSegment,
+ IfcAlignmentCurve,
+ IfcAnnotation,
+ IfcAnnotationFillArea,
+ IfcApplication,
+ IfcAppliedValue,
+ IfcApproval,
+ IfcApprovalRelationship,
+ IfcArbitraryClosedProfileDef,
+ IfcArbitraryOpenProfileDef,
+ IfcArbitraryProfileDefWithVoids,
+ IfcAsset,
+ IfcAsymmetricIShapeProfileDef,
+ IfcAudioVisualAppliance,
+ IfcAudioVisualApplianceType,
+ IfcAxis1Placement,
+ IfcAxis2Placement2D,
+ IfcAxis2Placement3D,
+ IfcBeam,
+ IfcBeamStandardCase,
+ IfcBeamType,
+ IfcBlobTexture,
+ IfcBlock,
+ IfcBoiler,
+ IfcBoilerType,
+ IfcBooleanClippingResult,
+ IfcBooleanResult,
+ IfcBoundaryCondition,
+ IfcBoundaryCurve,
+ IfcBoundaryEdgeCondition,
+ IfcBoundaryFaceCondition,
+ IfcBoundaryNodeCondition,
+ IfcBoundaryNodeConditionWarping,
+ IfcBoundedCurve,
+ IfcBoundedSurface,
+ IfcBoundingBox,
+ IfcBoxedHalfSpace,
+ IfcBSplineCurve,
+ IfcBSplineCurveWithKnots,
+ IfcBSplineSurface,
+ IfcBSplineSurfaceWithKnots,
+ IfcBuilding,
+ IfcBuildingElement,
+ IfcBuildingElementPart,
+ IfcBuildingElementPartType,
+ IfcBuildingElementProxy,
+ IfcBuildingElementProxyType,
+ IfcBuildingElementType,
+ IfcBuildingStorey,
+ IfcBuildingSystem,
+ IfcBurner,
+ IfcBurnerType,
+ IfcCableCarrierFitting,
+ IfcCableCarrierFittingType,
+ IfcCableCarrierSegment,
+ IfcCableCarrierSegmentType,
+ IfcCableFitting,
+ IfcCableFittingType,
+ IfcCableSegment,
+ IfcCableSegmentType,
+ IfcCartesianPoint,
+ IfcCartesianPointList,
+ IfcCartesianPointList2D,
+ IfcCartesianPointList3D,
+ IfcCartesianTransformationOperator,
+ IfcCartesianTransformationOperator2D,
+ IfcCartesianTransformationOperator2DnonUniform,
+ IfcCartesianTransformationOperator3D,
+ IfcCartesianTransformationOperator3DnonUniform,
+ IfcCenterLineProfileDef,
+ IfcChiller,
+ IfcChillerType,
+ IfcChimney,
+ IfcChimneyType,
+ IfcCircle,
+ IfcCircleHollowProfileDef,
+ IfcCircleProfileDef,
+ IfcCircularArcSegment2D,
+ IfcCivilElement,
+ IfcCivilElementType,
+ IfcClassification,
+ IfcClassificationReference,
+ IfcClosedShell,
+ IfcCoil,
+ IfcCoilType,
+ IfcColourRgb,
+ IfcColourRgbList,
+ IfcColourSpecification,
+ IfcColumn,
+ IfcColumnStandardCase,
+ IfcColumnType,
+ IfcCommunicationsAppliance,
+ IfcCommunicationsApplianceType,
+ IfcComplexProperty,
+ IfcComplexPropertyTemplate,
+ IfcCompositeCurve,
+ IfcCompositeCurveOnSurface,
+ IfcCompositeCurveSegment,
+ IfcCompositeProfileDef,
+ IfcCompressor,
+ IfcCompressorType,
+ IfcCondenser,
+ IfcCondenserType,
+ IfcConic,
+ IfcConnectedFaceSet,
+ IfcConnectionCurveGeometry,
+ IfcConnectionGeometry,
+ IfcConnectionPointEccentricity,
+ IfcConnectionPointGeometry,
+ IfcConnectionSurfaceGeometry,
+ IfcConnectionVolumeGeometry,
+ IfcConstraint,
+ IfcConstructionEquipmentResource,
+ IfcConstructionEquipmentResourceType,
+ IfcConstructionMaterialResource,
+ IfcConstructionMaterialResourceType,
+ IfcConstructionProductResource,
+ IfcConstructionProductResourceType,
+ IfcConstructionResource,
+ IfcConstructionResourceType,
+ IfcContext,
+ IfcContextDependentUnit,
+ IfcControl,
+ IfcController,
+ IfcControllerType,
+ IfcConversionBasedUnit,
+ IfcConversionBasedUnitWithOffset,
+ IfcCooledBeam,
+ IfcCooledBeamType,
+ IfcCoolingTower,
+ IfcCoolingTowerType,
+ IfcCoordinateOperation,
+ IfcCoordinateReferenceSystem,
+ IfcCostItem,
+ IfcCostSchedule,
+ IfcCostValue,
+ IfcCovering,
+ IfcCoveringType,
+ IfcCrewResource,
+ IfcCrewResourceType,
+ IfcCsgPrimitive3D,
+ IfcCsgSolid,
+ IfcCShapeProfileDef,
+ IfcCurrencyRelationship,
+ IfcCurtainWall,
+ IfcCurtainWallType,
+ IfcCurve,
+ IfcCurveBoundedPlane,
+ IfcCurveBoundedSurface,
+ IfcCurveSegment2D,
+ IfcCurveStyle,
+ IfcCurveStyleFont,
+ IfcCurveStyleFontAndScaling,
+ IfcCurveStyleFontPattern,
+ IfcCylindricalSurface,
+ IfcDamper,
+ IfcDamperType,
+ IfcDerivedProfileDef,
+ IfcDerivedUnit,
+ IfcDerivedUnitElement,
+ IfcDimensionalExponents,
+ IfcDirection,
+ IfcDiscreteAccessory,
+ IfcDiscreteAccessoryType,
+ IfcDistanceExpression,
+ IfcDistributionChamberElement,
+ IfcDistributionChamberElementType,
+ IfcDistributionCircuit,
+ IfcDistributionControlElement,
+ IfcDistributionControlElementType,
+ IfcDistributionElement,
+ IfcDistributionElementType,
+ IfcDistributionFlowElement,
+ IfcDistributionFlowElementType,
+ IfcDistributionPort,
+ IfcDistributionSystem,
+ IfcDocumentInformation,
+ IfcDocumentInformationRelationship,
+ IfcDocumentReference,
+ IfcDoor,
+ IfcDoorLiningProperties,
+ IfcDoorPanelProperties,
+ IfcDoorStandardCase,
+ IfcDoorStyle,
+ IfcDoorType,
+ IfcDraughtingPreDefinedColour,
+ IfcDraughtingPreDefinedCurveFont,
+ IfcDuctFitting,
+ IfcDuctFittingType,
+ IfcDuctSegment,
+ IfcDuctSegmentType,
+ IfcDuctSilencer,
+ IfcDuctSilencerType,
+ IfcEdge,
+ IfcEdgeCurve,
+ IfcEdgeLoop,
+ IfcElectricAppliance,
+ IfcElectricApplianceType,
+ IfcElectricDistributionBoard,
+ IfcElectricDistributionBoardType,
+ IfcElectricFlowStorageDevice,
+ IfcElectricFlowStorageDeviceType,
+ IfcElectricGenerator,
+ IfcElectricGeneratorType,
+ IfcElectricMotor,
+ IfcElectricMotorType,
+ IfcElectricTimeControl,
+ IfcElectricTimeControlType,
+ IfcElement,
+ IfcElementarySurface,
+ IfcElementAssembly,
+ IfcElementAssemblyType,
+ IfcElementComponent,
+ IfcElementComponentType,
+ IfcElementQuantity,
+ IfcElementType,
+ IfcEllipse,
+ IfcEllipseProfileDef,
+ IfcEnergyConversionDevice,
+ IfcEnergyConversionDeviceType,
+ IfcEngine,
+ IfcEngineType,
+ IfcEvaporativeCooler,
+ IfcEvaporativeCoolerType,
+ IfcEvaporator,
+ IfcEvaporatorType,
+ IfcEvent,
+ IfcEventTime,
+ IfcEventType,
+ IfcExtendedProperties,
+ IfcExternalInformation,
+ IfcExternallyDefinedHatchStyle,
+ IfcExternallyDefinedSurfaceStyle,
+ IfcExternallyDefinedTextFont,
+ IfcExternalReference,
+ IfcExternalReferenceRelationship,
+ IfcExternalSpatialElement,
+ IfcExternalSpatialStructureElement,
+ IfcExtrudedAreaSolid,
+ IfcExtrudedAreaSolidTapered,
+ IfcFace,
+ IfcFaceBasedSurfaceModel,
+ IfcFaceBound,
+ IfcFaceOuterBound,
+ IfcFaceSurface,
+ IfcFacetedBrep,
+ IfcFacetedBrepWithVoids,
+ IfcFailureConnectionCondition,
+ IfcFan,
+ IfcFanType,
+ IfcFastener,
+ IfcFastenerType,
+ IfcFeatureElement,
+ IfcFeatureElementAddition,
+ IfcFeatureElementSubtraction,
+ IfcFillAreaStyle,
+ IfcFillAreaStyleHatching,
+ IfcFillAreaStyleTiles,
+ IfcFilter,
+ IfcFilterType,
+ IfcFireSuppressionTerminal,
+ IfcFireSuppressionTerminalType,
+ IfcFixedReferenceSweptAreaSolid,
+ IfcFlowController,
+ IfcFlowControllerType,
+ IfcFlowFitting,
+ IfcFlowFittingType,
+ IfcFlowInstrument,
+ IfcFlowInstrumentType,
+ IfcFlowMeter,
+ IfcFlowMeterType,
+ IfcFlowMovingDevice,
+ IfcFlowMovingDeviceType,
+ IfcFlowSegment,
+ IfcFlowSegmentType,
+ IfcFlowStorageDevice,
+ IfcFlowStorageDeviceType,
+ IfcFlowTerminal,
+ IfcFlowTerminalType,
+ IfcFlowTreatmentDevice,
+ IfcFlowTreatmentDeviceType,
+ IfcFooting,
+ IfcFootingType,
+ IfcFurnishingElement,
+ IfcFurnishingElementType,
+ IfcFurniture,
+ IfcFurnitureType,
+ IfcGeographicElement,
+ IfcGeographicElementType,
+ IfcGeometricCurveSet,
+ IfcGeometricRepresentationContext,
+ IfcGeometricRepresentationItem,
+ IfcGeometricRepresentationSubContext,
+ IfcGeometricSet,
+ IfcGrid,
+ IfcGridAxis,
+ IfcGridPlacement,
+ IfcGroup,
+ IfcHalfSpaceSolid,
+ IfcHeatExchanger,
+ IfcHeatExchangerType,
+ IfcHumidifier,
+ IfcHumidifierType,
+ IfcImageTexture,
+ IfcIndexedColourMap,
+ IfcIndexedPolyCurve,
+ IfcIndexedPolygonalFace,
+ IfcIndexedPolygonalFaceWithVoids,
+ IfcIndexedTextureMap,
+ IfcIndexedTriangleTextureMap,
+ IfcInterceptor,
+ IfcInterceptorType,
+ IfcIntersectionCurve,
+ IfcInventory,
+ IfcIrregularTimeSeries,
+ IfcIrregularTimeSeriesValue,
+ IfcIShapeProfileDef,
+ IfcJunctionBox,
+ IfcJunctionBoxType,
+ IfcLaborResource,
+ IfcLaborResourceType,
+ IfcLagTime,
+ IfcLamp,
+ IfcLampType,
+ IfcLibraryInformation,
+ IfcLibraryReference,
+ IfcLightDistributionData,
+ IfcLightFixture,
+ IfcLightFixtureType,
+ IfcLightIntensityDistribution,
+ IfcLightSource,
+ IfcLightSourceAmbient,
+ IfcLightSourceDirectional,
+ IfcLightSourceGoniometric,
+ IfcLightSourcePositional,
+ IfcLightSourceSpot,
+ IfcLine,
+ IfcLinearPlacement,
+ IfcLinearPositioningElement,
+ IfcLineSegment2D,
+ IfcLocalPlacement,
+ IfcLoop,
+ IfcLShapeProfileDef,
+ IfcManifoldSolidBrep,
+ IfcMapConversion,
+ IfcMappedItem,
+ IfcMaterial,
+ IfcMaterialClassificationRelationship,
+ IfcMaterialConstituent,
+ IfcMaterialConstituentSet,
+ IfcMaterialDefinition,
+ IfcMaterialDefinitionRepresentation,
+ IfcMaterialLayer,
+ IfcMaterialLayerSet,
+ IfcMaterialLayerSetUsage,
+ IfcMaterialLayerWithOffsets,
+ IfcMaterialList,
+ IfcMaterialProfile,
+ IfcMaterialProfileSet,
+ IfcMaterialProfileSetUsage,
+ IfcMaterialProfileSetUsageTapering,
+ IfcMaterialProfileWithOffsets,
+ IfcMaterialProperties,
+ IfcMaterialRelationship,
+ IfcMaterialUsageDefinition,
+ IfcMeasureWithUnit,
+ IfcMechanicalFastener,
+ IfcMechanicalFastenerType,
+ IfcMedicalDevice,
+ IfcMedicalDeviceType,
+ IfcMember,
+ IfcMemberStandardCase,
+ IfcMemberType,
+ IfcMetric,
+ IfcMirroredProfileDef,
+ IfcMonetaryUnit,
+ IfcMotorConnection,
+ IfcMotorConnectionType,
+ IfcNamedUnit,
+ IfcObject,
+ IfcObjectDefinition,
+ IfcObjective,
+ IfcObjectPlacement,
+ IfcOccupant,
+ IfcOffsetCurve,
+ IfcOffsetCurve2D,
+ IfcOffsetCurve3D,
+ IfcOffsetCurveByDistances,
+ IfcOpeningElement,
+ IfcOpeningStandardCase,
+ IfcOpenShell,
+ IfcOrganization,
+ IfcOrganizationRelationship,
+ IfcOrientationExpression,
+ IfcOrientedEdge,
+ IfcOuterBoundaryCurve,
+ IfcOutlet,
+ IfcOutletType,
+ IfcOwnerHistory,
+ IfcParameterizedProfileDef,
+ IfcPath,
+ IfcPcurve,
+ IfcPerformanceHistory,
+ IfcPermeableCoveringProperties,
+ IfcPermit,
+ IfcPerson,
+ IfcPersonAndOrganization,
+ IfcPhysicalComplexQuantity,
+ IfcPhysicalQuantity,
+ IfcPhysicalSimpleQuantity,
+ IfcPile,
+ IfcPileType,
+ IfcPipeFitting,
+ IfcPipeFittingType,
+ IfcPipeSegment,
+ IfcPipeSegmentType,
+ IfcPixelTexture,
+ IfcPlacement,
+ IfcPlanarBox,
+ IfcPlanarExtent,
+ IfcPlane,
+ IfcPlate,
+ IfcPlateStandardCase,
+ IfcPlateType,
+ IfcPoint,
+ IfcPointOnCurve,
+ IfcPointOnSurface,
+ IfcPolygonalBoundedHalfSpace,
+ IfcPolygonalFaceSet,
+ IfcPolyline,
+ IfcPolyLoop,
+ IfcPort,
+ IfcPositioningElement,
+ IfcPostalAddress,
+ IfcPreDefinedColour,
+ IfcPreDefinedCurveFont,
+ IfcPreDefinedItem,
+ IfcPreDefinedProperties,
+ IfcPreDefinedPropertySet,
+ IfcPreDefinedTextFont,
+ IfcPresentationItem,
+ IfcPresentationLayerAssignment,
+ IfcPresentationLayerWithStyle,
+ IfcPresentationStyle,
+ IfcPresentationStyleAssignment,
+ IfcProcedure,
+ IfcProcedureType,
+ IfcProcess,
+ IfcProduct,
+ IfcProductDefinitionShape,
+ IfcProductRepresentation,
+ IfcProfileDef,
+ IfcProfileProperties,
+ IfcProject,
+ IfcProjectedCRS,
+ IfcProjectionElement,
+ IfcProjectLibrary,
+ IfcProjectOrder,
+ IfcProperty,
+ IfcPropertyAbstraction,
+ IfcPropertyBoundedValue,
+ IfcPropertyDefinition,
+ IfcPropertyDependencyRelationship,
+ IfcPropertyEnumeratedValue,
+ IfcPropertyEnumeration,
+ IfcPropertyListValue,
+ IfcPropertyReferenceValue,
+ IfcPropertySet,
+ IfcPropertySetDefinition,
+ IfcPropertySetTemplate,
+ IfcPropertySingleValue,
+ IfcPropertyTableValue,
+ IfcPropertyTemplate,
+ IfcPropertyTemplateDefinition,
+ IfcProtectiveDevice,
+ IfcProtectiveDeviceTrippingUnit,
+ IfcProtectiveDeviceTrippingUnitType,
+ IfcProtectiveDeviceType,
+ IfcProxy,
+ IfcPump,
+ IfcPumpType,
+ IfcQuantityArea,
+ IfcQuantityCount,
+ IfcQuantityLength,
+ IfcQuantitySet,
+ IfcQuantityTime,
+ IfcQuantityVolume,
+ IfcQuantityWeight,
+ IfcRailing,
+ IfcRailingType,
+ IfcRamp,
+ IfcRampFlight,
+ IfcRampFlightType,
+ IfcRampType,
+ IfcRationalBSplineCurveWithKnots,
+ IfcRationalBSplineSurfaceWithKnots,
+ IfcRectangleHollowProfileDef,
+ IfcRectangleProfileDef,
+ IfcRectangularPyramid,
+ IfcRectangularTrimmedSurface,
+ IfcRecurrencePattern,
+ IfcReference,
+ IfcReferent,
+ IfcRegularTimeSeries,
+ IfcReinforcementBarProperties,
+ IfcReinforcementDefinitionProperties,
+ IfcReinforcingBar,
+ IfcReinforcingBarType,
+ IfcReinforcingElement,
+ IfcReinforcingElementType,
+ IfcReinforcingMesh,
+ IfcReinforcingMeshType,
+ IfcRelAggregates,
+ IfcRelAssigns,
+ IfcRelAssignsToActor,
+ IfcRelAssignsToControl,
+ IfcRelAssignsToGroup,
+ IfcRelAssignsToGroupByFactor,
+ IfcRelAssignsToProcess,
+ IfcRelAssignsToProduct,
+ IfcRelAssignsToResource,
+ IfcRelAssociates,
+ IfcRelAssociatesApproval,
+ IfcRelAssociatesClassification,
+ IfcRelAssociatesConstraint,
+ IfcRelAssociatesDocument,
+ IfcRelAssociatesLibrary,
+ IfcRelAssociatesMaterial,
+ IfcRelationship,
+ IfcRelConnects,
+ IfcRelConnectsElements,
+ IfcRelConnectsPathElements,
+ IfcRelConnectsPorts,
+ IfcRelConnectsPortToElement,
+ IfcRelConnectsStructuralActivity,
+ IfcRelConnectsStructuralMember,
+ IfcRelConnectsWithEccentricity,
+ IfcRelConnectsWithRealizingElements,
+ IfcRelContainedInSpatialStructure,
+ IfcRelCoversBldgElements,
+ IfcRelCoversSpaces,
+ IfcRelDeclares,
+ IfcRelDecomposes,
+ IfcRelDefines,
+ IfcRelDefinesByObject,
+ IfcRelDefinesByProperties,
+ IfcRelDefinesByTemplate,
+ IfcRelDefinesByType,
+ IfcRelFillsElement,
+ IfcRelFlowControlElements,
+ IfcRelInterferesElements,
+ IfcRelNests,
+ IfcRelProjectsElement,
+ IfcRelReferencedInSpatialStructure,
+ IfcRelSequence,
+ IfcRelServicesBuildings,
+ IfcRelSpaceBoundary,
+ IfcRelSpaceBoundary1stLevel,
+ IfcRelSpaceBoundary2ndLevel,
+ IfcRelVoidsElement,
+ IfcReparametrisedCompositeCurveSegment,
+ IfcRepresentation,
+ IfcRepresentationContext,
+ IfcRepresentationItem,
+ IfcRepresentationMap,
+ IfcResource,
+ IfcResourceApprovalRelationship,
+ IfcResourceConstraintRelationship,
+ IfcResourceLevelRelationship,
+ IfcResourceTime,
+ IfcRevolvedAreaSolid,
+ IfcRevolvedAreaSolidTapered,
+ IfcRightCircularCone,
+ IfcRightCircularCylinder,
+ IfcRoof,
+ IfcRoofType,
+ IfcRoot,
+ IfcRoundedRectangleProfileDef,
+ IfcSanitaryTerminal,
+ IfcSanitaryTerminalType,
+ IfcSchedulingTime,
+ IfcSeamCurve,
+ IfcSectionedSolid,
+ IfcSectionedSolidHorizontal,
+ IfcSectionedSpine,
+ IfcSectionProperties,
+ IfcSectionReinforcementProperties,
+ IfcSensor,
+ IfcSensorType,
+ IfcShadingDevice,
+ IfcShadingDeviceType,
+ IfcShapeAspect,
+ IfcShapeModel,
+ IfcShapeRepresentation,
+ IfcShellBasedSurfaceModel,
+ IfcSimpleProperty,
+ IfcSimplePropertyTemplate,
+ IfcSite,
+ IfcSIUnit,
+ IfcSlab,
+ IfcSlabElementedCase,
+ IfcSlabStandardCase,
+ IfcSlabType,
+ IfcSlippageConnectionCondition,
+ IfcSolarDevice,
+ IfcSolarDeviceType,
+ IfcSolidModel,
+ IfcSpace,
+ IfcSpaceHeater,
+ IfcSpaceHeaterType,
+ IfcSpaceType,
+ IfcSpatialElement,
+ IfcSpatialElementType,
+ IfcSpatialStructureElement,
+ IfcSpatialStructureElementType,
+ IfcSpatialZone,
+ IfcSpatialZoneType,
+ IfcSphere,
+ IfcSphericalSurface,
+ IfcStackTerminal,
+ IfcStackTerminalType,
+ IfcStair,
+ IfcStairFlight,
+ IfcStairFlightType,
+ IfcStairType,
+ IfcStructuralAction,
+ IfcStructuralActivity,
+ IfcStructuralAnalysisModel,
+ IfcStructuralConnection,
+ IfcStructuralConnectionCondition,
+ IfcStructuralCurveAction,
+ IfcStructuralCurveConnection,
+ IfcStructuralCurveMember,
+ IfcStructuralCurveMemberVarying,
+ IfcStructuralCurveReaction,
+ IfcStructuralItem,
+ IfcStructuralLinearAction,
+ IfcStructuralLoad,
+ IfcStructuralLoadCase,
+ IfcStructuralLoadConfiguration,
+ IfcStructuralLoadGroup,
+ IfcStructuralLoadLinearForce,
+ IfcStructuralLoadOrResult,
+ IfcStructuralLoadPlanarForce,
+ IfcStructuralLoadSingleDisplacement,
+ IfcStructuralLoadSingleDisplacementDistortion,
+ IfcStructuralLoadSingleForce,
+ IfcStructuralLoadSingleForceWarping,
+ IfcStructuralLoadStatic,
+ IfcStructuralLoadTemperature,
+ IfcStructuralMember,
+ IfcStructuralPlanarAction,
+ IfcStructuralPointAction,
+ IfcStructuralPointConnection,
+ IfcStructuralPointReaction,
+ IfcStructuralReaction,
+ IfcStructuralResultGroup,
+ IfcStructuralSurfaceAction,
+ IfcStructuralSurfaceConnection,
+ IfcStructuralSurfaceMember,
+ IfcStructuralSurfaceMemberVarying,
+ IfcStructuralSurfaceReaction,
+ IfcStyledItem,
+ IfcStyledRepresentation,
+ IfcStyleModel,
+ IfcSubContractResource,
+ IfcSubContractResourceType,
+ IfcSubedge,
+ IfcSurface,
+ IfcSurfaceCurve,
+ IfcSurfaceCurveSweptAreaSolid,
+ IfcSurfaceFeature,
+ IfcSurfaceOfLinearExtrusion,
+ IfcSurfaceOfRevolution,
+ IfcSurfaceReinforcementArea,
+ IfcSurfaceStyle,
+ IfcSurfaceStyleLighting,
+ IfcSurfaceStyleRefraction,
+ IfcSurfaceStyleRendering,
+ IfcSurfaceStyleShading,
+ IfcSurfaceStyleWithTextures,
+ IfcSurfaceTexture,
+ IfcSweptAreaSolid,
+ IfcSweptDiskSolid,
+ IfcSweptDiskSolidPolygonal,
+ IfcSweptSurface,
+ IfcSwitchingDevice,
+ IfcSwitchingDeviceType,
+ IfcSystem,
+ IfcSystemFurnitureElement,
+ IfcSystemFurnitureElementType,
+ IfcTable,
+ IfcTableColumn,
+ IfcTableRow,
+ IfcTank,
+ IfcTankType,
+ IfcTask,
+ IfcTaskTime,
+ IfcTaskTimeRecurring,
+ IfcTaskType,
+ IfcTelecomAddress,
+ IfcTendon,
+ IfcTendonAnchor,
+ IfcTendonAnchorType,
+ IfcTendonType,
+ IfcTessellatedFaceSet,
+ IfcTessellatedItem,
+ IfcTextLiteral,
+ IfcTextLiteralWithExtent,
+ IfcTextStyle,
+ IfcTextStyleFontModel,
+ IfcTextStyleForDefinedFont,
+ IfcTextStyleTextModel,
+ IfcTextureCoordinate,
+ IfcTextureCoordinateGenerator,
+ IfcTextureMap,
+ IfcTextureVertex,
+ IfcTextureVertexList,
+ IfcTimePeriod,
+ IfcTimeSeries,
+ IfcTimeSeriesValue,
+ IfcTopologicalRepresentationItem,
+ IfcTopologyRepresentation,
+ IfcToroidalSurface,
+ IfcTransformer,
+ IfcTransformerType,
+ IfcTransitionCurveSegment2D,
+ IfcTransportElement,
+ IfcTransportElementType,
+ IfcTrapeziumProfileDef,
+ IfcTriangulatedFaceSet,
+ IfcTriangulatedIrregularNetwork,
+ IfcTrimmedCurve,
+ IfcTShapeProfileDef,
+ IfcTubeBundle,
+ IfcTubeBundleType,
+ IfcTypeObject,
+ IfcTypeProcess,
+ IfcTypeProduct,
+ IfcTypeResource,
+ IfcUnitaryControlElement,
+ IfcUnitaryControlElementType,
+ IfcUnitaryEquipment,
+ IfcUnitaryEquipmentType,
+ IfcUnitAssignment,
+ IfcUShapeProfileDef,
+ IfcValve,
+ IfcValveType,
+ IfcVector,
+ IfcVertex,
+ IfcVertexLoop,
+ IfcVertexPoint,
+ IfcVibrationIsolator,
+ IfcVibrationIsolatorType,
+ IfcVirtualElement,
+ IfcVirtualGridIntersection,
+ IfcVoidingFeature,
+ IfcWall,
+ IfcWallElementedCase,
+ IfcWallStandardCase,
+ IfcWallType,
+ IfcWasteTerminal,
+ IfcWasteTerminalType,
+ IfcWindow,
+ IfcWindowLiningProperties,
+ IfcWindowPanelProperties,
+ IfcWindowStandardCase,
+ IfcWindowStyle,
+ IfcWindowType,
+ IfcWorkCalendar,
+ IfcWorkControl,
+ IfcWorkPlan,
+ IfcWorkSchedule,
+ IfcWorkTime,
+ IfcZone,
+ IfcZShapeProfileDef,
+ UnKnown
+ }
+}
diff --git a/Source/Revit.IFC.Common/Enums/IFC4x2EntityType.cs b/Source/Revit.IFC.Common/Enums/IFC4x2EntityType.cs
new file mode 100644
index 00000000..dfd6ebb5
--- /dev/null
+++ b/Source/Revit.IFC.Common/Enums/IFC4x2EntityType.cs
@@ -0,0 +1,852 @@
+//
+// BIM IFC export alternate UI library: this library works with Autodesk(R) Revit(R) to provide an alternate user interface for the export of IFC files from Revit.
+// Copyright (C) 2013 Autodesk, Inc.
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library 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 GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace Revit.IFC.Common.Enums.IFC4x2
+{
+ ///
+ /// IFC4x2 entity types.
+ ///
+ /// Schema IFC4x2 currently withdrawn
+ ///
+ ///
+ public enum IFCEntityType
+ {
+ IfcActionRequest,
+ IfcActor,
+ IfcActorRole,
+ IfcActuator,
+ IfcActuatorType,
+ IfcAddress,
+ IfcAdvancedBrep,
+ IfcAdvancedBrepWithVoids,
+ IfcAdvancedFace,
+ IfcAirTerminal,
+ IfcAirTerminalBox,
+ IfcAirTerminalBoxType,
+ IfcAirTerminalType,
+ IfcAirToAirHeatRecovery,
+ IfcAirToAirHeatRecoveryType,
+ IfcAlarm,
+ IfcAlarmType,
+ IfcAlignment,
+ IfcAlignment2DHorizontal,
+ IfcAlignment2DHorizontalSegment,
+ IfcAlignment2DSegment,
+ IfcAlignment2DVerSegCircularArc,
+ IfcAlignment2DVerSegLine,
+ IfcAlignment2DVerSegParabolicArc,
+ IfcAlignment2DVertical,
+ IfcAlignment2DVerticalSegment,
+ IfcAlignmentCurve,
+ IfcAnnotation,
+ IfcAnnotationFillArea,
+ IfcApplication,
+ IfcAppliedValue,
+ IfcApproval,
+ IfcApprovalRelationship,
+ IfcArbitraryClosedProfileDef,
+ IfcArbitraryOpenProfileDef,
+ IfcArbitraryProfileDefWithVoids,
+ IfcAsset,
+ IfcAsymmetricIShapeProfileDef,
+ IfcAudioVisualAppliance,
+ IfcAudioVisualApplianceType,
+ IfcAxis1Placement,
+ IfcAxis2Placement2D,
+ IfcAxis2Placement3D,
+ IfcBeam,
+ IfcBeamStandardCase,
+ IfcBeamType,
+ IfcBearing,
+ IfcBearingType,
+ IfcBlobTexture,
+ IfcBlock,
+ IfcBoiler,
+ IfcBoilerType,
+ IfcBooleanClippingResult,
+ IfcBooleanResult,
+ IfcBoundaryCondition,
+ IfcBoundaryCurve,
+ IfcBoundaryEdgeCondition,
+ IfcBoundaryFaceCondition,
+ IfcBoundaryNodeCondition,
+ IfcBoundaryNodeConditionWarping,
+ IfcBoundedCurve,
+ IfcBoundedSurface,
+ IfcBoundingBox,
+ IfcBoxedHalfSpace,
+ IfcBridge,
+ IfcBridgePart,
+ IfcBSplineCurve,
+ IfcBSplineCurveWithKnots,
+ IfcBSplineSurface,
+ IfcBSplineSurfaceWithKnots,
+ IfcBuilding,
+ IfcBuildingElement,
+ IfcBuildingElementPart,
+ IfcBuildingElementPartType,
+ IfcBuildingElementProxy,
+ IfcBuildingElementProxyType,
+ IfcBuildingElementType,
+ IfcBuildingStorey,
+ IfcBuildingSystem,
+ IfcBurner,
+ IfcBurnerType,
+ IfcCableCarrierFitting,
+ IfcCableCarrierFittingType,
+ IfcCableCarrierSegment,
+ IfcCableCarrierSegmentType,
+ IfcCableFitting,
+ IfcCableFittingType,
+ IfcCableSegment,
+ IfcCableSegmentType,
+ IfcCaissonFoundation,
+ IfcCaissonFoundationType,
+ IfcCartesianPoint,
+ IfcCartesianPointList,
+ IfcCartesianPointList2D,
+ IfcCartesianPointList3D,
+ IfcCartesianTransformationOperator,
+ IfcCartesianTransformationOperator2D,
+ IfcCartesianTransformationOperator2DnonUniform,
+ IfcCartesianTransformationOperator3D,
+ IfcCartesianTransformationOperator3DnonUniform,
+ IfcCenterLineProfileDef,
+ IfcChiller,
+ IfcChillerType,
+ IfcChimney,
+ IfcChimneyType,
+ IfcCircle,
+ IfcCircleHollowProfileDef,
+ IfcCircleProfileDef,
+ IfcCircularArcSegment2D,
+ IfcCivilElement,
+ IfcCivilElementType,
+ IfcClassification,
+ IfcClassificationReference,
+ IfcClosedShell,
+ IfcCoil,
+ IfcCoilType,
+ IfcColourRgb,
+ IfcColourRgbList,
+ IfcColourSpecification,
+ IfcColumn,
+ IfcColumnStandardCase,
+ IfcColumnType,
+ IfcCommunicationsAppliance,
+ IfcCommunicationsApplianceType,
+ IfcComplexProperty,
+ IfcComplexPropertyTemplate,
+ IfcCompositeCurve,
+ IfcCompositeCurveOnSurface,
+ IfcCompositeCurveSegment,
+ IfcCompositeProfileDef,
+ IfcCompressor,
+ IfcCompressorType,
+ IfcCondenser,
+ IfcCondenserType,
+ IfcConic,
+ IfcConnectedFaceSet,
+ IfcConnectionCurveGeometry,
+ IfcConnectionGeometry,
+ IfcConnectionPointEccentricity,
+ IfcConnectionPointGeometry,
+ IfcConnectionSurfaceGeometry,
+ IfcConnectionVolumeGeometry,
+ IfcConstraint,
+ IfcConstructionEquipmentResource,
+ IfcConstructionEquipmentResourceType,
+ IfcConstructionMaterialResource,
+ IfcConstructionMaterialResourceType,
+ IfcConstructionProductResource,
+ IfcConstructionProductResourceType,
+ IfcConstructionResource,
+ IfcConstructionResourceType,
+ IfcContext,
+ IfcContextDependentUnit,
+ IfcControl,
+ IfcController,
+ IfcControllerType,
+ IfcConversionBasedUnit,
+ IfcConversionBasedUnitWithOffset,
+ IfcCooledBeam,
+ IfcCooledBeamType,
+ IfcCoolingTower,
+ IfcCoolingTowerType,
+ IfcCoordinateOperation,
+ IfcCoordinateReferenceSystem,
+ IfcCostItem,
+ IfcCostSchedule,
+ IfcCostValue,
+ IfcCovering,
+ IfcCoveringType,
+ IfcCrewResource,
+ IfcCrewResourceType,
+ IfcCsgPrimitive3D,
+ IfcCsgSolid,
+ IfcCShapeProfileDef,
+ IfcCurrencyRelationship,
+ IfcCurtainWall,
+ IfcCurtainWallType,
+ IfcCurve,
+ IfcCurveBoundedPlane,
+ IfcCurveBoundedSurface,
+ IfcCurveSegment2D,
+ IfcCurveStyle,
+ IfcCurveStyleFont,
+ IfcCurveStyleFontAndScaling,
+ IfcCurveStyleFontPattern,
+ IfcCylindricalSurface,
+ IfcDamper,
+ IfcDamperType,
+ IfcDeepFoundation,
+ IfcDeepFoundationType,
+ IfcDerivedProfileDef,
+ IfcDerivedUnit,
+ IfcDerivedUnitElement,
+ IfcDimensionalExponents,
+ IfcDirection,
+ IfcDiscreteAccessory,
+ IfcDiscreteAccessoryType,
+ IfcDistanceExpression,
+ IfcDistributionChamberElement,
+ IfcDistributionChamberElementType,
+ IfcDistributionCircuit,
+ IfcDistributionControlElement,
+ IfcDistributionControlElementType,
+ IfcDistributionElement,
+ IfcDistributionElementType,
+ IfcDistributionFlowElement,
+ IfcDistributionFlowElementType,
+ IfcDistributionPort,
+ IfcDistributionSystem,
+ IfcDocumentInformation,
+ IfcDocumentInformationRelationship,
+ IfcDocumentReference,
+ IfcDoor,
+ IfcDoorLiningProperties,
+ IfcDoorPanelProperties,
+ IfcDoorStandardCase,
+ IfcDoorStyle,
+ IfcDoorType,
+ IfcDraughtingPreDefinedColour,
+ IfcDraughtingPreDefinedCurveFont,
+ IfcDuctFitting,
+ IfcDuctFittingType,
+ IfcDuctSegment,
+ IfcDuctSegmentType,
+ IfcDuctSilencer,
+ IfcDuctSilencerType,
+ IfcEdge,
+ IfcEdgeCurve,
+ IfcEdgeLoop,
+ IfcElectricAppliance,
+ IfcElectricApplianceType,
+ IfcElectricDistributionBoard,
+ IfcElectricDistributionBoardType,
+ IfcElectricFlowStorageDevice,
+ IfcElectricFlowStorageDeviceType,
+ IfcElectricGenerator,
+ IfcElectricGeneratorType,
+ IfcElectricMotor,
+ IfcElectricMotorType,
+ IfcElectricTimeControl,
+ IfcElectricTimeControlType,
+ IfcElement,
+ IfcElementarySurface,
+ IfcElementAssembly,
+ IfcElementAssemblyType,
+ IfcElementComponent,
+ IfcElementComponentType,
+ IfcElementQuantity,
+ IfcElementType,
+ IfcEllipse,
+ IfcEllipseProfileDef,
+ IfcEnergyConversionDevice,
+ IfcEnergyConversionDeviceType,
+ IfcEngine,
+ IfcEngineType,
+ IfcEvaporativeCooler,
+ IfcEvaporativeCoolerType,
+ IfcEvaporator,
+ IfcEvaporatorType,
+ IfcEvent,
+ IfcEventTime,
+ IfcEventType,
+ IfcExtendedProperties,
+ IfcExternalInformation,
+ IfcExternallyDefinedHatchStyle,
+ IfcExternallyDefinedSurfaceStyle,
+ IfcExternallyDefinedTextFont,
+ IfcExternalReference,
+ IfcExternalReferenceRelationship,
+ IfcExternalSpatialElement,
+ IfcExternalSpatialStructureElement,
+ IfcExtrudedAreaSolid,
+ IfcExtrudedAreaSolidTapered,
+ IfcFace,
+ IfcFaceBasedSurfaceModel,
+ IfcFaceBound,
+ IfcFaceOuterBound,
+ IfcFaceSurface,
+ IfcFacetedBrep,
+ IfcFacetedBrepWithVoids,
+ IfcFacility,
+ IfcFacilityPart,
+ IfcFailureConnectionCondition,
+ IfcFan,
+ IfcFanType,
+ IfcFastener,
+ IfcFastenerType,
+ IfcFeatureElement,
+ IfcFeatureElementAddition,
+ IfcFeatureElementSubtraction,
+ IfcFillAreaStyle,
+ IfcFillAreaStyleHatching,
+ IfcFillAreaStyleTiles,
+ IfcFilter,
+ IfcFilterType,
+ IfcFireSuppressionTerminal,
+ IfcFireSuppressionTerminalType,
+ IfcFixedReferenceSweptAreaSolid,
+ IfcFlowController,
+ IfcFlowControllerType,
+ IfcFlowFitting,
+ IfcFlowFittingType,
+ IfcFlowInstrument,
+ IfcFlowInstrumentType,
+ IfcFlowMeter,
+ IfcFlowMeterType,
+ IfcFlowMovingDevice,
+ IfcFlowMovingDeviceType,
+ IfcFlowSegment,
+ IfcFlowSegmentType,
+ IfcFlowStorageDevice,
+ IfcFlowStorageDeviceType,
+ IfcFlowTerminal,
+ IfcFlowTerminalType,
+ IfcFlowTreatmentDevice,
+ IfcFlowTreatmentDeviceType,
+ IfcFooting,
+ IfcFootingType,
+ IfcFurnishingElement,
+ IfcFurnishingElementType,
+ IfcFurniture,
+ IfcFurnitureType,
+ IfcGeographicElement,
+ IfcGeographicElementType,
+ IfcGeometricCurveSet,
+ IfcGeometricRepresentationContext,
+ IfcGeometricRepresentationItem,
+ IfcGeometricRepresentationSubContext,
+ IfcGeometricSet,
+ IfcGrid,
+ IfcGridAxis,
+ IfcGridPlacement,
+ IfcGroup,
+ IfcHalfSpaceSolid,
+ IfcHeatExchanger,
+ IfcHeatExchangerType,
+ IfcHumidifier,
+ IfcHumidifierType,
+ IfcImageTexture,
+ IfcIndexedColourMap,
+ IfcIndexedPolyCurve,
+ IfcIndexedPolygonalFace,
+ IfcIndexedPolygonalFaceWithVoids,
+ IfcIndexedTextureMap,
+ IfcIndexedTriangleTextureMap,
+ IfcInterceptor,
+ IfcInterceptorType,
+ IfcIntersectionCurve,
+ IfcInventory,
+ IfcIrregularTimeSeries,
+ IfcIrregularTimeSeriesValue,
+ IfcIShapeProfileDef,
+ IfcJunctionBox,
+ IfcJunctionBoxType,
+ IfcLaborResource,
+ IfcLaborResourceType,
+ IfcLagTime,
+ IfcLamp,
+ IfcLampType,
+ IfcLibraryInformation,
+ IfcLibraryReference,
+ IfcLightDistributionData,
+ IfcLightFixture,
+ IfcLightFixtureType,
+ IfcLightIntensityDistribution,
+ IfcLightSource,
+ IfcLightSourceAmbient,
+ IfcLightSourceDirectional,
+ IfcLightSourceGoniometric,
+ IfcLightSourcePositional,
+ IfcLightSourceSpot,
+ IfcLine,
+ IfcLinearPlacement,
+ IfcLinearPositioningElement,
+ IfcLineSegment2D,
+ IfcLocalPlacement,
+ IfcLoop,
+ IfcLShapeProfileDef,
+ IfcManifoldSolidBrep,
+ IfcMapConversion,
+ IfcMappedItem,
+ IfcMaterial,
+ IfcMaterialClassificationRelationship,
+ IfcMaterialConstituent,
+ IfcMaterialConstituentSet,
+ IfcMaterialDefinition,
+ IfcMaterialDefinitionRepresentation,
+ IfcMaterialLayer,
+ IfcMaterialLayerSet,
+ IfcMaterialLayerSetUsage,
+ IfcMaterialLayerWithOffsets,
+ IfcMaterialList,
+ IfcMaterialProfile,
+ IfcMaterialProfileSet,
+ IfcMaterialProfileSetUsage,
+ IfcMaterialProfileSetUsageTapering,
+ IfcMaterialProfileWithOffsets,
+ IfcMaterialProperties,
+ IfcMaterialRelationship,
+ IfcMaterialUsageDefinition,
+ IfcMeasureWithUnit,
+ IfcMechanicalFastener,
+ IfcMechanicalFastenerType,
+ IfcMedicalDevice,
+ IfcMedicalDeviceType,
+ IfcMember,
+ IfcMemberStandardCase,
+ IfcMemberType,
+ IfcMetric,
+ IfcMirroredProfileDef,
+ IfcMonetaryUnit,
+ IfcMotorConnection,
+ IfcMotorConnectionType,
+ IfcNamedUnit,
+ IfcObject,
+ IfcObjectDefinition,
+ IfcObjective,
+ IfcObjectPlacement,
+ IfcOccupant,
+ IfcOffsetCurve,
+ IfcOffsetCurve2D,
+ IfcOffsetCurve3D,
+ IfcOffsetCurveByDistances,
+ IfcOpeningElement,
+ IfcOpeningStandardCase,
+ IfcOpenShell,
+ IfcOrganization,
+ IfcOrganizationRelationship,
+ IfcOrientationExpression,
+ IfcOrientedEdge,
+ IfcOuterBoundaryCurve,
+ IfcOutlet,
+ IfcOutletType,
+ IfcOwnerHistory,
+ IfcParameterizedProfileDef,
+ IfcPath,
+ IfcPcurve,
+ IfcPerformanceHistory,
+ IfcPermeableCoveringProperties,
+ IfcPermit,
+ IfcPerson,
+ IfcPersonAndOrganization,
+ IfcPhysicalComplexQuantity,
+ IfcPhysicalQuantity,
+ IfcPhysicalSimpleQuantity,
+ IfcPile,
+ IfcPileType,
+ IfcPipeFitting,
+ IfcPipeFittingType,
+ IfcPipeSegment,
+ IfcPipeSegmentType,
+ IfcPixelTexture,
+ IfcPlacement,
+ IfcPlanarBox,
+ IfcPlanarExtent,
+ IfcPlane,
+ IfcPlate,
+ IfcPlateStandardCase,
+ IfcPlateType,
+ IfcPoint,
+ IfcPointOnCurve,
+ IfcPointOnSurface,
+ IfcPolygonalBoundedHalfSpace,
+ IfcPolygonalFaceSet,
+ IfcPolyline,
+ IfcPolyLoop,
+ IfcPort,
+ IfcPositioningElement,
+ IfcPostalAddress,
+ IfcPreDefinedColour,
+ IfcPreDefinedCurveFont,
+ IfcPreDefinedItem,
+ IfcPreDefinedProperties,
+ IfcPreDefinedPropertySet,
+ IfcPreDefinedTextFont,
+ IfcPresentationItem,
+ IfcPresentationLayerAssignment,
+ IfcPresentationLayerWithStyle,
+ IfcPresentationStyle,
+ IfcPresentationStyleAssignment,
+ IfcProcedure,
+ IfcProcedureType,
+ IfcProcess,
+ IfcProduct,
+ IfcProductDefinitionShape,
+ IfcProductRepresentation,
+ IfcProfileDef,
+ IfcProfileProperties,
+ IfcProject,
+ IfcProjectedCRS,
+ IfcProjectionElement,
+ IfcProjectLibrary,
+ IfcProjectOrder,
+ IfcProperty,
+ IfcPropertyAbstraction,
+ IfcPropertyBoundedValue,
+ IfcPropertyDefinition,
+ IfcPropertyDependencyRelationship,
+ IfcPropertyEnumeratedValue,
+ IfcPropertyEnumeration,
+ IfcPropertyListValue,
+ IfcPropertyReferenceValue,
+ IfcPropertySet,
+ IfcPropertySetDefinition,
+ IfcPropertySetTemplate,
+ IfcPropertySingleValue,
+ IfcPropertyTableValue,
+ IfcPropertyTemplate,
+ IfcPropertyTemplateDefinition,
+ IfcProtectiveDevice,
+ IfcProtectiveDeviceTrippingUnit,
+ IfcProtectiveDeviceTrippingUnitType,
+ IfcProtectiveDeviceType,
+ IfcProxy,
+ IfcPump,
+ IfcPumpType,
+ IfcQuantityArea,
+ IfcQuantityCount,
+ IfcQuantityLength,
+ IfcQuantitySet,
+ IfcQuantityTime,
+ IfcQuantityVolume,
+ IfcQuantityWeight,
+ IfcRailing,
+ IfcRailingType,
+ IfcRamp,
+ IfcRampFlight,
+ IfcRampFlightType,
+ IfcRampType,
+ IfcRationalBSplineCurveWithKnots,
+ IfcRationalBSplineSurfaceWithKnots,
+ IfcRectangleHollowProfileDef,
+ IfcRectangleProfileDef,
+ IfcRectangularPyramid,
+ IfcRectangularTrimmedSurface,
+ IfcRecurrencePattern,
+ IfcReference,
+ IfcReferent,
+ IfcRegularTimeSeries,
+ IfcReinforcementBarProperties,
+ IfcReinforcementDefinitionProperties,
+ IfcReinforcingBar,
+ IfcReinforcingBarType,
+ IfcReinforcingElement,
+ IfcReinforcingElementType,
+ IfcReinforcingMesh,
+ IfcReinforcingMeshType,
+ IfcRelAggregates,
+ IfcRelAssigns,
+ IfcRelAssignsToActor,
+ IfcRelAssignsToControl,
+ IfcRelAssignsToGroup,
+ IfcRelAssignsToGroupByFactor,
+ IfcRelAssignsToProcess,
+ IfcRelAssignsToProduct,
+ IfcRelAssignsToResource,
+ IfcRelAssociates,
+ IfcRelAssociatesApproval,
+ IfcRelAssociatesClassification,
+ IfcRelAssociatesConstraint,
+ IfcRelAssociatesDocument,
+ IfcRelAssociatesLibrary,
+ IfcRelAssociatesMaterial,
+ IfcRelationship,
+ IfcRelConnects,
+ IfcRelConnectsElements,
+ IfcRelConnectsPathElements,
+ IfcRelConnectsPorts,
+ IfcRelConnectsPortToElement,
+ IfcRelConnectsStructuralActivity,
+ IfcRelConnectsStructuralMember,
+ IfcRelConnectsWithEccentricity,
+ IfcRelConnectsWithRealizingElements,
+ IfcRelContainedInSpatialStructure,
+ IfcRelCoversBldgElements,
+ IfcRelCoversSpaces,
+ IfcRelDeclares,
+ IfcRelDecomposes,
+ IfcRelDefines,
+ IfcRelDefinesByObject,
+ IfcRelDefinesByProperties,
+ IfcRelDefinesByTemplate,
+ IfcRelDefinesByType,
+ IfcRelFillsElement,
+ IfcRelFlowControlElements,
+ IfcRelInterferesElements,
+ IfcRelNests,
+ IfcRelPositions,
+ IfcRelProjectsElement,
+ IfcRelReferencedInSpatialStructure,
+ IfcRelSequence,
+ IfcRelServicesBuildings,
+ IfcRelSpaceBoundary,
+ IfcRelSpaceBoundary1stLevel,
+ IfcRelSpaceBoundary2ndLevel,
+ IfcRelVoidsElement,
+ IfcReparametrisedCompositeCurveSegment,
+ IfcRepresentation,
+ IfcRepresentationContext,
+ IfcRepresentationItem,
+ IfcRepresentationMap,
+ IfcResource,
+ IfcResourceApprovalRelationship,
+ IfcResourceConstraintRelationship,
+ IfcResourceLevelRelationship,
+ IfcResourceTime,
+ IfcRevolvedAreaSolid,
+ IfcRevolvedAreaSolidTapered,
+ IfcRightCircularCone,
+ IfcRightCircularCylinder,
+ IfcRoof,
+ IfcRoofType,
+ IfcRoot,
+ IfcRoundedRectangleProfileDef,
+ IfcSanitaryTerminal,
+ IfcSanitaryTerminalType,
+ IfcSchedulingTime,
+ IfcSeamCurve,
+ IfcSectionedSolid,
+ IfcSectionedSolidHorizontal,
+ IfcSectionedSpine,
+ IfcSectionProperties,
+ IfcSectionReinforcementProperties,
+ IfcSensor,
+ IfcSensorType,
+ IfcShadingDevice,
+ IfcShadingDeviceType,
+ IfcShapeAspect,
+ IfcShapeModel,
+ IfcShapeRepresentation,
+ IfcShellBasedSurfaceModel,
+ IfcSimpleProperty,
+ IfcSimplePropertyTemplate,
+ IfcSite,
+ IfcSIUnit,
+ IfcSlab,
+ IfcSlabElementedCase,
+ IfcSlabStandardCase,
+ IfcSlabType,
+ IfcSlippageConnectionCondition,
+ IfcSolarDevice,
+ IfcSolarDeviceType,
+ IfcSolidModel,
+ IfcSpace,
+ IfcSpaceHeater,
+ IfcSpaceHeaterType,
+ IfcSpaceType,
+ IfcSpatialElement,
+ IfcSpatialElementType,
+ IfcSpatialStructureElement,
+ IfcSpatialStructureElementType,
+ IfcSpatialZone,
+ IfcSpatialZoneType,
+ IfcSphere,
+ IfcSphericalSurface,
+ IfcStackTerminal,
+ IfcStackTerminalType,
+ IfcStair,
+ IfcStairFlight,
+ IfcStairFlightType,
+ IfcStairType,
+ IfcStructuralAction,
+ IfcStructuralActivity,
+ IfcStructuralAnalysisModel,
+ IfcStructuralConnection,
+ IfcStructuralConnectionCondition,
+ IfcStructuralCurveAction,
+ IfcStructuralCurveConnection,
+ IfcStructuralCurveMember,
+ IfcStructuralCurveMemberVarying,
+ IfcStructuralCurveReaction,
+ IfcStructuralItem,
+ IfcStructuralLinearAction,
+ IfcStructuralLoad,
+ IfcStructuralLoadCase,
+ IfcStructuralLoadConfiguration,
+ IfcStructuralLoadGroup,
+ IfcStructuralLoadLinearForce,
+ IfcStructuralLoadOrResult,
+ IfcStructuralLoadPlanarForce,
+ IfcStructuralLoadSingleDisplacement,
+ IfcStructuralLoadSingleDisplacementDistortion,
+ IfcStructuralLoadSingleForce,
+ IfcStructuralLoadSingleForceWarping,
+ IfcStructuralLoadStatic,
+ IfcStructuralLoadTemperature,
+ IfcStructuralMember,
+ IfcStructuralPlanarAction,
+ IfcStructuralPointAction,
+ IfcStructuralPointConnection,
+ IfcStructuralPointReaction,
+ IfcStructuralReaction,
+ IfcStructuralResultGroup,
+ IfcStructuralSurfaceAction,
+ IfcStructuralSurfaceConnection,
+ IfcStructuralSurfaceMember,
+ IfcStructuralSurfaceMemberVarying,
+ IfcStructuralSurfaceReaction,
+ IfcStyledItem,
+ IfcStyledRepresentation,
+ IfcStyleModel,
+ IfcSubContractResource,
+ IfcSubContractResourceType,
+ IfcSubedge,
+ IfcSurface,
+ IfcSurfaceCurve,
+ IfcSurfaceCurveSweptAreaSolid,
+ IfcSurfaceFeature,
+ IfcSurfaceOfLinearExtrusion,
+ IfcSurfaceOfRevolution,
+ IfcSurfaceReinforcementArea,
+ IfcSurfaceStyle,
+ IfcSurfaceStyleLighting,
+ IfcSurfaceStyleRefraction,
+ IfcSurfaceStyleRendering,
+ IfcSurfaceStyleShading,
+ IfcSurfaceStyleWithTextures,
+ IfcSurfaceTexture,
+ IfcSweptAreaSolid,
+ IfcSweptDiskSolid,
+ IfcSweptDiskSolidPolygonal,
+ IfcSweptSurface,
+ IfcSwitchingDevice,
+ IfcSwitchingDeviceType,
+ IfcSystem,
+ IfcSystemFurnitureElement,
+ IfcSystemFurnitureElementType,
+ IfcTable,
+ IfcTableColumn,
+ IfcTableRow,
+ IfcTank,
+ IfcTankType,
+ IfcTask,
+ IfcTaskTime,
+ IfcTaskTimeRecurring,
+ IfcTaskType,
+ IfcTelecomAddress,
+ IfcTendon,
+ IfcTendonAnchor,
+ IfcTendonAnchorType,
+ IfcTendonConduit,
+ IfcTendonConduitType,
+ IfcTendonType,
+ IfcTessellatedFaceSet,
+ IfcTessellatedItem,
+ IfcTextLiteral,
+ IfcTextLiteralWithExtent,
+ IfcTextStyle,
+ IfcTextStyleFontModel,
+ IfcTextStyleForDefinedFont,
+ IfcTextStyleTextModel,
+ IfcTextureCoordinate,
+ IfcTextureCoordinateGenerator,
+ IfcTextureMap,
+ IfcTextureVertex,
+ IfcTextureVertexList,
+ IfcTimePeriod,
+ IfcTimeSeries,
+ IfcTimeSeriesValue,
+ IfcTopologicalRepresentationItem,
+ IfcTopologyRepresentation,
+ IfcToroidalSurface,
+ IfcTransformer,
+ IfcTransformerType,
+ IfcTransitionCurveSegment2D,
+ IfcTransportElement,
+ IfcTransportElementType,
+ IfcTrapeziumProfileDef,
+ IfcTriangulatedFaceSet,
+ IfcTriangulatedIrregularNetwork,
+ IfcTrimmedCurve,
+ IfcTShapeProfileDef,
+ IfcTubeBundle,
+ IfcTubeBundleType,
+ IfcTypeObject,
+ IfcTypeProcess,
+ IfcTypeProduct,
+ IfcTypeResource,
+ IfcUnitaryControlElement,
+ IfcUnitaryControlElementType,
+ IfcUnitaryEquipment,
+ IfcUnitaryEquipmentType,
+ IfcUnitAssignment,
+ IfcUShapeProfileDef,
+ IfcValve,
+ IfcValveType,
+ IfcVector,
+ IfcVertex,
+ IfcVertexLoop,
+ IfcVertexPoint,
+ IfcVibrationDamper,
+ IfcVibrationDamperType,
+ IfcVibrationIsolator,
+ IfcVibrationIsolatorType,
+ IfcVirtualElement,
+ IfcVirtualGridIntersection,
+ IfcVoidingFeature,
+ IfcWall,
+ IfcWallElementedCase,
+ IfcWallStandardCase,
+ IfcWallType,
+ IfcWasteTerminal,
+ IfcWasteTerminalType,
+ IfcWindow,
+ IfcWindowLiningProperties,
+ IfcWindowPanelProperties,
+ IfcWindowStandardCase,
+ IfcWindowStyle,
+ IfcWindowType,
+ IfcWorkCalendar,
+ IfcWorkControl,
+ IfcWorkPlan,
+ IfcWorkSchedule,
+ IfcWorkTime,
+ IfcZone,
+ IfcZShapeProfileDef,
+ UnKnown
+ }
+}
diff --git a/Source/Revit.IFC.Common/Enums/IFC4x3EntityType.cs b/Source/Revit.IFC.Common/Enums/IFC4x3EntityType.cs
new file mode 100644
index 00000000..db903af7
--- /dev/null
+++ b/Source/Revit.IFC.Common/Enums/IFC4x3EntityType.cs
@@ -0,0 +1,910 @@
+//
+// BIM IFC export alternate UI library: this library works with Autodesk(R) Revit(R) to provide an alternate user interface for the export of IFC files from Revit.
+// Copyright (C) 2013 Autodesk, Inc.
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library 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 GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace Revit.IFC.Common.Enums.IFC4x3
+{
+ ///
+ /// IFC4x3 entity types (updated to IFC4_RC3).
+ ///
+ public enum IFCEntityType
+ {
+ IfcActionRequest,
+ IfcActor,
+ IfcActorRole,
+ IfcActuator,
+ IfcActuatorType,
+ IfcAddress,
+ IfcAdvancedBrep,
+ IfcAdvancedBrepWithVoids,
+ IfcAdvancedFace,
+ IfcAirTerminal,
+ IfcAirTerminalBox,
+ IfcAirTerminalBoxType,
+ IfcAirTerminalType,
+ IfcAirToAirHeatRecovery,
+ IfcAirToAirHeatRecoveryType,
+ IfcAlarm,
+ IfcAlarmType,
+ IfcAlignment,
+ IfcAlignmentCant,
+ IfcAlignmentCantSegment,
+ IfcAlignmentHorizontal,
+ IfcAlignmentHorizontalSegment,
+ IfcAlignmentParameterSegment,
+ IfcAlignmentSegment,
+ IfcAlignmentVertical,
+ IfcAlignmentVerticalSegment,
+ IfcAnnotation,
+ IfcAnnotationFillArea,
+ IfcApplication,
+ IfcAppliedValue,
+ IfcApproval,
+ IfcApprovalRelationship,
+ IfcArbitraryClosedProfileDef,
+ IfcArbitraryOpenProfileDef,
+ IfcArbitraryProfileDefWithVoids,
+ IfcAsset,
+ IfcAsymmetricIShapeProfileDef,
+ IfcAudioVisualAppliance,
+ IfcAudioVisualApplianceType,
+ IfcAxis1Placement,
+ IfcAxis2Placement2D,
+ IfcAxis2Placement3D,
+ IfcAxis2PlacementLinear,
+ IfcBeam,
+ IfcBeamStandardCase,
+ IfcBeamType,
+ IfcBearing,
+ IfcBearingType,
+ IfcBlobTexture,
+ IfcBlock,
+ IfcBlossCurve,
+ IfcBoiler,
+ IfcBoilerType,
+ IfcBooleanClippingResult,
+ IfcBooleanResult,
+ IfcBorehole,
+ IfcBoundaryCondition,
+ IfcBoundaryCurve,
+ IfcBoundaryEdgeCondition,
+ IfcBoundaryFaceCondition,
+ IfcBoundaryNodeCondition,
+ IfcBoundaryNodeConditionWarping,
+ IfcBoundedCurve,
+ IfcBoundedSurface,
+ IfcBoundingBox,
+ IfcBoxedHalfSpace,
+ IfcBridge,
+ IfcBSplineCurve,
+ IfcBSplineCurveWithKnots,
+ IfcBSplineSurface,
+ IfcBSplineSurfaceWithKnots,
+ IfcBuilding,
+ IfcBuildingElementPart,
+ IfcBuildingElementPartType,
+ IfcBuildingElementProxy,
+ IfcBuildingElementProxyType,
+ IfcBuildingStorey,
+ IfcBuildingSystem,
+ IfcBuiltElement,
+ IfcBuiltElementType,
+ IfcBuiltSystem,
+ IfcBurner,
+ IfcBurnerType,
+ IfcCableCarrierFitting,
+ IfcCableCarrierFittingType,
+ IfcCableCarrierSegment,
+ IfcCableCarrierSegmentType,
+ IfcCableFitting,
+ IfcCableFittingType,
+ IfcCableSegment,
+ IfcCableSegmentType,
+ IfcCaissonFoundation,
+ IfcCaissonFoundationType,
+ IfcCartesianPoint,
+ IfcCartesianPointList,
+ IfcCartesianPointList2D,
+ IfcCartesianPointList3D,
+ IfcCartesianTransformationOperator,
+ IfcCartesianTransformationOperator2D,
+ IfcCartesianTransformationOperator2DnonUniform,
+ IfcCartesianTransformationOperator3D,
+ IfcCartesianTransformationOperator3DnonUniform,
+ IfcCenterLineProfileDef,
+ IfcChiller,
+ IfcChillerType,
+ IfcChimney,
+ IfcChimneyType,
+ IfcCircle,
+ IfcCircleHollowProfileDef,
+ IfcCircleProfileDef,
+ IfcCivilElement,
+ IfcCivilElementType,
+ IfcClassification,
+ IfcClassificationReference,
+ IfcClosedShell,
+ IfcClothoid,
+ IfcCoil,
+ IfcCoilType,
+ IfcColourRgb,
+ IfcColourRgbList,
+ IfcColourSpecification,
+ IfcColumn,
+ IfcColumnStandardCase,
+ IfcColumnType,
+ IfcCommunicationsAppliance,
+ IfcCommunicationsApplianceType,
+ IfcComplexProperty,
+ IfcComplexPropertyTemplate,
+ IfcCompositeCurve,
+ IfcCompositeCurveOnSurface,
+ IfcCompositeCurveSegment,
+ IfcCompositeProfileDef,
+ IfcCompressor,
+ IfcCompressorType,
+ IfcCondenser,
+ IfcCondenserType,
+ IfcConic,
+ IfcConnectedFaceSet,
+ IfcConnectionCurveGeometry,
+ IfcConnectionGeometry,
+ IfcConnectionPointEccentricity,
+ IfcConnectionPointGeometry,
+ IfcConnectionSurfaceGeometry,
+ IfcConnectionVolumeGeometry,
+ IfcConstraint,
+ IfcConstructionEquipmentResource,
+ IfcConstructionEquipmentResourceType,
+ IfcConstructionMaterialResource,
+ IfcConstructionMaterialResourceType,
+ IfcConstructionProductResource,
+ IfcConstructionProductResourceType,
+ IfcConstructionResource,
+ IfcConstructionResourceType,
+ IfcContext,
+ IfcContextDependentUnit,
+ IfcControl,
+ IfcController,
+ IfcControllerType,
+ IfcConversionBasedUnit,
+ IfcConversionBasedUnitWithOffset,
+ IfcConveyorSegment,
+ IfcConveyorSegmentType,
+ IfcCooledBeam,
+ IfcCooledBeamType,
+ IfcCoolingTower,
+ IfcCoolingTowerType,
+ IfcCoordinateOperation,
+ IfcCoordinateReferenceSystem,
+ IfcCosine,
+ IfcCostItem,
+ IfcCostSchedule,
+ IfcCostValue,
+ IfcCourse,
+ IfcCourseType,
+ IfcCovering,
+ IfcCoveringType,
+ IfcCrewResource,
+ IfcCrewResourceType,
+ IfcCsgPrimitive3D,
+ IfcCsgSolid,
+ IfcCShapeProfileDef,
+ IfcCurrencyRelationship,
+ IfcCurtainWall,
+ IfcCurtainWallType,
+ IfcCurve,
+ IfcCurveBoundedPlane,
+ IfcCurveBoundedSurface,
+ IfcCurveSegment,
+ IfcCurveStyle,
+ IfcCurveStyleFont,
+ IfcCurveStyleFontAndScaling,
+ IfcCurveStyleFontPattern,
+ IfcCylindricalSurface,
+ IfcDamper,
+ IfcDamperType,
+ IfcDeepFoundation,
+ IfcDeepFoundationType,
+ IfcDerivedProfileDef,
+ IfcDerivedUnit,
+ IfcDerivedUnitElement,
+ IfcDimensionalExponents,
+ IfcDirection,
+ IfcDirectrixCurveSweptAreaSolid,
+ IfcDirectrixDistanceSweptAreaSolid,
+ IfcDiscreteAccessory,
+ IfcDiscreteAccessoryType,
+ IfcDistributionBoard,
+ IfcDistributionBoardType,
+ IfcDistributionChamberElement,
+ IfcDistributionChamberElementType,
+ IfcDistributionCircuit,
+ IfcDistributionControlElement,
+ IfcDistributionControlElementType,
+ IfcDistributionElement,
+ IfcDistributionElementType,
+ IfcDistributionFlowElement,
+ IfcDistributionFlowElementType,
+ IfcDistributionPort,
+ IfcDistributionSystem,
+ IfcDocumentInformation,
+ IfcDocumentInformationRelationship,
+ IfcDocumentReference,
+ IfcDoor,
+ IfcDoorLiningProperties,
+ IfcDoorPanelProperties,
+ IfcDoorStandardCase,
+ IfcDoorStyle,
+ IfcDoorType,
+ IfcDraughtingPreDefinedColour,
+ IfcDraughtingPreDefinedCurveFont,
+ IfcDuctFitting,
+ IfcDuctFittingType,
+ IfcDuctSegment,
+ IfcDuctSegmentType,
+ IfcDuctSilencer,
+ IfcDuctSilencerType,
+ IfcEarthworksCut,
+ IfcEarthworksElement,
+ IfcEarthworksFill,
+ IfcEdge,
+ IfcEdgeCurve,
+ IfcEdgeLoop,
+ IfcElectricAppliance,
+ IfcElectricApplianceType,
+ IfcElectricDistributionBoard,
+ IfcElectricDistributionBoardType,
+ IfcElectricFlowStorageDevice,
+ IfcElectricFlowStorageDeviceType,
+ IfcElectricFlowTreatmentDevice,
+ IfcElectricFlowTreatmentDeviceType,
+ IfcElectricGenerator,
+ IfcElectricGeneratorType,
+ IfcElectricMotor,
+ IfcElectricMotorType,
+ IfcElectricTimeControl,
+ IfcElectricTimeControlType,
+ IfcElement,
+ IfcElementarySurface,
+ IfcElementAssembly,
+ IfcElementAssemblyType,
+ IfcElementComponent,
+ IfcElementComponentType,
+ IfcElementQuantity,
+ IfcElementType,
+ IfcEllipse,
+ IfcEllipseProfileDef,
+ IfcEnergyConversionDevice,
+ IfcEnergyConversionDeviceType,
+ IfcEngine,
+ IfcEngineType,
+ IfcEvaporativeCooler,
+ IfcEvaporativeCoolerType,
+ IfcEvaporator,
+ IfcEvaporatorType,
+ IfcEvent,
+ IfcEventTime,
+ IfcEventType,
+ IfcExtendedProperties,
+ IfcExternalInformation,
+ IfcExternallyDefinedHatchStyle,
+ IfcExternallyDefinedSurfaceStyle,
+ IfcExternallyDefinedTextFont,
+ IfcExternalReference,
+ IfcExternalReferenceRelationship,
+ IfcExternalSpatialElement,
+ IfcExternalSpatialStructureElement,
+ IfcExtrudedAreaSolid,
+ IfcExtrudedAreaSolidTapered,
+ IfcFace,
+ IfcFaceBasedSurfaceModel,
+ IfcFaceBound,
+ IfcFaceOuterBound,
+ IfcFaceSurface,
+ IfcFacetedBrep,
+ IfcFacetedBrepWithVoids,
+ IfcFacility,
+ IfcFacilityPart,
+ IfcFailureConnectionCondition,
+ IfcFan,
+ IfcFanType,
+ IfcFastener,
+ IfcFastenerType,
+ IfcFeatureElement,
+ IfcFeatureElementAddition,
+ IfcFeatureElementSubtraction,
+ IfcFillAreaStyle,
+ IfcFillAreaStyleHatching,
+ IfcFillAreaStyleTiles,
+ IfcFilter,
+ IfcFilterType,
+ IfcFireSuppressionTerminal,
+ IfcFireSuppressionTerminalType,
+ IfcFixedReferenceSweptAreaSolid,
+ IfcFlowController,
+ IfcFlowControllerType,
+ IfcFlowFitting,
+ IfcFlowFittingType,
+ IfcFlowInstrument,
+ IfcFlowInstrumentType,
+ IfcFlowMeter,
+ IfcFlowMeterType,
+ IfcFlowMovingDevice,
+ IfcFlowMovingDeviceType,
+ IfcFlowSegment,
+ IfcFlowSegmentType,
+ IfcFlowStorageDevice,
+ IfcFlowStorageDeviceType,
+ IfcFlowTerminal,
+ IfcFlowTerminalType,
+ IfcFlowTreatmentDevice,
+ IfcFlowTreatmentDeviceType,
+ IfcFooting,
+ IfcFootingType,
+ IfcFurnishingElement,
+ IfcFurnishingElementType,
+ IfcFurniture,
+ IfcFurnitureType,
+ IfcGeographicElement,
+ IfcGeographicElementType,
+ IfcGeometricCurveSet,
+ IfcGeometricRepresentationContext,
+ IfcGeometricRepresentationItem,
+ IfcGeometricRepresentationSubContext,
+ IfcGeometricSet,
+ IfcGeomodel,
+ IfcGeoslice,
+ IfcGeotechnicalAssembly,
+ IfcGeotechnicalElement,
+ IfcGeotechnicalStratum,
+ IfcGradientCurve,
+ IfcGrid,
+ IfcGridAxis,
+ IfcGridPlacement,
+ IfcGroup,
+ IfcHalfSpaceSolid,
+ IfcHeatExchanger,
+ IfcHeatExchangerType,
+ IfcHelmertCurve,
+ IfcHumidifier,
+ IfcHumidifierType,
+ IfcImageTexture,
+ IfcImpactProtectionDevice,
+ IfcImpactProtectionDeviceType,
+ IfcInclinedReferenceSweptAreaSolid,
+ IfcIndexedColourMap,
+ IfcIndexedPolyCurve,
+ IfcIndexedPolygonalFace,
+ IfcIndexedPolygonalFaceWithVoids,
+ IfcIndexedTextureMap,
+ IfcIndexedTriangleTextureMap,
+ IfcInterceptor,
+ IfcInterceptorType,
+ IfcIntersectionCurve,
+ IfcInventory,
+ IfcIrregularTimeSeries,
+ IfcIrregularTimeSeriesValue,
+ IfcIShapeProfileDef,
+ IfcJunctionBox,
+ IfcJunctionBoxType,
+ IfcKerb,
+ IfcKerbType,
+ IfcLaborResource,
+ IfcLaborResourceType,
+ IfcLagTime,
+ IfcLamp,
+ IfcLampType,
+ IfcLibraryInformation,
+ IfcLibraryReference,
+ IfcLightDistributionData,
+ IfcLightFixture,
+ IfcLightFixtureType,
+ IfcLightIntensityDistribution,
+ IfcLightSource,
+ IfcLightSourceAmbient,
+ IfcLightSourceDirectional,
+ IfcLightSourceGoniometric,
+ IfcLightSourcePositional,
+ IfcLightSourceSpot,
+ IfcLine,
+ IfcLinearElement,
+ IfcLinearPlacement,
+ IfcLinearPositioningElement,
+ IfcLiquidTerminal,
+ IfcLiquidTerminalType,
+ IfcLocalPlacement,
+ IfcLoop,
+ IfcLShapeProfileDef,
+ IfcManifoldSolidBrep,
+ IfcMapConversion,
+ IfcMappedItem,
+ IfcMarineFacility,
+ IfcMaterial,
+ IfcMaterialClassificationRelationship,
+ IfcMaterialConstituent,
+ IfcMaterialConstituentSet,
+ IfcMaterialDefinition,
+ IfcMaterialDefinitionRepresentation,
+ IfcMaterialLayer,
+ IfcMaterialLayerSet,
+ IfcMaterialLayerSetUsage,
+ IfcMaterialLayerWithOffsets,
+ IfcMaterialList,
+ IfcMaterialProfile,
+ IfcMaterialProfileSet,
+ IfcMaterialProfileSetUsage,
+ IfcMaterialProfileSetUsageTapering,
+ IfcMaterialProfileWithOffsets,
+ IfcMaterialProperties,
+ IfcMaterialRelationship,
+ IfcMaterialUsageDefinition,
+ IfcMeasureWithUnit,
+ IfcMechanicalFastener,
+ IfcMechanicalFastenerType,
+ IfcMedicalDevice,
+ IfcMedicalDeviceType,
+ IfcMember,
+ IfcMemberStandardCase,
+ IfcMemberType,
+ IfcMetric,
+ IfcMirroredProfileDef,
+ IfcMobileTelecommunicationsAppliance,
+ IfcMobileTelecommunicationsApplianceType,
+ IfcMonetaryUnit,
+ IfcMooringDevice,
+ IfcMooringDeviceType,
+ IfcMotorConnection,
+ IfcMotorConnectionType,
+ IfcNamedUnit,
+ IfcNavigationElement,
+ IfcNavigationElementType,
+ IfcObject,
+ IfcObjectDefinition,
+ IfcObjective,
+ IfcObjectPlacement,
+ IfcOccupant,
+ IfcOffsetCurve,
+ IfcOffsetCurve2D,
+ IfcOffsetCurve3D,
+ IfcOffsetCurveByDistances,
+ IfcOpenCrossProfileDef,
+ IfcOpeningElement,
+ IfcOpeningStandardCase,
+ IfcOpenShell,
+ IfcOrganization,
+ IfcOrganizationRelationship,
+ IfcOrientedEdge,
+ IfcOuterBoundaryCurve,
+ IfcOutlet,
+ IfcOutletType,
+ IfcOwnerHistory,
+ IfcParameterizedProfileDef,
+ IfcPath,
+ IfcPavement,
+ IfcPavementType,
+ IfcPcurve,
+ IfcPerformanceHistory,
+ IfcPermeableCoveringProperties,
+ IfcPermit,
+ IfcPerson,
+ IfcPersonAndOrganization,
+ IfcPhysicalComplexQuantity,
+ IfcPhysicalQuantity,
+ IfcPhysicalSimpleQuantity,
+ IfcPile,
+ IfcPileType,
+ IfcPipeFitting,
+ IfcPipeFittingType,
+ IfcPipeSegment,
+ IfcPipeSegmentType,
+ IfcPixelTexture,
+ IfcPlacement,
+ IfcPlanarBox,
+ IfcPlanarExtent,
+ IfcPlane,
+ IfcPlant,
+ IfcPlate,
+ IfcPlateStandardCase,
+ IfcPlateType,
+ IfcPoint,
+ IfcPointByDistanceExpression,
+ IfcPointOnCurve,
+ IfcPointOnSurface,
+ IfcPolygonalBoundedHalfSpace,
+ IfcPolygonalFaceSet,
+ IfcPolyline,
+ IfcPolyLoop,
+ IfcPolynomialCurve,
+ IfcPort,
+ IfcPositioningElement,
+ IfcPostalAddress,
+ IfcPreDefinedColour,
+ IfcPreDefinedCurveFont,
+ IfcPreDefinedItem,
+ IfcPreDefinedProperties,
+ IfcPreDefinedPropertySet,
+ IfcPreDefinedTextFont,
+ IfcPresentationItem,
+ IfcPresentationLayerAssignment,
+ IfcPresentationLayerWithStyle,
+ IfcPresentationStyle,
+ IfcPresentationStyleAssignment,
+ IfcProcedure,
+ IfcProcedureType,
+ IfcProcess,
+ IfcProduct,
+ IfcProductDefinitionShape,
+ IfcProductRepresentation,
+ IfcProfileDef,
+ IfcProfileProperties,
+ IfcProject,
+ IfcProjectedCRS,
+ IfcProjectionElement,
+ IfcProjectLibrary,
+ IfcProjectOrder,
+ IfcProperty,
+ IfcPropertyAbstraction,
+ IfcPropertyBoundedValue,
+ IfcPropertyDefinition,
+ IfcPropertyDependencyRelationship,
+ IfcPropertyEnumeratedValue,
+ IfcPropertyEnumeration,
+ IfcPropertyListValue,
+ IfcPropertyReferenceValue,
+ IfcPropertySet,
+ IfcPropertySetDefinition,
+ IfcPropertySetTemplate,
+ IfcPropertySingleValue,
+ IfcPropertyTableValue,
+ IfcPropertyTemplate,
+ IfcPropertyTemplateDefinition,
+ IfcProtectiveDevice,
+ IfcProtectiveDeviceTrippingUnit,
+ IfcProtectiveDeviceTrippingUnitType,
+ IfcProtectiveDeviceType,
+ IfcProxy,
+ IfcPump,
+ IfcPumpType,
+ IfcQuantityArea,
+ IfcQuantityCount,
+ IfcQuantityLength,
+ IfcQuantitySet,
+ IfcQuantityTime,
+ IfcQuantityVolume,
+ IfcQuantityWeight,
+ IfcRail,
+ IfcRailing,
+ IfcRailingType,
+ IfcRailType,
+ IfcRailway,
+ IfcRamp,
+ IfcRampFlight,
+ IfcRampFlightType,
+ IfcRampType,
+ IfcRationalBSplineCurveWithKnots,
+ IfcRationalBSplineSurfaceWithKnots,
+ IfcRectangleHollowProfileDef,
+ IfcRectangleProfileDef,
+ IfcRectangularPyramid,
+ IfcRectangularTrimmedSurface,
+ IfcRecurrencePattern,
+ IfcReference,
+ IfcReferent,
+ IfcRegularTimeSeries,
+ IfcReinforcedSoil,
+ IfcReinforcementBarProperties,
+ IfcReinforcementDefinitionProperties,
+ IfcReinforcingBar,
+ IfcReinforcingBarType,
+ IfcReinforcingElement,
+ IfcReinforcingElementType,
+ IfcReinforcingMesh,
+ IfcReinforcingMeshType,
+ IfcRelAggregates,
+ IfcRelAssigns,
+ IfcRelAssignsToActor,
+ IfcRelAssignsToControl,
+ IfcRelAssignsToGroup,
+ IfcRelAssignsToGroupByFactor,
+ IfcRelAssignsToProcess,
+ IfcRelAssignsToProduct,
+ IfcRelAssignsToResource,
+ IfcRelAssociates,
+ IfcRelAssociatesApproval,
+ IfcRelAssociatesClassification,
+ IfcRelAssociatesConstraint,
+ IfcRelAssociatesDocument,
+ IfcRelAssociatesLibrary,
+ IfcRelAssociatesMaterial,
+ IfcRelAssociatesProfileDef,
+ IfcRelationship,
+ IfcRelConnects,
+ IfcRelConnectsElements,
+ IfcRelConnectsPathElements,
+ IfcRelConnectsPorts,
+ IfcRelConnectsPortToElement,
+ IfcRelConnectsStructuralActivity,
+ IfcRelConnectsStructuralMember,
+ IfcRelConnectsWithEccentricity,
+ IfcRelConnectsWithRealizingElements,
+ IfcRelContainedInSpatialStructure,
+ IfcRelCoversBldgElements,
+ IfcRelCoversSpaces,
+ IfcRelDeclares,
+ IfcRelDecomposes,
+ IfcRelDefines,
+ IfcRelDefinesByObject,
+ IfcRelDefinesByProperties,
+ IfcRelDefinesByTemplate,
+ IfcRelDefinesByType,
+ IfcRelFillsElement,
+ IfcRelFlowControlElements,
+ IfcRelInterferesElements,
+ IfcRelNests,
+ IfcRelPositions,
+ IfcRelProjectsElement,
+ IfcRelReferencedInSpatialStructure,
+ IfcRelSequence,
+ IfcRelServicesBuildings,
+ IfcRelSpaceBoundary,
+ IfcRelSpaceBoundary1stLevel,
+ IfcRelSpaceBoundary2ndLevel,
+ IfcRelVoidsElement,
+ IfcReparametrisedCompositeCurveSegment,
+ IfcRepresentation,
+ IfcRepresentationContext,
+ IfcRepresentationItem,
+ IfcRepresentationMap,
+ IfcResource,
+ IfcResourceApprovalRelationship,
+ IfcResourceConstraintRelationship,
+ IfcResourceLevelRelationship,
+ IfcResourceTime,
+ IfcRevolvedAreaSolid,
+ IfcRevolvedAreaSolidTapered,
+ IfcRightCircularCone,
+ IfcRightCircularCylinder,
+ IfcRoad,
+ IfcRoof,
+ IfcRoofType,
+ IfcRoot,
+ IfcRoundedRectangleProfileDef,
+ IfcSanitaryTerminal,
+ IfcSanitaryTerminalType,
+ IfcSchedulingTime,
+ IfcSeamCurve,
+ IfcSectionedSolid,
+ IfcSectionedSolidHorizontal,
+ IfcSectionedSpine,
+ IfcSectionedSurface,
+ IfcSectionProperties,
+ IfcSectionReinforcementProperties,
+ IfcSegment,
+ IfcSegmentedReferenceCurve,
+ IfcSensor,
+ IfcSensorType,
+ IfcShadingDevice,
+ IfcShadingDeviceType,
+ IfcShapeAspect,
+ IfcShapeModel,
+ IfcShapeRepresentation,
+ IfcShellBasedSurfaceModel,
+ IfcSign,
+ IfcSignal,
+ IfcSignalType,
+ IfcSignType,
+ IfcSimpleProperty,
+ IfcSimplePropertyTemplate,
+ IfcSine,
+ IfcSite,
+ IfcSIUnit,
+ IfcSlab,
+ IfcSlabElementedCase,
+ IfcSlabStandardCase,
+ IfcSlabType,
+ IfcSlippageConnectionCondition,
+ IfcSolarDevice,
+ IfcSolarDeviceType,
+ IfcSolidModel,
+ IfcSolidStratum,
+ IfcSpace,
+ IfcSpaceHeater,
+ IfcSpaceHeaterType,
+ IfcSpaceType,
+ IfcSpatialElement,
+ IfcSpatialElementType,
+ IfcSpatialStructureElement,
+ IfcSpatialStructureElementType,
+ IfcSpatialZone,
+ IfcSpatialZoneType,
+ IfcSphere,
+ IfcSphericalSurface,
+ IfcSpiral,
+ IfcStackTerminal,
+ IfcStackTerminalType,
+ IfcStair,
+ IfcStairFlight,
+ IfcStairFlightType,
+ IfcStairType,
+ IfcStructuralAction,
+ IfcStructuralActivity,
+ IfcStructuralAnalysisModel,
+ IfcStructuralConnection,
+ IfcStructuralConnectionCondition,
+ IfcStructuralCurveAction,
+ IfcStructuralCurveConnection,
+ IfcStructuralCurveMember,
+ IfcStructuralCurveMemberVarying,
+ IfcStructuralCurveReaction,
+ IfcStructuralItem,
+ IfcStructuralLinearAction,
+ IfcStructuralLoad,
+ IfcStructuralLoadCase,
+ IfcStructuralLoadConfiguration,
+ IfcStructuralLoadGroup,
+ IfcStructuralLoadLinearForce,
+ IfcStructuralLoadOrResult,
+ IfcStructuralLoadPlanarForce,
+ IfcStructuralLoadSingleDisplacement,
+ IfcStructuralLoadSingleDisplacementDistortion,
+ IfcStructuralLoadSingleForce,
+ IfcStructuralLoadSingleForceWarping,
+ IfcStructuralLoadStatic,
+ IfcStructuralLoadTemperature,
+ IfcStructuralMember,
+ IfcStructuralPlanarAction,
+ IfcStructuralPointAction,
+ IfcStructuralPointConnection,
+ IfcStructuralPointReaction,
+ IfcStructuralReaction,
+ IfcStructuralResultGroup,
+ IfcStructuralSurfaceAction,
+ IfcStructuralSurfaceConnection,
+ IfcStructuralSurfaceMember,
+ IfcStructuralSurfaceMemberVarying,
+ IfcStructuralSurfaceReaction,
+ IfcStyledItem,
+ IfcStyledRepresentation,
+ IfcStyleModel,
+ IfcSubContractResource,
+ IfcSubContractResourceType,
+ IfcSubedge,
+ IfcSurface,
+ IfcSurfaceCurve,
+ IfcSurfaceCurveSweptAreaSolid,
+ IfcSurfaceFeature,
+ IfcSurfaceOfLinearExtrusion,
+ IfcSurfaceOfRevolution,
+ IfcSurfaceReinforcementArea,
+ IfcSurfaceStyle,
+ IfcSurfaceStyleLighting,
+ IfcSurfaceStyleRefraction,
+ IfcSurfaceStyleRendering,
+ IfcSurfaceStyleShading,
+ IfcSurfaceStyleWithTextures,
+ IfcSurfaceTexture,
+ IfcSweptAreaSolid,
+ IfcSweptDiskSolid,
+ IfcSweptDiskSolidPolygonal,
+ IfcSweptSurface,
+ IfcSwitchingDevice,
+ IfcSwitchingDeviceType,
+ IfcSystem,
+ IfcSystemFurnitureElement,
+ IfcSystemFurnitureElementType,
+ IfcTable,
+ IfcTableColumn,
+ IfcTableRow,
+ IfcTank,
+ IfcTankType,
+ IfcTask,
+ IfcTaskTime,
+ IfcTaskTimeRecurring,
+ IfcTaskType,
+ IfcTelecomAddress,
+ IfcTendon,
+ IfcTendonAnchor,
+ IfcTendonAnchorType,
+ IfcTendonConduit,
+ IfcTendonConduitType,
+ IfcTendonType,
+ IfcTessellatedFaceSet,
+ IfcTessellatedItem,
+ IfcTextLiteral,
+ IfcTextLiteralWithExtent,
+ IfcTextStyle,
+ IfcTextStyleFontModel,
+ IfcTextStyleForDefinedFont,
+ IfcTextStyleTextModel,
+ IfcTextureCoordinate,
+ IfcTextureCoordinateGenerator,
+ IfcTextureMap,
+ IfcTextureVertex,
+ IfcTextureVertexList,
+ IfcTimePeriod,
+ IfcTimeSeries,
+ IfcTimeSeriesValue,
+ IfcTopologicalRepresentationItem,
+ IfcTopologyRepresentation,
+ IfcToroidalSurface,
+ IfcTrackElement,
+ IfcTrackElementType,
+ IfcTransformer,
+ IfcTransformerType,
+ IfcTransportElement,
+ IfcTransportElementType,
+ IfcTrapeziumProfileDef,
+ IfcTriangulatedFaceSet,
+ IfcTriangulatedIrregularNetwork,
+ IfcTrimmedCurve,
+ IfcTShapeProfileDef,
+ IfcTubeBundle,
+ IfcTubeBundleType,
+ IfcTypeObject,
+ IfcTypeProcess,
+ IfcTypeProduct,
+ IfcTypeResource,
+ IfcUnitaryControlElement,
+ IfcUnitaryControlElementType,
+ IfcUnitaryEquipment,
+ IfcUnitaryEquipmentType,
+ IfcUnitAssignment,
+ IfcUShapeProfileDef,
+ IfcValve,
+ IfcValveType,
+ IfcVector,
+ IfcVertex,
+ IfcVertexLoop,
+ IfcVertexPoint,
+ IfcVibrationDamper,
+ IfcVibrationDamperType,
+ IfcVibrationIsolator,
+ IfcVibrationIsolatorType,
+ IfcVienneseBend,
+ IfcVirtualElement,
+ IfcVirtualGridIntersection,
+ IfcVoidingFeature,
+ IfcVoidStratum,
+ IfcWall,
+ IfcWallElementedCase,
+ IfcWallStandardCase,
+ IfcWallType,
+ IfcWasteTerminal,
+ IfcWasteTerminalType,
+ IfcWaterStratum,
+ IfcWindow,
+ IfcWindowLiningProperties,
+ IfcWindowPanelProperties,
+ IfcWindowStandardCase,
+ IfcWindowStyle,
+ IfcWindowType,
+ IfcWorkCalendar,
+ IfcWorkControl,
+ IfcWorkPlan,
+ IfcWorkSchedule,
+ IfcWorkTime,
+ IfcZone,
+ IfcZShapeProfileDef,
+ UnKnown
+ }
+}
diff --git a/Source/Revit.IFC.Common/Enums/IFCEntityType.cs b/Source/Revit.IFC.Common/Enums/IFCEntityType.cs
index 57f009bf..09cd47a5 100644
--- a/Source/Revit.IFC.Common/Enums/IFCEntityType.cs
+++ b/Source/Revit.IFC.Common/Enums/IFCEntityType.cs
@@ -6,14 +6,18 @@
namespace Revit.IFC.Common.Enums
{
///
- /// IFC entity types. Combining IFC2x3 and IFC4 (Add2) entities.
+ /// IFC entity types. Combining IFC2x, IFC4 (Add2) and IFC4x entities.
/// List of Entities for IFC2x is found in IFC2xEntityType.cs
/// List of Entities for IFC4 is found in IFC4EntityType.cs
+ /// List of Entities for IFC4x1 is found in IFC4x1EntityType.cs
+ /// List of Entities for IFC4x2 is found in IFC4x2EntityType.cs
+ /// List of Entities for IFC4x3 (RC_3) is found in IFC4x3EntityType.cs
///
public enum IFCEntityType
{
Ifc2DCompositeCurve,
IfcActionRequest,
+ IfcActionTimeControl,
IfcActor,
IfcActorRole,
IfcActuator,
@@ -22,6 +26,7 @@ public enum IFCEntityType
IfcAdvancedBrep,
IfcAdvancedBrepWithVoids,
IfcAdvancedFace,
+ IfcAirFilter,
IfcAirTerminal,
IfcAirTerminalBox,
IfcAirTerminalBoxType,
@@ -30,6 +35,24 @@ public enum IFCEntityType
IfcAirToAirHeatRecoveryType,
IfcAlarm,
IfcAlarmType,
+ IfcAlignment,
+ IfcAlignment2DHorizontal,
+ IfcAlignment2DHorizontalSegment,
+ IfcAlignment2DSegment,
+ IfcAlignment2DVerSegCircularArc,
+ IfcAlignment2DVerSegLine,
+ IfcAlignment2DVerSegParabolicArc,
+ IfcAlignment2DVertical,
+ IfcAlignment2DVerticalSegment,
+ IfcAlignmentCant,
+ IfcAlignmentCantSegment,
+ IfcAlignmentCurve,
+ IfcAlignmentHorizontal,
+ IfcAlignmentHorizontalSegment,
+ IfcAlignmentParameterSegment,
+ IfcAlignmentSegment,
+ IfcAlignmentVertical,
+ IfcAlignmentVerticalSegment,
IfcAngularDimension,
IfcAnnotation,
IfcAnnotationCurveOccurrence,
@@ -47,9 +70,11 @@ public enum IFCEntityType
IfcApprovalActorRelationship,
IfcApprovalPropertyRelationship,
IfcApprovalRelationship,
+ IfcApprovalUsage,
IfcArbitraryClosedProfileDef,
IfcArbitraryOpenProfileDef,
IfcArbitraryProfileDefWithVoids,
+ IfcAssessory,
IfcAsset,
IfcAsymmetricIShapeProfileDef,
IfcAudioVisualAppliance,
@@ -57,16 +82,21 @@ public enum IFCEntityType
IfcAxis1Placement,
IfcAxis2Placement2D,
IfcAxis2Placement3D,
+ IfcAxis2PlacementLinear,
IfcBeam,
IfcBeamStandardCase,
IfcBeamType,
IfcBezierCurve,
+ IfcBearing,
+ IfcBearingType,
IfcBlobTexture,
IfcBlock,
+ IfcBlossCurve,
IfcBoiler,
IfcBoilerType,
IfcBooleanClippingResult,
IfcBooleanResult,
+ IfcBorehole,
IfcBoundaryCondition,
IfcBoundaryCurve,
IfcBoundaryEdgeCondition,
@@ -77,10 +107,13 @@ public enum IFCEntityType
IfcBoundedSurface,
IfcBoundingBox,
IfcBoxedHalfSpace,
+ IfcBridge,
+ IfcBridgePart,
IfcBSplineCurve,
IfcBSplineCurveWithKnots,
IfcBSplineSurface,
IfcBSplineSurfaceWithKnots,
+ IfcBudget,
IfcBuilding,
IfcBuildingElement,
IfcBuildingElementComponent,
@@ -91,6 +124,10 @@ public enum IFCEntityType
IfcBuildingElementType,
IfcBuildingStorey,
IfcBuildingSystem,
+ IfcBuiltElement,
+ IfcBuiltElementType,
+ IfcBuiltIn,
+ IfcBuiltSystem,
IfcBurner,
IfcBurnerType,
IfcCableCarrierFitting,
@@ -101,6 +138,8 @@ public enum IFCEntityType
IfcCableFittingType,
IfcCableSegment,
IfcCableSegmentType,
+ IfcCaissonFoundation,
+ IfcCaissonFoundationType,
IfcCalendarDate,
IfcCartesianPoint,
IfcCartesianPointList,
@@ -113,6 +152,7 @@ public enum IFCEntityType
IfcCartesianTransformationOperator3DnonUniform,
IfcCenterLineProfileDef,
IfcChamferEdgeFeature,
+ IfcChangeOrder,
IfcChiller,
IfcChillerType,
IfcChimney,
@@ -120,6 +160,7 @@ public enum IFCEntityType
IfcCircle,
IfcCircleHollowProfileDef,
IfcCircleProfileDef,
+ IfcCircularArcSegment2D,
IfcCivilElement,
IfcCivilElementType,
IfcClassification,
@@ -129,6 +170,8 @@ public enum IFCEntityType
IfcClassificationNotationFacet,
IfcClassificationReference,
IfcClosedShell,
+ IfcClothoid,
+ IfcCMDocPackage,
IfcCoil,
IfcCoilType,
IfcColourRgb,
@@ -139,6 +182,7 @@ public enum IFCEntityType
IfcColumnType,
IfcCommunicationsAppliance,
IfcCommunicationsApplianceType,
+ IfcCompartment,
IfcComplexProperty,
IfcComplexPropertyTemplate,
IfcCompositeCurve,
@@ -153,6 +197,7 @@ public enum IFCEntityType
IfcConditionCriterion,
IfcConic,
IfcConnectedFaceSet,
+ IfcConnectionConstraint,
IfcConnectionCurveGeometry,
IfcConnectionGeometry,
IfcConnectionPointEccentricity,
@@ -164,6 +209,7 @@ public enum IFCEntityType
IfcConstraintAggregationRelationship,
IfcConstraintClassificationRelationship,
IfcConstraintRelationship,
+ IfcConstraintUsage,
IfcConstructionEquipmentResource,
IfcConstructionEquipmentResourceType,
IfcConstructionMaterialResource,
@@ -175,10 +221,13 @@ public enum IFCEntityType
IfcContext,
IfcContextDependentUnit,
IfcControl,
+ IfcControlElement,
IfcController,
IfcControllerType,
IfcConversionBasedUnit,
IfcConversionBasedUnitWithOffset,
+ IfcConveyorSegment,
+ IfcConveyorSegmentType,
IfcCooledBeam,
IfcCooledBeamType,
IfcCoolingTower,
@@ -186,9 +235,17 @@ public enum IFCEntityType
IfcCoordinatedUniversalTimeOffset,
IfcCoordinateOperation,
IfcCoordinateReferenceSystem,
+ IfcCosine,
+ IfcCost,
IfcCostItem,
+ IfcCostModifier,
+ IfcCostModifierValue,
+ IfcCostQuantity,
IfcCostSchedule,
IfcCostValue,
+ IfcCostValueRelationship,
+ IfcCourse,
+ IfcCourseType,
IfcCovering,
IfcCoveringType,
IfcCraneRailAShapeProfileDef,
@@ -204,6 +261,8 @@ public enum IFCEntityType
IfcCurve,
IfcCurveBoundedPlane,
IfcCurveBoundedSurface,
+ IfcCurveSegment,
+ IfcCurveSegment2D,
IfcCurveStyle,
IfcCurveStyleFont,
IfcCurveStyleFontAndScaling,
@@ -213,6 +272,8 @@ public enum IFCEntityType
IfcDamperType,
IfcDateAndTime,
IfcDefinedSymbol,
+ IfcDeepFoundation,
+ IfcDeepFoundationType,
IfcDerivedProfileDef,
IfcDerivedUnit,
IfcDerivedUnitElement,
@@ -224,8 +285,15 @@ public enum IFCEntityType
IfcDimensionCurveTerminator,
IfcDimensionPair,
IfcDirection,
+ IfcDirectionalLightSource,
+ IfcDirectrixCurveSweptAreaSolid,
+ IfcDirectrixDistanceSweptAreaSolid,
IfcDiscreteAccessory,
IfcDiscreteAccessoryType,
+ IfcDistanceExpression,
+ IfcDiscreteElement,
+ IfcDistributionBoard,
+ IfcDistributionBoardType,
IfcDistributionChamberElement,
IfcDistributionChamberElementType,
IfcDistributionCircuit,
@@ -258,13 +326,18 @@ public enum IFCEntityType
IfcDuctSegmentType,
IfcDuctSilencer,
IfcDuctSilencerType,
+ IfcEarthworksCut,
+ IfcEarthworksElement,
+ IfcEarthworksFill,
IfcEdge,
IfcEdgeCurve,
IfcEdgeFeature,
IfcEdgeLoop,
+ IfcElectricalAppliance,
IfcElectricalBaseProperties,
IfcElectricalCircuit,
IfcElectricalElement,
+ IfcElectricalExtendedProperties,
IfcElectricAppliance,
IfcElectricApplianceType,
IfcElectricDistributionBoard,
@@ -272,6 +345,8 @@ public enum IFCEntityType
IfcElectricDistributionPoint,
IfcElectricFlowStorageDevice,
IfcElectricFlowStorageDeviceType,
+ IfcElectricFlowTreatmentDevice,
+ IfcElectricFlowTreatmentDeviceType,
IfcElectricGenerator,
IfcElectricGeneratorType,
IfcElectricHeaterType,
@@ -324,6 +399,8 @@ public enum IFCEntityType
IfcFaceSurface,
IfcFacetedBrep,
IfcFacetedBrepWithVoids,
+ IfcFacility,
+ IfcFacilityPart,
IfcFailureConnectionCondition,
IfcFan,
IfcFanType,
@@ -360,6 +437,7 @@ public enum IFCEntityType
IfcFlowTreatmentDevice,
IfcFlowTreatmentDeviceType,
IfcFluidFlowProperties,
+ IfcFluidMovingDevice,
IfcFooting,
IfcFootingType,
IfcFuelProperties,
@@ -378,6 +456,12 @@ public enum IFCEntityType
IfcGeometricRepresentationItem,
IfcGeometricRepresentationSubContext,
IfcGeometricSet,
+ IfcGeomodel,
+ IfcGeoslice,
+ IfcGeotechnicalAssembly,
+ IfcGeotechnicalElement,
+ IfcGeotechnicalStratum,
+ IfcGradientCurve,
IfcGrid,
IfcGridAxis,
IfcGridPlacement,
@@ -385,10 +469,16 @@ public enum IFCEntityType
IfcHalfSpaceSolid,
IfcHeatExchanger,
IfcHeatExchangerType,
+ IfcHeatTransferDevice,
+ IfcHelmertCurve,
IfcHumidifier,
IfcHumidifierType,
+ IfcHydronicHeater,
IfcHygroscopicMaterialProperties,
IfcImageTexture,
+ IfcImpactProtectionDevice,
+ IfcImpactProtectionDeviceType,
+ IfcInclinedReferenceSweptAreaSolid,
IfcIndexedColourMap,
IfcIndexedPolyCurve,
IfcIndexedPolygonalFace,
@@ -402,8 +492,11 @@ public enum IFCEntityType
IfcIrregularTimeSeries,
IfcIrregularTimeSeriesValue,
IfcIShapeProfileDef,
+ IfcIshapeProfileDef,
IfcJunctionBox,
IfcJunctionBoxType,
+ IfcKerb,
+ IfcKerbType,
IfcLaborResource,
IfcLaborResourceType,
IfcLagTime,
@@ -422,14 +515,24 @@ public enum IFCEntityType
IfcLightSourcePositional,
IfcLightSourceSpot,
IfcLine,
+ IfcLinearElement,
IfcLinearDimension,
+ IfcLinearPlacement,
+ IfcLinearPositioningElement,
+ IfcLineSegment2D,
+ IfcLiquidTerminal,
+ IfcLiquidTerminalType,
IfcLocalPlacement,
IfcLocalTime,
IfcLoop,
IfcLShapeProfileDef,
+ IfcMaintenanceRecord,
+ IfcMaintenanceWorkOrder,
IfcManifoldSolidBrep,
+ IfcManufacturerInformation,
IfcMapConversion,
IfcMappedItem,
+ IfcMarineFacility,
IfcMaterial,
IfcMaterialClassificationRelationship,
IfcMaterialConstituent,
@@ -461,20 +564,31 @@ public enum IFCEntityType
IfcMemberStandardCase,
IfcMemberType,
IfcMetric,
+ IfcMetricBenchmark,
+ IfcMetricValue,
IfcMirroredProfileDef,
+ IfcMobileTelecommunicationsAppliance,
+ IfcMobileTelecommunicationsApplianceType,
IfcMonetaryUnit,
+ IfcMooringDevice,
+ IfcMooringDeviceType,
IfcMotorConnection,
IfcMotorConnectionType,
IfcMove,
IfcNamedUnit,
+ IfcNavigationElement,
+ IfcNavigationElementType,
IfcObject,
IfcObjectDefinition,
IfcObjective,
IfcObjectPlacement,
IfcOccupant,
+ IfcOffsetCurve,
IfcOffsetCurve2D,
IfcOffsetCurve3D,
+ IfcOffsetCurveByDistances,
IfcOneDirectionRepeatFactor,
+ IfcOpenCrossProfileDef,
IfcOpeningElement,
IfcOpeningStandardCase,
IfcOpenShell,
@@ -482,6 +596,7 @@ public enum IFCEntityType
IfcOrderAction,
IfcOrganization,
IfcOrganizationRelationship,
+ IfcOrientationExpression,
IfcOrientedEdge,
IfcOuterBoundaryCurve,
IfcOutlet,
@@ -489,6 +604,8 @@ public enum IFCEntityType
IfcOwnerHistory,
IfcParameterizedProfileDef,
IfcPath,
+ IfcPavement,
+ IfcPavementType,
IfcPcurve,
IfcPerformanceHistory,
IfcPermeableCoveringProperties,
@@ -509,17 +626,22 @@ public enum IFCEntityType
IfcPlanarBox,
IfcPlanarExtent,
IfcPlane,
+ IfcPlant,
IfcPlate,
IfcPlateStandardCase,
IfcPlateType,
IfcPoint,
+ IfcPointByDistanceExpression,
+ IfcPointLightSource,
IfcPointOnCurve,
IfcPointOnSurface,
IfcPolygonalBoundedHalfSpace,
IfcPolygonalFaceSet,
IfcPolyline,
IfcPolyLoop,
+ IfcPolynomialCurve,
IfcPort,
+ IfcPositioningElement,
IfcPostalAddress,
IfcPreDefinedColour,
IfcPreDefinedCurveFont,
@@ -534,6 +656,7 @@ public enum IFCEntityType
IfcPresentationItem,
IfcPresentationLayerAssignment,
IfcPresentationLayerWithStyle,
+ IfcPresentationLightSource,
IfcPresentationStyle,
IfcPresentationStyleAssignment,
IfcProcedure,
@@ -576,6 +699,7 @@ public enum IFCEntityType
IfcProxy,
IfcPump,
IfcPumpType,
+ IfcPurchaseOrder,
IfcQuantityArea,
IfcQuantityCount,
IfcQuantityLength,
@@ -584,8 +708,11 @@ public enum IFCEntityType
IfcQuantityVolume,
IfcQuantityWeight,
IfcRadiusDimension,
+ IfcRail,
IfcRailing,
IfcRailingType,
+ IfcRailType,
+ IfcRailway,
IfcRamp,
IfcRampFlight,
IfcRampFlightType,
@@ -599,8 +726,15 @@ public enum IFCEntityType
IfcRectangularTrimmedSurface,
IfcRecurrencePattern,
IfcReference,
+ IfcReferenceEdge,
+ IfcReferenceFace,
+ IfcReferenceGeometry,
+ IfcReferencesCostDocument,
IfcReferencesValueDocument,
+ IfcReferenceVertex,
+ IfcReferent,
IfcRegularTimeSeries,
+ IfcReinforcedSoil,
IfcReinforcementBarProperties,
IfcReinforcementDefinitionProperties,
IfcReinforcingBar,
@@ -610,7 +744,9 @@ public enum IFCEntityType
IfcReinforcingMesh,
IfcReinforcingMeshType,
IfcRelAggregates,
+ IfcRelAggregatesResources,
IfcRelAssigns,
+ IfcRelAssignsFMStandard,
IfcRelAssignsTasks,
IfcRelAssignsToActor,
IfcRelAssignsToControl,
@@ -628,6 +764,7 @@ public enum IFCEntityType
IfcRelAssociatesDocument,
IfcRelAssociatesLibrary,
IfcRelAssociatesMaterial,
+ IfcRelAssociatesProfileDef,
IfcRelAssociatesProfileProperties,
IfcRelationship,
IfcRelaxation,
@@ -642,6 +779,7 @@ public enum IFCEntityType
IfcRelConnectsWithEccentricity,
IfcRelConnectsWithRealizingElements,
IfcRelContainedInSpatialStructure,
+ IfcRelCostsObjects,
IfcRelCoversBldgElements,
IfcRelCoversSpaces,
IfcRelDeclares,
@@ -655,9 +793,11 @@ public enum IFCEntityType
IfcRelFlowControlElements,
IfcRelInteractionRequirements,
IfcRelInterferesElements,
+ IfcRelMaintenanceEvent,
IfcRelNests,
IfcRelOccupiesSpaces,
IfcRelOverridesProperties,
+ IfcRelPositions,
IfcRelProjectsElement,
IfcRelReferencedInSpatialStructure,
IfcRelSchedulesCostItems,
@@ -666,6 +806,7 @@ public enum IFCEntityType
IfcRelSpaceBoundary,
IfcRelSpaceBoundary1stLevel,
IfcRelSpaceBoundary2ndLevel,
+ IfcRelUsesResource,
IfcRelVoidsElement,
IfcReparametrisedCompositeCurveSegment,
IfcRepresentation,
@@ -682,6 +823,7 @@ public enum IFCEntityType
IfcRibPlateProfileProperties,
IfcRightCircularCone,
IfcRightCircularCylinder,
+ IfcRoad,
IfcRoof,
IfcRoofType,
IfcRoot,
@@ -692,9 +834,14 @@ public enum IFCEntityType
IfcScheduleTimeControl,
IfcSchedulingTime,
IfcSeamCurve,
+ IfcSectionedSolid,
+ IfcSectionedSolidHorizontal,
IfcSectionedSpine,
+ IfcSectionedSurface,
IfcSectionProperties,
IfcSectionReinforcementProperties,
+ IfcSegment,
+ IfcSegmentedReferenceCurve,
IfcSensor,
IfcSensorType,
IfcServiceLife,
@@ -705,8 +852,13 @@ public enum IFCEntityType
IfcShapeModel,
IfcShapeRepresentation,
IfcShellBasedSurfaceModel,
+ IfcSign,
+ IfcSignal,
+ IfcSignalType,
+ IfcSignType,
IfcSimpleProperty,
IfcSimplePropertyTemplate,
+ IfcSine,
IfcSite,
IfcSIUnit,
IfcSlab,
@@ -719,10 +871,13 @@ public enum IFCEntityType
IfcSolidModel,
IfcSoundProperties,
IfcSoundValue,
+ IfcSolidStratum,
IfcSpace,
IfcSpaceHeater,
IfcSpaceHeaterType,
IfcSpaceProgram,
+ IfcSpaceProgramGroup,
+ IfcSpaceThermalLoad,
IfcSpaceThermalLoadProperties,
IfcSpaceType,
IfcSpatialElement,
@@ -733,12 +888,15 @@ public enum IFCEntityType
IfcSpatialZoneType,
IfcSphere,
IfcSphericalSurface,
+ IfcSpiral,
+ IfcSpotLightSource,
IfcStackTerminal,
IfcStackTerminalType,
IfcStair,
IfcStairFlight,
IfcStairFlightType,
IfcStairType,
+ IfcStorageDevice,
IfcStructuralAction,
IfcStructuralActivity,
IfcStructuralAnalysisModel,
@@ -790,15 +948,20 @@ public enum IFCEntityType
IfcSurface,
IfcSurfaceCurve,
IfcSurfaceCurveSweptAreaSolid,
+ IfcSurfaceExtendedProperties,
IfcSurfaceFeature,
IfcSurfaceOfLinearExtrusion,
IfcSurfaceOfRevolution,
IfcSurfaceReinforcementArea,
+ IfcSurfaceRenderingProperties,
+ IfcSurfaceShadingProperties,
IfcSurfaceStyle,
IfcSurfaceStyleLighting,
+ IfcSurfaceStyleProperties,
IfcSurfaceStyleRefraction,
IfcSurfaceStyleRendering,
IfcSurfaceStyleShading,
+ IfcSurfaceStyleUsage,
IfcSurfaceStyleWithTextures,
IfcSurfaceTexture,
IfcSweptAreaSolid,
@@ -824,6 +987,8 @@ public enum IFCEntityType
IfcTendon,
IfcTendonAnchor,
IfcTendonAnchorType,
+ IfcTendonConduit,
+ IfcTendonConduitType,
IfcTendonType,
IfcTerminatorSymbol,
IfcTessellatedFaceSet,
@@ -849,12 +1014,17 @@ public enum IFCEntityType
IfcTopologicalRepresentationItem,
IfcTopologyRepresentation,
IfcToroidalSurface,
+ IfcTrackElement,
+ IfcTrackElementType,
IfcTransformer,
IfcTransformerType,
+ IfcTransitionCurveSegment2D,
IfcTransportElement,
IfcTransportElementType,
IfcTrapeziumProfileDef,
+ IfcTreatmentDevice,
IfcTriangulatedFaceSet,
+ IfcTriangulatedIrregularNetwork,
IfcTrimmedCurve,
IfcTShapeProfileDef,
IfcTubeBundle,
@@ -869,6 +1039,7 @@ public enum IFCEntityType
IfcUnitaryEquipment,
IfcUnitaryEquipmentType,
IfcUnitAssignment,
+ IfcUnitHeater,
IfcUShapeProfileDef,
IfcValve,
IfcValveType,
@@ -877,11 +1048,15 @@ public enum IFCEntityType
IfcVertexBasedTextureMap,
IfcVertexLoop,
IfcVertexPoint,
+ IfcVibrationDamper,
+ IfcVibrationDamperType,
IfcVibrationIsolator,
IfcVibrationIsolatorType,
+ IfcVienneseBend,
IfcVirtualElement,
IfcVirtualGridIntersection,
IfcVoidingFeature,
+ IfcVoidStratum,
IfcWall,
IfcWallElementedCase,
IfcWallStandardCase,
@@ -889,6 +1064,7 @@ public enum IFCEntityType
IfcWasteTerminal,
IfcWasteTerminalType,
IfcWaterProperties,
+ IfcWaterStratum,
IfcWindow,
IfcWindowLiningProperties,
IfcWindowPanelProperties,
@@ -897,6 +1073,7 @@ public enum IFCEntityType
IfcWindowType,
IfcWorkCalendar,
IfcWorkControl,
+ IfcWorkOrder,
IfcWorkPlan,
IfcWorkSchedule,
IfcWorkTime,
diff --git a/Source/Revit.IFC.Common/Extension/IFCFileHeader.cs b/Source/Revit.IFC.Common/Extension/IFCFileHeader.cs
index 6cc9a8b2..3f786347 100644
--- a/Source/Revit.IFC.Common/Extension/IFCFileHeader.cs
+++ b/Source/Revit.IFC.Common/Extension/IFCFileHeader.cs
@@ -19,9 +19,7 @@
using System;
using System.Collections.Generic;
using System.Linq;
-using System.Text;
using Autodesk.Revit.DB;
-using Autodesk.Revit.DB.IFC;
using Autodesk.Revit.DB.ExtensibleStorage;
diff --git a/Source/Revit.IFC.Common/Properties/AssemblyInfo.cs b/Source/Revit.IFC.Common/Properties/AssemblyInfo.cs
index a3b7afbb..ee78a246 100644
--- a/Source/Revit.IFC.Common/Properties/AssemblyInfo.cs
+++ b/Source/Revit.IFC.Common/Properties/AssemblyInfo.cs
@@ -13,8 +13,8 @@
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
-[assembly: AssemblyVersion("22.2.1.0")]
-[assembly: AssemblyFileVersion("22.2.1.0")]
+[assembly: AssemblyVersion("22.3.0.0")]
+[assembly: AssemblyFileVersion("22.3.0.0")]
#endif
diff --git a/Source/Revit.IFC.Common/Revit.IFC.Common.csproj b/Source/Revit.IFC.Common/Revit.IFC.Common.csproj
index e0cdb3fe..47a8ebad 100644
--- a/Source/Revit.IFC.Common/Revit.IFC.Common.csproj
+++ b/Source/Revit.IFC.Common/Revit.IFC.Common.csproj
@@ -68,6 +68,9 @@
+
+
+
diff --git a/Source/Revit.IFC.Common/Utility/IFCAnyHandleUtil.cs b/Source/Revit.IFC.Common/Utility/IFCAnyHandleUtil.cs
index 7d40d9d8..c1b299af 100644
--- a/Source/Revit.IFC.Common/Utility/IFCAnyHandleUtil.cs
+++ b/Source/Revit.IFC.Common/Utility/IFCAnyHandleUtil.cs
@@ -1113,7 +1113,7 @@ public static void SetAttribute(IFCAnyHandle handle, string name, IFCData value)
T aggregateAttribute = default(T);
- if (ifcData.PrimitiveType == IFCDataPrimitiveType.Aggregate)
+ if (ifcData.PrimitiveType.ToString() == "Aggregate")
{
IFCAggregate aggregate = ifcData.AsAggregate();
if (aggregate != null)
@@ -1144,7 +1144,7 @@ public static void SetAttribute(IFCAnyHandle handle, string name, IFCData value)
T aggregateAttribute = default(T);
- if (ifcData.PrimitiveType == IFCDataPrimitiveType.Aggregate)
+ if (ifcData.PrimitiveType.ToString() == "Aggregate")
{
IFCAggregate aggregate = ifcData.AsAggregate();
if (aggregate != null)
@@ -1178,7 +1178,7 @@ public static void SetAttribute(IFCAnyHandle handle, string name, IFCData value)
T aggregateAttribute = default(T);
- if (ifcData.PrimitiveType == IFCDataPrimitiveType.Aggregate)
+ if (ifcData.PrimitiveType.ToString() == "Aggregate")
{
IFCAggregate aggregate = ifcData.AsAggregate();
if (aggregate != null)
@@ -1212,7 +1212,7 @@ public static void SetAttribute(IFCAnyHandle handle, string name, IFCData value)
T aggregateAttribute = default(T);
- if (ifcData.PrimitiveType == IFCDataPrimitiveType.Aggregate)
+ if (ifcData.PrimitiveType.ToString() == "Aggregate")
{
IFCAggregate aggregate = ifcData.AsAggregate();
if (aggregate != null)
@@ -1243,7 +1243,7 @@ public static void SetAttribute(IFCAnyHandle handle, string name, IFCData value)
T aggregateAttribute = default(T);
- if (ifcData.PrimitiveType == IFCDataPrimitiveType.Aggregate)
+ if (ifcData.PrimitiveType.ToString() == "Aggregate")
{
IFCAggregate aggregate = ifcData.AsAggregate();
if (aggregate != null)
@@ -1251,7 +1251,7 @@ public static void SetAttribute(IFCAnyHandle handle, string name, IFCData value)
aggregateAttribute = new T();
foreach (IFCData val in aggregate)
{
- if (val.PrimitiveType == IFCDataPrimitiveType.Instance)
+ if (val.PrimitiveType.ToString() == "Instance")
{
aggregateAttribute.Add(val.AsInstance());
}
@@ -1325,7 +1325,7 @@ public static IList GetCoordinates(IFCAnyHandle cartesianPoint)
throw new ArgumentException("Not an IfcCartesianPoint handle.");
IFCData ifcData = cartesianPoint.GetAttribute("Coordinates");
- if (ifcData.PrimitiveType == IFCDataPrimitiveType.Aggregate)
+ if (ifcData.PrimitiveType.ToString() == "Aggregate")
{
IFCAggregate aggregate = ifcData.AsAggregate();
if (aggregate != null && aggregate.Count > 0)
@@ -1355,7 +1355,7 @@ public static IFCAnyHandle GetValidInstanceAttribute(IFCAnyHandle hnd, string na
try
{
IFCData ifcData = hnd.GetAttribute(name);
- if (ifcData.PrimitiveType == IFCDataPrimitiveType.Instance)
+ if (ifcData.PrimitiveType.ToString() == "Instance")
return ifcData.AsInstance();
}
catch { }
@@ -1554,7 +1554,7 @@ public static bool HasRelDecomposes(IFCAnyHandle objectHandle)
if (!ifcData.HasValue)
return false;
- else if (ifcData.PrimitiveType == IFCDataPrimitiveType.Aggregate)
+ else if (ifcData.PrimitiveType.ToString() == "Aggregate")
{
IFCAggregate aggregate = ifcData.AsAggregate();
if (aggregate != null && aggregate.Count > 0)
@@ -1579,14 +1579,14 @@ public static HashSet GetRelDecomposes(IFCAnyHandle objectHandle)
HashSet decomposes = new HashSet();
IFCData ifcData = objectHandle.GetAttribute("IsDecomposedBy");
- if (ifcData.PrimitiveType == IFCDataPrimitiveType.Aggregate)
+ if (ifcData.PrimitiveType.ToString() == "Aggregate")
{
IFCAggregate aggregate = ifcData.AsAggregate();
if (aggregate != null && aggregate.Count > 0)
{
foreach (IFCData val in aggregate)
{
- if (val.PrimitiveType == IFCDataPrimitiveType.Instance)
+ if (val.PrimitiveType.ToString() == "Instance")
{
decomposes.Add(val.AsInstance());
}
@@ -1608,14 +1608,14 @@ public static HashSet GetHasRepresentation(IFCAnyHandle objectHand
HashSet hasRepresentation = new HashSet();
IFCData ifcData = objectHandle.GetAttribute("HasRepresentation");
- if (ifcData.PrimitiveType == IFCDataPrimitiveType.Aggregate)
+ if (ifcData.PrimitiveType.ToString() == "Aggregate")
{
IFCAggregate aggregate = ifcData.AsAggregate();
if (aggregate != null && aggregate.Count > 0)
{
foreach (IFCData val in aggregate)
{
- if (val.PrimitiveType == IFCDataPrimitiveType.Instance)
+ if (val.PrimitiveType.ToString() == "Instance")
{
hasRepresentation.Add(val.AsInstance());
}
@@ -1636,7 +1636,7 @@ public static IFCAnyHandle GetRepresentation(IFCAnyHandle productHandle)
throw new ArgumentException("The operation is not valid for this handle.");
IFCData ifcData = productHandle.GetAttribute("Representation");
- if (ifcData.PrimitiveType == IFCDataPrimitiveType.Instance)
+ if (ifcData.PrimitiveType.ToString() == "Instance")
{
return ifcData.AsInstance();
}
@@ -1655,7 +1655,7 @@ public static IFCAnyHandle GetContextOfItems(IFCAnyHandle representation)
throw new ArgumentException("The operation is not valid for this handle.");
IFCData ifcData = representation.GetAttribute("ContextOfItems");
- if (ifcData.PrimitiveType == IFCDataPrimitiveType.Instance)
+ if (ifcData.PrimitiveType.ToString() == "Instance")
{
return ifcData.AsInstance();
}
@@ -1713,14 +1713,14 @@ public static HashSet GetItems(IFCAnyHandle representation)
HashSet items = new HashSet();
IFCData ifcData = representation.GetAttribute("Items");
- if (ifcData.PrimitiveType == IFCDataPrimitiveType.Aggregate)
+ if (ifcData.PrimitiveType.ToString() == "Aggregate")
{
IFCAggregate aggregate = ifcData.AsAggregate();
if (aggregate != null && aggregate.Count > 0)
{
foreach (IFCData val in aggregate)
{
- if (val.PrimitiveType == IFCDataPrimitiveType.Instance)
+ if (val.PrimitiveType.ToString() == "Instance")
{
items.Add(val.AsInstance());
}
@@ -1742,14 +1742,14 @@ public static List GetRepresentations(IFCAnyHandle representation)
List representations = new List();
IFCData ifcData = representation.GetAttribute("Representations");
- if (ifcData.PrimitiveType == IFCDataPrimitiveType.Aggregate)
+ if (ifcData.PrimitiveType.ToString() == "Aggregate")
{
IFCAggregate aggregate = ifcData.AsAggregate();
if (aggregate != null && aggregate.Count > 0)
{
foreach (IFCData val in aggregate)
{
- if (val.PrimitiveType == IFCDataPrimitiveType.Instance)
+ if (val.PrimitiveType.ToString() == "Instance")
{
representations.Add(val.AsInstance());
}
@@ -1771,14 +1771,14 @@ public static List GetOpenings(IFCAnyHandle ifcElement)
List openings = new List();
IFCData ifcData = ifcElement.GetAttribute("HasOpenings");
- if (ifcData.PrimitiveType == IFCDataPrimitiveType.Aggregate)
+ if (ifcData.PrimitiveType.ToString() == "Aggregate")
{
IFCAggregate aggregate = ifcData.AsAggregate();
if (aggregate != null && aggregate.Count > 0)
{
foreach (IFCData val in aggregate)
{
- if (val.PrimitiveType == IFCDataPrimitiveType.Instance)
+ if (val.PrimitiveType.ToString() == "Instance")
{
IFCAnyHandle relVoidElement = val.AsInstance();
IFCData openingElementData = relVoidElement.GetAttribute("RelatedOpeningElement");
@@ -1994,6 +1994,27 @@ public static bool IsValidSubTypeOf(IFCAnyHandle handle, IFCEntityType handleTyp
return handle.IsSubTypeOf(GetIFCEntityTypeName(type));
}
+ ///
+ /// Gets the value from type name.
+ /// This method is used for negotiation differences between IfCDataPrimitiveType enums in 2022.0.1 and 2022.1 APIs using string comparison.
+ ///
+ /// Primitive type name.
+ /// value.
+ public static IFCDataPrimitiveType GetPrimitiveTypeForOlderAPI(string typeName)
+ {
+ IFCDataPrimitiveType resultType = IFCDataPrimitiveType.Integer;
+
+ for(int iterator = 0; iterator <= 21; iterator++)
+ {
+ if (resultType.ToString() == typeName)
+ return resultType;
+ else
+ resultType++;
+ }
+
+ return resultType;
+ }
+
///
/// Updates the project information.
///
diff --git a/Source/Revit.IFC.Export/Exporter/BeamExporter.cs b/Source/Revit.IFC.Export/Exporter/BeamExporter.cs
index ad0cbef4..f562dbf6 100644
--- a/Source/Revit.IFC.Export/Exporter/BeamExporter.cs
+++ b/Source/Revit.IFC.Export/Exporter/BeamExporter.cs
@@ -100,7 +100,7 @@ public BeamBodyAsExtrusionInfo()
///
/// The material profile set for the extruded Beam
///
- public MaterialAndProfile materialAndProfile { get; set; }
+ public MaterialAndProfile MaterialAndProfile { get; set; }
///
/// The calculated slope of the beam along its axis, relative to the XY plane.
@@ -302,13 +302,13 @@ private static BeamBodyAsExtrusionInfo CreateBeamGeometryAsExtrusion(ExporterIFC
IFCExtrusionBasis bestAxis = (Math.Abs(beamDirection[0]) > Math.Abs(beamDirection[1])) ?
IFCExtrusionBasis.BasisX : IFCExtrusionBasis.BasisY;
info.Slope = GeometryUtil.GetSimpleExtrusionSlope(beamDirection, bestAxis);
- ElementId materialId = BodyExporter.GetBestMaterialIdFromGeometryOrParameter(solid, exporterIFC, element);
+ ElementId materialId = BodyExporter.GetBestMaterialIdFromGeometryOrParameter(solid, element);
if (materialId != ElementId.InvalidElementId)
info.Materials.Add(materialId);
}
if (materialAndProfile != null)
- info.materialAndProfile = materialAndProfile;
+ info.MaterialAndProfile = materialAndProfile;
return info;
}
@@ -455,7 +455,7 @@ public static IFCAnyHandle ExportBeamAsStandardElement(ExporterIFC exporterIFC,
bool tryToCreateBeamGeometryAsExtrusion = true;
//bool useFamilySymbolGeometry = (element is FamilyInstance) ? !ExporterIFCUtils.UsesInstanceGeometry(element as FamilyInstance) : false;
- bool useFamilySymbolGeometry = (element is FamilyInstance) ? !GeometryUtil.UsesInstanceGeometry(element as FamilyInstance) : false;
+ bool useFamilySymbolGeometry = (element is FamilyInstance) && !GeometryUtil.UsesInstanceGeometry(element as FamilyInstance);
ElementId beamTypeId = element.GetTypeId();
if (useFamilySymbolGeometry)
{
@@ -478,7 +478,7 @@ public static IFCAnyHandle ExportBeamAsStandardElement(ExporterIFC exporterIFC,
return null;
}
- IFCAnyHandle repHnd = (extrusionInfo != null) ? extrusionInfo.RepresentationHandle : null;
+ IFCAnyHandle repHnd = extrusionInfo?.RepresentationHandle;
if (!IFCAnyHandleUtil.IsNullOrHasNoValue(repHnd))
{
@@ -523,7 +523,7 @@ public static IFCAnyHandle ExportBeamAsStandardElement(ExporterIFC exporterIFC,
representations.Add(axisRep);
representations.Add(repHnd);
- Transform boundingBoxTrf = (offsetTransform == null) ? Transform.Identity : offsetTransform.Inverse;
+ Transform boundingBoxTrf = offsetTransform?.Inverse ?? Transform.Identity;
IFCAnyHandle boundingBoxRep = BoundingBoxExporter.ExportBoundingBox(exporterIFC, geometryElement, boundingBoxTrf);
if (boundingBoxRep != null)
representations.Add(boundingBoxRep);
@@ -561,22 +561,5 @@ public static IFCAnyHandle ExportBeamAsStandardElement(ExporterIFC exporterIFC,
return beam;
}
}
-
- static IFCBeamType GetBeamType(Element element, string beamType)
- {
- string value = null;
- if (ParameterUtil.GetStringValueFromElementOrSymbol(element, "IfcType", out value) == null)
- value = beamType;
-
- if (String.IsNullOrEmpty(value))
- return IFCBeamType.Beam;
-
- string newValue = NamingUtil.RemoveSpacesAndUnderscores(value);
-
- if (String.Compare(newValue, "USERDEFINED", true) == 0)
- return IFCBeamType.UserDefined;
-
- return IFCBeamType.Beam;
- }
}
}
\ No newline at end of file
diff --git a/Source/Revit.IFC.Export/Exporter/BodyExporter.cs b/Source/Revit.IFC.Export/Exporter/BodyExporter.cs
index 83c744e2..2897f405 100644
--- a/Source/Revit.IFC.Export/Exporter/BodyExporter.cs
+++ b/Source/Revit.IFC.Export/Exporter/BodyExporter.cs
@@ -49,7 +49,7 @@ class BodyExporter
public static ElementId SetBestMaterialIdInExporter(GeometryObject geometryObject, Element element, ElementId overrideMaterialId, ExporterIFC exporterIFC)
{
ElementId materialId = overrideMaterialId != ElementId.InvalidElementId ? overrideMaterialId :
- GetBestMaterialIdFromGeometryOrParameter(geometryObject, exporterIFC, element);
+ GetBestMaterialIdFromGeometryOrParameter(geometryObject, element);
if (materialId != ElementId.InvalidElementId)
exporterIFC.SetMaterialIdForCurrentExportState(materialId);
@@ -92,7 +92,7 @@ public static ElementId GetBestMaterialIdForGeometry(IList solids, IList<
{
if (solids[currentSolid].Faces.Size > 0)
{
- bestMaterialId = GetBestMaterialIdForGeometry(solids[currentSolid], null);
+ bestMaterialId = GetBestMaterialIdForGeometry(solids[currentSolid]);
break;
}
}
@@ -118,7 +118,7 @@ public static ElementId GetBestMaterialIdForGeometry(IList solids, IList<
if (solids[currentSolid].Faces.Size > 0)
continue;
- ElementId currentMaterialId = GetBestMaterialIdForGeometry(solids[currentSolid], null);
+ ElementId currentMaterialId = GetBestMaterialIdForGeometry(solids[currentSolid]);
if (currentMaterialId != ElementId.InvalidElementId && currentMaterialId != bestMaterialId)
{
bestMaterialId = ElementId.InvalidElementId;
@@ -141,18 +141,12 @@ public static ElementId GetBestMaterialIdForGeometry(IList solids, IList<
/// The range to get the clipped geometry.
/// The material id.
public static ElementId GetBestMaterialIdForGeometry(GeometryElement geometryElement,
- ExporterIFC exporterIFC, IFCRange range)
+ IFCRange range)
{
- SolidMeshGeometryInfo solidMeshCapsule = null;
+ SolidMeshGeometryInfo solidMeshCapsule = (range == null) ?
+ GeometryUtil.GetSolidMeshGeometry(geometryElement, Transform.Identity) :
+ GeometryUtil.GetClippedSolidMeshGeometry(geometryElement, range);
- if (range == null)
- {
- solidMeshCapsule = GeometryUtil.GetSolidMeshGeometry(geometryElement, Transform.Identity);
- }
- else
- {
- solidMeshCapsule = GeometryUtil.GetClippedSolidMeshGeometry(geometryElement, range);
- }
IList solids = solidMeshCapsule.GetSolids();
IList polyMeshes = solidMeshCapsule.GetMeshes();
@@ -166,12 +160,11 @@ public static ElementId GetBestMaterialIdForGeometry(GeometryElement geometryEle
/// Gets the best material id for the geometry.
///
/// The geometry object to get the best material id.
- /// The ExporterIFC object.
/// The material id.
- public static ElementId GetBestMaterialIdForGeometry(GeometryObject geometryObject, ExporterIFC exporterIFC)
+ public static ElementId GetBestMaterialIdForGeometry(GeometryObject geometryObject)
{
if (geometryObject is GeometryElement)
- return GetBestMaterialIdForGeometry(geometryObject as GeometryElement, exporterIFC, null);
+ return GetBestMaterialIdForGeometry(geometryObject as GeometryElement, null);
if (!(geometryObject is Solid))
{
@@ -250,7 +243,7 @@ public static ElementId GetBestMaterialIdForGeometry(GeometryObject geometryObje
return mostPopularId;
}
- private static bool isDuctCategory(BuiltInCategory categoryId)
+ private static bool IsDuctCategory(BuiltInCategory categoryId)
{
return categoryId == BuiltInCategory.OST_DuctAccessory ||
categoryId == BuiltInCategory.OST_DuctCurves ||
@@ -262,7 +255,7 @@ private static bool isDuctCategory(BuiltInCategory categoryId)
categoryId == BuiltInCategory.OST_PlaceHolderDucts;
}
- private static bool isPipeCategory(BuiltInCategory categoryId)
+ private static bool IsPipeCategory(BuiltInCategory categoryId)
{
return categoryId == BuiltInCategory.OST_AnalyticalPipeConnections ||
categoryId == BuiltInCategory.OST_FlexPipeCurves ||
@@ -275,7 +268,7 @@ private static bool isPipeCategory(BuiltInCategory categoryId)
categoryId == BuiltInCategory.OST_Sprinklers;
}
- private static bool categoryHasMaterialIdParam(BuiltInCategory categoryId)
+ private static bool CategoryHasMaterialIdParam(BuiltInCategory categoryId)
{
// OST_Cornices also has a MaterialId parameter, but Revit doesn't want us
// to ask for it.
@@ -290,7 +283,7 @@ private static bool categoryHasMaterialIdParam(BuiltInCategory categoryId)
categoryId == BuiltInCategory.OST_DuctLinings;
}
- private static bool categoryHasStructuralMaterialParam(BuiltInCategory categoryId)
+ private static bool CategoryHasStructuralMaterialParam(BuiltInCategory categoryId)
{
return categoryId == BuiltInCategory.OST_AnalyticalMember ||
categoryId == BuiltInCategory.OST_BuildingPad ||
@@ -316,11 +309,11 @@ private static ElementId GetBestMaterialIdFromParameter(Element element)
// Try to get it from the category of the element first.
BuiltInCategory categoryId = (BuiltInCategory)element.Category.Id.IntegerValue;
- if (categoryHasMaterialIdParam(categoryId) || element is MEPSystemType)
+ if (CategoryHasMaterialIdParam(categoryId) || element is MEPSystemType)
{
ParameterUtil.GetElementIdValueFromElementOrSymbol(element, BuiltInParameter.MATERIAL_ID_PARAM, out matId);
}
- else if (categoryHasStructuralMaterialParam(categoryId))
+ else if (CategoryHasStructuralMaterialParam(categoryId))
{
ParameterUtil.GetElementIdValueFromElementOrSymbol(element, BuiltInParameter.STRUCTURAL_MATERIAL_PARAM, out matId);
}
@@ -330,9 +323,9 @@ private static ElementId GetBestMaterialIdFromParameter(Element element)
// If not, try to get it from the system.
ElementId systemTypeId = ElementId.InvalidElementId;
- if (isDuctCategory(categoryId))
+ if (IsDuctCategory(categoryId))
ParameterUtil.GetElementIdValueFromElement(element, BuiltInParameter.RBS_DUCT_SYSTEM_TYPE_PARAM, out systemTypeId);
- else if (isPipeCategory(categoryId))
+ else if (IsPipeCategory(categoryId))
ParameterUtil.GetElementIdValueFromElement(element, BuiltInParameter.RBS_PIPING_SYSTEM_TYPE_PARAM, out systemTypeId);
if (systemTypeId != ElementId.InvalidElementId)
@@ -369,9 +362,9 @@ public static ElementId GetBestMaterialIdFromGeometryOrParameter(IList so
/// The element.
/// The material id.
public static ElementId GetBestMaterialIdFromGeometryOrParameter(GeometryElement geometryElement,
- ExporterIFC exporterIFC, IFCRange range, Element element)
+ IFCRange range, Element element)
{
- ElementId matId = GetBestMaterialIdForGeometry(geometryElement, exporterIFC, range);
+ ElementId matId = GetBestMaterialIdForGeometry(geometryElement, range);
if (matId == ElementId.InvalidElementId && element != null)
matId = GetBestMaterialIdFromParameter(element);
return matId;
@@ -384,9 +377,10 @@ public static ElementId GetBestMaterialIdFromGeometryOrParameter(GeometryElement
/// The exporter.
/// The element.
/// The material id.
- public static ElementId GetBestMaterialIdFromGeometryOrParameter(GeometryObject geometryObject, ExporterIFC exporterIFC, Element element)
+ public static ElementId GetBestMaterialIdFromGeometryOrParameter(GeometryObject geometryObject,
+ Element element)
{
- ElementId matId = GetBestMaterialIdForGeometry(geometryObject, exporterIFC);
+ ElementId matId = GetBestMaterialIdForGeometry(geometryObject);
if (matId == ElementId.InvalidElementId && element != null)
matId = GetBestMaterialIdFromParameter(element);
return matId;
@@ -422,16 +416,14 @@ public static void CreateSurfaceStyleForRepItem(ExporterIFC exporterIFC, Documen
if (materialId == ElementId.InvalidElementId)
return;
- IFCAnyHandle presStyleHnd = null;
- presStyleHnd = ExporterCacheManager.PresentationStyleAssignmentCache.Find(materialId);
+ IFCAnyHandle presStyleHnd = ExporterCacheManager.PresentationStyleAssignmentCache.Find(materialId);
if (IFCAnyHandleUtil.IsNullOrHasNoValue(presStyleHnd))
{
IFCAnyHandle surfStyleHnd = CategoryUtil.GetOrCreateMaterialStyle(document, file, materialId);
if (IFCAnyHandleUtil.IsNullOrHasNoValue(surfStyleHnd))
return;
- ISet styles = new HashSet();
- styles.Add(surfStyleHnd);
+ ISet styles = new HashSet() { surfStyleHnd };
if (ExporterCacheManager.ExportOptionsCache.ExportAsOlderThanIFC4)
{
@@ -452,8 +444,7 @@ public static void CreateSurfaceStyleForRepItem(ExporterIFC exporterIFC, Documen
HashSet styledByItemHandles = IFCAnyHandleUtil.GetAggregateInstanceAttribute>(repItemHnd, "StyledByItem");
if (styledByItemHandles == null || styledByItemHandles.Count == 0)
{
- HashSet presStyleSet = new HashSet();
- presStyleSet.Add(presStyleHnd);
+ HashSet presStyleSet = new HashSet() { presStyleHnd };
IFCAnyHandle styledItem = IFCInstanceExporter.CreateStyledItem(file, repItemHnd, presStyleSet, null);
}
else
@@ -483,18 +474,15 @@ public static IFCAnyHandle CreateCurveStyleForRepItem(ExporterIFC exporterIFC, I
if (repItemHnd == null || ExporterCacheManager.ExportOptionsCache.ExportAs4ReferenceView)
return null;
- IFCAnyHandle presStyleHnd = null;
IFCFile file = exporterIFC.GetFile();
IFCAnyHandle curveStyleHnd = IFCInstanceExporter.CreateCurveStyle(file, null, null, curveWidth, colorHnd);
- ISet styles = new HashSet();
- styles.Add(curveStyleHnd);
+ ISet styles = new HashSet() { curveStyleHnd };
if (ExporterCacheManager.ExportOptionsCache.ExportAsOlderThanIFC4)
{
- presStyleHnd = IFCInstanceExporter.CreatePresentationStyleAssignment(file, styles);
- HashSet presStyleSet = new HashSet();
- presStyleSet.Add(presStyleHnd);
+ IFCAnyHandle presStyleHnd = IFCInstanceExporter.CreatePresentationStyleAssignment(file, styles);
+ HashSet presStyleSet = new HashSet() { presStyleHnd };
return IFCInstanceExporter.CreateStyledItem(file, repItemHnd, presStyleSet, null);
}
@@ -532,8 +520,8 @@ public static bool CanCreateClosedShell(Mesh mesh)
uint pt1 = meshTriangle.get_Index(jj);
uint pt2 = meshTriangle.get_Index((jj + 1) % 3);
- IList unmatchedEdgesPt2 = null;
- if (unmatchedEdges.TryGetValue(pt2, out unmatchedEdgesPt2) && unmatchedEdgesPt2.Contains(pt1))
+ if (unmatchedEdges.TryGetValue(pt2, out IList unmatchedEdgesPt2) &&
+ unmatchedEdgesPt2.Contains(pt1))
{
unmatchedEdgesPt2.Remove(pt1);
unmatchedEdgeSz--;
@@ -607,16 +595,16 @@ public static bool CanCreateClosedShell(ICollection faceSet)
int pt1 = reverse ? points[(ii + 1) % sizeOfBoundary].Id : points[ii].Id;
int pt2 = reverse ? points[ii].Id : points[(ii + 1) % sizeOfBoundary].Id;
- IList unmatchedEdgesPt2 = null;
- if (unmatchedEdges.TryGetValue(pt2, out unmatchedEdgesPt2) && unmatchedEdgesPt2.Contains(pt1))
+ if (unmatchedEdges.TryGetValue(pt2, out IList unmatchedEdgesPt2) &&
+ unmatchedEdgesPt2.Contains(pt1))
{
unmatchedEdgesPt2.Remove(pt1);
unmatchedEdgeSz--;
}
else
{
- IList unmatchedEdgesPt1 = null;
- if (unmatchedEdges.TryGetValue(pt1, out unmatchedEdgesPt1) && unmatchedEdgesPt1.Contains(pt2))
+ if (unmatchedEdges.TryGetValue(pt1, out IList unmatchedEdgesPt1) &&
+ unmatchedEdgesPt1.Contains(pt2))
{
// An edge with the same orientation exists twice; can't create solid.
return false;
@@ -638,36 +626,6 @@ public static bool CanCreateClosedShell(ICollection faceSet)
return (unmatchedEdgeSz == 0);
}
- private static IFCAnyHandle CreateBRepRepresentationMap(ExporterIFC exporterIFC, IFCFile file, Element element, ElementId categoryId,
- IFCAnyHandle contextOfItems, IFCAnyHandle brepHnd)
- {
- ISet currBodyItems = new HashSet();
- currBodyItems.Add(brepHnd);
- IFCAnyHandle currRepHnd = RepresentationUtil.CreateBRepRep(exporterIFC, element, categoryId,
- contextOfItems, currBodyItems);
-
- IFCAnyHandle currOrigin = ExporterUtil.CreateAxis2Placement3D(file);
- IFCAnyHandle currMappedRepHnd = IFCInstanceExporter.CreateRepresentationMap(file, currOrigin, currRepHnd);
- return currMappedRepHnd;
- }
-
- private static IFCAnyHandle CreateSurfaceRepresentationMap(ExporterIFC exporterIFC, IFCFile file, Element element, ElementId categoryId,
- IFCAnyHandle contextOfItems, IFCAnyHandle faceSetHnd)
- {
- HashSet currFaceSet = new HashSet();
- currFaceSet.Add(faceSetHnd);
-
- ISet currFaceSetItems = new HashSet();
- IFCAnyHandle currSurfaceModelHnd = IFCInstanceExporter.CreateFaceBasedSurfaceModel(file, currFaceSet);
- currFaceSetItems.Add(currSurfaceModelHnd);
- IFCAnyHandle currRepHnd = RepresentationUtil.CreateSurfaceRep(exporterIFC, element, categoryId, contextOfItems,
- currFaceSetItems, false, null);
-
- IFCAnyHandle currOrigin = ExporterUtil.CreateAxis2Placement3D(file);
- IFCAnyHandle currMappedRepHnd = IFCInstanceExporter.CreateRepresentationMap(file, currOrigin, currRepHnd);
- return currMappedRepHnd;
- }
-
// This is a simplified routine for solids that are composed of planar faces with polygonal edges. This
// allows us to use the edges as the boundaries of the faces.
private static bool ExportPlanarBodyIfPossible(ExporterIFC exporterIFC, Solid solid,
@@ -711,9 +669,7 @@ private static bool ExportPlanarBodyIfPossible(ExporterIFC exporterIFC, Solid so
// Don't add last point to vertices, as this will be added in the next edge.
for (int idx = 0; idx < numPoints - 1; idx++)
{
- IFCAnyHandle pointHandle = null;
-
- if (!vertexCache.TryGetValue(curvePoints[idx], out pointHandle))
+ if (!vertexCache.TryGetValue(curvePoints[idx], out IFCAnyHandle pointHandle))
{
XYZ pointScaled = ExporterIFCUtils.TransformAndScalePoint(exporterIFC, curvePoints[idx]);
pointHandle = ExporterUtil.CreateCartesianPoint(file, pointScaled);
@@ -825,8 +781,8 @@ public override int GetHashCode()
// This class allows us to merge Planes that have normals and origins that are equal within a small tolerance.
private class PlanarKey
{
- FuzzyPoint m_Norm;
- FuzzyPoint m_Origin;
+ readonly FuzzyPoint m_Norm;
+ readonly FuzzyPoint m_Origin;
public PlanarKey(XYZ norm, XYZ origin)
{
@@ -898,13 +854,11 @@ private class PlanarInfo
public void AddTriangleIndexToVertexGrouping(int triangleIndex, int vertex)
{
- HashSet trianglesAtVertex;
- if (TrianglesAtVertexList.TryGetValue(vertex, out trianglesAtVertex))
+ if (TrianglesAtVertexList.TryGetValue(vertex, out HashSet trianglesAtVertex))
trianglesAtVertex.Add(triangleIndex);
else
{
- trianglesAtVertex = new HashSet();
- trianglesAtVertex.Add(triangleIndex);
+ trianglesAtVertex = new HashSet() { triangleIndex };
TrianglesAtVertexList[vertex] = trianglesAtVertex;
}
}
@@ -956,10 +910,8 @@ private static IList> ConvertTrianglesToPlanarFacets(Triangulate
XYZ origin = new XYZ(norm.X * distToOrig, norm.Y * distToOrig, norm.Z * distToOrig);
// Go through map of existing planes and add triangle.
- PlanarInfo planarGrouping = null;
-
PlanarKey currKey = new PlanarKey(norm, origin);
- if (planarGroupings.TryGetValue(currKey, out planarGrouping))
+ if (planarGroupings.TryGetValue(currKey, out PlanarInfo planarGrouping))
{
planarGrouping.TriangleList.Add(ii);
}
@@ -1009,10 +961,12 @@ private static IList> ConvertTrianglesToPlanarFacets(Triangulate
continue;
}
- HashSet currFacetVertices = new HashSet();
- currFacetVertices.Add(currTriangle.VertexIndex0);
- currFacetVertices.Add(currTriangle.VertexIndex1);
- currFacetVertices.Add(currTriangle.VertexIndex2);
+ HashSet currFacetVertices = new HashSet()
+ {
+ currTriangle.VertexIndex0,
+ currTriangle.VertexIndex1,
+ currTriangle.VertexIndex2
+ };
visitedTriangles.Add(idx);
@@ -1124,8 +1078,7 @@ public static IFCAnyHandle CreateFaceFromVertexList(IFCFile file, IList faceBounds = new HashSet();
- faceBounds.Add(faceOuterBound);
+ HashSet faceBounds = new HashSet() { faceOuterBound };
return IFCInstanceExporter.CreateFace(file, faceBounds);
}
@@ -1401,7 +1354,7 @@ private static bool IsRightHanded(XYZ testPoint, XYZ axis, XYZ origin, XYZ uDeri
/// exporter option
/// the geometry object
/// the handle
- public static IFCAnyHandle ExportBodyAsAdvancedBrep(ExporterIFC exporterIFC, Element element, BodyExporterOptions options,
+ public static IFCAnyHandle ExportBodyAsAdvancedBrep(ExporterIFC exporterIFC, Element element,
GeometryObject geomObject)
{
IFCFile file = exporterIFC.GetFile();
@@ -1557,8 +1510,7 @@ public static IFCAnyHandle ExportBodyAsAdvancedBrep(ExporterIFC exporterIFC, Ele
// calculate sameSense by getting a point on the Revit Surface and compute the normal of the Revit Face and the surface at that point
// if these two vectors agree, then sameSense is true.
// The point we use to test will be the middle point of the first appropriate edge in the in all loops of Revit Face
- UV revitTestUV = null;
- GetNonSingularUVPointForRevitFace(face, out revitTestUV);
+ GetNonSingularUVPointForRevitFace(face, out UV revitTestUV);
if (revitTestUV == null)
{
return null;
@@ -1789,7 +1741,7 @@ public static IFCAnyHandle ExportBodyAsAdvancedBrep(ExporterIFC exporterIFC, Ele
double paramStart = 1.0;
while (xDir.IsAlmostEqualTo(v2))
{
- paramStart = paramStart / 2;
+ paramStart /= 2;
v2 = (firstProfileCurve.Evaluate(paramStart, true) - firstProfileCurve.GetEndPoint(0)).Normalize();
}
XYZ zdir = xDir.CrossProduct(v2).Normalize();
@@ -2053,16 +2005,15 @@ public static IList ExportBodyAsPolygonalFaceSet(ExporterIFC expor
{
IFCFile file = exporterIFC.GetFile();
- double opacity;
- IFCAnyHandle ifcColourRgbList = GetBestColourAndOpacity(file, exporterIFC, element, geomObject, out opacity);
+ IFCAnyHandle ifcColourRgbList = GetBestColourAndOpacity(file, element, geomObject,
+ out double opacity, out ElementId matId);
Document document = element.Document;
IList polygonalFaceSetList = new List();
// If the geomObject is GeometryELement or GeometryInstance, we need to collect their primitive Solid and Mesh first
- bool allNotToBeExported;
IList geomObjectPrimitives = GetGeometriesFromGeometryElement(
- exporterIFC, document, geomObject, false, out allNotToBeExported);
+ exporterIFC, document, geomObject, false, out bool allNotToBeExported);
// At this point all collected geometry will only contains Solid and/or Mesh
foreach (GeometryObject geom in geomObjectPrimitives)
@@ -2111,8 +2062,16 @@ public static IList ExportBodyAsPolygonalFaceSet(ExporterIFC expor
coordList.Add(new List() { vertexScaled.X, vertexScaled.Y, vertexScaled.Z });
}
- TriangleMergeUtil triMerge = new TriangleMergeUtil(mesh);
- IList ifcFaces = MergeAndCreateIfcFaces(file, triMerge);
+ IList ifcFaces = null;
+ try
+ {
+ ifcFaces = MergeAndCreateIfcFaces(file, new TriangleMergeUtil(mesh));
+ }
+ catch
+ {
+ ifcFaces = MergeAndCreateIfcFaces(file, new TriangleMergeUtil(mesh), true);
+ }
+
IFCAnyHandle polygonalFaceSet = ExportIfcFacesAsPolygonalFaceSet(file, ifcFaces, coordList, mesh.IsClosed, ifcColourRgbList, opacity);
if (!IFCAnyHandleUtil.IsNullOrHasNoValue(polygonalFaceSet))
polygonalFaceSetList.Add(polygonalFaceSet);
@@ -2135,6 +2094,9 @@ public static IList ExportBodyAsPolygonalFaceSet(ExporterIFC expor
polygonalFaceSetList.Add(triangulatedMesh);
}
+ foreach (IFCAnyHandle polygonalFaceSet in polygonalFaceSetList)
+ CreateSurfaceStyleForRepItem(exporterIFC, document, options.CreatingVoid, polygonalFaceSet, matId);
+
return polygonalFaceSetList;
}
@@ -2162,10 +2124,11 @@ private static List GetGeometryObjectListFromGeometryElement(Doc
/// the File
/// TriangleMergeUtil instance with initialized geometry
/// List of IFC face handles
- private static IList MergeAndCreateIfcFaces(IFCFile file, TriangleMergeUtil triMerge)
+ private static IList MergeAndCreateIfcFaces(IFCFile file, TriangleMergeUtil triMerge, bool ignoreMerge = false)
{
IList faces = new List();
- triMerge.SimplifyAndMergeFaces();
+ triMerge.SimplifyAndMergeFaces(ignoreMerge);
+
for (int jj = 0; jj < triMerge.NoOfFaces; ++jj)
{
IFCAnyHandle faceHandle = null;
@@ -2234,8 +2197,8 @@ public static IList ExportBodyAsTriangulatedFaceSet(ExporterIFC ex
IFCFile file = exporterIFC.GetFile();
Document document = element.Document;
- double opacity;
- IFCAnyHandle ifcColourRgbList = GetBestColourAndOpacity(file, exporterIFC, element, geomObject, out opacity);
+ IFCAnyHandle ifcColourRgbList = GetBestColourAndOpacity(file, element,
+ geomObject, out double opacity, out ElementId matId);
IList triangulatedBodyList = new List();
@@ -2243,9 +2206,8 @@ public static IList ExportBodyAsTriangulatedFaceSet(ExporterIFC ex
// We need to collect all SOlids and Meshes from the GeometryObject if it is of types GeometryElement or GeometryInstance
// If the geomObject is GeometryELement or GeometryInstance, we need to collect their primitive Solid and Mesh first
- bool allNotToBeExported;
IList geomObjectPrimitives = GetGeometriesFromGeometryElement(
- exporterIFC, document, geomObject, true, out allNotToBeExported);
+ exporterIFC, document, geomObject, true, out bool allNotToBeExported);
// At this point the collection will only contains Solids and/or Meshes. Loop through each of them
foreach (GeometryObject geom in geomObjectPrimitives)
@@ -2378,6 +2340,9 @@ public static IList ExportBodyAsTriangulatedFaceSet(ExporterIFC ex
triangulatedBodyList.Add(triangulatedMesh);
}
+ foreach (IFCAnyHandle triangulatedBody in triangulatedBodyList)
+ CreateSurfaceStyleForRepItem(exporterIFC, document, options.CreatingVoid, triangulatedBody, matId);
+
return triangulatedBodyList;
}
@@ -2406,9 +2371,9 @@ public static IList ExportBodyAsTessellatedFaceSet(ExporterIFC exp
return tessellatedBodyList;
}
- private static IFCAnyHandle GetBestColourAndOpacity(IFCFile file, ExporterIFC exporterIFC, Element element, GeometryObject geometryObject, out double opacity)
+ private static IFCAnyHandle GetBestColourAndOpacity(IFCFile file, Element element, GeometryObject geometryObject, out double opacity, out ElementId bestMaterialId)
{
- ElementId bestMaterialId = GetBestMaterialIdFromGeometryOrParameter(geometryObject, exporterIFC, element);
+ bestMaterialId = GetBestMaterialIdFromGeometryOrParameter(geometryObject, element);
Material matElem = (bestMaterialId != null && bestMaterialId != ElementId.InvalidElementId) ?
element.Document.GetElement(bestMaterialId) as Material : null;
@@ -2445,8 +2410,8 @@ private static IFCAnyHandle ExportSurfaceAsTriangulatedFaceSet(ExporterIFC expor
{
IFCFile file = exporterIFC.GetFile();
- double opacity;
- IFCAnyHandle ifcColourRgbList = GetBestColourAndOpacity(file, exporterIFC, element, geomObject, out opacity);
+ IFCAnyHandle ifcColourRgbList = GetBestColourAndOpacity(file, element, geomObject,
+ out double opacity, out _);
IList colourIndex = new List();
@@ -2458,7 +2423,7 @@ private static IFCAnyHandle ExportSurfaceAsTriangulatedFaceSet(ExporterIFC expor
}
else if (geomObject is Mesh)
{
- triangleList = GetTriangleListFromMesh(geomObject, options, trfToUse);
+ triangleList = GetTriangleListFromMesh(geomObject, trfToUse);
}
// There is also a possibility that the geomObject is an GeometryElement thaat is a collection of GeometryObjects. Go through the collection and get the Mesh, Solid, or Face in it
else if (geomObject is GeometryElement)
@@ -2469,14 +2434,15 @@ private static IFCAnyHandle ExportSurfaceAsTriangulatedFaceSet(ExporterIFC expor
if (geom is Solid)
triangleList.AddRange(GetTriangleListFromSolid(geom, options, trfToUse));
if (geom is Mesh)
- triangleList.AddRange(GetTriangleListFromMesh(geom, options, trfToUse));
+ triangleList.AddRange(GetTriangleListFromMesh(geom, trfToUse));
if (geom is Face)
{
Mesh faceMesh = (geom as Face).Triangulate();
- triangleList.AddRange(GetTriangleListFromMesh(faceMesh, options, trfToUse));
+ triangleList.AddRange(GetTriangleListFromMesh(faceMesh, trfToUse));
}
}
}
+
IFCAnyHandle indexedTriangles = GeometryUtil.GetIndexedTriangles(file, triangleList);
for (int faceCnt = 0; faceCnt < triangleList.Count; ++faceCnt)
{
@@ -2706,7 +2672,7 @@ private static BodyData ExportBodyAsBRep(ExporterIFC exporterIFC, IList facetHnds = (sweptSolidExporter != null) ? sweptSolidExporter.Facets : null;
+ HashSet facetHnds = sweptSolidExporter?.Facets;
if (facetHnds != null && facetHnds.Count != 0)
{
currentFaceHashSetList.Add(facetHnds);
@@ -2718,7 +2684,7 @@ private static BodyData ExportBodyAsBRep(ExporterIFC exporterIFC, IList surfaceSet = null;
- if (faceSets.TryGetValue(materialIds[matToUse], out surfaceSet))
+ if (faceSets.TryGetValue(materialIds[matToUse], out HashSet surfaceSet))
{
surfaceSet.Add(faceSetHnd);
}
else
{
- surfaceSet = new HashSet();
- surfaceSet.Add(faceSetHnd);
+ surfaceSet = new HashSet() { faceSetHnd };
faceSets[materialIds[matToUse]] = surfaceSet;
}
}
@@ -3393,7 +3356,7 @@ public static BodyData ExportBody(ExporterIFC exporterIFC,
addInfo |= GenerateAdditionalInfo.GenerateFootprint;
SweptSolidExporter sweptSolidExporter = SweptSolidExporter.Create(exporterIFC, element, simpleSweptSolidAnalyzer, solid, addInfo: addInfo);
- IFCAnyHandle sweptHandle = (sweptSolidExporter != null) ? sweptSolidExporter.RepresentationItem : null;
+ IFCAnyHandle sweptHandle = sweptSolidExporter?.RepresentationItem;
if (!IFCAnyHandleUtil.IsNullOrHasNoValue(sweptHandle))
{
@@ -3457,14 +3420,14 @@ public static BodyData ExportBody(ExporterIFC exporterIFC,
bodyData.RepresentationHnd =
RepresentationUtil.CreateSweptSolidRep(exporterIFC, element, categoryId, contextOfItems, bodyItemSet, bodyData.RepresentationHnd);
bodyData.ShapeRepresentationType = ShapeRepresentationType.SweptSolid;
- bodyData = SaveMaterialAndFootprintInfo(exporterIFC, bodyData, materialAndProfile, footprintInfoSet, options.CollectFootprintHandle);
+ bodyData = SaveMaterialAndFootprintInfo(bodyData, materialAndProfile, footprintInfoSet, options.CollectFootprintHandle);
}
else if (hasSweptSolids && !hasExtrusions)
{
bodyData.RepresentationHnd =
RepresentationUtil.CreateAdvancedSweptSolidRep(exporterIFC, element, categoryId, contextOfItems, bodyItemSet, bodyData.RepresentationHnd);
bodyData.ShapeRepresentationType = ShapeRepresentationType.AdvancedSweptSolid;
- bodyData = SaveMaterialAndFootprintInfo(exporterIFC, bodyData, materialAndProfile, footprintInfoSet, options.CollectFootprintHandle);
+ bodyData = SaveMaterialAndFootprintInfo(bodyData, materialAndProfile, footprintInfoSet, options.CollectFootprintHandle);
}
else if (hasRepresentationType == ShapeRepresentationType.Tessellation)
{
@@ -3645,13 +3608,8 @@ public static BodyData ExportBody(ExporterIFC exporterIFC,
return ExportBody(exporterIFC, element, categoryId, overrideMaterialId, geomList,
options, exportBodyParams);
}
-
- static void DeleteOrphanedFootprintHnd(IFCAnyHandle footprintHandle)
- {
- RepresentationUtil.DeleteShapeRepresentation(footprintHandle);
- }
-
- static BodyData SaveMaterialAndFootprintInfo(ExporterIFC exporterIFC, BodyData bodyData, MaterialAndProfile materialAndProfile, HashSet footprintInfoSet, bool collectFootprintOption)
+
+ static BodyData SaveMaterialAndFootprintInfo(BodyData bodyData, MaterialAndProfile materialAndProfile, HashSet footprintInfoSet, bool collectFootprintOption)
{
if (materialAndProfile != null)
bodyData.MaterialAndProfile = materialAndProfile;
@@ -3672,27 +3630,6 @@ static BodyData SaveMaterialAndFootprintInfo(ExporterIFC exporterIFC, BodyData b
return bodyData;
}
- static bool IsAllPlanar(GeometryObject geom)
- {
- bool ret = true;
-
- if (geom is Solid)
- {
- Solid solid = geom as Solid;
- foreach (Face f in solid.Faces)
- {
- if (!(f is PlanarFace))
- {
- ret = false;
- break;
- }
- }
- return ret;
- }
- else
- return false;
- }
-
static List> GetTriangleListFromSolid(GeometryObject geomObject, BodyExporterOptions options, Transform trfToUse)
{
List> triangleList = new List>();
@@ -3733,7 +3670,7 @@ static List> GetTriangleListFromSolid(GeometryObject geomObject, BodyE
return triangleList;
}
- static List> GetTriangleListFromMesh(GeometryObject geomObject, BodyExporterOptions options, Transform trfToUse)
+ static List> GetTriangleListFromMesh(GeometryObject geomObject, Transform trfToUse)
{
List> triangleList = new List>();
Mesh geomMesh = geomObject as Mesh;
diff --git a/Source/Revit.IFC.Export/Exporter/CeilingExporter.cs b/Source/Revit.IFC.Export/Exporter/CeilingExporter.cs
index 28905c4c..dd8346dd 100644
--- a/Source/Revit.IFC.Export/Exporter/CeilingExporter.cs
+++ b/Source/Revit.IFC.Export/Exporter/CeilingExporter.cs
@@ -193,7 +193,7 @@ public static void ExportCovering(ExporterIFC exporterIFC, Element element, ref
}
else
{
- ElementId matId = BodyExporter.GetBestMaterialIdFromGeometryOrParameter(geomElem, exporterIFC, element);
+ ElementId matId = BodyExporter.GetBestMaterialIdFromGeometryOrParameter(geomElem, element);
CategoryUtil.CreateMaterialAssociation(exporterIFC, covering, matId);
}
}
diff --git a/Source/Revit.IFC.Export/Exporter/ConnectorExporter.cs b/Source/Revit.IFC.Export/Exporter/ConnectorExporter.cs
index 8211fac3..3ea2d489 100644
--- a/Source/Revit.IFC.Export/Exporter/ConnectorExporter.cs
+++ b/Source/Revit.IFC.Export/Exporter/ConnectorExporter.cs
@@ -498,27 +498,31 @@ public static string GetConnectorParameterFromDescription(Connector connector, s
return parameterValue;
string parsedValue = String.Empty;
-
// For the connectors of pipes or fittings we extract the parameters from the connector's owner
// for others - from the connector itself
- Element owner = connector.Owner;
- bool isPipeConnector = owner is Pipe;
- bool isFittingConnector = owner is FamilyInstance && (owner as FamilyInstance).MEPModel is MechanicalFitting;
- if (isPipeConnector || isFittingConnector)
+ if (!ExporterCacheManager.MEPCache.ConnectorDescriptionCache.TryGetValue(connector, out parsedValue))
{
- // Read description from the parameter with the name based on connector ID
- int connectorId = connector.Id;
- // ID's if pipe connectors are zero-based
- if (isPipeConnector)
- connectorId++;
-
- string descriptionParameter = "PortDescription " + connectorId.ToString();
- ParameterUtil.GetStringValueFromElementOrSymbol(owner, descriptionParameter, out parsedValue);
- }
- else
- {
- parsedValue = connector.Description;
+ Element owner = connector.Owner;
+ if (owner is Pipe ||
+ owner is Duct ||
+ owner is FamilyInstance && (owner as FamilyInstance).MEPModel is MechanicalFitting)
+ {
+ // Read description from the parameter with the name based on connector ID
+ int connectorId = connector.Id;
+ // ID's if pipe connectors are zero-based
+ if (owner is Pipe || owner is Duct)
+ connectorId++;
+
+ string descriptionParameter = "PortDescription " + connectorId.ToString();
+ ParameterUtil.GetStringValueFromElementOrSymbol(owner, descriptionParameter, out parsedValue);
+ }
+ else
+ {
+ parsedValue = connector.Description;
+ }
+ ExporterCacheManager.MEPCache.ConnectorDescriptionCache.Add(connector, parsedValue);
}
+
if (String.IsNullOrEmpty(parsedValue))
return parameterValue;
diff --git a/Source/Revit.IFC.Export/Exporter/CurtainSystemExporter.cs b/Source/Revit.IFC.Export/Exporter/CurtainSystemExporter.cs
index 69070a3f..8d157c53 100644
--- a/Source/Revit.IFC.Export/Exporter/CurtainSystemExporter.cs
+++ b/Source/Revit.IFC.Export/Exporter/CurtainSystemExporter.cs
@@ -186,7 +186,7 @@ public static void ExportCurtainObjectCommonAsContainer(ICollection a
/// The handle.
///
public static IFCAnyHandle ExportCurtainObjectCommonAsOneBRep(ICollection allSubElements, Element wallElement,
- ExporterIFC exporterIFC, PlacementSetter setter, IFCAnyHandle localPlacement)
+ ExporterIFC exporterIFC)
{
IFCAnyHandle prodDefRep = null;
Document document = wallElement.Document;
@@ -231,8 +231,7 @@ public static IFCAnyHandle ExportCurtainObjectCommonAsOneBRep(ICollection a
IFCAnyHandle rep = null;
if (!canExportCurtainWallAsContainer)
{
- rep = ExportCurtainObjectCommonAsOneBRep(allSubElements, element, exporterIFC, setter, localPlacement);
+ rep = ExportCurtainObjectCommonAsOneBRep(allSubElements, element, exporterIFC);
if (IFCAnyHandleUtil.IsNullOrHasNoValue(rep))
return;
}
diff --git a/Source/Revit.IFC.Export/Exporter/DuctLiningExporter.cs b/Source/Revit.IFC.Export/Exporter/DuctLiningExporter.cs
index 5df09247..846db6f5 100644
--- a/Source/Revit.IFC.Export/Exporter/DuctLiningExporter.cs
+++ b/Source/Revit.IFC.Export/Exporter/DuctLiningExporter.cs
@@ -89,7 +89,7 @@ public static bool ExportDuctLining(ExporterIFC exporterIFC, Element element,
productWrapper.AddElement(element, ductLining, placementSetter.LevelInfo, ecData, true, exportInfo);
- ElementId matId = BodyExporter.GetBestMaterialIdFromGeometryOrParameter(geometryElement, exporterIFC, element);
+ ElementId matId = BodyExporter.GetBestMaterialIdFromGeometryOrParameter(geometryElement, element);
CategoryUtil.CreateMaterialAssociation(exporterIFC, ductLining, matId);
}
}
diff --git a/Source/Revit.IFC.Export/Exporter/Exporter.cs b/Source/Revit.IFC.Export/Exporter/Exporter.cs
index 9ab4fe7e..41d7dfa1 100644
--- a/Source/Revit.IFC.Export/Exporter/Exporter.cs
+++ b/Source/Revit.IFC.Export/Exporter/Exporter.cs
@@ -165,8 +165,7 @@ public void ExportIFC(Autodesk.Revit.DB.Document document, ExporterIFC exporterI
ParamExprListener.ResetParamExprInternalDicts();
InitializeElementExporters();
- if (m_ElementExporter != null)
- m_ElementExporter(exporterIFC, document);
+ m_ElementExporter?.Invoke(exporterIFC, document);
EndExport(exporterIFC, document);
WriteIFCFile(exporterIFC, document);
@@ -373,7 +372,7 @@ protected void ExportSpatialElements(ExporterIFC exporterIFC, Autodesk.Revit.DB.
// couldn't be exported above.
// Note that FilteredElementCollector is one use only, so we need to create a new one here.
FilteredElementCollector spatialElementCollector = GetExportElementCollector(document, useFilterViewInCollector);
- SpatialElementExporter.InitializeSpatialElementGeometryCalculator(document, exporterIFC);
+ SpatialElementExporter.InitializeSpatialElementGeometryCalculator(document);
ElementFilter spatialElementFilter = ElementFilteringUtil.GetSpatialElementFilter(document, exporterIFC);
spatialElementCollector.WherePasses(spatialElementFilter);
@@ -648,7 +647,7 @@ public virtual bool ExportElement(ExporterIFC exporterIFC, Autodesk.Revit.DB.Ele
}
catch (System.Exception ex)
{
- HandleUnexpectedException(ex, exporterIFC, element);
+ HandleUnexpectedException(ex, element);
return false;
}
@@ -660,7 +659,7 @@ public virtual bool ExportElement(ExporterIFC exporterIFC, Autodesk.Revit.DB.Ele
///
/// The unexpected exception.
/// The element got the exception.
- internal void HandleUnexpectedException(Exception exception, ExporterIFC exporterIFC, Element element)
+ internal void HandleUnexpectedException(Exception exception, Element element)
{
Document document = element.Document;
string errMsg = String.Format("IFC error: Exporting element \"{0}\",{1} - {2}", element.Name, element.Id, exception.ToString());
@@ -685,7 +684,7 @@ internal void HandleUnexpectedException(Exception exception, ExporterIFC exporte
/// The IFC exporter object.
/// The element to check.
/// True for MEP type of elements.
- private bool IsMEPType(ExporterIFC exporterIFC, Element element, IFCExportInfoPair exportType)
+ private bool IsMEPType(Element element, IFCExportInfoPair exportType)
{
return (ElementFilteringUtil.IsMEPType(exportType) || ElementFilteringUtil.ProxyForMEPType(element, exportType));
}
@@ -975,7 +974,7 @@ public virtual void ExportElementImpl(ExporterIFC exporterIFC, Element element,
// We would then in addition have specialized functions that would convert specific Revit elements to specific IFC instances where extra information
// could be gathered from the element.
bool exported = false;
- if (IsMEPType(exporterIFC, element, exportType))
+ if (IsMEPType(element, exportType))
{
exported = GenericMEPExporter.Export(exporterIFC, element, geomElem, exportType, ifcEnumType, productWrapper);
}
@@ -2027,9 +2026,9 @@ private void WriteIFCFile(ExporterIFC exporterIFC, Document document)
descriptions.Add("Options [Excluded Entities: " + ExporterCacheManager.ExportOptionsCache.ExcludeFilter + "]");
}
- string projectNumber = (projectInfo != null) ? projectInfo.Number : null;
- string projectName = (projectInfo != null) ? projectInfo.Name : null;
- string projectStatus = (projectInfo != null) ? projectInfo.Status : null;
+ string projectNumber = projectInfo?.Number;
+ string projectName = projectInfo?.Name;
+ string projectStatus = projectInfo?.Status;
if (projectNumber == null)
projectNumber = string.Empty;
@@ -2485,7 +2484,7 @@ private void CreateProject(ExporterIFC exporterIFC, Document doc, IFCAnyHandle a
}
else
{
- IFCAnyHandle telecomAddress = GetTelecomAddressFromExtStorage(file, doc);
+ IFCAnyHandle telecomAddress = GetTelecomAddressFromExtStorage(file);
IList telecomAddresses = null;
if (telecomAddress != null)
{
@@ -2542,8 +2541,8 @@ private void CreateProject(ExporterIFC exporterIFC, Document doc, IFCAnyHandle a
else
{
// As per IFC implementer's agreement, we get IfcProject.Name from ProjectInfo.Number and IfcProject.Longname from ProjectInfo.Name
- projectName = (projectInfo != null) ? projectInfo.Number : null;
- projectLongName = (projectInfo != null) ? projectInfo.Name : null;
+ projectName = projectInfo?.Number;
+ projectLongName = projectInfo?.Name;
// Get project description if it is set in the Project info
projectDescription = (projectInfo != null) ? NamingUtil.GetDescriptionOverride(projectInfo, null) : null;
@@ -2600,7 +2599,7 @@ private void CreateContact(IFCFile file, string category, string company, string
IFCAnyHandle contactEntry = IFCInstanceExporter.CreatePersonAndOrganization(file, contactPerson, contactOrganization, actorRoles);
}
- private IFCAnyHandle GetTelecomAddressFromExtStorage(IFCFile file, Document document)
+ private IFCAnyHandle GetTelecomAddressFromExtStorage(IFCFile file)
{
IFCFileHeaderItem fHItem = ExporterCacheManager.ExportOptionsCache.FileHeaderItem;
if (!String.IsNullOrEmpty(fHItem.AuthorEmail))
@@ -3228,10 +3227,11 @@ private IFCAnyHandle CreateDefaultUnits(ExporterIFC exporterIFC, Document doc)
}
// Power - support metric watt only.
+ IFCAnyHandle powerSIUnit = null;
{
- IFCAnyHandle voltageSIUnit = CreateSIUnit(file, SpecTypeId.HvacPower, IFCUnit.PowerUnit, IFCSIUnitName.Watt,
+ powerSIUnit = CreateSIUnit(file, SpecTypeId.HvacPower, IFCUnit.PowerUnit, IFCSIUnitName.Watt,
null, UnitTypeId.Watts);
- unitSet.Add(voltageSIUnit); // created above, so unique.
+ unitSet.Add(powerSIUnit); // created above, so unique.
}
// Force - support newtons (N) and kN only.
@@ -3301,6 +3301,19 @@ private IFCAnyHandle CreateDefaultUnits(ExporterIFC exporterIFC, Document doc)
unitSet.Add(luminousEfficacyUnit);
}
+ // Sound Power - support watt only.
+ {
+ ISet elements = new HashSet();
+ elements.Add(IFCInstanceExporter.CreateDerivedUnitElement(file, powerSIUnit, 1));
+
+ IFCAnyHandle soundPowerUnit = IFCInstanceExporter.CreateDerivedUnit(file, elements,
+ IFCDerivedUnitEnum.SoundPowerUnit, null);
+ unitSet.Add(soundPowerUnit);
+
+ double soundPowerFactor = UnitUtils.ConvertFromInternalUnits(1.0, UnitTypeId.Watts);
+ ExporterCacheManager.UnitsCache.AddUnit(SpecTypeId.Wattage, soundPowerUnit, soundPowerFactor, 0.0);
+ }
+
// Linear Velocity - support m/s only.
{
ISet elements = new HashSet();
@@ -4025,24 +4038,19 @@ private bool ExportCachedSystem(ExporterIFC exporterIFC, Document doc, IFCFile f
string systemGUID = GUIDUtil.CreateGUID(systemElem);
IFCAnyHandle systemHandle = null;
- string ifcEnumType;
- IFCExportInfoPair exportAs = ExporterUtil.GetObjectExportType(exporterIFC, systemElem, out ifcEnumType);
- if (exportAs.ExportInstance == IFCEntityType.IfcDistributionSystem)
+ if (ExporterCacheManager.ExportOptionsCache.ExportAsOlderThanIFC4)
{
- if (exportAs.ValidatedPredefinedType == null)
- {
- Toolkit.IFC4.IFCDistributionSystem systemType = ConnectorExporter.GetMappedIFCDistributionSystemFromElement(systemElem);
- exportAs.ValidatedPredefinedType = IFCValidateEntry.ValidateStrEnum(systemType.ToString());
- }
-
- string longName = NamingUtil.GetLongNameOverride(systemElem, null);
- systemHandle = IFCInstanceExporter.CreateDistributionSystem(file, exportAs, systemGUID,
- ownerHistory, name, desc, objectType, longName);
+ systemHandle = IFCInstanceExporter.CreateSystem(file, systemGUID,
+ ownerHistory, name, desc, objectType);
}
else
{
- systemHandle = IFCInstanceExporter.CreateSystem(file, systemGUID,
- ownerHistory, name, desc, objectType);
+ string longName = NamingUtil.GetLongNameOverride(systemElem, null);
+ Toolkit.IFC4.IFCDistributionSystem systemType = ConnectorExporter.GetMappedIFCDistributionSystemFromElement(systemElem);
+ string predefinedType = IFCValidateEntry.ValidateStrEnum(systemType.ToString());
+
+ systemHandle = IFCInstanceExporter.CreateDistributionSystem(file, systemGUID,
+ ownerHistory, name, desc, objectType, longName, predefinedType);
}
if (systemHandle == null)
diff --git a/Source/Revit.IFC.Export/Exporter/ExporterInitializer.cs b/Source/Revit.IFC.Export/Exporter/ExporterInitializer.cs
index 604daa59..b7c3a87b 100644
--- a/Source/Revit.IFC.Export/Exporter/ExporterInitializer.cs
+++ b/Source/Revit.IFC.Export/Exporter/ExporterInitializer.cs
@@ -107,6 +107,7 @@ public static void InitPropertySets(Exporter.PropertySetsToExport propertySetsTo
propertySetsToExport += InitCommonPropertySets;
propertySetsToExport += InitExtraCommonPropertySets;
+ propertySetsToExport += InitPredefinedPropertySets;
}
if (ExporterCacheManager.ExportOptionsCache.PropertySetOptions.ExportSchedulesAsPsets)
@@ -133,8 +134,7 @@ public static void InitPropertySets(Exporter.PropertySetsToExport propertySetsTo
propertySetsToExport += InitCOBIEPropertySets;
}
- if (propertySetsToExport != null)
- propertySetsToExport(cache.PropertySets);
+ propertySetsToExport?.Invoke(cache.PropertySets);
}
///
@@ -148,10 +148,20 @@ public static void InitQuantities(Exporter.QuantitiesToExport quantitiesToExport
if (exportBaseQuantities)
{
- if (quantitiesToExport == null)
- quantitiesToExport = InitBaseQuantities;
+ if (ExporterCacheManager.ExportOptionsCache.ExportAsOlderThanIFC4)
+ {
+ if (quantitiesToExport == null)
+ quantitiesToExport = InitBaseQuantities;
+ else
+ quantitiesToExport += InitBaseQuantities;
+ }
else
- quantitiesToExport += InitBaseQuantities;
+ {
+ if (quantitiesToExport == null)
+ quantitiesToExport = InitQtoSets;
+ else
+ quantitiesToExport += InitQtoSets;
+ }
}
if (ExporterCacheManager.ExportOptionsCache.ExportAsCOBIE)
@@ -162,8 +172,7 @@ public static void InitQuantities(Exporter.QuantitiesToExport quantitiesToExport
quantitiesToExport += InitCOBIEQuantities;
}
- if (quantitiesToExport != null)
- quantitiesToExport(cache.Quantities);
+ quantitiesToExport?.Invoke(cache.Quantities);
}
private static ISet GetListOfRelatedEntities(IFCEntityType entityType)
@@ -416,6 +425,13 @@ private static void InitUserDefinedPropertySets(IList
/// Initializes custom property sets from schedules.
///
@@ -497,54 +513,76 @@ from viewSchedule in viewScheduleElementCollector
ScheduleField field = definition.GetField(ii);
ScheduleFieldType fieldType = field.FieldType;
- if (fieldType != ScheduleFieldType.Instance && fieldType != ScheduleFieldType.ElementType)
- continue;
-
- ElementId parameterId = field.ParameterId;
- if (parameterId == ElementId.InvalidElementId)
+ if (!IsSupportedFieldType(fieldType))
continue;
- // We use asBuiltInParameterId to get the parameter by id below. We don't want to use it later, however, so
- // we store builtInParameterId only if it is a proper member of the enumeration.
- BuiltInParameter asBuiltInParameterId = (BuiltInParameter)parameterId.IntegerValue;
- BuiltInParameter builtInParameterId =
- Enum.IsDefined(typeof(BuiltInParameter), asBuiltInParameterId) ? asBuiltInParameterId : BuiltInParameter.INVALID;
-
- Parameter containedElementParameter = null;
+ // Check if it is a combined parameter. If so, calculate the formula later
+ // as necessary.
+ PropertySetEntry ifcPSE = null;
- // We could cache the actual elements when we store the element ids. However, this would almost certainly take more
- // time than getting one of the first few elements in the collector.
- foreach (Element containedElement in elementsInViewScheduleCollector)
+ switch (fieldType)
{
- if (fieldType == ScheduleFieldType.Instance)
- containedElementParameter = containedElement.get_Parameter(asBuiltInParameterId);
-
- // shared parameters can return ScheduleFieldType.Instance, even if they are type parameters, so take a look.
- if (containedElementParameter == null)
- {
- ElementId containedElementTypeId = containedElement.GetTypeId();
- Element containedElementType = null;
- if (containedElementTypeId != ElementId.InvalidElementId)
+ case ScheduleFieldType.CombinedParameter:
+ {
+ ifcPSE = PropertySetEntry.CreateParameterEntry(field.ColumnHeading, field.GetCombinedParameters());
+ break;
+ }
+ default:
{
- if (!cachedElementTypes.TryGetValue(containedElementTypeId, out containedElementType))
+ ElementId parameterId = field.ParameterId;
+ if (parameterId == ElementId.InvalidElementId)
+ continue;
+
+ // We use asBuiltInParameterId to get the parameter by id below. We don't want to use it later, however, so
+ // we store builtInParameterId only if it is a proper member of the enumeration.
+ BuiltInParameter asBuiltInParameterId = (BuiltInParameter)parameterId.IntegerValue;
+ BuiltInParameter builtInParameterId =
+ Enum.IsDefined(typeof(BuiltInParameter), asBuiltInParameterId) ? asBuiltInParameterId : BuiltInParameter.INVALID;
+
+ // We could cache the actual elements when we store the element ids. However,
+ // this would almost certainly take more time than getting one of the first
+ // few elements in the collector.
+ foreach (Element containedElement in elementsInViewScheduleCollector)
{
- containedElementType = document.GetElement(containedElementTypeId);
- cachedElementTypes[containedElementTypeId] = containedElementType;
+ Parameter containedElementParameter = null;
+
+ if (fieldType == ScheduleFieldType.Instance)
+ containedElementParameter = containedElement.get_Parameter(asBuiltInParameterId);
+
+ // shared parameters can return ScheduleFieldType.Instance, even if they are type parameters, so take a look.
+ if (containedElementParameter == null)
+ {
+ ElementId containedElementTypeId = containedElement.GetTypeId();
+ Element containedElementType = null;
+ if (containedElementTypeId != ElementId.InvalidElementId)
+ {
+ if (!cachedElementTypes.TryGetValue(containedElementTypeId, out containedElementType))
+ {
+ containedElementType = document.GetElement(containedElementTypeId);
+ cachedElementTypes[containedElementTypeId] = containedElementType;
+ }
+ }
+
+ if (containedElementType != null)
+ containedElementParameter = containedElementType.get_Parameter(asBuiltInParameterId);
+ }
+
+ if (containedElementParameter != null)
+ {
+ ifcPSE = PropertySetEntry.CreateParameterEntry(containedElementParameter, builtInParameterId);
+ break;
+ }
}
- }
- if (containedElementType != null)
- containedElementParameter = containedElementType.get_Parameter(asBuiltInParameterId);
- }
- if (containedElementParameter != null)
- break;
+ break;
+ }
}
- if (containedElementParameter == null)
- continue;
- PropertySetEntry ifcPSE = PropertySetEntry.CreateParameterEntry(containedElementParameter, builtInParameterId);
- ifcPSE.PropertyName = field.ColumnHeading;
- customPSet.AddEntry(ifcPSE);
+ if (ifcPSE != null)
+ {
+ ifcPSE.PropertyName = field.ColumnHeading;
+ customPSet.AddEntry(ifcPSE);
+ }
}
customPropertySets.Add(customPSet);
@@ -969,6 +1007,60 @@ private static void InitPlateBaseQuantities(IList baseQuant
baseQuantities.Add(ifcPlateQuantity);
}
+ ///
+ /// Init Duct Fitting Quantities
+ ///
+ /// The list of all of the quantity sets.
+ private static void InitDuctFittingBaseQuantities(IList baseQuantities)
+ {
+ QuantityDescription ifcDuctFittingQuantities = new QuantityDescription("DuctFitting", IFCEntityType.IfcDuctFitting);
+ ifcDuctFittingQuantities.AddEntry("Length", QuantityType.PositiveLength, LengthCalculator.Instance);
+ ifcDuctFittingQuantities.AddEntry("GrossCrossSectionArea", QuantityType.Area, GrossCrossSectionAreaCalculator.Instance);
+ ifcDuctFittingQuantities.AddEntry("NetCrossSectionArea", QuantityType.Area, NetCrossSectionAreaCalculator.Instance);
+ ifcDuctFittingQuantities.AddEntry("OuterSurfaceArea", QuantityType.Area, OuterSurfaceAreaCalculator.Instance);
+ ifcDuctFittingQuantities.AddEntry("GrossWeight", QuantityType.Weight, GrossWeightCalculator.Instance);
+
+ baseQuantities.Add(ifcDuctFittingQuantities);
+ }
+
+ private static void InitElectricApplianceBaseQuantities(IList baseQuantities)
+ {
+ QuantityDescription ifcElectricApplianceQuantities = new QuantityDescription("ElectricAppliance", IFCEntityType.IfcElectricAppliance);
+ ifcElectricApplianceQuantities.AddEntry("GrossWeight", QuantityType.Weight, GrossWeightCalculator.Instance);
+
+ baseQuantities.Add(ifcElectricApplianceQuantities);
+ }
+
+ private static void InitCableCarrierFittingBaseQuantities(IList baseQuantities)
+ {
+ QuantityDescription ifcCableCarrierFittingQuantities = new QuantityDescription("CableCarrierFitting", IFCEntityType.IfcCableCarrierFitting);
+ ifcCableCarrierFittingQuantities.AddEntry("GrossWeight", QuantityType.Weight, GrossWeightCalculator.Instance);
+
+ baseQuantities.Add(ifcCableCarrierFittingQuantities);
+ }
+
+ private static void InitCableCarrierSegmentQuantities(IList baseQuantities)
+ {
+ QuantityDescription ifcCableCarrierSegmentQuantities = new QuantityDescription("CableCarrierSegment", IFCEntityType.IfcCableCarrierSegment);
+ ifcCableCarrierSegmentQuantities.AddEntry("Length", QuantityType.PositiveLength, LengthCalculator.Instance);
+ ifcCableCarrierSegmentQuantities.AddEntry("CrossSectionArea", QuantityType.Area, CrossSectionAreaCalculator.Instance);
+ ifcCableCarrierSegmentQuantities.AddEntry("OuterSurfaceArea", QuantityType.Area, OuterSurfaceAreaCalculator.Instance);
+ ifcCableCarrierSegmentQuantities.AddEntry("GrossWeight", QuantityType.Weight, GrossWeightCalculator.Instance);
+
+ baseQuantities.Add(ifcCableCarrierSegmentQuantities);
+ }
+
+ private static void InitCableSegmentQuantities(IList baseQuantities)
+ {
+ QuantityDescription ifcCableSegmentQuantities = new QuantityDescription("CableSegment", IFCEntityType.IfcCableSegment);
+ ifcCableSegmentQuantities.AddEntry("Length", QuantityType.PositiveLength, LengthCalculator.Instance);
+ ifcCableSegmentQuantities.AddEntry("CrossSectionArea", QuantityType.Area, CrossSectionAreaCalculator.Instance);
+ ifcCableSegmentQuantities.AddEntry("OuterSurfaceArea", QuantityType.Area, OuterSurfaceAreaCalculator.Instance);
+ ifcCableSegmentQuantities.AddEntry("GrossWeight", QuantityType.Weight, GrossWeightCalculator.Instance);
+
+ baseQuantities.Add(ifcCableSegmentQuantities);
+ }
+
///
/// Initializes base quantities.
///
@@ -993,6 +1085,13 @@ private static void InitBaseQuantities(IList> quantit
InitSpaceBaseQuantities(baseQuantities);
InitStairFlightBaseQuantities(baseQuantities);
InitWindowBaseQuantities(baseQuantities);
+
+ // MEP Quantities
+ InitDuctFittingBaseQuantities(baseQuantities);
+ InitElectricApplianceBaseQuantities(baseQuantities);
+ InitCableCarrierFittingBaseQuantities(baseQuantities);
+ InitCableCarrierSegmentQuantities(baseQuantities);
+ InitCableSegmentQuantities(baseQuantities);
quantities.Add(baseQuantities);
}
diff --git a/Source/Revit.IFC.Export/Exporter/ExporterInitializer_PsetDef.cs b/Source/Revit.IFC.Export/Exporter/ExporterInitializer_PsetDef.cs
index 80fda378..c63ca876 100644
--- a/Source/Revit.IFC.Export/Exporter/ExporterInitializer_PsetDef.cs
+++ b/Source/Revit.IFC.Export/Exporter/ExporterInitializer_PsetDef.cs
@@ -531,6 +531,924 @@ public static void InitCommonPropertySets(IList> p
propertySets.Add(commonPropertySets);
}
+ public static void InitPredefinedPropertySets(IList> propertySets)
+ {
+ IList predefinedPropertySets = new List();
+ InitIfcDoorLiningProperties(predefinedPropertySets);
+ InitIfcDoorPanelProperties(predefinedPropertySets);
+ InitIfcPermeableCoveringProperties(predefinedPropertySets);
+ InitIfcReinforcementDefinitionProperties(predefinedPropertySets);
+ InitIfcWindowLiningProperties(predefinedPropertySets);
+ InitIfcWindowPanelProperties(predefinedPropertySets);
+
+ propertySets.Add(predefinedPropertySets);
+ }
+
+ private static void InitIfcDoorLiningProperties(IList commonPropertySets)
+ {
+ PropertySetDescription IfcDoorLiningProperties = new PropertySetDescription();
+ IfcDoorLiningProperties.Name = "IfcDoorLiningProperties";
+ PropertySetEntry ifcPSE = null;
+ Type calcType = null;
+ if (ExporterCacheManager.ExportOptionsCache.ExportAs2x2 && certifiedEntityAndPsetList.AllowPsetToBeCreated(ExporterCacheManager.ExportOptionsCache.FileVersion.ToString().ToUpper(), "IfcDoorLiningProperties"))
+ {
+ IfcDoorLiningProperties.EntityTypes.Add(IFCEntityType.IfcDoor);
+ IfcDoorLiningProperties.EntityTypes.Add(IFCEntityType.IfcDoorStyle);
+ ifcPSE = new PropertySetEntry("LiningDepth");
+ ifcPSE.PropertyName = "LiningDepth";
+ ifcPSE.PropertyType = PropertyType.PositiveLength;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.LiningDepthCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcDoorLiningProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("ThresholdDepth");
+ ifcPSE.PropertyName = "ThresholdDepth";
+ ifcPSE.PropertyType = PropertyType.PositiveLength;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.ThresholdDepthCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcDoorLiningProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("TransomOffset");
+ ifcPSE.PropertyName = "TransomOffset";
+ ifcPSE.PropertyType = PropertyType.Length;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.TransomOffsetCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcDoorLiningProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("LiningOffset");
+ ifcPSE.PropertyName = "LiningOffset";
+ ifcPSE.PropertyType = PropertyType.Length;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.LiningOffsetCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcDoorLiningProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("ThresholdOffset");
+ ifcPSE.PropertyName = "ThresholdOffset";
+ ifcPSE.PropertyType = PropertyType.Length;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.ThresholdOffsetCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcDoorLiningProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("CasingThickness");
+ ifcPSE.PropertyName = "CasingThickness";
+ ifcPSE.PropertyType = PropertyType.PositiveLength;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.CasingThicknessCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcDoorLiningProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("CasingDepth");
+ ifcPSE.PropertyName = "CasingDepth";
+ ifcPSE.PropertyType = PropertyType.PositiveLength;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.CasingDepthCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcDoorLiningProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("LiningThickness");
+ ifcPSE.PropertyName = "LiningThickness";
+ ifcPSE.PropertyType = PropertyType.PositiveLength;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.LiningThicknessCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcDoorLiningProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("ThresholdThickness");
+ ifcPSE.PropertyName = "ThresholdThickness";
+ ifcPSE.PropertyType = PropertyType.PositiveLength;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.ThresholdThicknessCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcDoorLiningProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("TransomThickness");
+ ifcPSE.PropertyName = "TransomThickness";
+ ifcPSE.PropertyType = PropertyType.PositiveLength;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.TransomThicknessCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcDoorLiningProperties.AddEntry(ifcPSE);
+
+ }
+ if (ExporterCacheManager.ExportOptionsCache.ExportAs2x3 && certifiedEntityAndPsetList.AllowPsetToBeCreated(ExporterCacheManager.ExportOptionsCache.FileVersion.ToString().ToUpper(), "IfcDoorLiningProperties"))
+ {
+ IfcDoorLiningProperties.EntityTypes.Add(IFCEntityType.IfcDoor);
+ IfcDoorLiningProperties.EntityTypes.Add(IFCEntityType.IfcDoorStyle);
+ ifcPSE = new PropertySetEntry("LiningDepth");
+ ifcPSE.PropertyName = "LiningDepth";
+ ifcPSE.PropertyType = PropertyType.PositiveLength;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.LiningDepthCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcDoorLiningProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("ThresholdDepth");
+ ifcPSE.PropertyName = "ThresholdDepth";
+ ifcPSE.PropertyType = PropertyType.PositiveLength;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.ThresholdDepthCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcDoorLiningProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("TransomOffset");
+ ifcPSE.PropertyName = "TransomOffset";
+ ifcPSE.PropertyType = PropertyType.Length;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.TransomOffsetCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcDoorLiningProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("LiningOffset");
+ ifcPSE.PropertyName = "LiningOffset";
+ ifcPSE.PropertyType = PropertyType.Length;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.LiningOffsetCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcDoorLiningProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("ThresholdOffset");
+ ifcPSE.PropertyName = "ThresholdOffset";
+ ifcPSE.PropertyType = PropertyType.Length;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.ThresholdOffsetCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcDoorLiningProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("CasingThickness");
+ ifcPSE.PropertyName = "CasingThickness";
+ ifcPSE.PropertyType = PropertyType.PositiveLength;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.CasingThicknessCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcDoorLiningProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("CasingDepth");
+ ifcPSE.PropertyName = "CasingDepth";
+ ifcPSE.PropertyType = PropertyType.PositiveLength;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.CasingDepthCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcDoorLiningProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("LiningThickness");
+ ifcPSE.PropertyName = "LiningThickness";
+ ifcPSE.PropertyType = PropertyType.PositiveLength;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.LiningThicknessCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcDoorLiningProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("ThresholdThickness");
+ ifcPSE.PropertyName = "ThresholdThickness";
+ ifcPSE.PropertyType = PropertyType.PositiveLength;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.ThresholdThicknessCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcDoorLiningProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("TransomThickness");
+ ifcPSE.PropertyName = "TransomThickness";
+ ifcPSE.PropertyType = PropertyType.PositiveLength;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.TransomThicknessCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcDoorLiningProperties.AddEntry(ifcPSE);
+
+ }
+ if (ExporterCacheManager.ExportOptionsCache.ExportAs4 && certifiedEntityAndPsetList.AllowPsetToBeCreated(ExporterCacheManager.ExportOptionsCache.FileVersion.ToString().ToUpper(), "IfcDoorLiningProperties"))
+ {
+ IfcDoorLiningProperties.EntityTypes.Add(IFCEntityType.IfcDoor);
+ IfcDoorLiningProperties.EntityTypes.Add(IFCEntityType.IfcDoorType);
+ ifcPSE = new PropertySetEntry("LiningDepth");
+ ifcPSE.PropertyName = "LiningDepth";
+ ifcPSE.PropertyType = PropertyType.PositiveLength;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.LiningDepthCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcDoorLiningProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("ThresholdDepth");
+ ifcPSE.PropertyName = "ThresholdDepth";
+ ifcPSE.PropertyType = PropertyType.PositiveLength;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.ThresholdDepthCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcDoorLiningProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("TransomOffset");
+ ifcPSE.PropertyName = "TransomOffset";
+ ifcPSE.PropertyType = PropertyType.Length;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.TransomOffsetCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcDoorLiningProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("LiningOffset");
+ ifcPSE.PropertyName = "LiningOffset";
+ ifcPSE.PropertyType = PropertyType.Length;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.LiningOffsetCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcDoorLiningProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("ThresholdOffset");
+ ifcPSE.PropertyName = "ThresholdOffset";
+ ifcPSE.PropertyType = PropertyType.Length;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.ThresholdOffsetCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcDoorLiningProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("CasingThickness");
+ ifcPSE.PropertyName = "CasingThickness";
+ ifcPSE.PropertyType = PropertyType.PositiveLength;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.CasingThicknessCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcDoorLiningProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("CasingDepth");
+ ifcPSE.PropertyName = "CasingDepth";
+ ifcPSE.PropertyType = PropertyType.PositiveLength;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.CasingDepthCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcDoorLiningProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("LiningThickness");
+ ifcPSE.PropertyName = "LiningThickness";
+ ifcPSE.PropertyType = PropertyType.NonNegativeLength;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.LiningThicknessCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcDoorLiningProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("ThresholdThickness");
+ ifcPSE.PropertyName = "ThresholdThickness";
+ ifcPSE.PropertyType = PropertyType.NonNegativeLength;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.ThresholdThicknessCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcDoorLiningProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("TransomThickness");
+ ifcPSE.PropertyName = "TransomThickness";
+ ifcPSE.PropertyType = PropertyType.NonNegativeLength;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.TransomThicknessCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcDoorLiningProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("LiningToPanelOffsetX");
+ ifcPSE.PropertyName = "LiningToPanelOffsetX";
+ ifcPSE.PropertyType = PropertyType.Length;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.LiningToPanelOffsetXCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcDoorLiningProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("LiningToPanelOffsetY");
+ ifcPSE.PropertyName = "LiningToPanelOffsetY";
+ ifcPSE.PropertyType = PropertyType.Length;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.LiningToPanelOffsetYCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcDoorLiningProperties.AddEntry(ifcPSE);
+
+ }
+ if (ifcPSE != null)
+ {
+ commonPropertySets.Add(IfcDoorLiningProperties);
+ }
+ }
+
+
+ private static void InitIfcDoorPanelProperties(IList commonPropertySets)
+ {
+ PropertySetDescription IfcDoorPanelProperties = new PropertySetDescription();
+ IfcDoorPanelProperties.Name = "IfcDoorPanelProperties";
+ PropertySetEntry ifcPSE = null;
+ Type calcType = null;
+ if (ExporterCacheManager.ExportOptionsCache.ExportAs2x2 && certifiedEntityAndPsetList.AllowPsetToBeCreated(ExporterCacheManager.ExportOptionsCache.FileVersion.ToString().ToUpper(), "IfcDoorPanelProperties"))
+ {
+ IfcDoorPanelProperties.EntityTypes.Add(IFCEntityType.IfcDoor);
+ IfcDoorPanelProperties.EntityTypes.Add(IFCEntityType.IfcDoorStyle);
+ ifcPSE = new PropertySetEntry("PanelDepth");
+ ifcPSE.PropertyName = "PanelDepth";
+ ifcPSE.PropertyType = PropertyType.PositiveLength;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.PanelDepthCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcDoorPanelProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("PanelWidth");
+ ifcPSE.PropertyName = "PanelWidth";
+ ifcPSE.PropertyType = PropertyType.NormalisedRatio;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.PanelWidthCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcDoorPanelProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("PanelOperation");
+ ifcPSE.PropertyName = "PanelOperation";
+ ifcPSE.PropertyType = PropertyType.Label;
+ ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X2.IFCDoorPanelOperation);
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.PanelOperationCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcDoorPanelProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("PanelPosition");
+ ifcPSE.PropertyName = "PanelPosition";
+ ifcPSE.PropertyType = PropertyType.Label;
+ ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X2.IFCDoorPanelPosition);
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.PanelPositionCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcDoorPanelProperties.AddEntry(ifcPSE);
+
+ }
+ if (ExporterCacheManager.ExportOptionsCache.ExportAs2x3 && certifiedEntityAndPsetList.AllowPsetToBeCreated(ExporterCacheManager.ExportOptionsCache.FileVersion.ToString().ToUpper(), "IfcDoorPanelProperties"))
+ {
+ IfcDoorPanelProperties.EntityTypes.Add(IFCEntityType.IfcDoor);
+ IfcDoorPanelProperties.EntityTypes.Add(IFCEntityType.IfcDoorStyle);
+ ifcPSE = new PropertySetEntry("PanelDepth");
+ ifcPSE.PropertyName = "PanelDepth";
+ ifcPSE.PropertyType = PropertyType.PositiveLength;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.PanelDepthCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcDoorPanelProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("PanelWidth");
+ ifcPSE.PropertyName = "PanelWidth";
+ ifcPSE.PropertyType = PropertyType.NormalisedRatio;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.PanelWidthCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcDoorPanelProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("PanelOperation");
+ ifcPSE.PropertyName = "PanelOperation";
+ ifcPSE.PropertyType = PropertyType.Label;
+ ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.IFCDoorPanelOperation);
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.PanelOperationCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcDoorPanelProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("PanelPosition");
+ ifcPSE.PropertyName = "PanelPosition";
+ ifcPSE.PropertyType = PropertyType.Label;
+ ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.IFCDoorPanelPosition);
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.PanelPositionCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcDoorPanelProperties.AddEntry(ifcPSE);
+
+ }
+ if (ExporterCacheManager.ExportOptionsCache.ExportAs4 && certifiedEntityAndPsetList.AllowPsetToBeCreated(ExporterCacheManager.ExportOptionsCache.FileVersion.ToString().ToUpper(), "IfcDoorPanelProperties"))
+ {
+ IfcDoorPanelProperties.EntityTypes.Add(IFCEntityType.IfcDoor);
+ IfcDoorPanelProperties.EntityTypes.Add(IFCEntityType.IfcDoorType);
+ ifcPSE = new PropertySetEntry("PanelDepth");
+ ifcPSE.PropertyName = "PanelDepth";
+ ifcPSE.PropertyType = PropertyType.PositiveLength;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.PanelDepthCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcDoorPanelProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("PanelWidth");
+ ifcPSE.PropertyName = "PanelWidth";
+ ifcPSE.PropertyType = PropertyType.NormalisedRatio;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.PanelWidthCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcDoorPanelProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("PanelOperation");
+ ifcPSE.PropertyName = "PanelOperation";
+ ifcPSE.PropertyType = PropertyType.Label;
+ ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC4.IFCDoorPanelOperation);
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.PanelOperationCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcDoorPanelProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("PanelPosition");
+ ifcPSE.PropertyName = "PanelPosition";
+ ifcPSE.PropertyType = PropertyType.Label;
+ ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC4.IFCDoorPanelPosition);
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.PanelPositionCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcDoorPanelProperties.AddEntry(ifcPSE);
+
+ }
+ if (ifcPSE != null)
+ {
+ commonPropertySets.Add(IfcDoorPanelProperties);
+ }
+ }
+
+
+ private static void InitIfcPermeableCoveringProperties(IList commonPropertySets)
+ {
+ PropertySetDescription IfcPermeableCoveringProperties = new PropertySetDescription();
+ IfcPermeableCoveringProperties.Name = "IfcPermeableCoveringProperties";
+ PropertySetEntry ifcPSE = null;
+ Type calcType = null;
+ if (ExporterCacheManager.ExportOptionsCache.ExportAs4 && certifiedEntityAndPsetList.AllowPsetToBeCreated(ExporterCacheManager.ExportOptionsCache.FileVersion.ToString().ToUpper(), "IfcPermeableCoveringProperties"))
+ {
+ IfcPermeableCoveringProperties.EntityTypes.Add(IFCEntityType.IfcDoor);
+ IfcPermeableCoveringProperties.EntityTypes.Add(IFCEntityType.IfcWindow);
+ IfcPermeableCoveringProperties.EntityTypes.Add(IFCEntityType.IfcDoorType);
+ IfcPermeableCoveringProperties.EntityTypes.Add(IFCEntityType.IfcWindowType);
+ ifcPSE = new PropertySetEntry("OperationType");
+ ifcPSE.PropertyName = "OperationType";
+ ifcPSE.PropertyType = PropertyType.Label;
+ ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC4.IFCPermeableCoveringOperation);
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.OperationTypeCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcPermeableCoveringProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("PanelPosition");
+ ifcPSE.PropertyName = "PanelPosition";
+ ifcPSE.PropertyType = PropertyType.Label;
+ ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC4.IFCWindowPanelPosition);
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.PanelPositionCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcPermeableCoveringProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("FrameDepth");
+ ifcPSE.PropertyName = "FrameDepth";
+ ifcPSE.PropertyType = PropertyType.PositiveLength;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.FrameDepthCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcPermeableCoveringProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("FrameThickness");
+ ifcPSE.PropertyName = "FrameThickness";
+ ifcPSE.PropertyType = PropertyType.PositiveLength;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.FrameThicknessCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcPermeableCoveringProperties.AddEntry(ifcPSE);
+
+ }
+ if (ifcPSE != null)
+ {
+ commonPropertySets.Add(IfcPermeableCoveringProperties);
+ }
+ }
+
+
+ private static void InitIfcReinforcementDefinitionProperties(IList commonPropertySets)
+ {
+ PropertySetDescription IfcReinforcementDefinitionProperties = new PropertySetDescription();
+ IfcReinforcementDefinitionProperties.Name = "IfcReinforcementDefinitionProperties";
+ PropertySetEntry ifcPSE = null;
+ Type calcType = null;
+ if (ExporterCacheManager.ExportOptionsCache.ExportAs2x2 && certifiedEntityAndPsetList.AllowPsetToBeCreated(ExporterCacheManager.ExportOptionsCache.FileVersion.ToString().ToUpper(), "IfcReinforcementDefinitionProperties"))
+ {
+ IfcReinforcementDefinitionProperties.EntityTypes.Add(IFCEntityType.IfcReinforcingElement);
+ ifcPSE = new PropertySetEntry("DefinitionType");
+ ifcPSE.PropertyName = "DefinitionType";
+ ifcPSE.PropertyType = PropertyType.Label;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.DefinitionTypeCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcReinforcementDefinitionProperties.AddEntry(ifcPSE);
+
+ }
+ if (ExporterCacheManager.ExportOptionsCache.ExportAs2x3 && certifiedEntityAndPsetList.AllowPsetToBeCreated(ExporterCacheManager.ExportOptionsCache.FileVersion.ToString().ToUpper(), "IfcReinforcementDefinitionProperties"))
+ {
+ IfcReinforcementDefinitionProperties.EntityTypes.Add(IFCEntityType.IfcReinforcingElement);
+ ifcPSE = new PropertySetEntry("DefinitionType");
+ ifcPSE.PropertyName = "DefinitionType";
+ ifcPSE.PropertyType = PropertyType.Label;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.DefinitionTypeCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcReinforcementDefinitionProperties.AddEntry(ifcPSE);
+
+ }
+ if (ExporterCacheManager.ExportOptionsCache.ExportAs4 && certifiedEntityAndPsetList.AllowPsetToBeCreated(ExporterCacheManager.ExportOptionsCache.FileVersion.ToString().ToUpper(), "IfcReinforcementDefinitionProperties"))
+ {
+ IfcReinforcementDefinitionProperties.EntityTypes.Add(IFCEntityType.IfcReinforcingElement);
+ ifcPSE = new PropertySetEntry("DefinitionType");
+ ifcPSE.PropertyName = "DefinitionType";
+ ifcPSE.PropertyType = PropertyType.Label;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.DefinitionTypeCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcReinforcementDefinitionProperties.AddEntry(ifcPSE);
+
+ }
+ if (ifcPSE != null)
+ {
+ commonPropertySets.Add(IfcReinforcementDefinitionProperties);
+ }
+ }
+
+
+ private static void InitIfcWindowLiningProperties(IList commonPropertySets)
+ {
+ PropertySetDescription IfcWindowLiningProperties = new PropertySetDescription();
+ IfcWindowLiningProperties.Name = "IfcWindowLiningProperties";
+ PropertySetEntry ifcPSE = null;
+ Type calcType = null;
+ if (ExporterCacheManager.ExportOptionsCache.ExportAs2x2 && certifiedEntityAndPsetList.AllowPsetToBeCreated(ExporterCacheManager.ExportOptionsCache.FileVersion.ToString().ToUpper(), "IfcWindowLiningProperties"))
+ {
+ IfcWindowLiningProperties.EntityTypes.Add(IFCEntityType.IfcWindow);
+ IfcWindowLiningProperties.EntityTypes.Add(IFCEntityType.IfcWindowStyle);
+ ifcPSE = new PropertySetEntry("LiningDepth");
+ ifcPSE.PropertyName = "LiningDepth";
+ ifcPSE.PropertyType = PropertyType.PositiveLength;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.LiningDepthCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcWindowLiningProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("FirstTransomOffset");
+ ifcPSE.PropertyName = "FirstTransomOffset";
+ ifcPSE.PropertyType = PropertyType.NormalisedRatio;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.FirstTransomOffsetCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcWindowLiningProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("SecondTransomOffset");
+ ifcPSE.PropertyName = "SecondTransomOffset";
+ ifcPSE.PropertyType = PropertyType.NormalisedRatio;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.SecondTransomOffsetCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcWindowLiningProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("FirstMullionOffset");
+ ifcPSE.PropertyName = "FirstMullionOffset";
+ ifcPSE.PropertyType = PropertyType.NormalisedRatio;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.FirstMullionOffsetCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcWindowLiningProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("SecondMullionOffset");
+ ifcPSE.PropertyName = "SecondMullionOffset";
+ ifcPSE.PropertyType = PropertyType.NormalisedRatio;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.SecondMullionOffsetCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcWindowLiningProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("LiningThickness");
+ ifcPSE.PropertyName = "LiningThickness";
+ ifcPSE.PropertyType = PropertyType.PositiveLength;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.LiningThicknessCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcWindowLiningProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("TransomThickness");
+ ifcPSE.PropertyName = "TransomThickness";
+ ifcPSE.PropertyType = PropertyType.PositiveLength;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.TransomThicknessCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcWindowLiningProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("MullionThickness");
+ ifcPSE.PropertyName = "MullionThickness";
+ ifcPSE.PropertyType = PropertyType.PositiveLength;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.MullionThicknessCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcWindowLiningProperties.AddEntry(ifcPSE);
+
+ }
+ if (ExporterCacheManager.ExportOptionsCache.ExportAs2x3 && certifiedEntityAndPsetList.AllowPsetToBeCreated(ExporterCacheManager.ExportOptionsCache.FileVersion.ToString().ToUpper(), "IfcWindowLiningProperties"))
+ {
+ IfcWindowLiningProperties.EntityTypes.Add(IFCEntityType.IfcWindow);
+ IfcWindowLiningProperties.EntityTypes.Add(IFCEntityType.IfcWindowStyle);
+ ifcPSE = new PropertySetEntry("LiningDepth");
+ ifcPSE.PropertyName = "LiningDepth";
+ ifcPSE.PropertyType = PropertyType.PositiveLength;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.LiningDepthCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcWindowLiningProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("FirstTransomOffset");
+ ifcPSE.PropertyName = "FirstTransomOffset";
+ ifcPSE.PropertyType = PropertyType.NormalisedRatio;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.FirstTransomOffsetCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcWindowLiningProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("SecondTransomOffset");
+ ifcPSE.PropertyName = "SecondTransomOffset";
+ ifcPSE.PropertyType = PropertyType.NormalisedRatio;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.SecondTransomOffsetCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcWindowLiningProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("FirstMullionOffset");
+ ifcPSE.PropertyName = "FirstMullionOffset";
+ ifcPSE.PropertyType = PropertyType.NormalisedRatio;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.FirstMullionOffsetCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcWindowLiningProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("SecondMullionOffset");
+ ifcPSE.PropertyName = "SecondMullionOffset";
+ ifcPSE.PropertyType = PropertyType.NormalisedRatio;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.SecondMullionOffsetCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcWindowLiningProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("LiningThickness");
+ ifcPSE.PropertyName = "LiningThickness";
+ ifcPSE.PropertyType = PropertyType.PositiveLength;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.LiningThicknessCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcWindowLiningProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("TransomThickness");
+ ifcPSE.PropertyName = "TransomThickness";
+ ifcPSE.PropertyType = PropertyType.PositiveLength;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.TransomThicknessCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcWindowLiningProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("MullionThickness");
+ ifcPSE.PropertyName = "MullionThickness";
+ ifcPSE.PropertyType = PropertyType.PositiveLength;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.MullionThicknessCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcWindowLiningProperties.AddEntry(ifcPSE);
+
+ }
+ if (ExporterCacheManager.ExportOptionsCache.ExportAs4 && certifiedEntityAndPsetList.AllowPsetToBeCreated(ExporterCacheManager.ExportOptionsCache.FileVersion.ToString().ToUpper(), "IfcWindowLiningProperties"))
+ {
+ IfcWindowLiningProperties.EntityTypes.Add(IFCEntityType.IfcWindow);
+ IfcWindowLiningProperties.EntityTypes.Add(IFCEntityType.IfcWindowType);
+ ifcPSE = new PropertySetEntry("LiningDepth");
+ ifcPSE.PropertyName = "LiningDepth";
+ ifcPSE.PropertyType = PropertyType.PositiveLength;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.LiningDepthCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcWindowLiningProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("FirstTransomOffset");
+ ifcPSE.PropertyName = "FirstTransomOffset";
+ ifcPSE.PropertyType = PropertyType.NormalisedRatio;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.FirstTransomOffsetCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcWindowLiningProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("SecondTransomOffset");
+ ifcPSE.PropertyName = "SecondTransomOffset";
+ ifcPSE.PropertyType = PropertyType.NormalisedRatio;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.SecondTransomOffsetCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcWindowLiningProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("FirstMullionOffset");
+ ifcPSE.PropertyName = "FirstMullionOffset";
+ ifcPSE.PropertyType = PropertyType.NormalisedRatio;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.FirstMullionOffsetCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcWindowLiningProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("SecondMullionOffset");
+ ifcPSE.PropertyName = "SecondMullionOffset";
+ ifcPSE.PropertyType = PropertyType.NormalisedRatio;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.SecondMullionOffsetCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcWindowLiningProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("LiningThickness");
+ ifcPSE.PropertyName = "LiningThickness";
+ ifcPSE.PropertyType = PropertyType.NonNegativeLength;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.LiningThicknessCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcWindowLiningProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("TransomThickness");
+ ifcPSE.PropertyName = "TransomThickness";
+ ifcPSE.PropertyType = PropertyType.NonNegativeLength;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.TransomThicknessCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcWindowLiningProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("MullionThickness");
+ ifcPSE.PropertyName = "MullionThickness";
+ ifcPSE.PropertyType = PropertyType.NonNegativeLength;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.MullionThicknessCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcWindowLiningProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("LiningOffset");
+ ifcPSE.PropertyName = "LiningOffset";
+ ifcPSE.PropertyType = PropertyType.Length;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.LiningOffsetCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcWindowLiningProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("LiningToPanelOffsetX");
+ ifcPSE.PropertyName = "LiningToPanelOffsetX";
+ ifcPSE.PropertyType = PropertyType.Length;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.LiningToPanelOffsetXCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcWindowLiningProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("LiningToPanelOffsetY");
+ ifcPSE.PropertyName = "LiningToPanelOffsetY";
+ ifcPSE.PropertyType = PropertyType.Length;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.LiningToPanelOffsetYCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcWindowLiningProperties.AddEntry(ifcPSE);
+
+ }
+ if (ifcPSE != null)
+ {
+ commonPropertySets.Add(IfcWindowLiningProperties);
+ }
+ }
+
+
+ private static void InitIfcWindowPanelProperties(IList commonPropertySets)
+ {
+ PropertySetDescription IfcWindowPanelProperties = new PropertySetDescription();
+ IfcWindowPanelProperties.Name = "IfcWindowPanelProperties";
+ PropertySetEntry ifcPSE = null;
+ Type calcType = null;
+ if (ExporterCacheManager.ExportOptionsCache.ExportAs2x2 && certifiedEntityAndPsetList.AllowPsetToBeCreated(ExporterCacheManager.ExportOptionsCache.FileVersion.ToString().ToUpper(), "IfcWindowPanelProperties"))
+ {
+ IfcWindowPanelProperties.EntityTypes.Add(IFCEntityType.IfcWindow);
+ IfcWindowPanelProperties.EntityTypes.Add(IFCEntityType.IfcWindowStyle);
+ ifcPSE = new PropertySetEntry("FrameDepth");
+ ifcPSE.PropertyName = "FrameDepth";
+ ifcPSE.PropertyType = PropertyType.PositiveLength;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.FrameDepthCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcWindowPanelProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("FrameThickness");
+ ifcPSE.PropertyName = "FrameThickness";
+ ifcPSE.PropertyType = PropertyType.PositiveLength;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.FrameThicknessCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcWindowPanelProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("OperationType");
+ ifcPSE.PropertyName = "OperationType";
+ ifcPSE.PropertyType = PropertyType.Label;
+ ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X2.IFCWindowPanelOperation);
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.OperationTypeCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcWindowPanelProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("PanelPosition");
+ ifcPSE.PropertyName = "PanelPosition";
+ ifcPSE.PropertyType = PropertyType.Label;
+ ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X2.IFCWindowPanelPosition);
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.PanelPositionCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcWindowPanelProperties.AddEntry(ifcPSE);
+
+ }
+ if (ExporterCacheManager.ExportOptionsCache.ExportAs2x3 && certifiedEntityAndPsetList.AllowPsetToBeCreated(ExporterCacheManager.ExportOptionsCache.FileVersion.ToString().ToUpper(), "IfcWindowPanelProperties"))
+ {
+ IfcWindowPanelProperties.EntityTypes.Add(IFCEntityType.IfcWindow);
+ IfcWindowPanelProperties.EntityTypes.Add(IFCEntityType.IfcWindowStyle);
+ ifcPSE = new PropertySetEntry("FrameDepth");
+ ifcPSE.PropertyName = "FrameDepth";
+ ifcPSE.PropertyType = PropertyType.PositiveLength;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.FrameDepthCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcWindowPanelProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("FrameThickness");
+ ifcPSE.PropertyName = "FrameThickness";
+ ifcPSE.PropertyType = PropertyType.PositiveLength;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.FrameThicknessCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcWindowPanelProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("OperationType");
+ ifcPSE.PropertyName = "OperationType";
+ ifcPSE.PropertyType = PropertyType.Label;
+ ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.IFCWindowPanelOperation);
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.OperationTypeCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcWindowPanelProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("PanelPosition");
+ ifcPSE.PropertyName = "PanelPosition";
+ ifcPSE.PropertyType = PropertyType.Label;
+ ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.IFCWindowPanelPosition);
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.PanelPositionCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcWindowPanelProperties.AddEntry(ifcPSE);
+
+ }
+ if (ExporterCacheManager.ExportOptionsCache.ExportAs4 && certifiedEntityAndPsetList.AllowPsetToBeCreated(ExporterCacheManager.ExportOptionsCache.FileVersion.ToString().ToUpper(), "IfcWindowPanelProperties"))
+ {
+ IfcWindowPanelProperties.EntityTypes.Add(IFCEntityType.IfcWindow);
+ IfcWindowPanelProperties.EntityTypes.Add(IFCEntityType.IfcWindowType);
+ ifcPSE = new PropertySetEntry("FrameDepth");
+ ifcPSE.PropertyName = "FrameDepth";
+ ifcPSE.PropertyType = PropertyType.PositiveLength;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.FrameDepthCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcWindowPanelProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("FrameThickness");
+ ifcPSE.PropertyName = "FrameThickness";
+ ifcPSE.PropertyType = PropertyType.PositiveLength;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.FrameThicknessCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcWindowPanelProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("OperationType");
+ ifcPSE.PropertyName = "OperationType";
+ ifcPSE.PropertyType = PropertyType.Label;
+ ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC4.IFCWindowPanelOperation);
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.OperationTypeCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcWindowPanelProperties.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("PanelPosition");
+ ifcPSE.PropertyName = "PanelPosition";
+ ifcPSE.PropertyType = PropertyType.Label;
+ ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC4.IFCWindowPanelPosition);
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.PanelPositionCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ IfcWindowPanelProperties.AddEntry(ifcPSE);
+
+ }
+ if (ifcPSE != null)
+ {
+ commonPropertySets.Add(IfcWindowPanelProperties);
+ }
+ }
+
+
private static void InitPset_ActionRequest(IList commonPropertySets)
{
PropertySetDescription propertySetActionRequest = new PropertySetDescription();
@@ -601,7 +1519,7 @@ private static void InitPset_ActionRequest(IList commonP
ifcPSE.PropertyName = "RequestSourceType";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_RequestSourceType);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_RequestSourceType);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.RequestSourceTypeCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -644,7 +1562,7 @@ private static void InitPset_ActionRequest(IList commonP
ifcPSE.PropertyName = "Status";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_RequestStatus);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_RequestStatus);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.StatusCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -890,7 +1808,7 @@ private static void InitPset_ActuatorTypeCommon(IList co
ifcPSE.PropertyName = "FailPosition";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_FailPosition);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_FailPosition);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.FailPositionCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -1021,7 +1939,7 @@ private static void InitPset_ActuatorTypeElectricActuator(IList
ifcPSE.PropertyName = "Shape";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_AirTerminalShape);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_AirTerminalShape);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.ShapeCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -3004,7 +3922,7 @@ private static void InitPset_AirTerminalTypeCommon(IList
ifcPSE.PropertyName = "FlowPattern";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_AirTerminalFlowPattern);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_AirTerminalFlowPattern);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.FlowPatternCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -3032,7 +3950,7 @@ private static void InitPset_AirTerminalTypeCommon(IList
ifcPSE.PropertyName = "DischargeDirection";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_AirTerminalDischargeDirection);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_AirTerminalDischargeDirection);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.DischargeDirectionCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -3067,7 +3985,7 @@ private static void InitPset_AirTerminalTypeCommon(IList
ifcPSE.PropertyName = "FinishType";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_AirTerminalFinishType);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_AirTerminalFinishType);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.FinishTypeCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -3085,7 +4003,7 @@ private static void InitPset_AirTerminalTypeCommon(IList
ifcPSE.PropertyName = "MountingType";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_AirTerminalMountingType);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_AirTerminalMountingType);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.MountingTypeCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -3095,7 +4013,7 @@ private static void InitPset_AirTerminalTypeCommon(IList
ifcPSE.PropertyName = "CoreType";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_AirTerminalCoreType);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_AirTerminalCoreType);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.CoreTypeCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -3129,7 +4047,7 @@ private static void InitPset_AirTerminalTypeCommon(IList
ifcPSE.PropertyName = "FlowControlType";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_AirTerminalFlowControlType);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_AirTerminalFlowControlType);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.FlowControlTypeCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -3537,7 +4455,7 @@ private static void InitPset_AirTerminalTypeRectangular(IList
ifcPSE.PropertyName = "FaceType";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_AirTerminalFaceType);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_AirTerminalFaceType);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.FaceTypeCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -3700,7 +4618,7 @@ private static void InitPset_AirTerminalTypeSquare(IList
ifcPSE.PropertyName = "FaceType";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_AirTerminalFaceType);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_AirTerminalFaceType);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.FaceTypeCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -4118,7 +5036,7 @@ private static void InitPset_AirToAirHeatRecoveryTypeCommon(IList commonPro
ifcPSE.PropertyName = "EventEnable";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_BACnetEventEnableType);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_BACnetEventEnableType);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.EventEnableCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -4521,7 +5439,7 @@ private static void InitPset_AnalogInput(IList commonPro
ifcPSE.PropertyName = "NotifyType";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_BACnetNotifyType);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_BACnetNotifyType);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.NotifyTypeCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -4652,7 +5570,7 @@ private static void InitPset_AnalogOutput(IList commonPr
ifcPSE.PropertyName = "EventEnable";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_BACnetEventEnableType);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_BACnetEventEnableType);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.EventEnableCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -4662,7 +5580,7 @@ private static void InitPset_AnalogOutput(IList commonPr
ifcPSE.PropertyName = "NotifyType";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_BACnetNotifyType);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_BACnetNotifyType);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.NotifyTypeCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -4879,7 +5797,7 @@ private static void InitPset_Asset(IList commonPropertyS
ifcPSE.PropertyName = "AssetAccountingType";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_AssetAccountingType);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_AssetAccountingType);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.AssetAccountingTypeCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -4889,7 +5807,7 @@ private static void InitPset_Asset(IList commonPropertyS
ifcPSE.PropertyName = "AssetTaxType";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_AssetTaxType);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_AssetTaxType);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.AssetTaxTypeCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -4899,7 +5817,7 @@ private static void InitPset_Asset(IList commonPropertyS
ifcPSE.PropertyName = "AssetInsuranceType";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_AssetInsuranceType);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_AssetInsuranceType);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.AssetInsuranceTypeCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -5286,6 +6204,16 @@ private static void InitPset_AudioVisualApplianceTypeCommon(IList commonPro
ifcPSE.PropertyName = "Polarity";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_PolarityEnum);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_PolarityEnum);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.PolarityCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -6213,7 +7141,7 @@ private static void InitPset_BinaryInput(IList commonPro
ifcPSE.PropertyName = "FeedbackValue";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_BACnetFeedbackValueType);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_BACnetFeedbackValueType);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.FeedbackValueCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -6223,7 +7151,7 @@ private static void InitPset_BinaryInput(IList commonPro
ifcPSE.PropertyName = "EventEnable";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_BACnetEventEnableType);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_BACnetEventEnableType);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.EventEnableCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -6233,7 +7161,7 @@ private static void InitPset_BinaryInput(IList commonPro
ifcPSE.PropertyName = "AckedTransitions";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_BACnetAckedTransitionsType);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_BACnetAckedTransitionsType);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.AckedTransitionsCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -6320,7 +7248,7 @@ private static void InitPset_BinaryOutput(IList commonPr
ifcPSE.PropertyName = "Polarity";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_PolarityEnum);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_PolarityEnum);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.PolarityCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -6346,7 +7274,7 @@ private static void InitPset_BinaryOutput(IList commonPr
ifcPSE.PropertyName = "AlarmValue";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_BACnetAlarmValueType);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_BACnetAlarmValueType);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.AlarmValueCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -6356,7 +7284,7 @@ private static void InitPset_BinaryOutput(IList commonPr
ifcPSE.PropertyName = "EventEnable";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_BACnetEventEnableType);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_BACnetEventEnableType);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.EventEnableCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -6366,7 +7294,7 @@ private static void InitPset_BinaryOutput(IList commonPr
ifcPSE.PropertyName = "AckedTransitions";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_BACnetAckedTransitionsType);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_BACnetAckedTransitionsType);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.AckedTransitionsCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -6786,7 +7714,7 @@ private static void InitPset_BoilerTypeCommon(IList comm
ifcPSE.PropertyName = "OperatingMode";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_BoilerOperatingMode);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_BoilerOperatingMode);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.OperatingModeCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -6900,116 +7828,111 @@ private static void InitPset_BoilerTypeCommon(IList comm
{
propertySetBoilerTypeCommon.EntityTypes.Add(IFCEntityType.IfcBoiler);
propertySetBoilerTypeCommon.ObjectType = "IfcBoiler";
-#pragma warning disable 0162
- if (false)
- {
-
- ifcPSE = new PropertySetEntry("Reference");
- ifcPSE.PropertyName = "Reference";
- ifcPSE.PropertyType = PropertyType.Identifier;
- ifcPSE.AddLocalizedParameterName(LanguageType.English_USA, "Reference");
- ifcPSE.AddLocalizedParameterName(LanguageType.French, "Référence");
- ifcPSE.AddLocalizedParameterName(LanguageType.Japanese, "参照記号");
- calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.ReferenceCalculator");
- if (calcType != null)
- ifcPSE.PropertyCalculator = (PropertyCalculator)calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[] { });
- propertySetBoilerTypeCommon.AddEntry(ifcPSE);
-
- ifcPSE = new PropertySetEntry("Status");
- ifcPSE.PropertyName = "Status";
- ifcPSE.PropertyType = PropertyType.Label;
- ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC4.PEnum_ElementStatus);
- ifcPSE.AddLocalizedParameterName(LanguageType.English_USA, "Status");
- ifcPSE.AddLocalizedParameterName(LanguageType.French, "Etat");
- ifcPSE.AddLocalizedParameterName(LanguageType.Japanese, "状態");
- calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.StatusCalculator");
- if (calcType != null)
- ifcPSE.PropertyCalculator = (PropertyCalculator)calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[] { });
- propertySetBoilerTypeCommon.AddEntry(ifcPSE);
-
- ifcPSE = new PropertySetEntry("PressureRating");
- ifcPSE.PropertyName = "PressureRating";
- ifcPSE.PropertyType = PropertyType.Pressure;
- ifcPSE.AddLocalizedParameterName(LanguageType.English_USA, "Pressure Rating");
- ifcPSE.AddLocalizedParameterName(LanguageType.French, "PressionAdmissibleNominale");
- ifcPSE.AddLocalizedParameterName(LanguageType.Japanese, "常用圧力");
- calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.PressureRatingCalculator");
- if (calcType != null)
- ifcPSE.PropertyCalculator = (PropertyCalculator)calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[] { });
- propertySetBoilerTypeCommon.AddEntry(ifcPSE);
-
- ifcPSE = new PropertySetEntry("OperatingMode");
- ifcPSE.PropertyName = "OperatingMode";
- ifcPSE.PropertyType = PropertyType.Label;
- ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC4.PEnum_BoilerOperatingMode);
- ifcPSE.AddLocalizedParameterName(LanguageType.English_USA, "Operating Mode");
- ifcPSE.AddLocalizedParameterName(LanguageType.French, "ModeFonctionnement");
- ifcPSE.AddLocalizedParameterName(LanguageType.Japanese, "動作モード");
- calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.OperatingModeCalculator");
- if (calcType != null)
- ifcPSE.PropertyCalculator = (PropertyCalculator)calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[] { });
- propertySetBoilerTypeCommon.AddEntry(ifcPSE);
-
- ifcPSE = new PropertySetEntry("HeatTransferSurfaceArea");
- ifcPSE.PropertyName = "HeatTransferSurfaceArea";
- ifcPSE.PropertyType = PropertyType.Area;
- ifcPSE.AddLocalizedParameterName(LanguageType.English_USA, "Heat Transfer Surface Area");
- ifcPSE.AddLocalizedParameterName(LanguageType.French, "SurfaceEchangeChaleur");
- ifcPSE.AddLocalizedParameterName(LanguageType.Japanese, "伝熱面積");
- calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.HeatTransferSurfaceAreaCalculator");
- if (calcType != null)
- ifcPSE.PropertyCalculator = (PropertyCalculator)calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[] { });
- propertySetBoilerTypeCommon.AddEntry(ifcPSE);
-
- ifcPSE = new PropertySetEntry("NominalPartLoadRatio");
- ifcPSE.PropertyName = "NominalPartLoadRatio";
- ifcPSE.PropertyValueType = PropertyValueType.BoundedValue;
- ifcPSE.PropertyType = PropertyType.Real;
- ifcPSE.AddLocalizedParameterName(LanguageType.English_USA, "Nominal Part Load Ratio");
- ifcPSE.AddLocalizedParameterName(LanguageType.French, "PlageNominaleChargePartielle");
- ifcPSE.AddLocalizedParameterName(LanguageType.Japanese, "設計部分負荷比率");
- calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.NominalPartLoadRatioCalculator");
- if (calcType != null)
- ifcPSE.PropertyCalculator = (PropertyCalculator)calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[] { });
- propertySetBoilerTypeCommon.AddEntry(ifcPSE);
-
- ifcPSE = new PropertySetEntry("WaterInletTemperatureRange");
- ifcPSE.PropertyName = "WaterInletTemperatureRange";
- ifcPSE.PropertyValueType = PropertyValueType.BoundedValue;
- ifcPSE.PropertyType = PropertyType.ThermodynamicTemperature;
- ifcPSE.AddLocalizedParameterName(LanguageType.English_USA, "Water Inlet Temperature Range");
- ifcPSE.AddLocalizedParameterName(LanguageType.French, "PlageTempératureAlimentationEau");
- ifcPSE.AddLocalizedParameterName(LanguageType.Japanese, "入口水温範囲");
- calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.WaterInletTemperatureRangeCalculator");
- if (calcType != null)
- ifcPSE.PropertyCalculator = (PropertyCalculator)calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[] { });
- propertySetBoilerTypeCommon.AddEntry(ifcPSE);
-
- ifcPSE = new PropertySetEntry("WaterStorageCapacity");
- ifcPSE.PropertyName = "WaterStorageCapacity";
- ifcPSE.PropertyType = PropertyType.Volume;
- ifcPSE.AddLocalizedParameterName(LanguageType.English_USA, "Water Storage Capacity");
- ifcPSE.AddLocalizedParameterName(LanguageType.French, "CapacitéRéservoirEau");
- ifcPSE.AddLocalizedParameterName(LanguageType.Japanese, "缶内水量");
- calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.WaterStorageCapacityCalculator");
- if (calcType != null)
- ifcPSE.PropertyCalculator = (PropertyCalculator)calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[] { });
- propertySetBoilerTypeCommon.AddEntry(ifcPSE);
-
- ifcPSE = new PropertySetEntry("IsWaterStorageHeater");
- ifcPSE.PropertyName = "IsWaterStorageHeater";
- ifcPSE.PropertyType = PropertyType.Boolean;
- ifcPSE.AddLocalizedParameterName(LanguageType.English_USA, "Is Water Storage Heater");
- ifcPSE.AddLocalizedParameterName(LanguageType.French, "AvoirChauffeEau");
- ifcPSE.AddLocalizedParameterName(LanguageType.Japanese, "給湯タンク有無");
- calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.IsWaterStorageHeaterCalculator");
- if (calcType != null)
- ifcPSE.PropertyCalculator = (PropertyCalculator)calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[] { });
- propertySetBoilerTypeCommon.AddEntry(ifcPSE);
-
- }
+ ifcPSE = new PropertySetEntry("Reference");
+ ifcPSE.PropertyName = "Reference";
+ ifcPSE.PropertyType = PropertyType.Identifier;
+ ifcPSE.AddLocalizedParameterName(LanguageType.English_USA, "Reference");
+ ifcPSE.AddLocalizedParameterName(LanguageType.French, "Référence");
+ ifcPSE.AddLocalizedParameterName(LanguageType.Japanese, "参照記号");
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.ReferenceCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ propertySetBoilerTypeCommon.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("Status");
+ ifcPSE.PropertyName = "Status";
+ ifcPSE.PropertyType = PropertyType.Label;
+ ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC4.PEnum_ElementStatus);
+ ifcPSE.AddLocalizedParameterName(LanguageType.English_USA, "Status");
+ ifcPSE.AddLocalizedParameterName(LanguageType.French, "Etat");
+ ifcPSE.AddLocalizedParameterName(LanguageType.Japanese, "状態");
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.StatusCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ propertySetBoilerTypeCommon.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("PressureRating");
+ ifcPSE.PropertyName = "PressureRating";
+ ifcPSE.PropertyType = PropertyType.Pressure;
+ ifcPSE.AddLocalizedParameterName(LanguageType.English_USA, "Pressure Rating");
+ ifcPSE.AddLocalizedParameterName(LanguageType.French, "PressionAdmissibleNominale");
+ ifcPSE.AddLocalizedParameterName(LanguageType.Japanese, "常用圧力");
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.PressureRatingCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ propertySetBoilerTypeCommon.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("OperatingMode");
+ ifcPSE.PropertyName = "OperatingMode";
+ ifcPSE.PropertyType = PropertyType.Label;
+ ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC4.PEnum_BoilerOperatingMode);
+ ifcPSE.AddLocalizedParameterName(LanguageType.English_USA, "Operating Mode");
+ ifcPSE.AddLocalizedParameterName(LanguageType.French, "ModeFonctionnement");
+ ifcPSE.AddLocalizedParameterName(LanguageType.Japanese, "動作モード");
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.OperatingModeCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ propertySetBoilerTypeCommon.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("HeatTransferSurfaceArea");
+ ifcPSE.PropertyName = "HeatTransferSurfaceArea";
+ ifcPSE.PropertyType = PropertyType.Area;
+ ifcPSE.AddLocalizedParameterName(LanguageType.English_USA, "Heat Transfer Surface Area");
+ ifcPSE.AddLocalizedParameterName(LanguageType.French, "SurfaceEchangeChaleur");
+ ifcPSE.AddLocalizedParameterName(LanguageType.Japanese, "伝熱面積");
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.HeatTransferSurfaceAreaCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ propertySetBoilerTypeCommon.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("NominalPartLoadRatio");
+ ifcPSE.PropertyName = "NominalPartLoadRatio";
+ ifcPSE.PropertyValueType = PropertyValueType.BoundedValue;
+ ifcPSE.PropertyType = PropertyType.Real;
+ ifcPSE.AddLocalizedParameterName(LanguageType.English_USA, "Nominal Part Load Ratio");
+ ifcPSE.AddLocalizedParameterName(LanguageType.French, "PlageNominaleChargePartielle");
+ ifcPSE.AddLocalizedParameterName(LanguageType.Japanese, "設計部分負荷比率");
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.NominalPartLoadRatioCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ propertySetBoilerTypeCommon.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("WaterInletTemperatureRange");
+ ifcPSE.PropertyName = "WaterInletTemperatureRange";
+ ifcPSE.PropertyValueType = PropertyValueType.BoundedValue;
+ ifcPSE.PropertyType = PropertyType.ThermodynamicTemperature;
+ ifcPSE.AddLocalizedParameterName(LanguageType.English_USA, "Water Inlet Temperature Range");
+ ifcPSE.AddLocalizedParameterName(LanguageType.French, "PlageTempératureAlimentationEau");
+ ifcPSE.AddLocalizedParameterName(LanguageType.Japanese, "入口水温範囲");
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.WaterInletTemperatureRangeCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ propertySetBoilerTypeCommon.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("WaterStorageCapacity");
+ ifcPSE.PropertyName = "WaterStorageCapacity";
+ ifcPSE.PropertyType = PropertyType.Volume;
+ ifcPSE.AddLocalizedParameterName(LanguageType.English_USA, "Water Storage Capacity");
+ ifcPSE.AddLocalizedParameterName(LanguageType.French, "CapacitéRéservoirEau");
+ ifcPSE.AddLocalizedParameterName(LanguageType.Japanese, "缶内水量");
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.WaterStorageCapacityCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ propertySetBoilerTypeCommon.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("IsWaterStorageHeater");
+ ifcPSE.PropertyName = "IsWaterStorageHeater";
+ ifcPSE.PropertyType = PropertyType.Boolean;
+ ifcPSE.AddLocalizedParameterName(LanguageType.English_USA, "Is Water Storage Heater");
+ ifcPSE.AddLocalizedParameterName(LanguageType.French, "AvoirChauffeEau");
+ ifcPSE.AddLocalizedParameterName(LanguageType.Japanese, "給湯タンク有無");
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.IsWaterStorageHeaterCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ propertySetBoilerTypeCommon.AddEntry(ifcPSE);
+
ifcPSE = new PropertySetEntry("PartialLoadEfficiencyCurves");
ifcPSE.PropertyName = "PartialLoadEfficiencyCurves";
ifcPSE.PropertyArgumentType = PropertyType.PositiveRatio;
@@ -7035,32 +7958,30 @@ private static void InitPset_BoilerTypeCommon(IList comm
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
propertySetBoilerTypeCommon.AddEntry(ifcPSE);
- if (false)
- {
- ifcPSE = new PropertySetEntry("NominalEnergyConsumption");
- ifcPSE.PropertyName = "NominalEnergyConsumption";
- ifcPSE.PropertyType = PropertyType.Power;
- ifcPSE.AddLocalizedParameterName(LanguageType.English_USA, "Nominal Energy Consumption");
- ifcPSE.AddLocalizedParameterName(LanguageType.French, "Consommation nominale d'energie");
- ifcPSE.AddLocalizedParameterName(LanguageType.Japanese, "設計エネルギー消費量");
- calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.NominalEnergyConsumptionCalculator");
- if (calcType != null)
- ifcPSE.PropertyCalculator = (PropertyCalculator)calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[] { });
- propertySetBoilerTypeCommon.AddEntry(ifcPSE);
-
- ifcPSE = new PropertySetEntry("EnergySource");
- ifcPSE.PropertyName = "EnergySource";
- ifcPSE.PropertyType = PropertyType.Label;
- ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC4.PEnum_EnergySource);
- ifcPSE.AddLocalizedParameterName(LanguageType.English_USA, "Energy Source");
- ifcPSE.AddLocalizedParameterName(LanguageType.French, "SourceEnergie");
- ifcPSE.AddLocalizedParameterName(LanguageType.Japanese, "エネルギ種別");
- calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.EnergySourceCalculator");
- if (calcType != null)
- ifcPSE.PropertyCalculator = (PropertyCalculator)calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[] { });
- propertySetBoilerTypeCommon.AddEntry(ifcPSE);
- }
+ ifcPSE = new PropertySetEntry("NominalEnergyConsumption");
+ ifcPSE.PropertyName = "NominalEnergyConsumption";
+ ifcPSE.PropertyType = PropertyType.Power;
+ ifcPSE.AddLocalizedParameterName(LanguageType.English_USA, "Nominal Energy Consumption");
+ ifcPSE.AddLocalizedParameterName(LanguageType.French, "Consommation nominale d'energie");
+ ifcPSE.AddLocalizedParameterName(LanguageType.Japanese, "設計エネルギー消費量");
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.NominalEnergyConsumptionCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ propertySetBoilerTypeCommon.AddEntry(ifcPSE);
+
+ ifcPSE = new PropertySetEntry("EnergySource");
+ ifcPSE.PropertyName = "EnergySource";
+ ifcPSE.PropertyType = PropertyType.Label;
+ ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC4.PEnum_EnergySource);
+ ifcPSE.AddLocalizedParameterName(LanguageType.English_USA, "Energy Source");
+ ifcPSE.AddLocalizedParameterName(LanguageType.French, "SourceEnergie");
+ ifcPSE.AddLocalizedParameterName(LanguageType.Japanese, "エネルギ種別");
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.EnergySourceCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ propertySetBoilerTypeCommon.AddEntry(ifcPSE);
+
}
if (ifcPSE != null)
{
@@ -9178,7 +10099,7 @@ private static void InitPset_CableCarrierSegmentTypeConduitSegment(IList comm
ifcPSE.PropertyName = "CoilCoolant";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_CoilCoolant);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_CoilCoolant);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.CoilCoolantCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -11282,7 +12203,7 @@ private static void InitPset_CoilTypeHydronic(IList comm
ifcPSE.PropertyName = "CoilConnectionDirection";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_CoilConnectionDirection);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_CoilConnectionDirection);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.CoilConnectionDirectionCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -11292,7 +12213,7 @@ private static void InitPset_CoilTypeHydronic(IList comm
ifcPSE.PropertyName = "CoilFluidArrangement";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_CoilFluidArrangement);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_CoilFluidArrangement);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.CoilFluidArrangementCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -12299,7 +13220,7 @@ private static void InitPset_CompressorTypeCommon(IList
ifcPSE.PropertyName = "PowerSource";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_CompressorTypePowerSource);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_CompressorTypePowerSource);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.PowerSourceCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -12309,7 +13230,7 @@ private static void InitPset_CompressorTypeCommon(IList
ifcPSE.PropertyName = "RefrigerantClass";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_RefrigerantClass);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_RefrigerantClass);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.RefrigerantClassCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -13973,7 +14894,7 @@ private static void InitPset_CondenserTypeCommon(IList c
ifcPSE.PropertyName = "RefrigerantClass";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_RefrigerantClass);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_RefrigerantClass);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.RefrigerantClassCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -14352,7 +15273,7 @@ private static void InitPset_ControllerTypeCommon(IList
ifcPSE.PropertyName = "ControlType";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_ControlType);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_ControlType);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.ControlTypeCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -14647,7 +15568,7 @@ private static void InitPset_ControllerTypeProportional(IList
ifcPSE.PropertyName = "AirFlowConfiguration";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_CooledBeamActiveAirFlowConfigurationType);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_CooledBeamActiveAirFlowConfigurationType);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.AirFlowConfigurationCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -15394,7 +16315,7 @@ private static void InitPset_CooledBeamTypeActive(IList
ifcPSE.PropertyName = "SupplyAirConnectionType";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_CooledBeamSupplyAirConnectionType);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_CooledBeamSupplyAirConnectionType);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.SupplyAirConnectionTypeCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -15672,7 +16593,7 @@ private static void InitPset_CooledBeamTypeCommon(IList
ifcPSE.PropertyName = "WaterFlowControlSystemType";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_CooledBeamWaterFlowControlSystemType);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_CooledBeamWaterFlowControlSystemType);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.WaterFlowControlSystemTypeCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -15788,7 +16709,7 @@ private static void InitPset_CooledBeamTypeCommon(IList
ifcPSE.PropertyName = "IntegratedLightingType";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_CooledBeamIntegratedLightingType);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_CooledBeamIntegratedLightingType);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.IntegratedLightingTypeCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -15798,7 +16719,7 @@ private static void InitPset_CooledBeamTypeCommon(IList
ifcPSE.PropertyName = "PipeConnectionEnum";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_CooledBeamPipeConnection);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_CooledBeamPipeConnection);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.PipeConnectionEnumCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -16368,7 +17289,7 @@ private static void InitPset_CoolingTowerTypeCommon(IList comm
ifcPSE.PropertyName = "Operation";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_DamperOperation);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_DamperOperation);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.OperationCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -17891,7 +18812,7 @@ private static void InitPset_DamperTypeCommon(IList comm
ifcPSE.PropertyName = "Orientation";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_DamperOrientation);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_DamperOrientation);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.OrientationCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -17927,7 +18848,7 @@ private static void InitPset_DamperTypeCommon(IList comm
ifcPSE.PropertyName = "BladeAction";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_DamperBladeAction);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_DamperBladeAction);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.BladeActionCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -17937,7 +18858,7 @@ private static void InitPset_DamperTypeCommon(IList comm
ifcPSE.PropertyName = "BladeShape";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_DamperBladeShape);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_DamperBladeShape);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.BladeShapeCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -17947,7 +18868,7 @@ private static void InitPset_DamperTypeCommon(IList comm
ifcPSE.PropertyName = "BladeEdge";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_DamperBladeEdge);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_DamperBladeEdge);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.BladeEdgeCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -18405,7 +19326,7 @@ private static void InitPset_DamperTypeControlDamper(IList
ifcPSE.PropertyName = "ActuationType";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_FireDamperActuationType);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_FireDamperActuationType);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.ActuationTypeCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -18513,7 +19434,7 @@ private static void InitPset_DamperTypeFireDamper(IList
ifcPSE.PropertyName = "ClosureRatingEnum";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_FireDamperClosureRating);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_FireDamperClosureRating);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.ClosureRatingEnumCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -22175,7 +23096,7 @@ private static void InitPset_DistributionPortDuct(IList
ifcPSE.PropertyName = "ConnectionType";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_DuctConnectionType);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_DuctConnectionType);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.ConnectionTypeCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -22502,7 +23423,7 @@ private static void InitPset_DistributionPortPipe(IList
ifcPSE.PropertyName = "ConnectionType";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_PipeEndStyleTreatment);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_PipeEndStyleTreatment);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.ConnectionTypeCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -24645,7 +25566,7 @@ private static void InitPset_DuctDesignCriteria(IList co
ifcPSE.PropertyName = "DuctSizingMethod";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_DuctSizingMethod);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_DuctSizingMethod);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.DuctSizingMethodCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -25444,7 +26365,7 @@ private static void InitPset_DuctSegmentTypeCommon(IList
ifcPSE.PropertyName = "Shape";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_DuctSegmentShape);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_DuctSegmentShape);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.ShapeCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -25855,7 +26776,7 @@ private static void InitPset_DuctSilencerTypeCommon(IList common
ifcPSE.PropertyName = "ShadingDeviceType";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_ElementShading);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_ElementShading);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.ShadingDeviceTypeCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -29016,7 +29937,7 @@ private static void InitPset_EvaporativeCoolerTypeCommon(IList
ifcPSE.PropertyName = "EvaporatorMediumType";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_EvaporatorMediumType);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_EvaporatorMediumType);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.EvaporatorMediumTypeCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -29589,7 +30510,7 @@ private static void InitPset_EvaporatorTypeCommon(IList
ifcPSE.PropertyName = "EvaporatorCoolant";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_EvaporatorCoolant);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_EvaporatorCoolant);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.EvaporatorCoolantCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -29599,7 +30520,7 @@ private static void InitPset_EvaporatorTypeCommon(IList
ifcPSE.PropertyName = "RefrigerantClass";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_RefrigerantClass);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_RefrigerantClass);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.RefrigerantClassCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -30357,7 +31278,7 @@ private static void InitPset_FanTypeCommon(IList commonP
ifcPSE.PropertyName = "MotorDriveType";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_FanMotorConnectionType);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_FanMotorConnectionType);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.MotorDriveTypeCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -30367,7 +31288,7 @@ private static void InitPset_FanTypeCommon(IList commonP
ifcPSE.PropertyName = "CapacityControlType";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_FanCapacityControlType);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_FanCapacityControlType);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.CapacityControlTypeCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -31066,7 +31987,7 @@ private static void InitPset_FilterTypeAirParticleFilter(IList
ifcPSE.PropertyName = "SizingMethod";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_DamperSizingMethod);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_DamperSizingMethod);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.SizingMethodCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -33062,7 +33983,7 @@ private static void InitPset_FlowControllerFlowMeter(IList c
ifcPSE.PropertyName = "ReadOutType";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_MeterReadOutType);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_MeterReadOutType);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.ReadOutTypeCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -33743,7 +34664,7 @@ private static void InitPset_FlowMeterTypeGasMeter(IList
ifcPSE.PropertyName = "GasType";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_GasType);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_GasType);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.GasTypeCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -33969,7 +34890,7 @@ private static void InitPset_FlowMeterTypeWaterMeter(IList c
ifcPSE.PropertyName = "DischargeType";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_FanDischargeType);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_FanDischargeType);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.DischargeTypeCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -34202,7 +35123,7 @@ private static void InitPset_FlowMovingDeviceFan(IList c
ifcPSE.PropertyName = "ApplicationOfFan";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_FanApplicationType);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_FanApplicationType);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.ApplicationOfFanCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -34212,7 +35133,7 @@ private static void InitPset_FlowMovingDeviceFan(IList c
ifcPSE.PropertyName = "CoilPosition";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_FanCoilPosition);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_FanCoilPosition);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.CoilPositionCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -34222,7 +35143,7 @@ private static void InitPset_FlowMovingDeviceFan(IList c
ifcPSE.PropertyName = "MotorPosition";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_FanMotorPosition);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_FanMotorPosition);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.MotorPositionCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -34232,7 +35153,7 @@ private static void InitPset_FlowMovingDeviceFan(IList c
ifcPSE.PropertyName = "FanMountingType";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_FanMountingType);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_FanMountingType);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.FanMountingTypeCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -34311,7 +35232,7 @@ private static void InitPset_FlowMovingDeviceFanCentrifugal(IList
ifcPSE.PropertyName = "BaseType";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_PumpBaseType);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_PumpBaseType);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.BaseTypeCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -34408,7 +35329,7 @@ private static void InitPset_FlowMovingDevicePump(IList
ifcPSE.PropertyName = "DriveConnectionType";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_PumpDriveConnectionType);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_PumpDriveConnectionType);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.DriveConnectionTypeCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -34667,7 +35588,7 @@ private static void InitPset_FlowStorageDeviceTank(IList
ifcPSE.PropertyName = "TankComposition";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_TankComposition);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_TankComposition);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.TankCompositionCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -34734,7 +35655,7 @@ private static void InitPset_FlowTerminalAirTerminal(IList
ifcPSE.PropertyName = "Application";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_HumidifierApplication);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_HumidifierApplication);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.ApplicationCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -35845,7 +36766,7 @@ private static void InitPset_HumidifierTypeCommon(IList
ifcPSE.PropertyName = "InternalControl";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_HumidifierInternalControl);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_HumidifierInternalControl);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.InternalControlCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -36348,7 +37269,7 @@ private static void InitPset_LampTypeCommon(IList common
ifcPSE.PropertyName = "LampBallastType";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_LampBallastType);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_LampBallastType);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.LampBallastTypeCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -36358,7 +37279,7 @@ private static void InitPset_LampTypeCommon(IList common
ifcPSE.PropertyName = "LampCompensationType";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_LampCompensationType);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_LampCompensationType);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.LampCompensationTypeCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -36687,7 +37608,7 @@ private static void InitPset_LightFixtureTypeCommon(IList commo
ifcPSE.PropertyName = "EventEnable";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_BACnetEventEnableType);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_BACnetEventEnableType);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.EventEnableCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -39838,7 +40759,7 @@ private static void InitPset_MultiStateInput(IList commo
ifcPSE.PropertyName = "NotifyType";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_BACnetNotifyType);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_BACnetNotifyType);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.NotifyTypeCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -39941,7 +40862,7 @@ private static void InitPset_MultiStateOutput(IList comm
ifcPSE.PropertyName = "EventEnable";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_BACnetEventEnableType);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_BACnetEventEnableType);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.EventEnableCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -39951,7 +40872,7 @@ private static void InitPset_MultiStateOutput(IList comm
ifcPSE.PropertyName = "NotifyType";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_BACnetNotifyType);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_BACnetNotifyType);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.NotifyTypeCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -40393,7 +41314,7 @@ private static void InitPset_OutsideDesignCriteria(IList
ifcPSE.PropertyName = "BuildingThermalExposure";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_BuildingThermalExposure);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_BuildingThermalExposure);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.BuildingThermalExposureCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -40604,7 +41525,7 @@ private static void InitPset_PackingInstructions(IList c
ifcPSE.PropertyName = "PackingCareType";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_PackingCareType);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_PackingCareType);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.PackingCareTypeCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -40773,7 +41694,7 @@ private static void InitPset_Permit(IList commonProperty
ifcPSE.PropertyName = "PermitType";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_PermitType);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_PermitType);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.PermitTypeCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -44427,7 +45348,7 @@ private static void InitPset_ProjectOrderMaintenanceWorkOrder(IList com
ifcPSE.PropertyName = "AgreementType";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_PropertyAgreementType);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_PropertyAgreementType);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.AgreementTypeCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -47096,7 +48017,7 @@ private static void InitPset_ProtectiveDeviceTypeCircuitBreaker(IList commonPropertySe
ifcPSE.PropertyName = "RiskType";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_RiskType);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_RiskType);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.RiskTypeCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -51342,7 +52294,7 @@ private static void InitPset_Risk(IList commonPropertySe
ifcPSE.PropertyName = "AssessmentOfRisk";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_RiskAssessment);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_RiskAssessment);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.AssessmentOfRiskCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -51352,7 +52304,7 @@ private static void InitPset_Risk(IList commonPropertySe
ifcPSE.PropertyName = "RiskConsequence";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_RiskConsequence);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_RiskConsequence);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.RiskConsequenceCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -51362,7 +52314,7 @@ private static void InitPset_Risk(IList commonPropertySe
ifcPSE.PropertyName = "RiskRating";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_RiskRating);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_RiskRating);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.RiskRatingCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -51372,7 +52324,7 @@ private static void InitPset_Risk(IList commonPropertySe
ifcPSE.PropertyName = "RiskOwner";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_RiskOwner);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_RiskOwner);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.RiskOwnerCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -51789,7 +52741,7 @@ private static void InitPset_SanitaryTerminalTypeBath(IList
ifcPSE.PropertyName = "TemperatureClassification";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_SpaceHeaterTemperatureClassification);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_SpaceHeaterTemperatureClassification);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.TemperatureClassificationCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -57728,7 +58680,7 @@ private static void InitPset_SpaceHeaterTypeCommon(IList
ifcPSE.PropertyName = "HeatingSource";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_HeatingSource);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_HeatingSource);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.HeatingSourceCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -61079,7 +62031,7 @@ private static void InitPset_SwitchingDeviceTypeCommon(IList common
ifcPSE.PropertyName = "Type";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_TankType);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_TankType);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.TypeCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -62464,7 +63416,7 @@ private static void InitPset_TankTypeCommon(IList common
ifcPSE.PropertyName = "AccessType";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_TankAccessType);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_TankAccessType);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.AccessTypeCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -62874,7 +63826,7 @@ private static void InitPset_TankTypePreformed(IList com
ifcPSE.PropertyName = "PatternType";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_TankPatternType);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_TankPatternType);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.PatternTypeCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -62884,7 +63836,7 @@ private static void InitPset_TankTypePreformed(IList com
ifcPSE.PropertyName = "EndShapeType";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_EndShapeType);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_EndShapeType);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.EndShapeTypeCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -63901,7 +64853,7 @@ private static void InitPset_TransformerTypeCommon(IList
ifcPSE.PropertyName = "SecondaryCurrentType";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_SecondaryCurrentType);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_SecondaryCurrentType);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.SecondaryCurrentTypeCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -65554,7 +66506,7 @@ private static void InitPset_UnitaryEquipmentTypeAirHandler(IList commo
ifcPSE.PropertyName = "ValvePattern";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_ValvePattern);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_ValvePattern);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.ValvePatternCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -66103,7 +67055,7 @@ private static void InitPset_ValveTypeCommon(IList commo
ifcPSE.PropertyName = "ValveOperation";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_ValveOperation);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_ValveOperation);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.ValveOperationCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -66113,7 +67065,7 @@ private static void InitPset_ValveTypeCommon(IList commo
ifcPSE.PropertyName = "ValveMechanism";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_ValveMechanism);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_ValveMechanism);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.ValveMechanismCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -66420,7 +67372,7 @@ private static void InitPset_ValveTypeFaucet(IList commo
ifcPSE.PropertyName = "FaucetType";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_FaucetType);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_FaucetType);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.FaucetTypeCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -66430,7 +67382,7 @@ private static void InitPset_ValveTypeFaucet(IList commo
ifcPSE.PropertyName = "FaucetOperation";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_FaucetOperation);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_FaucetOperation);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.FaucetOperationCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -66440,7 +67392,7 @@ private static void InitPset_ValveTypeFaucet(IList commo
ifcPSE.PropertyName = "FaucetFunction";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_FaucetFunction);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_FaucetFunction);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.FaucetFunctionCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -66745,7 +67697,7 @@ private static void InitPset_ValveTypeIsolating(IList co
ifcPSE.PropertyName = "IsolatingPurpose";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_IsolatingPurpose);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_IsolatingPurpose);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.IsolatingPurposeCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -66826,7 +67778,7 @@ private static void InitPset_ValveTypeMixing(IList commo
ifcPSE.PropertyName = "MixerControl";
ifcPSE.PropertyType = PropertyType.Label;
ifcPSE.PropertyValueType = PropertyValueType.EnumeratedValue;
- ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3TC1.PEnum_MixingValveControl);
+ ifcPSE.PropertyEnumerationType = typeof(Revit.IFC.Export.Exporter.PropertySet.IFC2X3.PEnum_MixingValveControl);
calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.MixerControlCalculator");
if (calcType != null)
ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
@@ -67998,7 +68950,7 @@ private static void InitPset_WasteTerminalTypeFloorTrap(IList> allQuantitySets)
+ {
+ IList quantitySets = new List();
+ InitQto_ActuatorBaseQuantities(quantitySets);
+ InitQto_AirTerminalBaseQuantities(quantitySets);
+ InitQto_AirTerminalBoxTypeBaseQuantities(quantitySets);
+ InitQto_AirToAirHeatRecoveryBaseQuantities(quantitySets);
+ InitQto_AlarmBaseQuantities(quantitySets);
+ InitQto_AudioVisualApplianceBaseQuantities(quantitySets);
+ InitQto_BeamBaseQuantities(quantitySets);
+ InitQto_BoilerBaseQuantities(quantitySets);
+ InitQto_BuildingBaseQuantities(quantitySets);
+ InitQto_BuildingElementProxyQuantities(quantitySets);
+ InitQto_BuildingStoreyBaseQuantities(quantitySets);
+ InitQto_BurnerBaseQuantities(quantitySets);
+ InitQto_CableCarrierFittingBaseQuantities(quantitySets);
+ InitQto_CableCarrierSegmentBaseQuantities(quantitySets);
+ InitQto_CableFittingBaseQuantities(quantitySets);
+ InitQto_CableSegmentBaseQuantities(quantitySets);
+ InitQto_ChillerBaseQuantities(quantitySets);
+ InitQto_ChimneyBaseQuantities(quantitySets);
+ InitQto_CoilBaseQuantities(quantitySets);
+ InitQto_ColumnBaseQuantities(quantitySets);
+ InitQto_CommunicationsApplianceBaseQuantities(quantitySets);
+ InitQto_CompressorBaseQuantities(quantitySets);
+ InitQto_CondenserBaseQuantities(quantitySets);
+ InitQto_ConstructionEquipmentResourceBaseQuantities(quantitySets);
+ InitQto_ConstructionMaterialResourceBaseQuantities(quantitySets);
+ InitQto_ControllerBaseQuantities(quantitySets);
+ InitQto_CooledBeamBaseQuantities(quantitySets);
+ InitQto_CoolingTowerBaseQuantities(quantitySets);
+ InitQto_CoveringBaseQuantities(quantitySets);
+ InitQto_CurtainWallQuantities(quantitySets);
+ InitQto_DamperBaseQuantities(quantitySets);
+ InitQto_DistributionChamberElementBaseQuantities(quantitySets);
+ InitQto_DoorBaseQuantities(quantitySets);
+ InitQto_DuctFittingBaseQuantities(quantitySets);
+ InitQto_DuctSegmentBaseQuantities(quantitySets);
+ InitQto_DuctSilencerBaseQuantities(quantitySets);
+ InitQto_ElectricApplianceBaseQuantities(quantitySets);
+ InitQto_ElectricDistributionBoardBaseQuantities(quantitySets);
+ InitQto_ElectricFlowStorageDeviceBaseQuantities(quantitySets);
+ InitQto_ElectricGeneratorBaseQuantities(quantitySets);
+ InitQto_ElectricMotorBaseQuantities(quantitySets);
+ InitQto_ElectricTimeControlBaseQuantities(quantitySets);
+ InitQto_EvaporativeCoolerBaseQuantities(quantitySets);
+ InitQto_EvaporatorBaseQuantities(quantitySets);
+ InitQto_FanBaseQuantities(quantitySets);
+ InitQto_FilterBaseQuantities(quantitySets);
+ InitQto_FireSuppressionTerminalBaseQuantities(quantitySets);
+ InitQto_FlowInstrumentBaseQuantities(quantitySets);
+ InitQto_FlowMeterBaseQuantities(quantitySets);
+ InitQto_FootingBaseQuantities(quantitySets);
+ InitQto_HeatExchangerBaseQuantities(quantitySets);
+ InitQto_HumidifierBaseQuantities(quantitySets);
+ InitQto_InterceptorBaseQuantities(quantitySets);
+ InitQto_JunctionBoxBaseQuantities(quantitySets);
+ InitQto_LaborResourceBaseQuantities(quantitySets);
+ InitQto_LampBaseQuantities(quantitySets);
+ InitQto_LightFixtureBaseQuantities(quantitySets);
+ InitQto_MemberBaseQuantities(quantitySets);
+ InitQto_MotorConnectionBaseQuantities(quantitySets);
+ InitQto_OpeningElementBaseQuantities(quantitySets);
+ InitQto_OutletBaseQuantities(quantitySets);
+ InitQto_PileBaseQuantities(quantitySets);
+ InitQto_PipeFittingBaseQuantities(quantitySets);
+ InitQto_PipeSegmentBaseQuantities(quantitySets);
+ InitQto_PlateBaseQuantities(quantitySets);
+ InitQto_ProjectionElementBaseQuantities(quantitySets);
+ InitQto_ProtectiveDeviceBaseQuantities(quantitySets);
+ InitQto_ProtectiveDeviceTrippingUnitBaseQuantities(quantitySets);
+ InitQto_PumpBaseQuantities(quantitySets);
+ InitQto_RailingBaseQuantities(quantitySets);
+ InitQto_RampFlightBaseQuantities(quantitySets);
+ InitQto_ReinforcingElementBaseQuantities(quantitySets);
+ InitQto_RoofBaseQuantities(quantitySets);
+ InitQto_SanitaryTerminalBaseQuantities(quantitySets);
+ InitQto_SensorBaseQuantities(quantitySets);
+ InitQto_SiteBaseQuantities(quantitySets);
+ InitQto_SlabBaseQuantities(quantitySets);
+ InitQto_SolarDeviceBaseQuantities(quantitySets);
+ InitQto_SpaceBaseQuantities(quantitySets);
+ InitQto_SpaceHeaterBaseQuantities(quantitySets);
+ InitQto_StackTerminalBaseQuantities(quantitySets);
+ InitQto_StairFlightBaseQuantities(quantitySets);
+ InitQto_SwitchingDeviceBaseQuantities(quantitySets);
+ InitQto_TankBaseQuantities(quantitySets);
+ InitQto_TransformerBaseQuantities(quantitySets);
+ InitQto_TubeBundleBaseQuantities(quantitySets);
+ InitQto_UnitaryControlElementBaseQuantities(quantitySets);
+ InitQto_UnitaryEquipmentBaseQuantities(quantitySets);
+ InitQto_ValveBaseQuantities(quantitySets);
+ InitQto_VibrationIsolatorBaseQuantities(quantitySets);
+ InitQto_WallBaseQuantities(quantitySets);
+ InitQto_WasteTerminalBaseQuantities(quantitySets);
+ InitQto_WindowBaseQuantities(quantitySets);
+
+ allQuantitySets.Add(quantitySets);
+ }
+
+ private static void InitQto_ActuatorBaseQuantities(IList quantitySets)
+ {
+ QuantityDescription qtoSetActuatorBaseQuantities = new QuantityDescription();
+ qtoSetActuatorBaseQuantities.Name = "Qto_ActuatorBaseQuantities";
+ QuantityEntry ifcPSE = null;
+ Type calcType = null;
+ if (ExporterCacheManager.ExportOptionsCache.ExportAs4 && certifiedEntityAndPsetList.AllowPsetToBeCreated(ExporterCacheManager.ExportOptionsCache.FileVersion.ToString().ToUpper(), "Qto_ActuatorBaseQuantities"))
+ {
+ qtoSetActuatorBaseQuantities.EntityTypes.Add(IFCEntityType.IfcActuator);
+ qtoSetActuatorBaseQuantities.ObjectType = "IfcActuator";
+ ifcPSE = new QuantityEntry("GrossWeight");
+ ifcPSE.PropertyName = "GrossWeight";
+ ifcPSE.QuantityType = QuantityType.Weight;
+ ifcPSE.AddLocalizedParameterName(LanguageType.English_USA, "Gross Weight");
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.GrossWeightCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ qtoSetActuatorBaseQuantities.AddEntry(ifcPSE);
+
+ }
+ if (ifcPSE != null)
+ {
+ quantitySets.Add(qtoSetActuatorBaseQuantities);
+ }
+ }
+
+
+ private static void InitQto_AirTerminalBaseQuantities(IList quantitySets)
+ {
+ QuantityDescription qtoSetAirTerminalBaseQuantities = new QuantityDescription();
+ qtoSetAirTerminalBaseQuantities.Name = "Qto_AirTerminalBaseQuantities";
+ QuantityEntry ifcPSE = null;
+ Type calcType = null;
+ if (ExporterCacheManager.ExportOptionsCache.ExportAs4 && certifiedEntityAndPsetList.AllowPsetToBeCreated(ExporterCacheManager.ExportOptionsCache.FileVersion.ToString().ToUpper(), "Qto_AirTerminalBaseQuantities"))
+ {
+ qtoSetAirTerminalBaseQuantities.EntityTypes.Add(IFCEntityType.IfcAirTerminal);
+ qtoSetAirTerminalBaseQuantities.ObjectType = "IfcAirTerminal";
+ ifcPSE = new QuantityEntry("GrossWeight");
+ ifcPSE.PropertyName = "GrossWeight";
+ ifcPSE.QuantityType = QuantityType.Weight;
+ ifcPSE.AddLocalizedParameterName(LanguageType.English_USA, "Gross Weight");
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.GrossWeightCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ qtoSetAirTerminalBaseQuantities.AddEntry(ifcPSE);
+
+ ifcPSE = new QuantityEntry("Perimeter");
+ ifcPSE.PropertyName = "Perimeter";
+ ifcPSE.QuantityType = QuantityType.Length;
+ ifcPSE.AddLocalizedParameterName(LanguageType.English_USA, "Perimeter");
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.PerimeterCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ qtoSetAirTerminalBaseQuantities.AddEntry(ifcPSE);
+
+ ifcPSE = new QuantityEntry("TotalSurfaceArea");
+ ifcPSE.PropertyName = "TotalSurfaceArea";
+ ifcPSE.QuantityType = QuantityType.Area;
+ ifcPSE.AddLocalizedParameterName(LanguageType.English_USA, "Total Surface Area");
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.TotalSurfaceAreaCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ qtoSetAirTerminalBaseQuantities.AddEntry(ifcPSE);
+
+ }
+ if (ifcPSE != null)
+ {
+ quantitySets.Add(qtoSetAirTerminalBaseQuantities);
+ }
+ }
+
+
+ private static void InitQto_AirTerminalBoxTypeBaseQuantities(IList quantitySets)
+ {
+ QuantityDescription qtoSetAirTerminalBoxTypeBaseQuantities = new QuantityDescription();
+ qtoSetAirTerminalBoxTypeBaseQuantities.Name = "Qto_AirTerminalBoxTypeBaseQuantities";
+ QuantityEntry ifcPSE = null;
+ Type calcType = null;
+ if (ExporterCacheManager.ExportOptionsCache.ExportAs4 && certifiedEntityAndPsetList.AllowPsetToBeCreated(ExporterCacheManager.ExportOptionsCache.FileVersion.ToString().ToUpper(), "Qto_AirTerminalBoxTypeBaseQuantities"))
+ {
+ qtoSetAirTerminalBoxTypeBaseQuantities.EntityTypes.Add(IFCEntityType.IfcAirTerminalBox);
+ qtoSetAirTerminalBoxTypeBaseQuantities.ObjectType = "IfcAirTerminalBox";
+ ifcPSE = new QuantityEntry("GrossWeight");
+ ifcPSE.PropertyName = "GrossWeight";
+ ifcPSE.QuantityType = QuantityType.Weight;
+ ifcPSE.AddLocalizedParameterName(LanguageType.English_USA, "Gross Weight");
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.GrossWeightCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ qtoSetAirTerminalBoxTypeBaseQuantities.AddEntry(ifcPSE);
+
+ }
+ if (ifcPSE != null)
+ {
+ quantitySets.Add(qtoSetAirTerminalBoxTypeBaseQuantities);
+ }
+ }
+
+
+ private static void InitQto_AirToAirHeatRecoveryBaseQuantities(IList quantitySets)
+ {
+ QuantityDescription qtoSetAirToAirHeatRecoveryBaseQuantities = new QuantityDescription();
+ qtoSetAirToAirHeatRecoveryBaseQuantities.Name = "Qto_AirToAirHeatRecoveryBaseQuantities";
+ QuantityEntry ifcPSE = null;
+ Type calcType = null;
+ if (ExporterCacheManager.ExportOptionsCache.ExportAs4 && certifiedEntityAndPsetList.AllowPsetToBeCreated(ExporterCacheManager.ExportOptionsCache.FileVersion.ToString().ToUpper(), "Qto_AirToAirHeatRecoveryBaseQuantities"))
+ {
+ qtoSetAirToAirHeatRecoveryBaseQuantities.EntityTypes.Add(IFCEntityType.IfcAirToAirHeatRecovery);
+ qtoSetAirToAirHeatRecoveryBaseQuantities.ObjectType = "IfcAirToAirHeatRecovery";
+ ifcPSE = new QuantityEntry("GrossWeight");
+ ifcPSE.PropertyName = "GrossWeight";
+ ifcPSE.QuantityType = QuantityType.Weight;
+ ifcPSE.AddLocalizedParameterName(LanguageType.English_USA, "Gross Weight");
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.GrossWeightCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ qtoSetAirToAirHeatRecoveryBaseQuantities.AddEntry(ifcPSE);
+
+ }
+ if (ifcPSE != null)
+ {
+ quantitySets.Add(qtoSetAirToAirHeatRecoveryBaseQuantities);
+ }
+ }
+
+
+ private static void InitQto_AlarmBaseQuantities(IList quantitySets)
+ {
+ QuantityDescription qtoSetAlarmBaseQuantities = new QuantityDescription();
+ qtoSetAlarmBaseQuantities.Name = "Qto_AlarmBaseQuantities";
+ QuantityEntry ifcPSE = null;
+ Type calcType = null;
+ if (ExporterCacheManager.ExportOptionsCache.ExportAs4 && certifiedEntityAndPsetList.AllowPsetToBeCreated(ExporterCacheManager.ExportOptionsCache.FileVersion.ToString().ToUpper(), "Qto_AlarmBaseQuantities"))
+ {
+ qtoSetAlarmBaseQuantities.EntityTypes.Add(IFCEntityType.IfcAlarm);
+ qtoSetAlarmBaseQuantities.ObjectType = "IfcAlarm";
+ ifcPSE = new QuantityEntry("GrossWeight");
+ ifcPSE.PropertyName = "GrossWeight";
+ ifcPSE.QuantityType = QuantityType.Weight;
+ ifcPSE.AddLocalizedParameterName(LanguageType.English_USA, "Gross Weight");
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.GrossWeightCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ qtoSetAlarmBaseQuantities.AddEntry(ifcPSE);
+
+ }
+ if (ifcPSE != null)
+ {
+ quantitySets.Add(qtoSetAlarmBaseQuantities);
+ }
+ }
+
+
+ private static void InitQto_AudioVisualApplianceBaseQuantities(IList quantitySets)
+ {
+ QuantityDescription qtoSetAudioVisualApplianceBaseQuantities = new QuantityDescription();
+ qtoSetAudioVisualApplianceBaseQuantities.Name = "Qto_AudioVisualApplianceBaseQuantities";
+ QuantityEntry ifcPSE = null;
+ Type calcType = null;
+ if (ExporterCacheManager.ExportOptionsCache.ExportAs4 && certifiedEntityAndPsetList.AllowPsetToBeCreated(ExporterCacheManager.ExportOptionsCache.FileVersion.ToString().ToUpper(), "Qto_AudioVisualApplianceBaseQuantities"))
+ {
+ qtoSetAudioVisualApplianceBaseQuantities.EntityTypes.Add(IFCEntityType.IfcAudioVisualAppliance);
+ qtoSetAudioVisualApplianceBaseQuantities.ObjectType = "IfcAudioVisualAppliance";
+ ifcPSE = new QuantityEntry("GrossWeight");
+ ifcPSE.PropertyName = "GrossWeight";
+ ifcPSE.QuantityType = QuantityType.Weight;
+ ifcPSE.AddLocalizedParameterName(LanguageType.English_USA, "Gross Weight");
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.GrossWeightCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ qtoSetAudioVisualApplianceBaseQuantities.AddEntry(ifcPSE);
+
+ }
+ if (ifcPSE != null)
+ {
+ quantitySets.Add(qtoSetAudioVisualApplianceBaseQuantities);
+ }
+ }
+
+
+ private static void InitQto_BeamBaseQuantities(IList quantitySets)
+ {
+ QuantityDescription qtoSetBeamBaseQuantities = new QuantityDescription();
+ qtoSetBeamBaseQuantities.Name = "Qto_BeamBaseQuantities";
+ QuantityEntry ifcPSE = null;
+ Type calcType = null;
+ if (ExporterCacheManager.ExportOptionsCache.ExportAs4 && certifiedEntityAndPsetList.AllowPsetToBeCreated(ExporterCacheManager.ExportOptionsCache.FileVersion.ToString().ToUpper(), "Qto_BeamBaseQuantities"))
+ {
+ qtoSetBeamBaseQuantities.EntityTypes.Add(IFCEntityType.IfcBeam);
+ qtoSetBeamBaseQuantities.ObjectType = "IfcBeam";
+ ifcPSE = new QuantityEntry("Length");
+ ifcPSE.PropertyName = "Length";
+ ifcPSE.QuantityType = QuantityType.Length;
+ ifcPSE.AddLocalizedParameterName(LanguageType.German, "Länge");
+ ifcPSE.AddLocalizedParameterName(LanguageType.English_USA, "Length");
+ ifcPSE.AddLocalizedParameterName(LanguageType.Japanese, "長さ");
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.LengthCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ qtoSetBeamBaseQuantities.AddEntry(ifcPSE);
+
+ ifcPSE = new QuantityEntry("CrossSectionArea");
+ ifcPSE.PropertyName = "CrossSectionArea";
+ ifcPSE.QuantityType = QuantityType.Area;
+ ifcPSE.AddLocalizedParameterName(LanguageType.German, "Querschnittsfläche");
+ ifcPSE.AddLocalizedParameterName(LanguageType.English_USA, "Cross Section Area");
+ ifcPSE.AddLocalizedParameterName(LanguageType.Japanese, "断面面積");
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.CrossSectionAreaCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ qtoSetBeamBaseQuantities.AddEntry(ifcPSE);
+
+ ifcPSE = new QuantityEntry("OuterSurfaceArea");
+ ifcPSE.PropertyName = "OuterSurfaceArea";
+ ifcPSE.QuantityType = QuantityType.Area;
+ ifcPSE.AddLocalizedParameterName(LanguageType.German, "Mantelfläche");
+ ifcPSE.AddLocalizedParameterName(LanguageType.English_USA, "Outer Surface Area");
+ ifcPSE.AddLocalizedParameterName(LanguageType.Japanese, "外表面面積");
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.OuterSurfaceAreaCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ qtoSetBeamBaseQuantities.AddEntry(ifcPSE);
+
+ ifcPSE = new QuantityEntry("GrossSurfaceArea");
+ ifcPSE.PropertyName = "GrossSurfaceArea";
+ ifcPSE.QuantityType = QuantityType.Area;
+ ifcPSE.AddLocalizedParameterName(LanguageType.German, "Gesamtoberfläche");
+ ifcPSE.AddLocalizedParameterName(LanguageType.English_USA, "Gross Surface Area");
+ ifcPSE.AddLocalizedParameterName(LanguageType.Japanese, "表面面積");
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.GrossSurfaceAreaCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ qtoSetBeamBaseQuantities.AddEntry(ifcPSE);
+
+ ifcPSE = new QuantityEntry("NetSurfaceArea");
+ ifcPSE.PropertyName = "NetSurfaceArea";
+ ifcPSE.QuantityType = QuantityType.Area;
+ ifcPSE.AddLocalizedParameterName(LanguageType.German, "Nettooberfläche");
+ ifcPSE.AddLocalizedParameterName(LanguageType.English_USA, "Net Surface Area");
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.NetSurfaceAreaCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ qtoSetBeamBaseQuantities.AddEntry(ifcPSE);
+
+ ifcPSE = new QuantityEntry("GrossVolume");
+ ifcPSE.PropertyName = "GrossVolume";
+ ifcPSE.QuantityType = QuantityType.Volume;
+ ifcPSE.AddLocalizedParameterName(LanguageType.German, "Bruttovolumen");
+ ifcPSE.AddLocalizedParameterName(LanguageType.English_USA, "Gross Volume");
+ ifcPSE.AddLocalizedParameterName(LanguageType.Japanese, "体積");
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.GrossVolumeCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ qtoSetBeamBaseQuantities.AddEntry(ifcPSE);
+
+ ifcPSE = new QuantityEntry("NetVolume");
+ ifcPSE.PropertyName = "NetVolume";
+ ifcPSE.QuantityType = QuantityType.Volume;
+ ifcPSE.AddLocalizedParameterName(LanguageType.German, "Nettovolumen");
+ ifcPSE.AddLocalizedParameterName(LanguageType.English_USA, "Net Volume");
+ ifcPSE.AddLocalizedParameterName(LanguageType.Japanese, "正味体積");
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.NetVolumeCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ qtoSetBeamBaseQuantities.AddEntry(ifcPSE);
+
+ ifcPSE = new QuantityEntry("GrossWeight");
+ ifcPSE.PropertyName = "GrossWeight";
+ ifcPSE.QuantityType = QuantityType.Weight;
+ ifcPSE.AddLocalizedParameterName(LanguageType.German, "Bruttogewicht");
+ ifcPSE.AddLocalizedParameterName(LanguageType.English_USA, "Gross Weight");
+ ifcPSE.AddLocalizedParameterName(LanguageType.Japanese, "重量");
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.GrossWeightCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ qtoSetBeamBaseQuantities.AddEntry(ifcPSE);
+
+ ifcPSE = new QuantityEntry("NetWeight");
+ ifcPSE.PropertyName = "NetWeight";
+ ifcPSE.QuantityType = QuantityType.Weight;
+ ifcPSE.AddLocalizedParameterName(LanguageType.German, "Nettogewicht");
+ ifcPSE.AddLocalizedParameterName(LanguageType.English_USA, "Net Weight");
+ ifcPSE.AddLocalizedParameterName(LanguageType.Japanese, "正味重量");
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.NetWeightCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ qtoSetBeamBaseQuantities.AddEntry(ifcPSE);
+
+ }
+ if (ifcPSE != null)
+ {
+ quantitySets.Add(qtoSetBeamBaseQuantities);
+ }
+ }
+
+
+ private static void InitQto_BoilerBaseQuantities(IList quantitySets)
+ {
+ QuantityDescription qtoSetBoilerBaseQuantities = new QuantityDescription();
+ qtoSetBoilerBaseQuantities.Name = "Qto_BoilerBaseQuantities";
+ QuantityEntry ifcPSE = null;
+ Type calcType = null;
+ if (ExporterCacheManager.ExportOptionsCache.ExportAs4 && certifiedEntityAndPsetList.AllowPsetToBeCreated(ExporterCacheManager.ExportOptionsCache.FileVersion.ToString().ToUpper(), "Qto_BoilerBaseQuantities"))
+ {
+ qtoSetBoilerBaseQuantities.EntityTypes.Add(IFCEntityType.IfcBoiler);
+ qtoSetBoilerBaseQuantities.ObjectType = "IfcBoiler";
+ ifcPSE = new QuantityEntry("GrossWeight");
+ ifcPSE.PropertyName = "GrossWeight";
+ ifcPSE.QuantityType = QuantityType.Weight;
+ ifcPSE.AddLocalizedParameterName(LanguageType.English_USA, "Gross Weight");
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.GrossWeightCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ qtoSetBoilerBaseQuantities.AddEntry(ifcPSE);
+
+ ifcPSE = new QuantityEntry("NetWeight");
+ ifcPSE.PropertyName = "NetWeight";
+ ifcPSE.QuantityType = QuantityType.Weight;
+ ifcPSE.AddLocalizedParameterName(LanguageType.English_USA, "Net Weight");
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.NetWeightCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ qtoSetBoilerBaseQuantities.AddEntry(ifcPSE);
+
+ ifcPSE = new QuantityEntry("TotalSurfaceArea");
+ ifcPSE.PropertyName = "TotalSurfaceArea";
+ ifcPSE.QuantityType = QuantityType.Area;
+ ifcPSE.AddLocalizedParameterName(LanguageType.English_USA, "Total Surface Area");
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.TotalSurfaceAreaCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ qtoSetBoilerBaseQuantities.AddEntry(ifcPSE);
+
+ }
+ if (ifcPSE != null)
+ {
+ quantitySets.Add(qtoSetBoilerBaseQuantities);
+ }
+ }
+
+
+ private static void InitQto_BuildingBaseQuantities(IList quantitySets)
+ {
+ QuantityDescription qtoSetBuildingBaseQuantities = new QuantityDescription();
+ qtoSetBuildingBaseQuantities.Name = "Qto_BuildingBaseQuantities";
+ QuantityEntry ifcPSE = null;
+ Type calcType = null;
+ if (ExporterCacheManager.ExportOptionsCache.ExportAs4 && certifiedEntityAndPsetList.AllowPsetToBeCreated(ExporterCacheManager.ExportOptionsCache.FileVersion.ToString().ToUpper(), "Qto_BuildingBaseQuantities"))
+ {
+ qtoSetBuildingBaseQuantities.EntityTypes.Add(IFCEntityType.IfcBuilding);
+ qtoSetBuildingBaseQuantities.ObjectType = "IfcBuilding";
+ ifcPSE = new QuantityEntry("Height");
+ ifcPSE.PropertyName = "Height";
+ ifcPSE.QuantityType = QuantityType.Length;
+ ifcPSE.AddLocalizedParameterName(LanguageType.German, "Firsthöhe");
+ ifcPSE.AddLocalizedParameterName(LanguageType.English_USA, "Height");
+ ifcPSE.AddLocalizedParameterName(LanguageType.Japanese, "高さ");
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.HeightCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ qtoSetBuildingBaseQuantities.AddEntry(ifcPSE);
+
+ ifcPSE = new QuantityEntry("EavesHeight");
+ ifcPSE.PropertyName = "EavesHeight";
+ ifcPSE.QuantityType = QuantityType.Length;
+ ifcPSE.AddLocalizedParameterName(LanguageType.German, "Traufhöhe");
+ ifcPSE.AddLocalizedParameterName(LanguageType.English_USA, "Eaves Height");
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.EavesHeightCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ qtoSetBuildingBaseQuantities.AddEntry(ifcPSE);
+
+ ifcPSE = new QuantityEntry("FootprintArea");
+ ifcPSE.PropertyName = "FootprintArea";
+ ifcPSE.QuantityType = QuantityType.Area;
+ ifcPSE.AddLocalizedParameterName(LanguageType.German, "Bebaute Fläche");
+ ifcPSE.AddLocalizedParameterName(LanguageType.English_USA, "Footprint Area");
+ ifcPSE.AddLocalizedParameterName(LanguageType.Japanese, "建築面積");
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.FootprintAreaCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ qtoSetBuildingBaseQuantities.AddEntry(ifcPSE);
+
+ ifcPSE = new QuantityEntry("GrossFloorArea");
+ ifcPSE.PropertyName = "GrossFloorArea";
+ ifcPSE.QuantityType = QuantityType.Area;
+ ifcPSE.AddLocalizedParameterName(LanguageType.German, "Bruttogrundfläche");
+ ifcPSE.AddLocalizedParameterName(LanguageType.English_USA, "Gross Floor Area");
+ ifcPSE.AddLocalizedParameterName(LanguageType.Japanese, "延べ床面積");
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.GrossFloorAreaCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ qtoSetBuildingBaseQuantities.AddEntry(ifcPSE);
+
+ ifcPSE = new QuantityEntry("NetFloorArea");
+ ifcPSE.PropertyName = "NetFloorArea";
+ ifcPSE.QuantityType = QuantityType.Area;
+ ifcPSE.AddLocalizedParameterName(LanguageType.German, "Nettogrundfläche");
+ ifcPSE.AddLocalizedParameterName(LanguageType.English_USA, "Net Floor Area");
+ ifcPSE.AddLocalizedParameterName(LanguageType.Japanese, "正味床面積");
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.NetFloorAreaCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ qtoSetBuildingBaseQuantities.AddEntry(ifcPSE);
+
+ ifcPSE = new QuantityEntry("GrossVolume");
+ ifcPSE.PropertyName = "GrossVolume";
+ ifcPSE.QuantityType = QuantityType.Volume;
+ ifcPSE.AddLocalizedParameterName(LanguageType.German, "Bruttorauminhalt");
+ ifcPSE.AddLocalizedParameterName(LanguageType.English_USA, "Gross Volume");
+ ifcPSE.AddLocalizedParameterName(LanguageType.Japanese, "建物体積");
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.GrossVolumeCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ qtoSetBuildingBaseQuantities.AddEntry(ifcPSE);
+
+ ifcPSE = new QuantityEntry("NetVolume");
+ ifcPSE.PropertyName = "NetVolume";
+ ifcPSE.QuantityType = QuantityType.Volume;
+ ifcPSE.AddLocalizedParameterName(LanguageType.German, "Nettorauminhalt");
+ ifcPSE.AddLocalizedParameterName(LanguageType.English_USA, "Net Volume");
+ ifcPSE.AddLocalizedParameterName(LanguageType.Japanese, "正味建物体積");
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.NetVolumeCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ qtoSetBuildingBaseQuantities.AddEntry(ifcPSE);
+
+ }
+ if (ifcPSE != null)
+ {
+ quantitySets.Add(qtoSetBuildingBaseQuantities);
+ }
+ }
+
+
+ private static void InitQto_BuildingElementProxyQuantities(IList quantitySets)
+ {
+ QuantityDescription qtoSetBuildingElementProxyQuantities = new QuantityDescription();
+ qtoSetBuildingElementProxyQuantities.Name = "Qto_BuildingElementProxyQuantities";
+ QuantityEntry ifcPSE = null;
+ Type calcType = null;
+ if (ExporterCacheManager.ExportOptionsCache.ExportAs4 && certifiedEntityAndPsetList.AllowPsetToBeCreated(ExporterCacheManager.ExportOptionsCache.FileVersion.ToString().ToUpper(), "Qto_BuildingElementProxyQuantities"))
+ {
+ qtoSetBuildingElementProxyQuantities.EntityTypes.Add(IFCEntityType.IfcBuildingElementProxy);
+ qtoSetBuildingElementProxyQuantities.ObjectType = "IfcBuildingElementProxy";
+ ifcPSE = new QuantityEntry("NetSurfaceArea");
+ ifcPSE.PropertyName = "NetSurfaceArea";
+ ifcPSE.QuantityType = QuantityType.Area;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.NetSurfaceAreaCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ qtoSetBuildingElementProxyQuantities.AddEntry(ifcPSE);
+
+ ifcPSE = new QuantityEntry("NetVolume");
+ ifcPSE.PropertyName = "NetVolume";
+ ifcPSE.QuantityType = QuantityType.Volume;
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.NetVolumeCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ qtoSetBuildingElementProxyQuantities.AddEntry(ifcPSE);
+
+ }
+ if (ifcPSE != null)
+ {
+ quantitySets.Add(qtoSetBuildingElementProxyQuantities);
+ }
+ }
+
+
+ private static void InitQto_BuildingStoreyBaseQuantities(IList quantitySets)
+ {
+ QuantityDescription qtoSetBuildingStoreyBaseQuantities = new QuantityDescription();
+ qtoSetBuildingStoreyBaseQuantities.Name = "Qto_BuildingStoreyBaseQuantities";
+ QuantityEntry ifcPSE = null;
+ Type calcType = null;
+ if (ExporterCacheManager.ExportOptionsCache.ExportAs4 && certifiedEntityAndPsetList.AllowPsetToBeCreated(ExporterCacheManager.ExportOptionsCache.FileVersion.ToString().ToUpper(), "Qto_BuildingStoreyBaseQuantities"))
+ {
+ qtoSetBuildingStoreyBaseQuantities.EntityTypes.Add(IFCEntityType.IfcBuildingStorey);
+ qtoSetBuildingStoreyBaseQuantities.ObjectType = "IfcBuildingStorey";
+ ifcPSE = new QuantityEntry("GrossHeight");
+ ifcPSE.PropertyName = "GrossHeight";
+ ifcPSE.QuantityType = QuantityType.Length;
+ ifcPSE.AddLocalizedParameterName(LanguageType.German, "Systemhöhe");
+ ifcPSE.AddLocalizedParameterName(LanguageType.English_USA, "Gross Height");
+ ifcPSE.AddLocalizedParameterName(LanguageType.Japanese, "階高");
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.GrossHeightCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ qtoSetBuildingStoreyBaseQuantities.AddEntry(ifcPSE);
+
+ ifcPSE = new QuantityEntry("NetHeigtht");
+ ifcPSE.PropertyName = "NetHeigtht";
+ ifcPSE.QuantityType = QuantityType.Length;
+ ifcPSE.AddLocalizedParameterName(LanguageType.German, "Lichte Höhe");
+ ifcPSE.AddLocalizedParameterName(LanguageType.English_USA, "Net Heigtht");
+ ifcPSE.AddLocalizedParameterName(LanguageType.Japanese, "正味階高");
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.NetHeigthtCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ qtoSetBuildingStoreyBaseQuantities.AddEntry(ifcPSE);
+
+ ifcPSE = new QuantityEntry("GrossPerimeter");
+ ifcPSE.PropertyName = "GrossPerimeter";
+ ifcPSE.QuantityType = QuantityType.Length;
+ ifcPSE.AddLocalizedParameterName(LanguageType.German, "Umfang");
+ ifcPSE.AddLocalizedParameterName(LanguageType.English_USA, "Gross Perimeter");
+ ifcPSE.AddLocalizedParameterName(LanguageType.Japanese, "周辺長");
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.GrossPerimeterCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ qtoSetBuildingStoreyBaseQuantities.AddEntry(ifcPSE);
+
+ ifcPSE = new QuantityEntry("GrossFloorArea");
+ ifcPSE.PropertyName = "GrossFloorArea";
+ ifcPSE.QuantityType = QuantityType.Area;
+ ifcPSE.AddLocalizedParameterName(LanguageType.German, "Bruttogrundfläche");
+ ifcPSE.AddLocalizedParameterName(LanguageType.English_USA, "Gross Floor Area");
+ ifcPSE.AddLocalizedParameterName(LanguageType.Japanese, "床面積");
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.GrossFloorAreaCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ qtoSetBuildingStoreyBaseQuantities.AddEntry(ifcPSE);
+
+ ifcPSE = new QuantityEntry("NetFloorArea");
+ ifcPSE.PropertyName = "NetFloorArea";
+ ifcPSE.QuantityType = QuantityType.Area;
+ ifcPSE.AddLocalizedParameterName(LanguageType.German, "Nettogrundfläche");
+ ifcPSE.AddLocalizedParameterName(LanguageType.English_USA, "Net Floor Area");
+ ifcPSE.AddLocalizedParameterName(LanguageType.Japanese, "正味床面積");
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.NetFloorAreaCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ qtoSetBuildingStoreyBaseQuantities.AddEntry(ifcPSE);
+
+ ifcPSE = new QuantityEntry("GrossVolume");
+ ifcPSE.PropertyName = "GrossVolume";
+ ifcPSE.QuantityType = QuantityType.Volume;
+ ifcPSE.AddLocalizedParameterName(LanguageType.German, "Bruttorauminhalt");
+ ifcPSE.AddLocalizedParameterName(LanguageType.English_USA, "Gross Volume");
+ ifcPSE.AddLocalizedParameterName(LanguageType.Japanese, "建物階体積");
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.GrossVolumeCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ qtoSetBuildingStoreyBaseQuantities.AddEntry(ifcPSE);
+
+ ifcPSE = new QuantityEntry("NetVolume");
+ ifcPSE.PropertyName = "NetVolume";
+ ifcPSE.QuantityType = QuantityType.Volume;
+ ifcPSE.AddLocalizedParameterName(LanguageType.German, "Nettorauminhalt");
+ ifcPSE.AddLocalizedParameterName(LanguageType.English_USA, "Net Volume");
+ ifcPSE.AddLocalizedParameterName(LanguageType.Japanese, "正味建物階体積");
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.NetVolumeCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ qtoSetBuildingStoreyBaseQuantities.AddEntry(ifcPSE);
+
+ }
+ if (ifcPSE != null)
+ {
+ quantitySets.Add(qtoSetBuildingStoreyBaseQuantities);
+ }
+ }
+
+
+ private static void InitQto_BurnerBaseQuantities(IList quantitySets)
+ {
+ QuantityDescription qtoSetBurnerBaseQuantities = new QuantityDescription();
+ qtoSetBurnerBaseQuantities.Name = "Qto_BurnerBaseQuantities";
+ QuantityEntry ifcPSE = null;
+ Type calcType = null;
+ if (ExporterCacheManager.ExportOptionsCache.ExportAs4 && certifiedEntityAndPsetList.AllowPsetToBeCreated(ExporterCacheManager.ExportOptionsCache.FileVersion.ToString().ToUpper(), "Qto_BurnerBaseQuantities"))
+ {
+ qtoSetBurnerBaseQuantities.EntityTypes.Add(IFCEntityType.IfcBurner);
+ qtoSetBurnerBaseQuantities.ObjectType = "IfcBurner";
+ ifcPSE = new QuantityEntry("GrossWeight");
+ ifcPSE.PropertyName = "GrossWeight";
+ ifcPSE.QuantityType = QuantityType.Weight;
+ ifcPSE.AddLocalizedParameterName(LanguageType.English_USA, "Gross Weight");
+ calcType = System.Reflection.Assembly.GetExecutingAssembly().GetType("Revit.IFC.Export.Exporter.PropertySet.Calculators.GrossWeightCalculator");
+ if (calcType != null)
+ ifcPSE.PropertyCalculator = (PropertyCalculator) calcType.GetConstructor(Type.EmptyTypes).Invoke(new object[]{});
+ qtoSetBurnerBaseQuantities.AddEntry(ifcPSE);
+
+ }
+ if (ifcPSE != null)
+ {
+ quantitySets.Add(qtoSetBurnerBaseQuantities);
+ }
+ }
+
+
+ private static void InitQto_CableCarrierFittingBaseQuantities(IList