StructuralCurveActionFree Class |
[This is preliminary documentation and is subject to change.]
Namespace: ModelExchanger.AnalysisDataModel.Loads
public sealed class StructuralCurveActionFree : StructuralAnalysisObjectBase, ILoadAnalysisObject, IStructuralAnalysisObject, IAnalysisObject, IEquatable<StructuralCurveActionFree>, IHasTwoLoadDirectionVectors<ForcePerLength>, IHasLoadDirectionVector<ForcePerLength>
The StructuralCurveActionFree type exposes the following members.
Name | Description | |
---|---|---|
StructuralCurveActionFree(Guid, String, StructuralLoadCase, IReadOnlyListCurveCoordinate, ForcePerLength) |
Create a linear load which belongs to the provided StructuralLoadCase who's border is defined by the provided CurveTCoordinate's and which is distributed Uniform
| |
StructuralCurveActionFree(Guid, String, StructuralLoadCase, IReadOnlyListCurveCoordinate, ForcePerLength, ForcePerLength) |
Create a linear load which belongs to the provided StructuralLoadCase who's border is defined by the provided CurveTCoordinate's and which is distributed Trapezoidal
|
Name | Description | |
---|---|---|
CoordinateSystem |
Defines the co-ordinate system of the member in which the load is applied
| |
Curves |
The collection of CurveTCoordinate that define the border of the load
| |
Direction |
Specifies the base direction of the load
| |
DirectionVectorX | ||
DirectionVectorX2 |
When [!:Direction] is set to Vector, then this property defines the X portion of that vector when Distribution is not uniform.
| |
DirectionVectorY | ||
DirectionVectorY2 |
When [!:Direction] is set to Vector, then this property defines the Y portion of that vector when Distribution is not uniform.
| |
DirectionVectorZ | ||
DirectionVectorZ2 |
When [!:Direction] is set to Vector, then this property defines the Z portion of that vector when Distribution is not uniform.
| |
Distribution |
Defines how the load is distributed along the structural element
| |
Id |
The ID of the Analysis object.
Needs to be unique within the entire model
(Inherited from StructuralAnalysisObjectBase.) | |
LoadCase |
The StructuralLoadCase to which the load belongs
| |
Location |
Defines whether the load is "put directly on an inclined 1D member" or whether the "projection on plan" is defined.
| |
Name |
The name of the Analysis object.
Needs to be unique within it's type
(Inherited from StructuralAnalysisObjectBase.) | |
Type |
Defines what the load is caused by. Supports dynamic values
| |
Validity |
Defines the validity of the free load
| |
ValidityFrom |
Defines where the validity starts
| |
ValidityTo |
Defines where the validity stops
| |
Value1 |
The first (or only, when Distribution is Uniform) size of the load
| |
Value2 |
The second size of the load. Only applicable when Distribution is not Uniform
|
Name | Description | |
---|---|---|
Equals(Object) |
Check if this object is the same as the provided object.
(Overrides StructuralAnalysisObjectBaseEquals(Object).) | |
Equals(StructuralAnalysisObjectBase) |
Check if this object is the same as the provided object.
(Inherited from StructuralAnalysisObjectBase.) | |
Equals(StructuralCurveActionFree) | Indicates whether the current object is equal to another object of the same type. | |
GetHashCode |
Retrieves the hashcode of the object
(Overrides StructuralAnalysisObjectBaseGetHashCode.) |
Name | Description | |
---|---|---|
PropertyChanged | (Inherited from StructuralAnalysisObjectBase.) |
Name | Description | |
---|---|---|
ToObjectIdentifier |
Converts the provided IAnalysisObject into an AnalysisObjectIdentifier (Defined by IAnalysisObjectExtensions.) |
using System; using System.Collections.Generic; using System.Linq; using ModelExchanger.AnalysisDataModel.Enums; using ModelExchanger.AnalysisDataModel.Loads; using ModelExchanger.AnalysisDataModel.Models; using ModelExchanger.AnalysisDataModel.Subtypes; using UnitsNet; namespace ModelExchanger.AnalysisDataModel.Example.Loads { public sealed class StructuralCurveActionFreeExample : BaseExample<StructuralCurveActionFree> { protected override IReadOnlyCollection<StructuralCurveActionFree> CreateAnalysisObjects(AnalysisModel model) { StructuralLoadCase loadCase = model.OfType<StructuralLoadCase>().Single(x => x.Name == "LC2"); return new[] { new StructuralCurveActionFree(Guid.NewGuid(), "LF1", loadCase, new [] { CreateLineCurve(1, (0D, 0D, 0D), (5D, 12D, 0D)), CreateLineCurve(2, (5D, 12D, 0D), (4D, 1D, 0D)) }, ForcePerLength.FromKilonewtonsPerMeter(-2)) { Direction = ActionDirection.Z }, }; } private Curve<Coordinate> CreateLineCurve(int curve, (double x, double y, double z) start, (double x, double y, double z) end) => new Curve<Coordinate>(CurveGeometricalShape.Line, new [] { new Coordinate($"C{curve}_Start", Length.FromMeters(start.x), Length.FromMeters(start.y), Length.FromMeters(start.z)), new Coordinate($"C{curve}_End", Length.FromMeters(end.x), Length.FromMeters(end.y), Length.FromMeters(end.z)) }); } }