Closed aothms closed 2 years ago
--- tmp/a/IFC.exp 2022-03-20 15:43:48.120659700 +0100 +++ tmp/b/IFC.exp 2022-07-09 15:52:12.085255700 +0200 @@ -10135,21 +10135,21 @@ WHERE ValidRadius : ((RoundingRadius <= (SELF\IfcRectangleProfileDef.XDim/2.)) AND (RoundingRadius <= (SELF\IfcRectangleProfileDef.YDim/2.))); END_ENTITY; ENTITY IfcSIUnit SUBTYPE OF (IfcNamedUnit); Prefix : OPTIONAL IfcSIPrefix; Name : IfcSIUnitName; DERIVE - SELF\IfcNamedUnit.Dimensions : IfcDimensionalExponents := IfcDimensionsForSiUnit (SELF.Name); + SELF\IfcNamedUnit.Dimensions : IfcDimensionalExponents := IfcDimensionsForSIUnit (SELF.Name); END_ENTITY; ENTITY IfcSanitaryTerminal SUBTYPE OF (IfcFlowTerminal); PredefinedType : OPTIONAL IfcSanitaryTerminalTypeEnum; WHERE CorrectPredefinedType : NOT(EXISTS(PredefinedType)) OR (PredefinedType <> IfcSanitaryTerminalTypeEnum.USERDEFINED) OR ((PredefinedType = IfcSanitaryTerminalTypeEnum.USERDEFINED) AND EXISTS (SELF\IfcObject.ObjectType)); CorrectTypeAssigned : (SIZEOF(IsTypedBy) = 0) OR @@ -12867,21 +12867,21 @@ (UnitElements[i].Exponent * UnitElements[i].Unit.Dimensions.AmountOfSubstanceExponent); Result.LuminousIntensityExponent := Result.LuminousIntensityExponent + (UnitElements[i].Exponent * UnitElements[i].Unit.Dimensions.LuminousIntensityExponent); END_REPEAT; RETURN (Result); END_FUNCTION; -FUNCTION IfcDimensionsForSiUnit +FUNCTION IfcDimensionsForSIUnit (n : IfcSIUnitName ) : IfcDimensionalExponents; CASE n OF METRE : RETURN (IfcDimensionalExponents (1, 0, 0, 0, 0, 0, 0)); SQUARE_METRE : RETURN (IfcDimensionalExponents (2, 0, 0, 0, 0, 0, 0)); CUBIC_METRE : RETURN (IfcDimensionalExponents (3, 0, 0, 0, 0, 0, 0)); GRAM : RETURN (IfcDimensionalExponents (0, 1, 0, 0, 0, 0, 0)); @@ -13410,37 +13410,47 @@ Count := SIZEOF(QUERY(temp <* Items | ('IFC4X3_DEV.IFCCURVE' IN TYPEOF(temp)) AND (temp\IfcCurve.Dim = 2))); END; 'Curve3D' : BEGIN Count := SIZEOF(QUERY(temp <* Items | ('IFC4X3_DEV.IFCCURVE' IN TYPEOF(temp)) AND (temp\IfcCurve.Dim = 3))); END; + 'Segment' : + BEGIN + Count := SIZEOF(QUERY(temp <* Items | ('IFC4X3_DEV.IFCSEGMENT' IN TYPEOF(temp)))); + END; + 'Surface' : BEGIN Count := SIZEOF(QUERY(temp <* Items | ('IFC4X3_DEV.IFCSURFACE' IN TYPEOF(temp)))); END; 'Surface2D' : BEGIN Count := SIZEOF(QUERY(temp <* Items | ('IFC4X3_DEV.IFCSURFACE' IN TYPEOF(temp)) AND (temp\IfcSurface.Dim = 2))); END; 'Surface3D' : BEGIN Count := SIZEOF(QUERY(temp <* Items | ('IFC4X3_DEV.IFCSURFACE' IN TYPEOF(temp)) AND (temp\IfcSurface.Dim = 3))); END; + 'SectionedSurface' : + BEGIN + Count := SIZEOF(QUERY(temp <* Items | 'IFC4X3_DEV.IFCSECTIONEDSURFACE' IN TYPEOF(temp))); + END; + 'FillArea' : BEGIN Count := SIZEOF(QUERY(temp <* Items | ('IFC4X3_DEV.IFCANNOTATIONFILLAREA' IN TYPEOF(temp)))); END; 'Text' : BEGIN Count := SIZEOF(QUERY(temp <* Items | ('IFC4X3_DEV.IFCTEXTLITERAL' IN TYPEOF(temp)))); END;