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 } }; } } }