Click or drag to resize

StructuralParametricCrossSection Class

[This is preliminary documentation and is subject to change.]

Defines a parametric cross section.
Inheritance Hierarchy
SystemObject
  ModelExchanger.AnalysisDataModel.BaseStructuralAnalysisObjectBase
    ModelExchanger.AnalysisDataModel.LibrariesStructuralCrossSection
      ModelExchanger.AnalysisDataModel.LibrariesStructuralParametricCrossSection

Namespace:  ModelExchanger.AnalysisDataModel.Libraries
Assembly:  ModelExchanger.AnalysisDataModel (in ModelExchanger.AnalysisDataModel.dll) Version: 1.13.0+Branch.master.Sha.d583fc64569355d188a9c0818d257b6d0d3e1339
Syntax
C#
public sealed class StructuralParametricCrossSection : StructuralCrossSection, 
	IEquatable<StructuralParametricCrossSection>, IStructuralCrossSectionWithShape, IStructuralCrossSectionWithParameters

The StructuralParametricCrossSection type exposes the following members.

Constructors
  NameDescription
Public methodStructuralParametricCrossSection
Create a cross section which is parametric
Top
Properties
  NameDescription
Public propertyCrossSectionalProperties
Additional properties which define the cross section
(Inherited from StructuralCrossSection.)
Public propertyCrossSectionType
Defines the type of cross section
(Inherited from StructuralCrossSection.)
Public propertyId
The ID of the Analysis object. Needs to be unique within the entire model
(Inherited from StructuralAnalysisObjectBase.)
Public propertyMaterial
The material out of which the Cross Section exists.
(Inherited from StructuralCrossSection.)
Public propertyName
The name of the Analysis object. Needs to be unique within it's type
(Inherited from StructuralAnalysisObjectBase.)
Public propertyParameters
Represents dimensions of the cross-section.
Public propertyShape
This field defines the geometrical shape of the cross-section
Public propertyStructuralName
The name of the cross section in a Structural Model to which this cross section is mapped.
(Inherited from StructuralCrossSection.)
Top
Methods
  NameDescription
Public methodEquals(Object)
Check if this object is the same as the provided object.
(Overrides StructuralCrossSectionEquals(Object).)
Public methodEquals(StructuralAnalysisObjectBase)
Check if this object is the same as the provided object.
(Inherited from StructuralAnalysisObjectBase.)
Public methodEquals(StructuralCrossSection)
Indicates whether the current object is equal to another object of the same type.
(Inherited from StructuralCrossSection.)
Public methodEquals(StructuralParametricCrossSection)
Indicates whether the current object is equal to another object of the same type.
Public methodGetHashCode
Retrieves the hashcode of the object
(Overrides StructuralCrossSectionGetHashCode.)
Top
Events
  NameDescription
Public eventPropertyChanged (Inherited from StructuralAnalysisObjectBase.)
Top
Fields
  NameDescription
Public fieldStatic memberAllowedProfileLibraryIds
Defines the list of allowed ProfileLibraryId values for this type of cross section
Top
Examples
Creating an instance
/// <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)
        })
    };
}
See Also