StructuralSurfaceMember Class |
[This is preliminary documentation and is subject to change.]
Namespace: ModelExchanger.AnalysisDataModel.StructuralElements
public sealed class StructuralSurfaceMember : StructuralAnalysisObjectBase, IEquatable<StructuralSurfaceMember>, IStructuralElementAnalysisObject, IStructuralAnalysisObject, IAnalysisObject, IHasColor, IHasInternalNodes, ICanHaveRelationWithStructuralObjectIds, IHasParentId, IHasArea
The StructuralSurfaceMember type exposes the following members.
Name | Description | |
---|---|---|
Alignment |
Position of the system plane.
| |
AnalysisEccentricityZ |
Eccentricity of the force system line in Z direction of the local coordinate system
| |
Area |
The area of the member
The application providing the ModelExchanger.AnalysisDataModel should calculate this field.
| |
Behaviour |
Behaviour of the 2D member will during analysis
| |
Color |
The color of the object.
Primarily used when exporting to BIM+
| |
Edges |
The CurveTCoordinate's which define the shape of the member
| |
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 rib 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 2D member (eg rotation, LCS type, ...)
| |
Material |
The material out of which the 2D member is constructed
| |
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
| |
Shape |
Shape of the 2D member in the sense of the planarity of the system plane.
| |
StructuralEccentricityZ |
Eccentricity of the system line in Z direction of the local coordinate system
| |
Thickness |
The thickness of the 2D member
| |
Type |
Type of the 2D member.
Supports user-defined 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(StructuralSurfaceMember) | 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.) |
private IReadOnlyCollection<StructuralSurfaceMember> CreateSurfacesWithConstantThickness( IReadOnlyDictionary<string, StructuralMaterial> materials, IReadOnlyDictionary<string, StructuralPointConnection> nodes) { return new[] { new StructuralSurfaceMember(Guid.NewGuid(), "S1", new[] { new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N1"], nodes["N2"]}), new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N2"], nodes["N3"]}), new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N3"], nodes["N4"]}), new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N4"], nodes["N1"]}) }, materials["MAT1"], Length.FromMillimeters(18D)) { Color = "#FFFFFF00".ToColorUint() }, new StructuralSurfaceMember(Guid.NewGuid(), "S2", new [] { new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new [] {nodes["N6"], nodes["N7"]}), new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new [] {nodes["N7"], nodes["N5"]}), new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new [] {nodes["N5"], nodes["N8"]}), new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new [] {nodes["N8"], nodes["N6"]}) }, materials["MAT1"], Length.FromMillimeters(18D)) { Color= "#FFFFFF00".ToColorUint() }, new StructuralSurfaceMember(Guid.NewGuid(), "S3", new [] { new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N4"], nodes["N3"] }), new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N3"], nodes["N9"] }), new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N9"], nodes["N4"] }) }, materials["MAT1"], Length.FromMillimeters(18D)) { Color = "#FFFFFF00".ToColorUint() }, new StructuralSurfaceMember(Guid.NewGuid(), "S4", new [] { new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N8"], nodes["N5"]}), new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N5"], nodes["N10"]}), new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N10"], nodes["N8"]}) }, materials["MAT1"], Length.FromMillimeters(18D)) { Color = "#FFFFFF00".ToColorUint() }, new StructuralSurfaceMember(Guid.NewGuid(), "S5", new [] { new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N4"], nodes["N3"]}), new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N3"], nodes["N5"]}), new Curve<StructuralPointConnection>(CurveGeometricalShape.Arc3P, new []{ nodes["N5"], nodes["N91"], nodes["N8"]}), new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N8"], nodes["N4"]}) }, materials["MAT1"], Length.FromMillimeters(18D)) { Color = "#FFFFFF00".ToColorUint() }, new StructuralSurfaceMember(Guid.NewGuid(), "S6", new [] { new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N1"], nodes["N2"]}), new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N2"], nodes["N7"]}), new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N7"], nodes["N6"]}), new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N6"], nodes["N1"]}) }, materials["MAT1"], Length.FromMillimeters(250D)) { Color = "#FFFFFF00".ToColorUint() }, new StructuralSurfaceMember(Guid.NewGuid(), "S7", new [] { new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N6"], nodes["N1"]}), new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N1"], nodes["N4"]}), new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N4"], nodes["N8"]}), new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N8"], nodes["N6"]}) }, materials["MAT1"], Length.FromMillimeters(18D)) { Color = "#FFFFFF00".ToColorUint() }, new StructuralSurfaceMember(Guid.NewGuid(), "S8", new [] { new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N60"], nodes["N61"]}), new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N61"], nodes["N3"]}), new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N3"], nodes["N4"]}), new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N4"], nodes["N60"]}) }, materials["MAT1"], Length.FromMillimeters(18)) { Color = "#FFFFFF00".ToColorUint(), LCSAdjustment = new LCSAdjustment<Member2DLCSType>(Member2DLCSType.TiltOfVectorDefinedByPoint) { X = Length.FromMeters(-4), Y = Length.FromMeters(1), Z = Length.Zero } }, new StructuralSurfaceMember(Guid.NewGuid(), "S9", new [] { new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N1"], nodes["N62"]}), new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N62"], nodes["N60"]}), new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N60"], nodes["N4"]}), new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N4"], nodes["N1"]}) }, materials["MAT1"], Length.FromMillimeters(18D)) { Color = "#FFFFFF00".ToColorUint() }, new StructuralSurfaceMember(Guid.NewGuid(), "S10", new [] { new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N62"], nodes["N63"]}), new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N63"], nodes["N64"]}), new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N64"], nodes["N60"]}), new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N60"], nodes["N62"]}), }, materials["MAT1"], Length.FromMillimeters(18D)) { Color = "#FFFFFF00".ToColorUint(), LCSAdjustment = new LCSAdjustment<Member2DLCSType>(Member2DLCSType.XByVector) { X = Length.FromMeters(1D), Y = Length.Zero, Z = Length.Zero, Rotation = Angle.FromDegrees(45D) } } }; }
private IReadOnlyCollection<StructuralSurfaceMember> CreateSurfacesWithVaryingThickness( IReadOnlyDictionary<string, StructuralMaterial> materials, IReadOnlyDictionary<string, StructuralPointConnection> nodes) { return new[] { new StructuralSurfaceMember(Guid.NewGuid(), "S1v", new[] { new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new[] {nodes["N3"], nodes["N95"]}), new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new[] {nodes["N95"], nodes["N96"]}), new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new[] {nodes["N96"], nodes["N5"]}), new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new[] {nodes["N5"], nodes["N3"]}) }, materials["MAT1"], new MemberThickness<StructuralPointConnection>(nodes["N3"], Length.FromMillimeters(300D), nodes["N5"], Length.FromMillimeters(300D), nodes["N95"], Length.FromMillimeters(150D)) ) }; }