StructuralCurveMember Class |
[This is preliminary documentation and is subject to change.]
Namespace: ModelExchanger.AnalysisDataModel.StructuralElements
public sealed class StructuralCurveMember : StructuralAnalysisObjectBase, IEquatable<StructuralCurveMember>, IStructuralElementAnalysisObject, IStructuralAnalysisObject, IAnalysisObject, IHasColor, IHasInternalNodes, ICanHaveRelationWithStructuralObjectIds, IHasParentId, IHasLength, IHasBeginAndEndEccentricities
The StructuralCurveMember type exposes the following members.
Name | Description | |
---|---|---|
StructuralCurveMember |
Create a 1D member which exists out of the given curves and cross section
|
Name | Description | |
---|---|---|
AnalysisEccentricityYBegin |
Eccentricity of the force system line in Y direction of the local coordinate system at the beginning of the element.
| |
AnalysisEccentricityYEnd |
Eccentricity of the force system line in Y direction of the local coordinate system at the end of the element.
| |
AnalysisEccentricityZBegin |
Eccentricity of the force system line in Z direction of the local coordinate system at the beginning of the element.
| |
AnalysisEccentricityZEnd |
Eccentricity of the force system line in Z direction of the local coordinate system at the end of the element.
| |
ArbitraryDefinition |
Contains the arbitrary definition
| |
Behaviour |
The behaviour of this 1D member in the Structural Analysis model
| |
BucklingLength |
Buckling length for individual directions may be specified on each 1D member
| |
Color |
The color of the object.
Primarily used when exporting to BIM+
| |
CrossSection |
The StructuralCrossSection out of which the 1D member is constructed
| |
Curves |
The CurveTCoordinate's out of which the 1D member exists
| |
Id |
The ID of the Analysis object.
Needs to be unique within the entire model
(Inherited from StructuralAnalysisObjectBase.) | |
InternalNodes |
Contains the nodes connected to this StructuralCurveMember instance but are not part of the geometry
| |
Layer |
Custom created layer name. Used to group entities together
| |
LCSAdjustment |
Contains more information about LCS adjustments for the 1D member (eg rotation, LCS type, ...)
| |
Length |
The length (from start to end) of the member.
The application providing the ModelExchanger.AnalysisDataModel should calculate this field.
| |
Name |
The name of the Analysis object.
Needs to be unique within it's type
(Inherited from StructuralAnalysisObjectBase.) | |
ParentId |
The ID of the parent object of the same type
| |
Results |
1D Analysis results
| |
StructuralEccentricityYBegin |
Eccentricity of the system line in Y direction of the local coordinate system at the beginning of the element.
| |
StructuralEccentricityYEnd |
Eccentricity of the system line in Y direction of the local coordinate system at the end of the element.
| |
StructuralEccentricityZBegin |
Eccentricity of the system line in Z direction of the local coordinate system at the beginning of the element.
| |
StructuralEccentricityZEnd |
Eccentricity of the system line in Z direction of the local coordinate system at the end of the element.
| |
SystemLine |
The position of the system-lines on the cross-section of the 1D member
| |
Type |
The type of the 1D member. Supports dynamic values
|
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(StructuralCurveMember) | 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 CSInfrastructure; using CSInfrastructure.Extensions; using ModelExchanger.AnalysisDataModel.Enums; using ModelExchanger.AnalysisDataModel.Libraries; using ModelExchanger.AnalysisDataModel.Models; using ModelExchanger.AnalysisDataModel.StructuralElements; using ModelExchanger.AnalysisDataModel.Subtypes; using UnitsNet; namespace ModelExchanger.AnalysisDataModel.Example.StructuralElements { public sealed class StructuralCurveMemberExample : BaseExample<StructuralCurveMember> { protected override IReadOnlyCollection<StructuralCurveMember> CreateAnalysisObjects(AnalysisModel model) { IReadOnlyDictionary<string, StructuralCrossSection> crossSections = model.OfType<StructuralCrossSection>().ToDictionary(x => x.Name, x => x); IReadOnlyDictionary<string, StructuralPointConnection> nodes = model.OfType<StructuralPointConnection>().ToDictionary(x => x.Name, x => x); IReadOnlyDictionary<string, StructuralCurveMemberVarying> arbitraryDefinitions = model.OfType<StructuralCurveMemberVarying>().ToDictionary(x => x.Name, x => x); return new StructuralCurveMember[] { new StructuralCurveMember(Guid.NewGuid(), "B1", new [] { new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new [] { nodes["N11"], nodes["N12"] }) }, crossSections["CS1"]) { Color = "#FF00E400".ToColorUint(), ArbitraryDefinition = arbitraryDefinitions["AD1"] }, new StructuralCurveMember(Guid.NewGuid(), "B2", new [] { new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new [] { nodes["N13"], nodes["N14"] }) }, crossSections["CS12"]) { Color = "#FF00E400".ToColorUint(), LCSAdjustment = new LCSAdjustment<CurveLCSType>(CurveLCSType.VectorY) { X = Length.Zero, Y = Length.FromMeters(1D), Z = Length.Zero, Rotation = Angle.FromDegrees(45D) } }, new StructuralCurveMember(Guid.NewGuid(), "B3", new []{ new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N15"], nodes["N17"]})}, crossSections["CS23"]) { Color = "#FF808080".ToColorUint() }, new StructuralCurveMember(Guid.NewGuid(), "B4", new []{ new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new [] { nodes["N16"], nodes["N18"]})}, crossSections["CS27"]) { Color = "#FF808080".ToColorUint(), LCSAdjustment = new LCSAdjustment<CurveLCSType>(CurveLCSType.VectorY) { X = Length.Zero, Y = Length.FromMeters(1D), Z = Length.Zero } }, new StructuralCurveMember(Guid.NewGuid(), "B5", new []{ new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N9"], nodes["N12"]})}, crossSections["CS28"]) { Color = "#FFFFFF00".ToColorUint() }, new StructuralCurveMember(Guid.NewGuid(), "B6", new []{ new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N12"], nodes["N14"] }) }, crossSections["CS28"]) { Color = "#FFFFFF00".ToColorUint() }, new StructuralCurveMember(Guid.NewGuid(), "B7", new []{ new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N14"], nodes["N10"] }) }, crossSections["CS28"]) { Color = "#FFFFFF00".ToColorUint() }, new StructuralCurveMember(Guid.NewGuid(), "B10", new []{ new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N21"], nodes["N22"]}) }, crossSections["CS2"]) { Color = "#FFFF00FF".ToColorUint(), LCSAdjustment = new LCSAdjustment<CurveLCSType>(CurveLCSType.VectorY){ Rotation = Angle.FromDegrees(45D), X = Length.Zero, Y = Length.FromMeters(1), Z = Length.Zero } }, new StructuralCurveMember(Guid.NewGuid(), "B11", new []{ new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N23"], nodes["N24"]}) }, crossSections["CS3"]) { Color = "#FFFF00FF".ToColorUint(), LCSAdjustment = new LCSAdjustment<CurveLCSType>(CurveLCSType.VectorY){ Rotation = Angle.FromDegrees(125D), X = Length.Zero, Y = Length.FromMeters(1), Z = Length.Zero } }, new StructuralCurveMember(Guid.NewGuid(), "B12", new []{ new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N25"], nodes["N26"]}) }, crossSections["CS4"]) { Color = "#FFFF00FF".ToColorUint(), LCSAdjustment = new LCSAdjustment<CurveLCSType>(CurveLCSType.VectorY){ Rotation = Angle.FromDegrees(360D), X = Length.Zero, Y = Length.FromMeters(1), Z = Length.Zero } }, new StructuralCurveMember(Guid.NewGuid(), "B13", new []{ new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N25"], nodes["N27"]}) }, crossSections["CS5"]) { Color = "#FFFF00FF".ToColorUint(), LCSAdjustment = new LCSAdjustment<CurveLCSType>(CurveLCSType.VectorY){ Rotation = Angle.FromDegrees(45D), X = Length.Zero, Y = Length.FromMeters(1), Z = Length.Zero } }, new StructuralCurveMember(Guid.NewGuid(), "B14", new []{ new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N23"], nodes["N28"]}) }, crossSections["CS6"]) { Color = "#FFFF00FF".ToColorUint(), LCSAdjustment = new LCSAdjustment<CurveLCSType>(CurveLCSType.VectorY){ Rotation = Angle.FromDegrees(33D), X = Length.Zero, Y = Length.FromMeters(1), Z = Length.Zero } }, new StructuralCurveMember(Guid.NewGuid(), "B15", new []{ new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N21"], nodes["N29"]}) }, crossSections["CS7"]) { Color = "#FFFF00FF".ToColorUint() }, new StructuralCurveMember(Guid.NewGuid(), "B16", new []{ new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N30"], nodes["N31"]}) }, crossSections["CS8"]) { Color = "#FFFF00FF".ToColorUint() }, new StructuralCurveMember(Guid.NewGuid(), "B17", new []{ new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N32"], nodes["N33"]}) }, crossSections["CS9"]) { Color = "#FFFF00FF".ToColorUint(), }, new StructuralCurveMember(Guid.NewGuid(), "B18", new []{ new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N34"], nodes["N35"]}) }, crossSections["CS10"]) { Color = "#FFFF00FF".ToColorUint() }, new StructuralCurveMember(Guid.NewGuid(), "B19", new []{ new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N34"], nodes["N36"]}) }, crossSections["CS11"]) { Color = "#FFFF00FF".ToColorUint() }, new StructuralCurveMember(Guid.NewGuid(), "B20", new []{ new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N32"], nodes["N37"]}) }, crossSections["CS13"]) { Color = "#FFFF00FF".ToColorUint() }, new StructuralCurveMember(Guid.NewGuid(), "B21", new []{ new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N30"], nodes["N38"]}) }, crossSections["CS14"]) { Color = "#FFFF00FF".ToColorUint() }, new StructuralCurveMember(Guid.NewGuid(), "B22", new []{ new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N39"], nodes["N40"]}) }, crossSections["CS15"]) { Color = "#FFFF00FF".ToColorUint() }, new StructuralCurveMember(Guid.NewGuid(), "B23", new []{ new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N41"], nodes["N42"]}) }, crossSections["CS16"]) { Color = "#FFFF00FF".ToColorUint() }, new StructuralCurveMember(Guid.NewGuid(), "B24", new []{ new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N43"], nodes["N44"]}) }, crossSections["CS17"]) { Color = "#FFFF00FF".ToColorUint() }, new StructuralCurveMember(Guid.NewGuid(), "B25", new []{ new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N43"], nodes["N45"]}) }, crossSections["CS18"]) { Color = "#FFFF00FF".ToColorUint() }, new StructuralCurveMember(Guid.NewGuid(), "B26", new []{ new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N41"], nodes["N46"]}) }, crossSections["CS19"]) { Color = "#FFFF00FF".ToColorUint() }, new StructuralCurveMember(Guid.NewGuid(), "B27", new []{ new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N39"], nodes["N47"]}) }, crossSections["CS20"]) { Color = "#FFFF00FF".ToColorUint() }, new StructuralCurveMember(Guid.NewGuid(), "B28", new []{ new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N12"], nodes["N18"]}) }, crossSections["CS21"]) { Color = "#FFFF00FF".ToColorUint() }, new StructuralCurveMember(Guid.NewGuid(), "B29", new []{ new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N12"], nodes["N19"]}) }, crossSections["CS22"]) { Color = "#FFFF00FF".ToColorUint() }, new StructuralCurveMember(Guid.NewGuid(), "B30", new []{ new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N14"], nodes["N17"]}) }, crossSections["CS24"]) { Color = "#FFFF00FF".ToColorUint() }, new StructuralCurveMember(Guid.NewGuid(), "B31", new []{ new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N14"], nodes["N20"]}) }, crossSections["CS25"]) { Color = "#FFFF00FF".ToColorUint() }, new StructuralCurveMember(Guid.NewGuid(), "B35", new []{ new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N65"], nodes["N61"]}) }, crossSections["CS26"]) { Color = "#FFFF00FF".ToColorUint() }, new StructuralCurveMember(Guid.NewGuid(), "B36", new []{ new Curve<StructuralPointConnection>(CurveGeometricalShape.Arc3P, new []{ nodes["N10"], nodes["N92"], nodes["N91"]}) }, crossSections["CS26"]) { Color = "#FFFFFF00".ToColorUint() }, new StructuralCurveMember(Guid.NewGuid(), "B37", new []{ new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N95"], nodes["N97"]}) }, crossSections["CS26"]) { Color = "#FFFF00FF".ToColorUint() }, new StructuralCurveMember(Guid.NewGuid(), "B38", new []{ new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N96"], nodes["N98"]}) }, crossSections["CS26"]), new StructuralCurveMember(Guid.NewGuid(), "B39", new []{ new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N84"], nodes["N5"]})}, crossSections["CS23"]) { Type = Member1DType.Column }, new StructuralCurveMember(Guid.NewGuid(), "B40", new []{ new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N17"], nodes["N84"]})}, crossSections["CS24"]) { Type = Member1DType.WallBracing }, new StructuralCurveMember(Guid.NewGuid(), "B41", new []{ new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N5"], nodes["N15"]})}, crossSections["CS24"]) { Type = Member1DType.WallBracing }, new StructuralCurveMember(Guid.NewGuid(), "B46", new [] { new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N120"], nodes["N121"]})}, crossSections["CS1"]) { Type = Member1DType.Beam }, new StructuralCurveMember(Guid.NewGuid(), "B47", new []{ new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N122"], nodes["N123"]})}, crossSections["CS1"]) { Type = Member1DType.Beam } }; } } }