StructuralParametricCrossSection Class |
[This is preliminary documentation and is subject to change.]
Namespace: ModelExchanger.AnalysisDataModel.Libraries
public sealed class StructuralParametricCrossSection : StructuralCrossSection, IEquatable<StructuralParametricCrossSection>, IStructuralCrossSectionWithShape, IStructuralCrossSectionWithParameters
The StructuralParametricCrossSection type exposes the following members.
Name | Description | |
---|---|---|
StructuralParametricCrossSection |
Create a cross section which is parametric
|
Name | Description | |
---|---|---|
CrossSectionalProperties |
Additional properties which define the cross section
(Inherited from StructuralCrossSection.) | |
CrossSectionType |
Defines the type of cross section
(Inherited from StructuralCrossSection.) | |
Id |
The ID of the Analysis object.
Needs to be unique within the entire model
(Inherited from StructuralAnalysisObjectBase.) | |
Material |
The material out of which the Cross Section exists.
(Inherited from StructuralCrossSection.) | |
Name |
The name of the Analysis object.
Needs to be unique within it's type
(Inherited from StructuralAnalysisObjectBase.) | |
Parameters |
Represents dimensions of the cross-section.
| |
Shape |
This field defines the geometrical shape of the cross-section
| |
StructuralName |
The name of the cross section in a Structural Model to which this cross section is mapped.
(Inherited from StructuralCrossSection.) |
Name | Description | |
---|---|---|
Equals(Object) |
Check if this object is the same as the provided object.
(Overrides StructuralCrossSectionEquals(Object).) | |
Equals(StructuralAnalysisObjectBase) |
Check if this object is the same as the provided object.
(Inherited from StructuralAnalysisObjectBase.) | |
Equals(StructuralCrossSection) | Indicates whether the current object is equal to another object of the same type. (Inherited from StructuralCrossSection.) | |
Equals(StructuralParametricCrossSection) | Indicates whether the current object is equal to another object of the same type. | |
GetHashCode |
Retrieves the hashcode of the object
(Overrides StructuralCrossSectionGetHashCode.) |
Name | Description | |
---|---|---|
PropertyChanged | (Inherited from StructuralAnalysisObjectBase.) |
Name | Description | |
---|---|---|
AllowedProfileLibraryIds |
Defines the list of allowed ProfileLibraryId values for this type of cross section
|
/// <summary> /// Create parametric cross sections used throughout the model /// </summary> /// <param name="materials">The available materials from the model</param> /// <returns>A collection of parametric cross sections</returns> private IReadOnlyCollection<StructuralCrossSection> CreateParametricCrossSections(IReadOnlyDictionary<string, StructuralMaterial> materials) { StructuralMaterial mat1 = materials["MAT1"]; StructuralMaterial mat2 = materials["MAT2"]; StructuralMaterial mat3 = materials["MAT3"]; StructuralMaterial mat4 = materials["MAT4"]; StructuralMaterial mat5 = materials["MAT5"]; StructuralMaterial mat6 = materials["MAT6"]; StructuralMaterial mat7 = materials["MAT7"]; StructuralMaterial mat8 = materials["MAT8"]; StructuralMaterial mat9 = materials["MAT9"]; StructuralMaterial mat11 = materials["MAT11"]; return new StructuralCrossSection[] { new StructuralParametricCrossSection(Guid.NewGuid(), "CS1", mat1, ProfileLibraryId.Rectangle, new [] { Length.FromMillimeters(250D), Length.FromMillimeters(200D) }), new StructuralParametricCrossSection(Guid.NewGuid(), "CS2", mat2, ProfileLibraryId.ISection, new [] { Length.FromMillimeters(1000D), Length.FromMillimeters(350), Length.FromMillimeters(250D), Length.FromMillimeters(150D), Length.FromMillimeters(150D), Length.FromMillimeters(100D) }), new StructuralParametricCrossSection(Guid.NewGuid(), "CS3", mat3, ProfileLibraryId.TSection, new [] { Length.FromMillimeters(550D), Length.FromMillimeters(350D), Length.FromMillimeters(100D), Length.FromMillimeters(120D) }), new StructuralParametricCrossSection(Guid.NewGuid(), "CS4", mat1, ProfileLibraryId.LSection, new [] { Length.FromMillimeters(450D), Length.FromMillimeters(250D), Length.FromMillimeters(80D), Length.FromMillimeters(85D) }), new StructuralParametricCrossSection(Guid.NewGuid(), "CS5", mat2, ProfileLibraryId.Circle, new [] { Length.FromMillimeters(350D) }), new StructuralParametricCrossSection(Guid.NewGuid(), "CS6", mat3, ProfileLibraryId.Oval, new [] { Length.FromMillimeters(600D), Length.FromMillimeters(300D) }), new StructuralParametricCrossSection(Guid.NewGuid(), "CS7", mat4, ProfileLibraryId.ISection, new [] { Length.FromMillimeters(500D), Length.FromMillimeters(200D), Length.FromMillimeters(25D), Length.FromMillimeters(25D), Length.FromMillimeters(15D) }), new StructuralParametricCrossSection(Guid.NewGuid(), "CS8", mat5, ProfileLibraryId.ISectionWithHaunch, new [] { Length.FromMillimeters(550D), Length.FromMillimeters(275D), Length.FromMillimeters(25D), Length.FromMillimeters(20D), Length.FromMillimeters(15D), Length.FromMillimeters(15D) }), new StructuralParametricCrossSection(Guid.NewGuid(), "CS9", mat4, ProfileLibraryId.Rectangle, new [] { Length.FromMillimeters(450D), Length.FromMillimeters(300D) }), new StructuralParametricCrossSection(Guid.NewGuid(), "CS10", mat5, ProfileLibraryId.Circle, new [] { Length.FromMillimeters(25D) }), new StructuralParametricCrossSection(Guid.NewGuid(), "CS11", mat4, ProfileLibraryId.Oval, new [] { Length.FromMillimeters(150D), Length.FromMillimeters(50D) }), new StructuralParametricCrossSection(Guid.NewGuid(), "CS12", mat5, ProfileLibraryId.TSection, new [] { Length.FromMillimeters(625D), Length.FromMillimeters(185D), Length.FromMillimeters(45D), Length.FromMillimeters(40D) }), new StructuralParametricCrossSection(Guid.NewGuid(), "CS13", mat8, ProfileLibraryId.DoubleRectangle, new [] { Length.FromMillimeters(250D), Length.FromMillimeters(120D), Length.FromMillimeters(10D) }), new StructuralParametricCrossSection(Guid.NewGuid(), "CS14", mat9, ProfileLibraryId.TripleRectangle, new [] { Length.FromMillimeters(280D), Length.FromMillimeters(100D), Length.FromMillimeters(5D) }), new StructuralParametricCrossSection(Guid.NewGuid(), "CS15", mat8, ProfileLibraryId.TSection, new [] { Length.FromMillimeters(150D), Length.FromMillimeters(45D), Length.FromMillimeters(165D), Length.FromMillimeters(40D) }), new StructuralParametricCrossSection(Guid.NewGuid(), "CS16", mat9, ProfileLibraryId.ISection, new [] { Length.FromMillimeters(200D), Length.FromMillimeters(40D), Length.FromMillimeters(250D), Length.FromMillimeters(50D), Length.FromMillimeters(180D), Length.FromMillimeters(60) }), new StructuralParametricCrossSection(Guid.NewGuid(), "CS17", mat8, ProfileLibraryId.ISection, new [] { Length.FromMillimeters(80D), Length.FromMillimeters(150D), Length.FromMillimeters(150D), Length.FromMillimeters(80D) }), new StructuralParametricCrossSection(Guid.NewGuid(), "CS18", mat9, ProfileLibraryId.DoubleRectangle, new [] { Length.FromMillimeters(220D), Length.FromMillimeters(280D) }), new StructuralParametricCrossSection(Guid.NewGuid(), "CS19", mat6, ProfileLibraryId.Tube, new [] { Length.FromMillimeters(200D), Length.FromMillimeters(100D), Length.FromMillimeters(9D), Length.FromMillimeters(6D), Length.FromMillimeters(12D) }), new StructuralParametricCrossSection(Guid.NewGuid(), "CS20", mat7, ProfileLibraryId.Pipe, new [] { Length.FromMillimeters(150D), Length.FromMillimeters(8D) }), new StructuralParametricCrossSection(Guid.NewGuid(), "CS21", mat6, ProfileLibraryId.Angle, new [] { Length.FromMillimeters(500D), Length.FromMillimeters(300D), Length.FromMillimeters(25D), Length.FromMillimeters(25D), Length.FromMillimeters(15D) }), new StructuralParametricCrossSection(Guid.NewGuid(), "CS22", mat7, ProfileLibraryId.Channel, new [] { Length.FromMillimeters(50D), Length.FromMillimeters(25D), Length.FromMillimeters(4D), Length.FromMillimeters(6D), Length.FromMillimeters(3D) }), new StructuralParametricCrossSection(Guid.NewGuid(), "CS23", mat6, ProfileLibraryId.TTee, new [] { Length.FromMillimeters(120D), Length.FromMillimeters(80D), Length.FromMillimeters(6D), Length.FromMillimeters(6D), Length.FromMillimeters(3D) }), new StructuralParametricCrossSection(Guid.NewGuid(), "CS24", mat7, ProfileLibraryId.Rectangle, new [] { Length.FromMillimeters(30D), Length.FromMillimeters(30D) }), new StructuralParametricCrossSection(Guid.NewGuid(), "CS25", mat11, ProfileLibraryId.Rectangle, new [] { Length.FromMillimeters(450D), Length.FromMillimeters(300D) }) }; }