StructuralSurfaceMemberOpening Class |
[This is preliminary documentation and is subject to change.]
Namespace: ModelExchanger.AnalysisDataModel.StructuralElements
public sealed class StructuralSurfaceMemberOpening : StructuralAnalysisObjectBase, IEquatable<StructuralSurfaceMemberOpening>, IStructuralElementAnalysisObject, IStructuralAnalysisObject, IAnalysisObject, IHasArea, IHasParentId
The StructuralSurfaceMemberOpening type exposes the following members.
Name | Description | |
---|---|---|
StructuralSurfaceMemberOpening |
Create an opening in the provided StructuralSurfaceMember which is defined by the provided CurveTCoordinate's
|
Name | Description | |
---|---|---|
Area |
The area of the member
The application providing the ModelExchanger.AnalysisDataModel should calculate this field.
| |
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.) | |
Member2D |
The StructuralSurfaceMember in which the opening is placed
| |
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
|
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(StructuralSurfaceMemberOpening) | 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.Models; using ModelExchanger.AnalysisDataModel.StructuralElements; using ModelExchanger.AnalysisDataModel.Subtypes; namespace ModelExchanger.AnalysisDataModel.Example.StructuralElements { public sealed class StructuralSurfaceMemberOpeningExample : BaseExample<StructuralSurfaceMemberOpening> { protected override IReadOnlyCollection<StructuralSurfaceMemberOpening> CreateAnalysisObjects(AnalysisModel model) { IReadOnlyDictionary<string, StructuralSurfaceMember> surfaces = model.OfType<StructuralSurfaceMember>().ToDictionary(surface => surface.Name, surface => surface); IReadOnlyDictionary<string, StructuralPointConnection> nodes = model.OfType<StructuralPointConnection>().ToDictionary(node => node.Name, node => node); return new[] { new StructuralSurfaceMemberOpening(Guid.NewGuid(), "O1", surfaces["S7"], new [] { new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N48"], nodes["N49"] }), new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N49"], nodes["N50"] }), new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N50"], nodes["N51"] }), new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N51"], nodes["N48"] }) }), new StructuralSurfaceMemberOpening(Guid.NewGuid(), "O2", surfaces["S7"], new [] { new Curve<StructuralPointConnection>(CurveGeometricalShape.Arc3P, new []{ nodes["N52"], nodes["N93"], nodes["N53"] }), new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N53"], nodes["N54"] }), new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N54"], nodes["N55"] }), new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N55"], nodes["N52"] }) }), new StructuralSurfaceMemberOpening(Guid.NewGuid(), "O3", surfaces["S7"], new [] { new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N56"], nodes["N57"] }), new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N57"], nodes["N58"] }), new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N58"], nodes["N59"] }), new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N59"], nodes["N56"] }) }), new StructuralSurfaceMemberOpening(Guid.NewGuid(), "O4", surfaces["S1"], new [] { new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N66"], nodes["N67"] }), new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N67"], nodes["N68"] }), new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N68"], nodes["N69"] }), new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N69"], nodes["N66"] }) }), new StructuralSurfaceMemberOpening(Guid.NewGuid(), "O5", surfaces["S3"], new [] { new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N70"], nodes["N71"] }), new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N71"], nodes["N72"] }), new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N72"], nodes["N73"] }), new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N73"], nodes["N70"] }) }), new StructuralSurfaceMemberOpening(Guid.NewGuid(), "O6", surfaces["S1v"], new [] { new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N99"], nodes["N100"] }), new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N100"], nodes["N101"] }), new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N101"], nodes["N102"] }), new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N102"], nodes["N99"] }) }), new StructuralSurfaceMemberOpening(Guid.NewGuid(), "O7", surfaces["S1v"], new [] { new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N103"], nodes["N104"] }), new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N104"], nodes["N105"] }), new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N105"], nodes["N106"] }), new Curve<StructuralPointConnection>(CurveGeometricalShape.Line, new []{ nodes["N106"], nodes["N103"] }) }), }; } } }