Click or drag to resize

Version 1.3.0

[This is preliminary documentation and is subject to change.]

This version has been released on 2020-12-24.

New

Here are the objects that have been added in this release.

In this release, we have updated UnitsNet to version 4.72.0

Structural elements

Changed

Here are the objects that have been changed in this release.

Extensions

  • CurveExtensions:

    • Added the AreaCalculationNoSupport method, which returns a list of CurveGeometricalShape for which we (currently) do not support area calculations.

      Any surfaces, openings or regions which have an edge that is of one of these shapes, cannot be calculated and the area will be zero.

    • Added the LengthCalculationNoSupport method, which returns a list of CurveGeometricalShape for which we (currently) do not support length calculations.

      Any curves which have an edge that is of one of these shapes, cannot be calculated and the length will be zero.

    • Updated the CalculateArea method so that it returns zero when any of the curves have a non-supported shape.

    • Updated the CalculateLength method so that it returns zero when any of the curves have a non-supported shape.

  • DoubleExtensions:

    • Added Equals methods that accept a precision when comparing two doubles

    • Added ToInvariantCultureString method, which converts a double to a string using Invariant Culture

    • Added ToFormattedInvariantCultureString method, which converts a double to a string using Invariant Culture and formats it using the given format. Without a format specified, it will determine a format automatically based on the number of decimals defined in ComparingConstants.DoubleComparisionDelta

  • StringExtensions:

    • Added AllIndexesOf method, which allows you to search a string for a given character and return all indexes of that character in the string.

    • Updated ParseDoubleAsInvariant method, made it a bit smarter when it comes to different decimal & thousand separators. A lot more cases are supported now, but there are still a few in which it proved to be impossible to correctly determine the correct separators without knowledge of the culture that generated the string.

Structural elements

Validation

  • Updated StructuralCurveMember validation for LCS adjustment X, Y and Z properties so that when LCS adjustment type is not 'Standard', 'PointY' or 'PointZ', the LCS adjustment X, Y and Z properties cannot be all zero.

  • Updated StructuralSurfaceMember validation, added new validation when type is 'Shell'.

    • It can only have 3 or 4 edges.

      It cannot have any consecutive edges that are circular of shape.

  • Updated constraint validation, added missing rule for 'Resistance' properties. They are required when the type of constraint is 'NonLinear'

Services

Updated services

  • IAreaCalculationService: Added try-catch around the CalculateArea method. Any exception is caught and published using the event service as a LogEvent. As a result, the area of the surface will be set to zero. If that area was an opening, the surface to which the opening belongs will also have its area set to zero if CalculationControl was not set to 'KeepOriginalValues'.

  • ILengthCalculationService: Added try-catch around the CalculateLength method. Any exception is caught and published using the event service as a LogEvent