[This is preliminary documentation and is subject to change.]
This version has been released on 2019-11-05.
This release adds a few new objects and a service that allows you to compare two AnalysisModels and get back a lists of objects IDs that are either new, updated or deleted.
We've also updated & fixed issues with some of the existing objects.
Here are the objects that have been added in this release.
ICanHaveRelationWithStructuralObjectIds: Marker interface to indicate that the analytical object can have a mapping relation with a structural model object.
IHasInternalNodes: Marker interface for objects which have internal nodes.
ConstraintTStiffness, TResistance: Allows you to create a constraint with stiffness and resistance
IHasBoundaryNodeConditionTTranslationFirst, TTranslationSecond, TRotationFirst, TRotationSecond: Marker interface for objects with translational and rotational constraints that not only have a stiffness, but also a resistance.
IHasRotationalConstraintsTFirst, TSecond: Marker interface for objects with rotational constraints that not only have a stiffness, but also a resistance.
IHasTranslationConstraintsTStiffness, TResistance: Marker interface for objects with translational constraints that not only have a stiffness, but also a resistance.
RelConnectsRigidLink: Allows you to define a virtual connection between two nodes or internal nodes when you want to simulate infinite rigidity or user defined properties.
RelConnectsRigidMember: Allows you to define a rigid connection between two entities. Supported entities are nodes, 1D members, 2d member edges or internal edges.
Here are the objects that have been changed in this release.
StructuralCrossSection: Marked Dimensions property as obsolete. Will be removed in a future version because it's functionality is not directly related to ADM or any of it's modules.
StructuralCurveActionAbstractTDirection, TValue: Refactored into using generic type arguments that specify the Direction and Value(s) properties. This way it could be re-used for the new StructuralCurveMoment object too.
StructuralSurfaceActionFree: Disabled checking Validity properties in the IEquatable implementation. This is a temporary solution and we're on a more permanent one.
StructuralCurveMember: Added InternalNodes property. This are nodes that are not part of the geometry
StructuralCurveMember: Removed RelatedStructuralObjectIds property
StructuralCurveMemberRib: Set BucklingLength property to "Default" by default, as this was causing issues passing the model across boundaries
StructuralCurveMemberRib: Added InternalNodes property. This are nodes that are not part of the geometry
StructuralSurfaceMember: Added InternalNodes property. This are nodes that are not part of the geometry
StructuralSurfaceMember: Removed RelatedStructuralObjectIds property
IAnalysisModelComparisonService: Added new service that allows you to compare two instances of AnalysisModel and return the lists of IDs of new, updated and deleted objects. New objects are objects that are present in the second model and not in the first model. Updated objects are objects that exist in both models but are no longer the same (equality fails). Deleted objects are objects that only exist in the first model and no longer in the second model.
IAnalysisModelItemDeleteService: Added new service that allows you to deleted an object from an AnalysisModel with cascading effect. This means that any objects which are referenced by the object being deleted will also be deleted, if possible.
IAnalysisModelQuery: Added new service that helps you to query an AnalysisModel.
Updated object reference validator to utilize the new changes in the reference tracking functionality
Fixed validation for StructuralCurveMember LCS. When LCS type is not 'Standard' and X,Y and Z are zero, the object is no longer considered valid.
Fixed validation for StructuralSurfaceMember LCS. When LCS type is not 'Standard' and X,Y and Z are zero, the object is no longer considered valid.
Fixed validation for StructuralSurfaceMember thickness. When distribution is set to 'Constant', then PointFirst, PointSecond, PointThird, ThicknessSecond and ThicknessThird must be NULL
Fixed validation for edges. There was an issue when the edge shape was circular, spline or bezier.
Fixed validation for object references. It now takes into account whether or not the object being validated is being added to the model or if its being updated. If the object is being updated and there are existing references, the references are cleared and built-up again from the start.
Fixed validation for unique ID during updating. It now checks if the object reference is the same between the object being validated and the object in the model with the same id. It no longer includes the name of the object during validation.
Fixed validation for unique name during updating. It now checks if the object reference is the same between the object being validated and the object in the model with the same same.