AECgeeks / infra-repo-issue-test-old1

0 stars 0 forks source link

IfcFacilityPart issue 90 #94

Closed aothms closed 2 years ago

aothms commented 2 years ago

Remove the modeling pattern of select of enumeration for predefined type

aothms commented 2 years ago
--- tmp/a/IFC.exp   2022-02-13 13:29:18.847287400 +0100
+++ tmp/b/IFC.exp   2022-07-09 16:00:10.159896500 +0200
@@ -3030,43 +3030,31 @@
    ,VOLTAGE);
 END_TYPE;

 TYPE IfcTransitionCode = ENUMERATION OF
    (CONTINUOUS
    ,CONTSAMEGRADIENT
    ,CONTSAMEGRADIENTSAMECURVATURE
    ,DISCONTINUOUS);
 END_TYPE;

-TYPE IfcTransportElementFixedTypeEnum = ENUMERATION OF
+TYPE IfcTransportElementTypeEnum = ENUMERATION OF
    (CRANEWAY
    ,ELEVATOR
    ,ESCALATOR
    ,HAULINGGEAR
    ,LIFTINGGEAR
    ,MOVINGWALKWAY
    ,NOTDEFINED
    ,USERDEFINED);
 END_TYPE;

-TYPE IfcTransportElementNonFixedTypeEnum = ENUMERATION OF
-   (CARGO
-   ,NOTDEFINED
-   ,ROLLINGSTOCK
-   ,USERDEFINED
-   ,VEHICLE
-   ,VEHICLEAIR
-   ,VEHICLEMARINE
-   ,VEHICLETRACKED
-   ,VEHICLEWHEELED);
-END_TYPE;
-
 TYPE IfcTrimmingPreference = ENUMERATION OF
    (CARTESIAN
    ,PARAMETER
    ,UNSPECIFIED);
 END_TYPE;

 TYPE IfcTubeBundleTypeEnum = ENUMERATION OF
    (FINNED
    ,NOTDEFINED
    ,USERDEFINED);
@@ -3149,20 +3137,32 @@
    ,NOTDEFINED
    ,PRESSUREREDUCING
    ,PRESSURERELIEF
    ,REGULATING
    ,SAFETYCUTOFF
    ,STEAMTRAP
    ,STOPCOCK
    ,USERDEFINED);
 END_TYPE;

+TYPE IfcVehicleTypeEnum = ENUMERATION OF
+   (CARGO
+   ,NOTDEFINED
+   ,ROLLINGSTOCK
+   ,USERDEFINED
+   ,VEHICLE
+   ,VEHICLEAIR
+   ,VEHICLEMARINE
+   ,VEHICLETRACKED
+   ,VEHICLEWHEELED);
+END_TYPE;
+
 TYPE IfcVibrationDamperTypeEnum = ENUMERATION OF
    (AXIAL_YIELD
    ,BENDING_YIELD
    ,FRICTION
    ,NOTDEFINED
    ,RUBBER
    ,SHEAR_YIELD
    ,USERDEFINED
    ,VISCOUS);
 END_TYPE;
@@ -3474,28 +3474,20 @@
    ,IfcVolumetricFlowRateMeasure
    ,IfcWarpingConstantMeasure
    ,IfcWarpingMomentMeasure);
 END_TYPE;

 TYPE IfcDocumentSelect = SELECT
    (IfcDocumentInformation
    ,IfcDocumentReference);
 END_TYPE;

-TYPE IfcFacilityPartTypeSelect = SELECT
-   (IfcBridgePartTypeEnum
-   ,IfcFacilityPartCommonTypeEnum
-   ,IfcMarinePartTypeEnum
-   ,IfcRailwayPartTypeEnum
-   ,IfcRoadPartTypeEnum);
-END_TYPE;
-
 TYPE IfcFillStyleSelect = SELECT
    (IfcColour
    ,IfcExternallyDefinedHatchStyle
    ,IfcFillAreaStyleHatching
    ,IfcFillAreaStyleTiles);
 END_TYPE;

 TYPE IfcGeometricSetSelect = SELECT
    (IfcCurve
    ,IfcPoint
@@ -3505,26 +3497,20 @@
 TYPE IfcGridPlacementDirectionSelect = SELECT
    (IfcDirection
    ,IfcVirtualGridIntersection);
 END_TYPE;

 TYPE IfcHatchLineDistanceSelect = SELECT
    (IfcPositiveLengthMeasure
    ,IfcVector);
 END_TYPE;

-TYPE IfcImpactProtectionDeviceTypeSelect = SELECT
-   (IfcImpactProtectionDeviceTypeEnum
-   ,IfcVibrationDamperTypeEnum
-   ,IfcVibrationIsolatorTypeEnum);
-END_TYPE;
-
 TYPE IfcInterferenceSelect = SELECT
    (IfcElement
    ,IfcSpatialElement);
 END_TYPE;

 TYPE IfcLayeredItem = SELECT
    (IfcRepresentation
    ,IfcRepresentationItem);
 END_TYPE;

@@ -3744,25 +3730,20 @@
 TYPE IfcTimeOrRatioSelect = SELECT
    (IfcDuration
    ,IfcRatioMeasure);
 END_TYPE;

 TYPE IfcTranslationalStiffnessSelect = SELECT
    (IfcBoolean
    ,IfcLinearStiffnessMeasure);
 END_TYPE;

-TYPE IfcTransportElementTypeSelect = SELECT
-   (IfcTransportElementFixedTypeEnum
-   ,IfcTransportElementNonFixedTypeEnum);
-END_TYPE;
-
 TYPE IfcTrimmingSelect = SELECT
    (IfcCartesianPoint
    ,IfcParameterValue);
 END_TYPE;

 TYPE IfcUnit = SELECT
    (IfcDerivedUnit
    ,IfcMonetaryUnit
    ,IfcNamedUnit);
 END_TYPE;
@@ -4511,20 +4492,25 @@

 ENTITY IfcBridge
  SUBTYPE OF (IfcFacility);
    PredefinedType : OPTIONAL IfcBridgeTypeEnum;
  WHERE
    CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
 (PredefinedType <> IfcBridgeTypeEnum.USERDEFINED) OR
 ((PredefinedType = IfcBridgeTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcObject.ObjectType));
 END_ENTITY;

+ENTITY IfcBridgePart
+ SUBTYPE OF (IfcFacilityPart);
+   PredefinedType : OPTIONAL IfcBridgePartTypeEnum;
+END_ENTITY;
+
 ENTITY IfcBuilding
  SUBTYPE OF (IfcFacility);
    ElevationOfRefHeight : OPTIONAL IfcLengthMeasure;
    ElevationOfTerrain : OPTIONAL IfcLengthMeasure;
    BuildingAddress : OPTIONAL IfcPostalAddress;
 END_ENTITY;

 ENTITY IfcBuildingElementPart
  SUBTYPE OF (IfcElementComponent);
    PredefinedType : OPTIONAL IfcBuildingElementPartTypeEnum;
@@ -6342,21 +6328,21 @@
  ABSTRACT SUPERTYPE OF (ONEOF
    (IfcBuiltElement
    ,IfcCivilElement
    ,IfcDistributionElement
    ,IfcElementAssembly
    ,IfcElementComponent
    ,IfcFeatureElement
    ,IfcFurnishingElement
    ,IfcGeographicElement
    ,IfcGeotechnicalElement
-   ,IfcTransportElement
+   ,IfcTransportationDevice
    ,IfcVirtualElement))
  SUBTYPE OF (IfcProduct);
    Tag : OPTIONAL IfcIdentifier;
  INVERSE
    FillsVoids : SET [0:1] OF IfcRelFillsElement FOR RelatedBuildingElement;
    ConnectedTo : SET [0:?] OF IfcRelConnectsElements FOR RelatingElement;
    IsInterferedByElements : SET [0:?] OF IfcRelInterferesElements FOR RelatedElement;
    InterferesElements : SET [0:?] OF IfcRelInterferesElements FOR RelatingElement;
    HasProjections : SET [0:?] OF IfcRelProjectsElement FOR RelatingElement;
    HasOpenings : SET [0:?] OF IfcRelVoidsElement FOR RelatingBuildingElement;
@@ -6383,38 +6369,38 @@
 ENTITY IfcElementAssemblyType
  SUBTYPE OF (IfcElementType);
    PredefinedType : IfcElementAssemblyTypeEnum;
  WHERE
    CorrectPredefinedType : (PredefinedType <> IfcElementAssemblyTypeEnum.USERDEFINED) OR 
 ((PredefinedType = IfcElementAssemblyTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
 END_ENTITY;

 ENTITY IfcElementComponent
  ABSTRACT SUPERTYPE OF (ONEOF
-   (IfcBuildingElementPart
+   (IfcAbstractImpactProtectionDevice
+   ,IfcBuildingElementPart
    ,IfcDiscreteAccessory
    ,IfcFastener
-   ,IfcImpactProtectionDevice
    ,IfcMechanicalFastener
    ,IfcReinforcingElement
    ,IfcSign
    ,IfcVibrationDamper
    ,IfcVibrationIsolator))
  SUBTYPE OF (IfcElement);
 END_ENTITY;

 ENTITY IfcElementComponentType
  ABSTRACT SUPERTYPE OF (ONEOF
-   (IfcBuildingElementPartType
+   (IfcAbstractImpactProtectionDeviceType
+   ,IfcBuildingElementPartType
    ,IfcDiscreteAccessoryType
    ,IfcFastenerType
-   ,IfcImpactProtectionDeviceType
    ,IfcMechanicalFastenerType
    ,IfcReinforcingElementType
    ,IfcSignType
    ,IfcVibrationDamperType
    ,IfcVibrationIsolatorType))
  SUBTYPE OF (IfcElementType);
 END_ENTITY;

 ENTITY IfcElementQuantity
  SUBTYPE OF (IfcQuantitySet);
@@ -6426,21 +6412,21 @@

 ENTITY IfcElementType
  ABSTRACT SUPERTYPE OF (ONEOF
    (IfcBuiltElementType
    ,IfcCivilElementType
    ,IfcDistributionElementType
    ,IfcElementAssemblyType
    ,IfcElementComponentType
    ,IfcFurnishingElementType
    ,IfcGeographicElementType
-   ,IfcTransportElementType))
+   ,IfcTransportationDeviceType))
  SUBTYPE OF (IfcTypeProduct);
    ElementType : OPTIONAL IfcLabel;
 END_ENTITY;

 ENTITY IfcElementarySurface
  ABSTRACT SUPERTYPE OF (ONEOF
    (IfcCylindricalSurface
    ,IfcPlane
    ,IfcSphericalSurface
    ,IfcToroidalSurface))
@@ -6731,22 +6717,27 @@
  SUPERTYPE OF (ONEOF
    (IfcBridge
    ,IfcBuilding
    ,IfcMarineFacility
    ,IfcRailway
    ,IfcRoad))
  SUBTYPE OF (IfcSpatialStructureElement);
 END_ENTITY;

 ENTITY IfcFacilityPart
+ ABSTRACT SUPERTYPE OF (ONEOF
+   (IfcBridgePart
+   ,IfcFacilityPartCommon
+   ,IfcMarinePart
+   ,IfcRailwayPart
+   ,IfcRoadPart))
  SUBTYPE OF (IfcSpatialStructureElement);
-   PredefinedType : IfcFacilityPartTypeSelect;
    UsageType : IfcFacilityUsageEnum;
  WHERE
    CorrectPredefinedType : ((PredefinedType <> IfcBridgePartTypeEnum.USERDEFINED)
 OR
 (PredefinedType <> IfcRailwayPartTypeEnum.USERDEFINED)
 OR
 (PredefinedType <> IfcRoadPartTypeEnum.USERDEFINED)
 OR
 (PredefinedType <> IfcMarinePartTypeEnum.USERDEFINED)
 OR
@@ -6758,20 +6749,25 @@
 OR
 (PredefinedType = IfcRoadPartTypeEnum.USERDEFINED)
 OR
 (PredefinedType = IfcMarinePartTypeEnum.USERDEFINED)
 OR
 (PredefinedType = IfcFacilityPartCommonTypeEnum.USERDEFINED))
 AND
 EXISTS(SELF\IfcObject.ObjectType));
 END_ENTITY;

+ENTITY IfcFacilityPartCommon
+ SUBTYPE OF (IfcFacilityPart);
+   PredefinedType : OPTIONAL IfcFacilityPartCommonTypeEnum;
+END_ENTITY;
+
 ENTITY IfcFailureConnectionCondition
  SUBTYPE OF (IfcStructuralConnectionCondition);
    TensionFailureX : OPTIONAL IfcForceMeasure;
    TensionFailureY : OPTIONAL IfcForceMeasure;
    TensionFailureZ : OPTIONAL IfcForceMeasure;
    CompressionFailureX : OPTIONAL IfcForceMeasure;
    CompressionFailureY : OPTIONAL IfcForceMeasure;
    CompressionFailureZ : OPTIONAL IfcForceMeasure;
 END_ENTITY;

@@ -7424,58 +7420,35 @@
  (FilletRadius <= (OverallDepth - (2. * FlangeThickness))/2.));
 END_ENTITY;

 ENTITY IfcImageTexture
  SUBTYPE OF (IfcSurfaceTexture);
    URLReference : IfcURIReference;
 END_ENTITY;

 ENTITY IfcImpactProtectionDevice
  SUBTYPE OF (IfcElementComponent);
-   PredefinedType : OPTIONAL IfcImpactProtectionDeviceTypeSelect;
+   PredefinedType : OPTIONAL IfcImpactProtectionDeviceTypeEnum;
  WHERE
-   CorrectPredefinedType : NOT(EXISTS(PredefinedType))
-OR
-((PredefinedType <> IfcImpactProtectionDeviceTypeEnum.USERDEFINED)
-OR
-(PredefinedType <> IfcVibrationDamperTypeEnum.USERDEFINED)
-OR
-(PredefinedType <> IfcVibrationIsolatorTypeEnum.USERDEFINED))
- OR
-(((PredefinedType = IfcImpactProtectionDeviceTypeEnum.USERDEFINED)
-OR
-(PredefinedType = IfcVibrationDamperTypeEnum.USERDEFINED)
-OR
-(PredefinedType = IfcVibrationIsolatorTypeEnum.USERDEFINED))
-AND
-EXISTS(SELF\IfcObject.ObjectType));
+   CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
+ (PredefinedType <> IfcImpactProtectionDeviceTypeEnum.USERDEFINED) OR
+ ((PredefinedType = IfcImpactProtectionDeviceTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
    CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
 ('IFC4X3_DEV.IFCIMPACTPROTECTIONDEVICETYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
 END_ENTITY;

 ENTITY IfcImpactProtectionDeviceType
  SUBTYPE OF (IfcElementComponentType);
-   PredefinedType : IfcImpactProtectionDeviceTypeSelect;
+   PredefinedType : IfcImpactProtectionDeviceTypeEnum;
  WHERE
-   CorrectPredefinedType : ((PredefinedType <> IfcImpactProtectionDeviceTypeEnum.USERDEFINED)
-OR
-(PredefinedType <> IfcVibrationDamperTypeEnum.USERDEFINED)
-OR
-(PredefinedType <> IfcVibrationIsolatorTypeEnum.USERDEFINED))
-OR
-(((PredefinedType = IfcImpactProtectionDeviceTypeEnum.USERDEFINED)
-OR 
-(PredefinedType = IfcVibrationDamperTypeEnum.USERDEFINED)
-OR 
-(PredefinedType = IfcVibrationIsolatorTypeEnum.USERDEFINED))
-AND
-EXISTS(SELF\IfcObject.ObjectType));
+   CorrectPredefinedType : (PredefinedType <> IfcImpactProtectionDeviceTypeEnum.USERDEFINED) OR
+ ((PredefinedType = IfcImpactProtectionDeviceTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType));
 END_ENTITY;

 ENTITY IfcIndexedColourMap
  SUBTYPE OF (IfcPresentationItem);
    MappedTo : IfcTessellatedFaceSet;
    Opacity : OPTIONAL IfcNormalisedRatioMeasure;
    Colours : IfcColourRgbList;
    ColourIndex : LIST [1:?] OF IfcPositiveInteger;
 END_ENTITY;

@@ -7838,20 +7811,25 @@

 ENTITY IfcMarineFacility
  SUBTYPE OF (IfcFacility);
    PredefinedType : OPTIONAL IfcMarineFacilityTypeEnum;
  WHERE
    CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
 (PredefinedType <> IfcMarineFacilityTypeEnum.USERDEFINED) OR
 ((PredefinedType = IfcMarineFacilityTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcObject.ObjectType));
 END_ENTITY;

+ENTITY IfcMarinePart
+ SUBTYPE OF (IfcFacilityPart);
+   PredefinedType : OPTIONAL IfcMarinePartTypeEnum;
+END_ENTITY;
+
 ENTITY IfcMaterial
  SUBTYPE OF (IfcMaterialDefinition);
    Name : IfcLabel;
    Description : OPTIONAL IfcText;
    Category : OPTIONAL IfcLabel;
  INVERSE
    HasRepresentation : SET [0:1] OF IfcMaterialDefinitionRepresentation FOR RepresentedMaterial;
    IsRelatedWith : SET [0:?] OF IfcMaterialRelationship FOR RelatedMaterials;
    RelatesTo : SET [0:1] OF IfcMaterialRelationship FOR RelatingMaterial;
 END_ENTITY;
@@ -9375,20 +9353,25 @@
 ENTITY IfcRailway
  SUBTYPE OF (IfcFacility);
    PredefinedType : OPTIONAL IfcRailwayTypeEnum;
  WHERE
    HasObjectType : NOT EXISTS(PredefinedType) OR (PredefinedType <> IfcRailwayTypeEnum.USERDEFINED) OR EXISTS(SELF\IfcObject.ObjectType);
    CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
  (PredefinedType <> IfcRailwayTypeEnum.USERDEFINED) OR
  ((PredefinedType = IfcRailwayTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
 END_ENTITY;

+ENTITY IfcRailwayPart
+ SUBTYPE OF (IfcFacilityPart);
+   PredefinedType : OPTIONAL IfcRailwayPartTypeEnum;
+END_ENTITY;
+
 ENTITY IfcRamp
  SUBTYPE OF (IfcBuiltElement);
    PredefinedType : OPTIONAL IfcRampTypeEnum;
  WHERE
    CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
  (PredefinedType <> IfcRampTypeEnum.USERDEFINED) OR
  ((PredefinedType = IfcRampTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
    CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
   ('IFC4X3_DEV.IFCRAMPTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
 END_ENTITY;
@@ -10222,20 +10205,25 @@
 ENTITY IfcRoad
  SUBTYPE OF (IfcFacility);
    PredefinedType : OPTIONAL IfcRoadTypeEnum;
  WHERE
    HasObjectType : NOT EXISTS(PredefinedType) OR (PredefinedType <> IfcRoadTypeEnum.USERDEFINED) OR EXISTS(SELF\IfcObject.ObjectType);
    CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
  (PredefinedType <> IfcRoadTypeEnum.USERDEFINED) OR
  ((PredefinedType = IfcRoadTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
 END_ENTITY;

+ENTITY IfcRoadPart
+ SUBTYPE OF (IfcFacilityPart);
+   PredefinedType : OPTIONAL IfcRoadPartTypeEnum;
+END_ENTITY;
+
 ENTITY IfcRoof
  SUBTYPE OF (IfcBuiltElement);
    PredefinedType : OPTIONAL IfcRoofTypeEnum;
  WHERE
    CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
  (PredefinedType <> IfcRoofTypeEnum.USERDEFINED) OR
  ((PredefinedType = IfcRoofTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
    CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
   ('IFC4X3_DEV.IFCROOFTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
 END_ENTITY;
@@ -11861,41 +11849,58 @@

 ENTITY IfcTransformerType
  SUBTYPE OF (IfcEnergyConversionDeviceType);
    PredefinedType : IfcTransformerTypeEnum;
  WHERE
    CorrectPredefinedType : (PredefinedType <> IfcTransformerTypeEnum.USERDEFINED) OR
 ((PredefinedType = IfcTransformerTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
 END_ENTITY;

 ENTITY IfcTransportElement
+ SUBTYPE OF (IfcTransportationDevice);
+   PredefinedType : OPTIONAL IfcTransportElementTypeEnum;
+ WHERE
+   CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
+  ('IFC4X3_DEV.IFCTRANSPORTELEMENTTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
+END_ENTITY;
+
+ENTITY IfcTransportElementType
+ SUBTYPE OF (IfcTransportationDeviceType);
+   PredefinedType : IfcTransportElementTypeEnum;
+END_ENTITY;
+
+ENTITY IfcTransportationDevice
+ ABSTRACT SUPERTYPE OF (ONEOF
+   (IfcTransportElement
+   ,IfcVehicle))
  SUBTYPE OF (IfcElement);
-   PredefinedType : OPTIONAL IfcTransportElementTypeSelect;
  WHERE
    CorrectPredefinedType : NOT(EXISTS(PredefinedType))
 OR
 ((PredefinedType <> IfcTransportElementFixedTypeEnum.USERDEFINED)
 AND
 (PredefinedType <> IfcTransportElementNonFixedTypeEnum.USERDEFINED))
 OR
 (((PredefinedType = IfcTransportElementFixedTypeEnum.USERDEFINED)
 OR
 (PredefinedType = IfcTransportElementNonFixedTypeEnum.USERDEFINED))
 AND
 EXISTS(SELF\IfcElementType.ElementType));
    CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
   ('IFC4X3_DEV.IFCTRANSPORTELEMENTTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
 END_ENTITY;

-ENTITY IfcTransportElementType
+ENTITY IfcTransportationDeviceType
+ ABSTRACT SUPERTYPE OF (ONEOF
+   (IfcTransportElementType
+   ,IfcVehicleType))
  SUBTYPE OF (IfcElementType);
-   PredefinedType : IfcTransportElementTypeSelect;
  WHERE
    CorrectPredefinedType : ((PredefinedType <> IfcTransportElementFixedTypeEnum.USERDEFINED)
 AND
 (PredefinedType <> IfcTransportElementNonFixedTypeEnum.USERDEFINED))
 OR
 ((PredefinedType = IfcTransportElementFixedTypeEnum.USERDEFINED)
 OR
 (PredefinedType = IfcTransportElementNonFixedTypeEnum.USERDEFINED)
 AND
 EXISTS(SELF\IfcElementType.ElementType));
@@ -12101,64 +12106,70 @@
  DERIVE
     Dim : IfcDimensionCount := Orientation.Dim;
  WHERE
    MagGreaterOrEqualZero : Magnitude >= 0.0;
 END_ENTITY;

 ENTITY IfcVegetation
  SUBTYPE OF (IfcGeographicElement);
 END_ENTITY;

+ENTITY IfcVehicle
+ SUBTYPE OF (IfcTransportationDevice);
+   PredefinedType : OPTIONAL IfcVehicleTypeEnum;
+ WHERE
+   CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
+  ('IFC4X3_DEV.IFCVEHICLETYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
+END_ENTITY;
+
+ENTITY IfcVehicleType
+ SUBTYPE OF (IfcTransportationDeviceType);
+   PredefinedType : IfcVehicleTypeEnum;
+END_ENTITY;
+
 ENTITY IfcVertex
  SUPERTYPE OF (ONEOF
    (IfcVertexPoint))
  SUBTYPE OF (IfcTopologicalRepresentationItem);
 END_ENTITY;

 ENTITY IfcVertexLoop
  SUBTYPE OF (IfcLoop);
    LoopVertex : IfcVertex;
 END_ENTITY;

 ENTITY IfcVertexPoint
  SUBTYPE OF (IfcVertex);
    VertexGeometry : IfcPoint;
 END_ENTITY;

 ENTITY IfcVibrationDamper
- SUBTYPE OF (IfcElementComponent);
-   PredefinedType : OPTIONAL IfcVibrationDamperTypeEnum;
- WHERE
-   CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
-(PredefinedType <> IfcVibrationDamperTypeEnum.USERDEFINED) OR
-((PredefinedType = IfcVibrationDamperTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
-   CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
-('IFC4X3_DEV.IFCVIBRATIONDAMPERTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
+ SUBTYPE OF (IfcAbstractImpactProtectionDevice);
+   PredefinedType : OPTIONAL IfcDamperTypeEnum;
 END_ENTITY;

 ENTITY IfcVibrationDamperType
- SUBTYPE OF (IfcElementComponentType);
-   PredefinedType : OPTIONAL IfcVibrationDamperTypeEnum;
- WHERE
-   CorrectPredefinedType : (PredefinedType <> IfcVibrationDamperTypeEnum.USERDEFINED) OR
-((PredefinedType = IfcVibrationDamperTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
+ SUBTYPE OF (IfcAbstractImpactProtectionDeviceType);
+   PredefinedType : IfcVibrationDamperTypeEnum;
 END_ENTITY;

 ENTITY IfcVibrationIsolator
  SUBTYPE OF (IfcElementComponent);
    PredefinedType : OPTIONAL IfcVibrationIsolatorTypeEnum;
  WHERE
    CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR 
  (PredefinedType <> IfcVibrationIsolatorTypeEnum.USERDEFINED) OR 
  ((PredefinedType = IfcVibrationIsolatorTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
    CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR 
   ('IFC4X3_DEV.IFCVIBRATIONISOLATORTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
+   CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
+  ('IFC4X3_DEV.IFCVIBRATIONISOLATORTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
 END_ENTITY;

 ENTITY IfcVibrationIsolatorType
  SUBTYPE OF (IfcElementComponentType);
    PredefinedType : IfcVibrationIsolatorTypeEnum;
  WHERE
    CorrectPredefinedType : (PredefinedType <> IfcVibrationIsolatorTypeEnum.USERDEFINED) OR
 ((PredefinedType = IfcVibrationIsolatorTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcElementType.ElementType));
 END_ENTITY;
aothms commented 2 years ago
--- tmp/a/IFC.exp.rej   1970-01-01 01:00:00.000000000 +0100
+++ tmp/b/IFC.exp.rej   2022-07-09 16:00:09.531894900 +0200
@@ -0,0 +1,80 @@
+--- IFC.exp    2022-02-06 15:26:01.808413300 +0100
++++ IFC.exp    2022-02-06 15:24:08.907832100 +0100
+@@ -6402,11 +6354,13 @@
+ ENTITY IfcElementComponent
+  ABSTRACT SUPERTYPE OF (ONEOF
+-  (IfcAbstractImpactProtectionDevice
+-  ,IfcBuildingElementPart
++  (IfcBuildingElementPart
+   ,IfcDiscreteAccessory
+   ,IfcFastener
++  ,IfcImpactProtectionDevice
+   ,IfcMechanicalFastener
+   ,IfcReinforcingElement
+-  ,IfcSign))
++  ,IfcSign
++  ,IfcVibrationDamper
++  ,IfcVibrationIsolator))
+  SUBTYPE OF (IfcElement);
+ END_ENTITY;
+@@ -6414,11 +6368,13 @@
+ ENTITY IfcElementComponentType
+  ABSTRACT SUPERTYPE OF (ONEOF
+-  (IfcAbstractImpactProtectionDeviceType
+-  ,IfcBuildingElementPartType
++  (IfcBuildingElementPartType
+   ,IfcDiscreteAccessoryType
+   ,IfcFastenerType
++  ,IfcImpactProtectionDeviceType
+   ,IfcMechanicalFastenerType
+   ,IfcReinforcingElementType
+-  ,IfcSignType))
++  ,IfcSignType
++  ,IfcVibrationDamperType
++  ,IfcVibrationIsolatorType))
+  SUBTYPE OF (IfcElementType);
+ END_ENTITY;
+@@ -12117,7 +12079,10 @@
+ 
+ ENTITY IfcVibrationDamper
+- SUBTYPE OF (IfcAbstractImpactProtectionDevice);
++ SUBTYPE OF (IfcElementComponent);
+   PredefinedType : OPTIONAL IfcDamperTypeEnum;
+  WHERE
++  CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
++ (PredefinedType <> IfcDamperTypeEnum.USERDEFINED) OR
++ ((PredefinedType = IfcDamperTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
+   CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
+   ('IFC4X3_DEV.IFCVIBRATIONDAMPERTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
+@@ -12125,12 +12090,18 @@
+ 
+ ENTITY IfcVibrationDamperType
+- SUBTYPE OF (IfcAbstractImpactProtectionDeviceType);
++ SUBTYPE OF (IfcElementComponentType);
+   PredefinedType : IfcVibrationDamperTypeEnum;
++ WHERE
++  CorrectPredefinedType : (PredefinedType <> IfcVibrationDamperTypeEnum.USERDEFINED) OR
++ ((PredefinedType = IfcVibrationDamperTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType));
+ END_ENTITY;
+ 
+ ENTITY IfcVibrationIsolator
+- SUBTYPE OF (IfcAbstractImpactProtectionDevice);
++ SUBTYPE OF (IfcElementComponent);
+   PredefinedType : OPTIONAL IfcVibrationIsolatorTypeEnum;
+  WHERE
++  CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR
++ (PredefinedType <> IfcVibrationIsolatorTypeEnum.USERDEFINED) OR
++ ((PredefinedType = IfcVibrationIsolatorTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType));
+   CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR
+   ('IFC4X3_DEV.IFCVIBRATIONISOLATORTYPE' IN TYPEOF(SELF\IfcObject.IsTypedBy[1].RelatingType));
+@@ -12138,6 +12109,9 @@
+ 
+ ENTITY IfcVibrationIsolatorType
+- SUBTYPE OF (IfcAbstractImpactProtectionDeviceType);
++ SUBTYPE OF (IfcElementComponentType);
+   PredefinedType : IfcVibrationIsolatorTypeEnum;
++ WHERE
++  CorrectPredefinedType : (PredefinedType <> IfcVibrationIsolatorTypeEnum.USERDEFINED) OR
++ ((PredefinedType = IfcVibrationIsolatorTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcElementType.ElementType));
+ END_ENTITY;
+ 
aothms commented 2 years ago
diff -N -w -U10 tmp/a/psd/Pset_AirSideSystemInformation.xml tmp/b/psd/Pset_AirSideSystemInformation.xml
--- tmp/a/psd/Pset_AirSideSystemInformation.xml 2022-02-13 13:30:09.363977900 +0100
+++ tmp/b/psd/Pset_AirSideSystemInformation.xml 2022-07-09 16:00:10.348896000 +0200
@@ -1,15 +1,15 @@
 <?xml version="1.0" ?>
 <PropertySetDef xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" templatetype="PSET_TYPEDRIVENOVERRIDE" xsi:noNamespaceSchemaLocation="http://buildingSMART-tech.org/xml/psd/PSD_IFC4.xsd">
   <IfcVersion version="IFC4X3_DEV"/>
   <Name>Pset_AirSideSystemInformation</Name>
-  <Definition>Attributes that apply to an air side HVAC system. HISTORY: New property set in IFC Release 1.0.</Definition>
+  <Definition>Attributes that apply to an air side HVAC system.HISTORY New property set in IFC Release 1.0.</Definition>
   <Applicability/>
   <ApplicableClasses>
     <ClassName>IfcSpace</ClassName>
     <ClassName>IfcSpatialZone</ClassName>
     <ClassName>IfcZone</ClassName>
   </ApplicableClasses>
   <ApplicableTypeValue>IfcSpace,IfcSpatialZone,IfcZone</ApplicableTypeValue>
   <PropertyDefs>
     <PropertyDef>
       <Name>Name</Name>
diff -N -w -U10 tmp/a/psd/Pset_CargoCommon.xml tmp/b/psd/Pset_CargoCommon.xml
--- tmp/a/psd/Pset_CargoCommon.xml  2022-02-13 13:30:03.563668200 +0100
+++ tmp/b/psd/Pset_CargoCommon.xml  2022-07-09 16:00:08.154894800 +0200
@@ -1,21 +1,21 @@
 <?xml version="1.0" ?>
 <PropertySetDef xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" templatetype="PSET_TYPEDRIVENOVERRIDE" xsi:noNamespaceSchemaLocation="http://buildingSMART-tech.org/xml/psd/PSD_IFC4.xsd">
   <IfcVersion version="IFC4X3_DEV"/>
   <Name>Pset_CargoCommon</Name>
   <Definition>Properties common to the definition of all occurrences of _IfcTransportElement_ and types of _IfcTransportElementType_ with the predefined type set to CARGO.</Definition>
   <Applicability/>
   <ApplicableClasses>
-    <ClassName>IfcTransportElement/CARGO</ClassName>
-    <ClassName>IfcTransportElement/CARGO</ClassName>
+    <ClassName>IfcVehicle/CARGO</ClassName>
+    <ClassName>IfcVehicle/CARGO</ClassName>
   </ApplicableClasses>
-  <ApplicableTypeValue>IfcTransportElement/CARGO,IfcTransportElement/CARGO</ApplicableTypeValue>
+  <ApplicableTypeValue>IfcVehicle/CARGO,IfcVehicle/CARGO</ApplicableTypeValue>
   <PropertyDefs>
     <PropertyDef>
       <Name>ProcessItem</Name>
       <Definition>The type of item (and its measurement method) being modelled within a process. This can be cargo, passengers or vehicles that pass through the system.</Definition>
       <PropertyType>
         <TypePropertySingleValue>
           <DataType type="UNKNOWN"/>
         </TypePropertySingleValue>
       </PropertyType>
     </PropertyDef>
diff -N -w -U10 tmp/a/psd/Pset_ChamberCommon.xml tmp/b/psd/Pset_ChamberCommon.xml
--- tmp/a/psd/Pset_ChamberCommon.xml    2022-02-13 13:30:03.683350100 +0100
+++ tmp/b/psd/Pset_ChamberCommon.xml    2022-07-09 16:00:08.185892000 +0200
@@ -1,20 +1,20 @@
 <?xml version="1.0" ?>
 <PropertySetDef xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" templatetype="PSET_TYPEDRIVENOVERRIDE" xsi:noNamespaceSchemaLocation="http://buildingSMART-tech.org/xml/psd/PSD_IFC4.xsd">
   <IfcVersion version="IFC4X3_DEV"/>
   <Name>Pset_ChamberCommon</Name>
   <Definition>Properties common to the definition of all occurrences of _IfcFacilityPart_ with the predefined type set to CHAMBER.</Definition>
   <Applicability/>
   <ApplicableClasses>
-    <ClassName>IfcFacilityPart/CHAMBER</ClassName>
+    <ClassName>IfcMarinePart/CHAMBER</ClassName>
   </ApplicableClasses>
-  <ApplicableTypeValue>IfcFacilityPart/CHAMBER</ApplicableTypeValue>
+  <ApplicableTypeValue>IfcMarinePart/CHAMBER</ApplicableTypeValue>
   <PropertyDefs>
     <PropertyDef>
       <Name>EffectiveChamberSize</Name>
       <Definition>Volumetric measure defining the effective chamber size for operational and design activities.</Definition>
       <PropertyType>
         <TypePropertySingleValue>
           <DataType type="IfcVolumeMeasure"/>
         </TypePropertySingleValue>
       </PropertyType>
     </PropertyDef>
diff -N -w -U10 tmp/a/psd/Pset_EnergyRequirements.xml tmp/b/psd/Pset_EnergyRequirements.xml
--- tmp/a/psd/Pset_EnergyRequirements.xml   2022-02-13 13:30:03.697311900 +0100
+++ tmp/b/psd/Pset_EnergyRequirements.xml   2022-07-09 16:00:09.707890400 +0200
@@ -1,23 +1,23 @@
 <?xml version="1.0" ?>
 <PropertySetDef xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" templatetype="PSET_TYPEDRIVENOVERRIDE" xsi:noNamespaceSchemaLocation="http://buildingSMART-tech.org/xml/psd/PSD_IFC4.xsd">
   <IfcVersion version="IFC4X3_DEV"/>
   <Name>Pset_EnergyRequirements</Name>
   <Definition>Property set for the application of energy requirements to facility and physical elements</Definition>
   <Applicability/>
   <ApplicableClasses>
     <ClassName>IfcDistributionElement</ClassName>
     <ClassName>IfcDistributionElementType</ClassName>
-    <ClassName>IfcTransportElement</ClassName>
-    <ClassName>IfcTransportElementType</ClassName>
+    <ClassName>IfcTransportationDevice</ClassName>
+    <ClassName>IfcTransportationDeviceType</ClassName>
   </ApplicableClasses>
-  <ApplicableTypeValue>IfcDistributionElement,IfcDistributionElementType,IfcTransportElement,IfcTransportElementType</ApplicableTypeValue>
+  <ApplicableTypeValue>IfcDistributionElement,IfcDistributionElementType,IfcTransportationDevice,IfcTransportationDeviceType</ApplicableTypeValue>
   <PropertyDefs>
     <PropertyDef>
       <Name>EnergyConsumption</Name>
       <Definition>Annual energy consumption requirement</Definition>
       <PropertyType>
         <TypePropertySingleValue>
           <DataType type="IfcEnergyMeasure"/>
         </TypePropertySingleValue>
       </PropertyType>
     </PropertyDef>
diff -N -w -U10 tmp/a/psd/Pset_EnvironmentalEmissions.xml tmp/b/psd/Pset_EnvironmentalEmissions.xml
--- tmp/a/psd/Pset_EnvironmentalEmissions.xml   2022-02-13 13:30:06.319551300 +0100
+++ tmp/b/psd/Pset_EnvironmentalEmissions.xml   2022-07-09 16:00:09.742893800 +0200
@@ -1,23 +1,23 @@
 <?xml version="1.0" ?>
 <PropertySetDef xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" templatetype="PSET_TYPEDRIVENOVERRIDE" xsi:noNamespaceSchemaLocation="http://buildingSMART-tech.org/xml/psd/PSD_IFC4.xsd">
   <IfcVersion version="IFC4X3_DEV"/>
   <Name>Pset_EnvironmentalEmissions</Name>
   <Definition>Property set for the application of energy emissions produced by facility and physical elements.</Definition>
   <Applicability/>
   <ApplicableClasses>
     <ClassName>IfcDistributionElement</ClassName>
     <ClassName>IfcDistributionElementType</ClassName>
-    <ClassName>IfcTransportElement</ClassName>
-    <ClassName>IfcTransportElementType</ClassName>
+    <ClassName>IfcTransportationDevice</ClassName>
+    <ClassName>IfcTransportationDeviceType</ClassName>
   </ApplicableClasses>
-  <ApplicableTypeValue>IfcDistributionElement,IfcDistributionElementType,IfcTransportElement,IfcTransportElementType</ApplicableTypeValue>
+  <ApplicableTypeValue>IfcDistributionElement,IfcDistributionElementType,IfcTransportationDevice,IfcTransportationDeviceType</ApplicableTypeValue>
   <PropertyDefs>
     <PropertyDef>
       <Name>CarbonDioxideEmissions</Name>
       <Definition>Rate of emission of carbon dioxide</Definition>
       <PropertyType>
         <TypePropertySingleValue>
           <DataType type="IfcMassFlowRateMeasure"/>
         </TypePropertySingleValue>
       </PropertyType>
     </PropertyDef>
diff -N -w -U10 tmp/a/psd/Pset_GateHeadCommon.xml tmp/b/psd/Pset_GateHeadCommon.xml
--- tmp/a/psd/Pset_GateHeadCommon.xml   2022-02-13 13:30:04.095248100 +0100
+++ tmp/b/psd/Pset_GateHeadCommon.xml   2022-07-09 16:00:08.285895200 +0200
@@ -1,20 +1,20 @@
 <?xml version="1.0" ?>
 <PropertySetDef xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" templatetype="PSET_TYPEDRIVENOVERRIDE" xsi:noNamespaceSchemaLocation="http://buildingSMART-tech.org/xml/psd/PSD_IFC4.xsd">
   <IfcVersion version="IFC4X3_DEV"/>
   <Name>Pset_GateHeadCommon</Name>
   <Definition>Properties common to the definition of all occurrences of _IfcFacilityPart_ with the predefined type set to GATEHEAD.</Definition>
   <Applicability/>
   <ApplicableClasses>
-    <ClassName>IfcFacilityPart/GATEHEAD</ClassName>
+    <ClassName>IfcMarinePart/GATEHEAD</ClassName>
   </ApplicableClasses>
-  <ApplicableTypeValue>IfcFacilityPart/GATEHEAD</ApplicableTypeValue>
+  <ApplicableTypeValue>IfcMarinePart/GATEHEAD</ApplicableTypeValue>
   <PropertyDefs>
     <PropertyDef>
       <Name>StructuralType</Name>
       <Definition>Structural type of the object</Definition>
       <PropertyType>
         <TypePropertySingleValue>
           <DataType type="IfcLabel"/>
         </TypePropertySingleValue>
       </PropertyType>
     </PropertyDef>
diff -N -w -U10 tmp/a/psd/Pset_GateHeadCommon.xml.orig tmp/b/psd/Pset_GateHeadCommon.xml.orig
--- tmp/a/psd/Pset_GateHeadCommon.xml.orig  1970-01-01 01:00:00.000000000 +0100
+++ tmp/b/psd/Pset_GateHeadCommon.xml.orig  2022-07-09 16:00:10.408897000 +0200
@@ -0,0 +1,22 @@
+<?xml version="1.0" ?>
+<PropertySetDef xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" templatetype="PSET_TYPEDRIVENOVERRIDE" xsi:noNamespaceSchemaLocation="http://buildingSMART-tech.org/xml/psd/PSD_IFC4.xsd">
+  <IfcVersion version="IFC4X3_DEV"/>
+  <Name>Pset_GateHeadCommon</Name>
+  <Definition>Properties common to the definition of all occurrences of _IfcFacilityPart_ with the predefined type set to GATEHEAD.</Definition>
+  <Applicability/>
+  <ApplicableClasses>
+    <ClassName>IfcMarinePart/GATEHEAD</ClassName>
+  </ApplicableClasses>
+  <ApplicableTypeValue>IfcMarinePart/GATEHEAD</ApplicableTypeValue>
+  <PropertyDefs>
+    <PropertyDef>
+      <Name>StructuralType</Name>
+      <Definition>Structural type of the object</Definition>
+      <PropertyType>
+        <TypePropertySingleValue>
+          <DataType type="IfcLabel"/>
+        </TypePropertySingleValue>
+      </PropertyType>
+    </PropertyDef>
+  </PropertyDefs>
+</PropertySetDef>
aothms commented 2 years ago
diff -N -w -U10 tmp/a/psd/Pset_GateHeadCommon.xml.rej tmp/b/psd/Pset_GateHeadCommon.xml.rej
--- tmp/a/psd/Pset_GateHeadCommon.xml.rej   1970-01-01 01:00:00.000000000 +0100
+++ tmp/b/psd/Pset_GateHeadCommon.xml.rej   2022-07-09 16:00:10.420894000 +0200
@@ -0,0 +1,9 @@
+--- psd/Pset_GateHeadCommon.xml    2022-03-20 22:18:34.277962200 +0100
++++ psd/Pset_GateHeadCommon.xml    2022-03-20 22:15:48.352778100 +0100
+@@ -3,5 +3,5 @@
+   <IfcVersion version="IFC4X3_DEV"/>
+   <Name>Pset_GateHeadCommon</Name>
+-  <Definition>Properties common to the definition of all occurrences of IfcFacilityPart with the predefined type set to GATEHEAD.</Definition>
++  <Definition>Properties common to the definition of all occurrences of IfcMarinePart with the predefined type set to GATEHEAD.</Definition>
+   <Applicability/>
+   <ApplicableClasses>
diff -N -w -U10 tmp/a/psd/Pset_MarineVehicleCommon.xml tmp/b/psd/Pset_MarineVehicleCommon.xml
--- tmp/a/psd/Pset_MarineVehicleCommon.xml  2022-02-13 13:30:04.364524700 +0100
+++ tmp/b/psd/Pset_MarineVehicleCommon.xml  2022-07-09 16:00:08.326894900 +0200
@@ -1,21 +1,21 @@
 <?xml version="1.0" ?>
 <PropertySetDef xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" templatetype="PSET_TYPEDRIVENOVERRIDE" xsi:noNamespaceSchemaLocation="http://buildingSMART-tech.org/xml/psd/PSD_IFC4.xsd">
   <IfcVersion version="IFC4X3_DEV"/>
   <Name>Pset_MarineVehicleCommon</Name>
   <Definition>Properties common to the definition of all occurrences of _IfcTransportElement_ and types of _IfcTransportElementType_ with the predefined type set to VEHICLEMARINE.</Definition>
   <Applicability/>
   <ApplicableClasses>
-    <ClassName>IfcTransportElement/VEHICLEMARINE</ClassName>
-    <ClassName>IfcTransportElement/VEHICLEMARINE</ClassName>
+    <ClassName>IfcVehicle/VEHICLEMARINE</ClassName>
+    <ClassName>IfcVehicle/VEHICLEMARINE</ClassName>
   </ApplicableClasses>
-  <ApplicableTypeValue>IfcTransportElement/VEHICLEMARINE,IfcTransportElement/VEHICLEMARINE</ApplicableTypeValue>
+  <ApplicableTypeValue>IfcVehicle/VEHICLEMARINE,IfcVehicle/VEHICLEMARINE</ApplicableTypeValue>
   <PropertyDefs>
     <PropertyDef>
       <Name>LengthBetweenPerpendiculars</Name>
       <Definition>Length of vessel from rudder shaft to crossing point of the bow and the loaded waterline.</Definition>
       <PropertyType>
         <TypePropertySingleValue>
           <DataType type="IfcPositiveLengthMeasure"/>
         </TypePropertySingleValue>
       </PropertyType>
     </PropertyDef>
diff -N -w -U10 tmp/a/psd/Pset_MarineVehicleDesignCriteria.xml tmp/b/psd/Pset_MarineVehicleDesignCriteria.xml
--- tmp/a/psd/Pset_MarineVehicleDesignCriteria.xml  2022-02-13 13:30:04.504153000 +0100
+++ tmp/b/psd/Pset_MarineVehicleDesignCriteria.xml  2022-07-09 16:00:08.373894800 +0200
@@ -1,21 +1,21 @@
 <?xml version="1.0" ?>
 <PropertySetDef xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" templatetype="PSET_TYPEDRIVENOVERRIDE" xsi:noNamespaceSchemaLocation="http://buildingSMART-tech.org/xml/psd/PSD_IFC4.xsd">
   <IfcVersion version="IFC4X3_DEV"/>
   <Name>Pset_MarineVehicleDesignCriteria</Name>
   <Definition>Properties common to the definition of design criteria of all occurrences of _IfcTransportElement_ and types of _IfcTransportElementType_ with the predefined type set to MARINEVEHICLE</Definition>
   <Applicability/>
   <ApplicableClasses>
-    <ClassName>IfcTransportElement/VEHICLEMARINE</ClassName>
-    <ClassName>IfcTransportElement/VEHICLEMARINE</ClassName>
+    <ClassName>IfcVehicle/VEHICLEMARINE</ClassName>
+    <ClassName>IfcVehicle/VEHICLEMARINE</ClassName>
   </ApplicableClasses>
-  <ApplicableTypeValue>IfcTransportElement/VEHICLEMARINE,IfcTransportElement/VEHICLEMARINE</ApplicableTypeValue>
+  <ApplicableTypeValue>IfcVehicle/VEHICLEMARINE,IfcVehicle/VEHICLEMARINE</ApplicableTypeValue>
   <PropertyDefs>
     <PropertyDef>
       <Name>AllowableHullPressure</Name>
       <Definition>Allowable contact pressure between fender and hull</Definition>
       <PropertyType>
         <TypePropertySingleValue>
           <DataType type="IfcPressureMeasure"/>
         </TypePropertySingleValue>
       </PropertyType>
     </PropertyDef>
diff -N -w -U10 tmp/a/psd/Pset_ProcessCapacity.xml.orig tmp/b/psd/Pset_ProcessCapacity.xml.orig
--- tmp/a/psd/Pset_ProcessCapacity.xml.orig 1970-01-01 01:00:00.000000000 +0100
+++ tmp/b/psd/Pset_ProcessCapacity.xml.orig 2022-07-09 16:00:09.786894300 +0200
@@ -0,0 +1,69 @@
+<?xml version="1.0" ?>
+<PropertySetDef xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" templatetype="PSET_TYPEDRIVENOVERRIDE" xsi:noNamespaceSchemaLocation="http://buildingSMART-tech.org/xml/psd/PSD_IFC4.xsd">
+  <IfcVersion version="IFC4X3_DEV"/>
+  <Name>Pset_ProcessCapacity</Name>
+  <Definition>Property set for the application of process data to spatial elements and transport assets</Definition>
+  <Applicability/>
+  <ApplicableClasses>
+    <ClassName>IfcBuiltSystem</ClassName>
+    <ClassName>IfcDistributionSystem</ClassName>
+    <ClassName>IfcDoor</ClassName>
+    <ClassName>IfcSpatialElement</ClassName>
+    <ClassName>IfcSpatialElementType</ClassName>
+    <ClassName>IfcTransportElement</ClassName>
+    <ClassName>IfcTransportElementType</ClassName>
+    <ClassName>IfcZone</ClassName>
+  </ApplicableClasses>
+  <ApplicableTypeValue>IfcBuiltSystem,IfcDistributionSystem,IfcDoor,IfcSpatialElement,IfcSpatialElementType,IfcTransportElement,IfcTransportElementType,IfcZone</ApplicableTypeValue>
+  <PropertyDefs>
+    <PropertyDef>
+      <Name>ProcessItem</Name>
+      <Definition>The type of item (and its measurement method) being modelled within a process. This can be cargo, passengers or vehicles that pass through the system.</Definition>
+      <PropertyType>
+        <TypePropertySingleValue>
+          <DataType type="UNKNOWN"/>
+        </TypePropertySingleValue>
+      </PropertyType>
+    </PropertyDef>
+    <PropertyDef>
+      <Name>ProcessCapacity</Name>
+      <Definition>The number of units that can be processed in the time defined in ProcessPerformance</Definition>
+      <PropertyType>
+        <TypePropertySingleValue>
+          <DataType type="IfcCountMeasure"/>
+        </TypePropertySingleValue>
+      </PropertyType>
+    </PropertyDef>
+    <PropertyDef>
+      <Name>ProcessPerformance</Name>
+      <Definition>Minimum time to accept or dispatch the entire item capacity.</Definition>
+      <PropertyType>
+        <TypePropertySingleValue>
+          <DataType type="UNKNOWN"/>
+        </TypePropertySingleValue>
+      </PropertyType>
+    </PropertyDef>
+    <PropertyDef>
+      <Name>DownstreamConnections</Name>
+      <Definition>Names of downstream connected equipment and spaces (comma-separated), if not otherwise represented</Definition>
+      <PropertyType>
+        <TypePropertyListValue>
+          <ListValue>
+            <DataType type="IfcLabel"/>
+          </ListValue>
+        </TypePropertyListValue>
+      </PropertyType>
+    </PropertyDef>
+    <PropertyDef>
+      <Name>UpstreamConnections</Name>
+      <Definition>Names of upstream connected equipment and spaces (comma-separated), if not otherwise represented</Definition>
+      <PropertyType>
+        <TypePropertyListValue>
+          <ListValue>
+            <DataType type="IfcLabel"/>
+          </ListValue>
+        </TypePropertyListValue>
+      </PropertyType>
+    </PropertyDef>
+  </PropertyDefs>
+</PropertySetDef>
diff -N -w -U10 tmp/a/psd/Pset_ProcessCapacity.xml.rej tmp/b/psd/Pset_ProcessCapacity.xml.rej
--- tmp/a/psd/Pset_ProcessCapacity.xml.rej  1970-01-01 01:00:00.000000000 +0100
+++ tmp/b/psd/Pset_ProcessCapacity.xml.rej  2022-07-09 16:00:09.796893200 +0200
@@ -0,0 +1,13 @@
+--- psd/Pset_ProcessCapacity.xml   2022-02-06 15:21:09.307219500 +0100
++++ psd/Pset_ProcessCapacity.xml   2022-02-06 15:19:18.907778400 +0100
+@@ -12,8 +12,8 @@
+     <ClassName>IfcSpatialElementType</ClassName>
+     <ClassName>IfcTransportationDevice</ClassName>
+-    <ClassName>IfcTransportElementType</ClassName>
++    <ClassName>IfcTransportationDeviceType</ClassName>
+     <ClassName>IfcZone</ClassName>
+   </ApplicableClasses>
+-  <ApplicableTypeValue>IfcBuiltSystem,IfcDistributionSystem,IfcDoor,IfcSpace,IfcSpatialElementType,IfcTransportationDevice,IfcTransportElementType,IfcZone</ApplicableTypeValue>
++  <ApplicableTypeValue>IfcBuiltSystem,IfcDistributionSystem,IfcDoor,IfcSpace,IfcSpatialElementType,IfcTransportationDevice,IfcTransportationDeviceType,IfcZone</ApplicableTypeValue>
+   <PropertyDefs>
+     <PropertyDef>
diff -N -w -U10 tmp/a/psd/Pset_Risk.xml.orig tmp/b/psd/Pset_Risk.xml.orig
--- tmp/a/psd/Pset_Risk.xml.orig    1970-01-01 01:00:00.000000000 +0100
+++ tmp/b/psd/Pset_Risk.xml.orig    2022-07-09 16:00:10.959892100 +0200
@@ -0,0 +1,289 @@
+<?xml version="1.0" ?>
+<PropertySetDef xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" templatetype="PSET_TYPEDRIVENOVERRIDE" xsi:noNamespaceSchemaLocation="http://buildingSMART-tech.org/xml/psd/PSD_IFC4.xsd">
+  <IfcVersion version="IFC4X3_DEV"/>
+  <Name>Pset_Risk</Name>
+  <Definition>An indication of exposure to mischance, peril, menace, hazard or loss. Documentation of a potential hazard, likilihood and consequence aligned with AS/NZS 4360 and BS PAS 1192-6:2017, which can be assigned to or associated with a product, activity and/or location. Alternatively it may be assigned to an ISO 3864 annotation symbol.
+
+HISTORY: Extended in IFC2x3, Revised IFC4x3 
+
+There are various types of risk that may be encountered and there may be several instances of Pset_Risk associated to an instance or type.</Definition>
+  <Applicability/>
+  <ApplicableClasses>
+    <ClassName>IfcGroup</ClassName>
+    <ClassName>IfcProcess</ClassName>
+    <ClassName>IfcProduct</ClassName>
+    <ClassName>IfcTypeProcess</ClassName>
+    <ClassName>IfcTypeProduct</ClassName>
+  </ApplicableClasses>
+  <ApplicableTypeValue>IfcGroup,IfcProcess,IfcProduct,IfcTypeProcess,IfcTypeProduct</ApplicableTypeValue>
+  <PropertyDefs>
+    <PropertyDef>
+      <Name>RiskName</Name>
+      <Definition>A locally unique identifier for the risk entry that can be used to track the development and mitiagtion of the risk throughout the project life cycle</Definition>
+      <PropertyType>
+        <TypePropertySingleValue>
+          <DataType type="IfcLabel"/>
+        </TypePropertySingleValue>
+      </PropertyType>
+    </PropertyDef>
+    <PropertyDef>
+      <Name>RiskType</Name>
+      <Definition>Identifies the predefined types of risk from which the type required may be set.</Definition>
+      <PropertyType>
+        <TypePropertyEnumeratedValue>
+          <EnumList name="PEnum_RiskType">
+            <EnumItem>ASBESTOSEFFECTS</EnumItem>
+            <EnumItem>ASPHIXIATION</EnumItem>
+            <EnumItem>BUSINESS</EnumItem>
+            <EnumItem>BUSINESSISSUES</EnumItem>
+            <EnumItem>CHEMICALEFFECTS</EnumItem>
+            <EnumItem>COMMERICALISSUES</EnumItem>
+            <EnumItem>CONFINEMENT</EnumItem>
+            <EnumItem>CRUSHING</EnumItem>
+            <EnumItem>DROWNINGANDFLOODING</EnumItem>
+            <EnumItem>ELECTRICSHOCK</EnumItem>
+            <EnumItem>ENVIRONMENTALISSUES</EnumItem>
+            <EnumItem>EVENT</EnumItem>
+            <EnumItem>FALL</EnumItem>
+            <EnumItem>FALLEDGE</EnumItem>
+            <EnumItem>FALLFRAGILEMATERIAL</EnumItem>
+            <EnumItem>FALLSCAFFOLD</EnumItem>
+            <EnumItem>FALL_LADDER</EnumItem>
+            <EnumItem>FIRE_EXPLOSION</EnumItem>
+            <EnumItem>HANDLING</EnumItem>
+            <EnumItem>HAZARD</EnumItem>
+            <EnumItem>HAZARDOUSDUST</EnumItem>
+            <EnumItem>HEALTHANDSAFETY</EnumItem>
+            <EnumItem>HEALTHISSUE</EnumItem>
+            <EnumItem>INSURANCE</EnumItem>
+            <EnumItem>INSURANCE_ISSUES</EnumItem>
+            <EnumItem>LEADEFFECTS</EnumItem>
+            <EnumItem>MACHINERYGUARDING</EnumItem>
+            <EnumItem>MATERIALEFFECTS</EnumItem>
+            <EnumItem>MATERIALSHANDLING</EnumItem>
+            <EnumItem>MECHANICALEFFECTS</EnumItem>
+            <EnumItem>MECHANICAL_LIFTING</EnumItem>
+            <EnumItem>MOBILE_ELEVATEDWORKPLATFORM</EnumItem>
+            <EnumItem>NOISE_EFFECTS</EnumItem>
+            <EnumItem>NOTKNOWN</EnumItem>
+            <EnumItem>OPERATIONALISSUES</EnumItem>
+            <EnumItem>OTHER</EnumItem>
+            <EnumItem>OTHERISSUES</EnumItem>
+            <EnumItem>OVERTURINGPLANT</EnumItem>
+            <EnumItem>PUBLICPROTECTIONISSUES</EnumItem>
+            <EnumItem>SAFETYISSUE</EnumItem>
+            <EnumItem>SILICADUST</EnumItem>
+            <EnumItem>SLIPTRIP</EnumItem>
+            <EnumItem>SOCIALISSUES</EnumItem>
+            <EnumItem>STRUCK</EnumItem>
+            <EnumItem>STRUCKFALLINFOBJECT</EnumItem>
+            <EnumItem>STRUCKVEHICLE</EnumItem>
+            <EnumItem>TOOLUSAGE</EnumItem>
+            <EnumItem>TRAPPED</EnumItem>
+            <EnumItem>UNINTENDEDCOLLAPSE</EnumItem>
+            <EnumItem>UNSET</EnumItem>
+            <EnumItem>VIBRATION</EnumItem>
+            <EnumItem>WELFAREISSUE</EnumItem>
+            <EnumItem>WOODDUST</EnumItem>
+            <EnumItem>WORKINGOVERHEAD</EnumItem>
+          </EnumList>
+        </TypePropertyEnumeratedValue>
+      </PropertyType>
+    </PropertyDef>
+    <PropertyDef>
+      <Name>NatureOfRisk</Name>
+      <Definition>A description of the generic nature of the context or hazard that might be encountered.</Definition>
+      <PropertyType>
+        <TypePropertySingleValue>
+          <DataType type="IfcLabel"/>
+        </TypePropertySingleValue>
+      </PropertyType>
+    </PropertyDef>
+    <PropertyDef>
+      <Name>RiskAssessmentMethodology</Name>
+      <Definition>An indication or link to the chosen risk assessment methodology, for example PAS1192-6 or a chosen ISO13100 annex.</Definition>
+      <PropertyType>
+        <TypePropertySingleValue>
+          <DataType type="IfcLabel"/>
+        </TypePropertySingleValue>
+      </PropertyType>
+    </PropertyDef>
+    <PropertyDef>
+      <Name>UnmitigatedRiskLikelihood</Name>
+      <Definition>Identifies the likelihood of the hazard prior to any specific mitigation.</Definition>
+      <PropertyType>
+        <TypePropertyEnumeratedValue>
+          <EnumList name="PEnum_RiskRating">
+            <EnumItem>CONSIDERABLE</EnumItem>
+            <EnumItem>CRITICAL</EnumItem>
+            <EnumItem>HIGH</EnumItem>
+            <EnumItem>INSIGNIFICANT</EnumItem>
+            <EnumItem>LOW</EnumItem>
+            <EnumItem>MODERATE</EnumItem>
+            <EnumItem>NOTKNOWN</EnumItem>
+            <EnumItem>OTHER</EnumItem>
+            <EnumItem>SOME</EnumItem>
+            <EnumItem>UNSET</EnumItem>
+            <EnumItem>VERYHIGH</EnumItem>
+            <EnumItem>VERYLOW</EnumItem>
+          </EnumList>
+        </TypePropertyEnumeratedValue>
+      </PropertyType>
+    </PropertyDef>
+    <PropertyDef>
+      <Name>UnmitigatedRiskConsequence</Name>
+      <Definition>Identifies the consequence of the hazard prior to any specific mitigation.</Definition>
+      <PropertyType>
+        <TypePropertyEnumeratedValue>
+          <EnumList name="PEnum_RiskRating">
+            <EnumItem>CONSIDERABLE</EnumItem>
+            <EnumItem>CRITICAL</EnumItem>
+            <EnumItem>HIGH</EnumItem>
+            <EnumItem>INSIGNIFICANT</EnumItem>
+            <EnumItem>LOW</EnumItem>
+            <EnumItem>MODERATE</EnumItem>
+            <EnumItem>NOTKNOWN</EnumItem>
+            <EnumItem>OTHER</EnumItem>
+            <EnumItem>SOME</EnumItem>
+            <EnumItem>UNSET</EnumItem>
+            <EnumItem>VERYHIGH</EnumItem>
+            <EnumItem>VERYLOW</EnumItem>
+          </EnumList>
+        </TypePropertyEnumeratedValue>
+      </PropertyType>
+    </PropertyDef>
+    <PropertyDef>
+      <Name>UnmitigatedRiskSignificance</Name>
+      <Definition>Identifies the signifiance of the risk given the likelihood and consequence prior to any specific mitigation.</Definition>
+      <PropertyType>
+        <TypePropertyEnumeratedValue>
+          <EnumList name="PEnum_RiskRating">
+            <EnumItem>CONSIDERABLE</EnumItem>
+            <EnumItem>CRITICAL</EnumItem>
+            <EnumItem>HIGH</EnumItem>
+            <EnumItem>INSIGNIFICANT</EnumItem>
+            <EnumItem>LOW</EnumItem>
+            <EnumItem>MODERATE</EnumItem>
+            <EnumItem>NOTKNOWN</EnumItem>
+            <EnumItem>OTHER</EnumItem>
+            <EnumItem>SOME</EnumItem>
+            <EnumItem>UNSET</EnumItem>
+            <EnumItem>VERYHIGH</EnumItem>
+            <EnumItem>VERYLOW</EnumItem>
+          </EnumList>
+        </TypePropertyEnumeratedValue>
+      </PropertyType>
+    </PropertyDef>
+    <PropertyDef>
+      <Name>MitigationPlanned</Name>
+      <Definition>The planned (agreed and irrevocable) mitigation of the likelhood and consequences of the hazard.</Definition>
+      <PropertyType>
+        <TypePropertySingleValue>
+          <DataType type="IfcLabel"/>
+        </TypePropertySingleValue>
+      </PropertyType>
+    </PropertyDef>
+    <PropertyDef>
+      <Name>MitigatedRiskLikelihood</Name>
+      <Definition>Identifies the likelihood of the hazard given the planned mitigation.</Definition>
+      <PropertyType>
+        <TypePropertyEnumeratedValue>
+          <EnumList name="PEnum_RiskRating">
+            <EnumItem>CONSIDERABLE</EnumItem>
+            <EnumItem>CRITICAL</EnumItem>
+            <EnumItem>HIGH</EnumItem>
+            <EnumItem>INSIGNIFICANT</EnumItem>
+            <EnumItem>LOW</EnumItem>
+            <EnumItem>MODERATE</EnumItem>
+            <EnumItem>NOTKNOWN</EnumItem>
+            <EnumItem>OTHER</EnumItem>
+            <EnumItem>SOME</EnumItem>
+            <EnumItem>UNSET</EnumItem>
+            <EnumItem>VERYHIGH</EnumItem>
+            <EnumItem>VERYLOW</EnumItem>
+          </EnumList>
+        </TypePropertyEnumeratedValue>
+      </PropertyType>
+    </PropertyDef>
+    <PropertyDef>
+      <Name>MitigatedRiskConsequence</Name>
+      <Definition>Identifies the consequence of the hazard given the planned mitigation.</Definition>
+      <PropertyType>
+        <TypePropertyEnumeratedValue>
+          <EnumList name="PEnum_RiskRating">
+            <EnumItem>CONSIDERABLE</EnumItem>
+            <EnumItem>CRITICAL</EnumItem>
+            <EnumItem>HIGH</EnumItem>
+            <EnumItem>INSIGNIFICANT</EnumItem>
+            <EnumItem>LOW</EnumItem>
+            <EnumItem>MODERATE</EnumItem>
+            <EnumItem>NOTKNOWN</EnumItem>
+            <EnumItem>OTHER</EnumItem>
+            <EnumItem>SOME</EnumItem>
+            <EnumItem>UNSET</EnumItem>
+            <EnumItem>VERYHIGH</EnumItem>
+            <EnumItem>VERYLOW</EnumItem>
+          </EnumList>
+        </TypePropertyEnumeratedValue>
+      </PropertyType>
+    </PropertyDef>
+    <PropertyDef>
+      <Name>MitigatedRiskSignificance</Name>
+      <Definition>Identifies the signifiance of the risk given the mitigation of likelihood and consequence.</Definition>
+      <PropertyType>
+        <TypePropertyEnumeratedValue>
+          <EnumList name="PEnum_RiskRating">
+            <EnumItem>CONSIDERABLE</EnumItem>
+            <EnumItem>CRITICAL</EnumItem>
+            <EnumItem>HIGH</EnumItem>
+            <EnumItem>INSIGNIFICANT</EnumItem>
+            <EnumItem>LOW</EnumItem>
+            <EnumItem>MODERATE</EnumItem>
+            <EnumItem>NOTKNOWN</EnumItem>
+            <EnumItem>OTHER</EnumItem>
+            <EnumItem>SOME</EnumItem>
+            <EnumItem>UNSET</EnumItem>
+            <EnumItem>VERYHIGH</EnumItem>
+            <EnumItem>VERYLOW</EnumItem>
+          </EnumList>
+        </TypePropertyEnumeratedValue>
+      </PropertyType>
+    </PropertyDef>
+    <PropertyDef>
+      <Name>MitigationProposed</Name>
+      <Definition>Any proposed, but not yet agreed and irrevocable, mitigation of the likelhood and consequences of the hazard.</Definition>
+      <PropertyType>
+        <TypePropertySingleValue>
+          <DataType type="IfcLabel"/>
+        </TypePropertySingleValue>
+      </PropertyType>
+    </PropertyDef>
+    <PropertyDef>
+      <Name>AssociatedProduct</Name>
+      <Definition>An indication or link to any associated product or material that may trigger the hazard. If used directly on an annotation or semantic object. for an alternative see group use encording template</Definition>
+      <PropertyType>
+        <TypePropertySingleValue>
+          <DataType type="IfcLabel"/>
+        </TypePropertySingleValue>
+      </PropertyType>
+    </PropertyDef>
+    <PropertyDef>
+      <Name>AssociatedActivity</Name>
+      <Definition>An indication or link to any associated activity or process that may trigger the hazard. If used directly on an annotation or semantic object. for an alternative see group use encording template</Definition>
+      <PropertyType>
+        <TypePropertySingleValue>
+          <DataType type="IfcLabel"/>
+        </TypePropertySingleValue>
+      </PropertyType>
+    </PropertyDef>
+    <PropertyDef>
+      <Name>AssociatedLocation</Name>
+      <Definition>An indication or link to any associated location or space that may trigger the hazard. If used directly on an annotation or semantic object. for an alternative see group use encording template</Definition>
+      <PropertyType>
+        <TypePropertySingleValue>
+          <DataType type="IfcLabel"/>
+        </TypePropertySingleValue>
+      </PropertyType>
+    </PropertyDef>
+  </PropertyDefs>
+</PropertySetDef>
aothms commented 2 years ago
diff -N -w -U10 tmp/a/psd/Pset_Risk.xml.rej tmp/b/psd/Pset_Risk.xml.rej
--- tmp/a/psd/Pset_Risk.xml.rej 1970-01-01 01:00:00.000000000 +0100
+++ tmp/b/psd/Pset_Risk.xml.rej 2022-07-09 16:00:10.976895900 +0200
@@ -0,0 +1,9 @@
+--- psd/Pset_Risk.xml  2022-03-20 22:18:48.930830200 +0100
++++ psd/Pset_Risk.xml  2022-03-20 22:16:04.489638100 +0100
+@@ -3,5 +3,5 @@
+   <IfcVersion version="IFC4X3_DEV"/>
+   <Name>Pset_Risk</Name>
+-  <Definition>An indication of exposure to mischance, peril, menace, hazard or loss. Documentation of a potential hazard, likilihood and consequence aligned with AS/NZS 4360 and BS PAS 1192-6:2017, which can be assigned to or associated with a product, activity and/or location. Alternatively it may be assigned to an ISO 3864 annotation symbol.HISTORY: Extended in IFC2x3, Revised IFC4x3There are various types of risk that may be encountered and there may be several instances of Pset_Risk associated to an instance or type.</Definition>
++  <Definition>An indication of exposure to mischance, peril, menace, hazard or loss. Documentation of a potential hazard, likilihood and consequence aligned with AS/NZS 4360 and BS PAS 1192-6:2017, which can be assigned to or associated with a product, activity and/or location. Alternatively it may be assigned to an ISO 3864 annotation symbol.HISTORY Extended in IFC2x3, Revised IFC4x3There are various types of risk that may be encountered and there may be several instances of Pset_Risk associated to an instance or type.</Definition>
+   <Applicability/>
+   <ApplicableClasses>
diff -N -w -U10 tmp/a/psd/Pset_RoadDesignCriteriaCommon.xml tmp/b/psd/Pset_RoadDesignCriteriaCommon.xml
--- tmp/a/psd/Pset_RoadDesignCriteriaCommon.xml 2022-02-13 13:30:08.205839800 +0100
+++ tmp/b/psd/Pset_RoadDesignCriteriaCommon.xml 2022-07-09 16:00:08.410894100 +0200
@@ -1,30 +1,30 @@
 <?xml version="1.0" ?>
 <PropertySetDef xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" templatetype="PSET_TYPEDRIVENOVERRIDE" xsi:noNamespaceSchemaLocation="http://buildingSMART-tech.org/xml/psd/PSD_IFC4.xsd">
   <IfcVersion version="IFC4X3_DEV"/>
   <Name>Pset_RoadDesignCriteriaCommon</Name>
   <Definition>Road design criteria that may be attached to road parts.</Definition>
   <Applicability/>
   <ApplicableClasses>
-    <ClassName>IfcFacilityPart/JUNCTION</ClassName>
-    <ClassName>IfcFacilityPart/LEVELCROSSING</ClassName>
-    <ClassName>IfcFacilityPart/SEGMENT</ClassName>
-    <ClassName>IfcFacilityPart/BICYCLECROSSING</ClassName>
-    <ClassName>IfcFacilityPart/INTERSECTION</ClassName>
-    <ClassName>IfcFacilityPart/PEDESTRIAN_CROSSING</ClassName>
-    <ClassName>IfcFacilityPart/RAILWAYCROSSING</ClassName>
-    <ClassName>IfcFacilityPart/ROADSEGMENT</ClassName>
-    <ClassName>IfcFacilityPart/ROUNDABOUT</ClassName>
-    <ClassName>IfcFacilityPart/TOLLPLAZA</ClassName>
+    <ClassName>IfcFacilityPartCommon/JUNCTION</ClassName>
+    <ClassName>IfcFacilityPartCommon/LEVELCROSSING</ClassName>
+    <ClassName>IfcFacilityPartCommon/SEGMENT</ClassName>
+    <ClassName>IfcRoadPart/BICYCLECROSSING</ClassName>
+    <ClassName>IfcRoadPart/INTERSECTION</ClassName>
+    <ClassName>IfcRoadPart/PEDESTRIAN_CROSSING</ClassName>
+    <ClassName>IfcRoadPart/RAILWAYCROSSING</ClassName>
+    <ClassName>IfcRoadPart/ROADSEGMENT</ClassName>
+    <ClassName>IfcRoadPart/ROUNDABOUT</ClassName>
+    <ClassName>IfcRoadPart/TOLLPLAZA</ClassName>
     <ClassName>IfcRoad</ClassName>
   </ApplicableClasses>
-  <ApplicableTypeValue>IfcFacilityPart/JUNCTION,IfcFacilityPart/LEVELCROSSING,IfcFacilityPart/SEGMENT,IfcFacilityPart/BICYCLECROSSING,IfcFacilityPart/INTERSECTION,IfcFacilityPart/PEDESTRIAN_CROSSING,IfcFacilityPart/RAILWAYCROSSING,IfcFacilityPart/ROADSEGMENT,IfcFacilityPart/ROUNDABOUT,IfcFacilityPart/TOLLPLAZA,IfcRoad</ApplicableTypeValue>
+  <ApplicableTypeValue>IfcFacilityPartCommon/JUNCTION,IfcFacilityPartCommon/LEVELCROSSING,IfcFacilityPartCommon/SEGMENT,IfcRoadPart/BICYCLECROSSING,IfcRoadPart/INTERSECTION,IfcRoadPart/PEDESTRIAN_CROSSING,IfcRoadPart/RAILWAYCROSSING,IfcRoadPart/ROADSEGMENT,IfcRoadPart/ROUNDABOUT,IfcRoadPart/TOLLPLAZA,IfcRoad</ApplicableTypeValue>
   <PropertyDefs>
     <PropertyDef>
       <Name>Crossfall</Name>
       <Definition>Specifies the nominal crossfall as a ratio measure (slope) at the location of the event.</Definition>
       <PropertyType>
         <TypePropertySingleValue>
           <DataType type="IfcRatioMeasure"/>
         </TypePropertySingleValue>
       </PropertyType>
     </PropertyDef>
diff -N -w -U10 tmp/a/psd/Pset_TransportElementCommon.xml tmp/b/psd/Pset_TransportElementCommon.xml
--- tmp/a/psd/Pset_TransportElementCommon.xml   2022-02-13 13:30:06.562024500 +0100
+++ tmp/b/psd/Pset_TransportElementCommon.xml   2022-07-09 16:00:09.027893100 +0200
@@ -1,20 +1,20 @@
 <?xml version="1.0" ?>
 <PropertySetDef xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" templatetype="PSET_TYPEDRIVENOVERRIDE" xsi:noNamespaceSchemaLocation="http://buildingSMART-tech.org/xml/psd/PSD_IFC4.xsd">
   <IfcVersion version="IFC4X3_DEV"/>
   <Name>Pset_TransportElementCommon</Name>
   <Definition>Properties common to the definition of all occurrences of IfcTransportElement or IfcTransportElementType</Definition>
   <Applicability/>
   <ApplicableClasses>
-    <ClassName>IfcTransportElement</ClassName>
+    <ClassName>IfcTransportationDevice</ClassName>
   </ApplicableClasses>
-  <ApplicableTypeValue>IfcTransportElement</ApplicableTypeValue>
+  <ApplicableTypeValue>IfcTransportationDevice</ApplicableTypeValue>
   <PropertyDefs>
     <PropertyDef>
       <Name>Reference</Name>
       <Definition>Reference ID for this specified type in this project (e.g. type 'A-1'), Also referred to as &quot;construction type&quot;. It should be provided as an alternative to the name of the &quot;object type&quot;, if the software does not support object types.</Definition>
       <PropertyType>
         <TypePropertySingleValue>
           <DataType type="IfcIdentifier"/>
         </TypePropertySingleValue>
       </PropertyType>
     </PropertyDef>
diff -N -w -U10 tmp/a/psd/Pset_TransportElementElevator.xml tmp/b/psd/Pset_TransportElementElevator.xml
--- tmp/a/psd/Pset_TransportElementElevator.xml 2022-02-13 13:30:06.568008200 +0100
+++ tmp/b/psd/Pset_TransportElementElevator.xml 2022-07-09 16:00:09.074896000 +0200
@@ -1,20 +1,20 @@
 <?xml version="1.0" ?>
 <PropertySetDef xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" templatetype="PSET_TYPEDRIVENOVERRIDE" xsi:noNamespaceSchemaLocation="http://buildingSMART-tech.org/xml/psd/PSD_IFC4.xsd">
   <IfcVersion version="IFC4X3_DEV"/>
   <Name>Pset_TransportElementElevator</Name>
   <Definition>Properties common to the definition of all occurrences of IfcTransportElement with the predefined type =&quot;ELEVATOR&quot;</Definition>
   <Applicability/>
   <ApplicableClasses>
-    <ClassName>IfcTransportElement</ClassName>
+    <ClassName>IfcTransportationDevice</ClassName>
   </ApplicableClasses>
-  <ApplicableTypeValue>IfcTransportElement</ApplicableTypeValue>
+  <ApplicableTypeValue>IfcTransportationDevice</ApplicableTypeValue>
   <PropertyDefs>
     <PropertyDef>
       <Name>FireFightingLift</Name>
       <Definition>Indication whether the elevator is designed to serve as a fire fighting lift the case of fire (TRUE) or not (FALSE). A fire fighting lift is used by fire fighters to access the location of fire and to evacuate people.</Definition>
       <PropertyType>
         <TypePropertySingleValue>
           <DataType type="IfcBoolean"/>
         </TypePropertySingleValue>
       </PropertyType>
     </PropertyDef>
diff -N -w -U10 tmp/a/psd/Pset_VehicleAvailability.xml tmp/b/psd/Pset_VehicleAvailability.xml
--- tmp/a/psd/Pset_VehicleAvailability.xml  2022-02-13 13:30:05.474811700 +0100
+++ tmp/b/psd/Pset_VehicleAvailability.xml  2022-07-09 16:00:08.449895100 +0200
@@ -1,29 +1,29 @@
 <?xml version="1.0" ?>
 <PropertySetDef xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" templatetype="PSET_TYPEDRIVENOVERRIDE" xsi:noNamespaceSchemaLocation="http://buildingSMART-tech.org/xml/psd/PSD_IFC4.xsd">
   <IfcVersion version="IFC4X3_DEV"/>
   <Name>Pset_VehicleAvailability</Name>
   <Definition>Property set for the application of availability data to vehicles and equipment.</Definition>
   <Applicability/>
   <ApplicableClasses>
-    <ClassName>IfcTransportElement/ROLLINGSTOCK</ClassName>
-    <ClassName>IfcTransportElement/ROLLINGSTOCK</ClassName>
-    <ClassName>IfcTransportElement/VEHICLEAIR</ClassName>
-    <ClassName>IfcTransportElement/VEHICLEAIR</ClassName>
-    <ClassName>IfcTransportElement/VEHICLEMARINE</ClassName>
-    <ClassName>IfcTransportElement/VEHICLEMARINE</ClassName>
-    <ClassName>IfcTransportElement/VEHICLE</ClassName>
-    <ClassName>IfcTransportElement/VEHICLE</ClassName>
-    <ClassName>IfcTransportElement/VEHICLETRACKED</ClassName>
-    <ClassName>IfcTransportElement/VEHICLETRACKED</ClassName>
+    <ClassName>IfcVehicle/ROLLINGSTOCK</ClassName>
+    <ClassName>IfcVehicle/ROLLINGSTOCK</ClassName>
+    <ClassName>IfcVehicle/VEHICLEAIR</ClassName>
+    <ClassName>IfcVehicle/VEHICLEAIR</ClassName>
+    <ClassName>IfcVehicle/VEHICLEMARINE</ClassName>
+    <ClassName>IfcVehicle/VEHICLEMARINE</ClassName>
+    <ClassName>IfcVehicle/VEHICLE</ClassName>
+    <ClassName>IfcVehicle/VEHICLE</ClassName>
+    <ClassName>IfcVehicle/VEHICLETRACKED</ClassName>
+    <ClassName>IfcVehicle/VEHICLETRACKED</ClassName>
   </ApplicableClasses>
-  <ApplicableTypeValue>IfcTransportElement/ROLLINGSTOCK,IfcTransportElement/ROLLINGSTOCK,IfcTransportElement/VEHICLEAIR,IfcTransportElement/VEHICLEAIR,IfcTransportElement/VEHICLEMARINE,IfcTransportElement/VEHICLEMARINE,IfcTransportElement/VEHICLE,IfcTransportElement/VEHICLE,IfcTransportElement/VEHICLETRACKED,IfcTransportElement/VEHICLETRACKED</ApplicableTypeValue>
+  <ApplicableTypeValue>IfcVehicle/ROLLINGSTOCK,IfcVehicle/ROLLINGSTOCK,IfcVehicle/VEHICLEAIR,IfcVehicle/VEHICLEAIR,IfcVehicle/VEHICLEMARINE,IfcVehicle/VEHICLEMARINE,IfcVehicle/VEHICLE,IfcVehicle/VEHICLE,IfcVehicle/VEHICLETRACKED,IfcVehicle/VEHICLETRACKED</ApplicableTypeValue>
   <PropertyDefs>
     <PropertyDef>
       <Name>VehicleAvailability</Name>
       <Definition>Vehicle or Plant availability</Definition>
       <PropertyType>
         <TypePropertySingleValue>
           <DataType type="IfcRatioMeasure"/>
         </TypePropertySingleValue>
       </PropertyType>
     </PropertyDef>
aothms commented 2 years ago
diff -N -w -U10 tmp/a/psd/Qto_FacilityPartBaseQuantities.xml.orig tmp/b/psd/Qto_FacilityPartBaseQuantities.xml.orig
--- tmp/a/psd/Qto_FacilityPartBaseQuantities.xml.orig   1970-01-01 01:00:00.000000000 +0100
+++ tmp/b/psd/Qto_FacilityPartBaseQuantities.xml.orig   2022-07-09 16:00:11.005900200 +0200
@@ -0,0 +1,39 @@
+<?xml version="1.0" ?>
+<QtoSetDef xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:noNamespaceSchemaLocation="http://buildingSMART-tech.org/xml/psd/QTO_IFC4.xsd">
+  <IfcVersion version="IFC4X3_DEV"/>
+  <Name>Qto_FacilityPartBaseQuantities</Name>
+  <Definition>Base quantities that are common to the definition of all occurrences of _IfcFacility_.</Definition>
+  <Applicability/>
+  <ApplicableClasses>
+    <ClassName>IfcFacilityPart</ClassName>
+  </ApplicableClasses>
+  <ApplicableTypeValue>IfcFacilityPart</ApplicableTypeValue>
+  <QtoDefs>
+    <QtoDef>
+      <Name>Length</Name>
+      <Definition>The nominal length of the transition section. The size information is provided in addition to the shape representation and the geometric parameters used within. In cases of inconsistency between the geometric parameters and the size properties, provided in the attached property set, the geometric parameters take precedence.</Definition>
+      <QtoType>Q_LENGTH</QtoType>
+    </QtoDef>
+    <QtoDef>
+      <Name>Width</Name>
+      <Definition>The nominal width of the trench excavation. The size information is provided in addition to the shape representation and the geometric parameters used within. In cases of inconsistency between the geometric parameters and the size properties, provided in the attached property set, the geometric parameters take precedence.</Definition>
+      <QtoType>Q_LENGTH</QtoType>
+    </QtoDef>
+    <QtoDef>
+      <Name>Height</Name>
+      <Definition>Height of the object. It is the upper hight of the railing above the floor or stair.
+The size information is provided in addition to the shape representation and the geometric parameters used within. In cases of inconsistency between the geometric parameters and the size properties, provided in the attached property set, the geometric parameters take precedence.</Definition>
+      <QtoType>Q_LENGTH</QtoType>
+    </QtoDef>
+    <QtoDef>
+      <Name>Area</Name>
+      <Definition>Area of the projection as viewed by an elevation view (for wall projections or as viewed by a ground floor view (for slab projections).</Definition>
+      <QtoType>Q_AREA</QtoType>
+    </QtoDef>
+    <QtoDef>
+      <Name>Volume</Name>
+      <Definition>Total volume of fluid in the tubes and their headers.</Definition>
+      <QtoType>Q_VOLUME</QtoType>
+    </QtoDef>
+  </QtoDefs>
+</QtoSetDef>
diff -N -w -U10 tmp/a/psd/Qto_FacilityPartBaseQuantities.xml.rej tmp/b/psd/Qto_FacilityPartBaseQuantities.xml.rej
--- tmp/a/psd/Qto_FacilityPartBaseQuantities.xml.rej    1970-01-01 01:00:00.000000000 +0100
+++ tmp/b/psd/Qto_FacilityPartBaseQuantities.xml.rej    2022-07-09 16:00:11.022893600 +0200
@@ -0,0 +1,9 @@
+--- psd/Qto_FacilityPartBaseQuantities.xml 2022-03-20 22:18:35.567515900 +0100
++++ psd/Qto_FacilityPartBaseQuantities.xml 2022-03-20 22:15:49.783960500 +0100
+@@ -3,5 +3,5 @@
+   <IfcVersion version="IFC4X3_DEV"/>
+   <Name>Qto_FacilityPartBaseQuantities</Name>
+-  <Definition>Base quantities that are common to the definition of all occurrences of IfcFacility.</Definition>
++  <Definition>Base quantities that are common to the definition of all occurrences of IfcFacilityPart.</Definition>
+   <Applicability/>
+   <ApplicableClasses>
diff -N -w -U10 tmp/a/psd/Qto_VehicleBaseQuantities.xml tmp/b/psd/Qto_VehicleBaseQuantities.xml
--- tmp/a/psd/Qto_VehicleBaseQuantities.xml 2022-02-13 13:30:06.179925700 +0100
+++ tmp/b/psd/Qto_VehicleBaseQuantities.xml 2022-07-09 16:00:08.489897000 +0200
@@ -1,29 +1,29 @@
 <?xml version="1.0" ?>
 <QtoSetDef xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:noNamespaceSchemaLocation="http://buildingSMART-tech.org/xml/psd/QTO_IFC4.xsd">
   <IfcVersion version="IFC4X3_DEV"/>
   <Name>Qto_VehicleBaseQuantities</Name>
   <Definition>Quantities for vehicles</Definition>
   <Applicability/>
   <ApplicableClasses>
-    <ClassName>IfcTransportElement/ROLLINGSTOCK</ClassName>
-    <ClassName>IfcTransportElement/ROLLINGSTOCK</ClassName>
-    <ClassName>IfcTransportElement/VEHICLEAIR</ClassName>
-    <ClassName>IfcTransportElement/VEHICLEAIR</ClassName>
-    <ClassName>IfcTransportElement/VEHICLEMARINE</ClassName>
-    <ClassName>IfcTransportElement/VEHICLEMARINE</ClassName>
-    <ClassName>IfcTransportElement/VEHICLE</ClassName>
-    <ClassName>IfcTransportElement/VEHICLE</ClassName>
-    <ClassName>IfcTransportElement/VEHICLETRACKED</ClassName>
-    <ClassName>IfcTransportElement/VEHICLETRACKED</ClassName>
+    <ClassName>IfcVehicle/ROLLINGSTOCK</ClassName>
+    <ClassName>IfcVehicle/ROLLINGSTOCK</ClassName>
+    <ClassName>IfcVehicle/VEHICLEAIR</ClassName>
+    <ClassName>IfcVehicle/VEHICLEAIR</ClassName>
+    <ClassName>IfcVehicle/VEHICLEMARINE</ClassName>
+    <ClassName>IfcVehicle/VEHICLEMARINE</ClassName>
+    <ClassName>IfcVehicle/VEHICLE</ClassName>
+    <ClassName>IfcVehicle/VEHICLE</ClassName>
+    <ClassName>IfcVehicle/VEHICLETRACKED</ClassName>
+    <ClassName>IfcVehicle/VEHICLETRACKED</ClassName>
   </ApplicableClasses>
-  <ApplicableTypeValue>IfcTransportElement/ROLLINGSTOCK,IfcTransportElement/ROLLINGSTOCK,IfcTransportElement/VEHICLEAIR,IfcTransportElement/VEHICLEAIR,IfcTransportElement/VEHICLEMARINE,IfcTransportElement/VEHICLEMARINE,IfcTransportElement/VEHICLE,IfcTransportElement/VEHICLE,IfcTransportElement/VEHICLETRACKED,IfcTransportElement/VEHICLETRACKED</ApplicableTypeValue>
+  <ApplicableTypeValue>IfcVehicle/ROLLINGSTOCK,IfcVehicle/ROLLINGSTOCK,IfcVehicle/VEHICLEAIR,IfcVehicle/VEHICLEAIR,IfcVehicle/VEHICLEMARINE,IfcVehicle/VEHICLEMARINE,IfcVehicle/VEHICLE,IfcVehicle/VEHICLE,IfcVehicle/VEHICLETRACKED,IfcVehicle/VEHICLETRACKED</ApplicableTypeValue>
   <QtoDefs>
     <QtoDef>
       <Name>Length</Name>
       <Definition>The nominal length of the transition section. The size information is provided in addition to the shape representation and the geometric parameters used within. In cases of inconsistency between the geometric parameters and the size properties, provided in the attached property set, the geometric parameters take precedence.</Definition>
       <QtoType>Q_LENGTH</QtoType>
     </QtoDef>
     <QtoDef>
       <Name>Width</Name>
       <Definition>The nominal width of the trench excavation. The size information is provided in addition to the shape representation and the geometric parameters used within. In cases of inconsistency between the geometric parameters and the size properties, provided in the attached property set, the geometric parameters take precedence.</Definition>
       <QtoType>Q_LENGTH</QtoType>