BH.oM.Structure.SectionProperties.AluminiumSection¶
Aluminium section to be used on Bars. Defined by a section profile.
Class structure¶
Implemented interfaces and base types¶
The AluminiumSection is inheriting from the following base type(s) and implements the following interfaces:
- BH.oM.Base.BHoMObject
- BH.oM.Base.IBHoMObject
- BH.oM.Base.IObject
- BH.oM.Structure.SectionProperties.IGeometricalSection
- BH.oM.Structure.SectionProperties.ISectionProperty
- BH.oM.Structure.IProperty
- BH.oM.Base.IImmutable
Properties¶
Defining properties¶
The following properties are defined on the class
Name | Type | Description | Quantity |
---|---|---|---|
Name | string | A unique Name is required for some structural packages to create and identify the object. | - |
Material | IMaterialFragment | Homogeneous material used throughout the full section. | - |
SectionProfile | IProfile | Profile of the section, containing dimensions and section geometry. | - |
Area | double | Gross Area of the cross section. | Area [m²] |
Rgy | double | Radius of Gyration about the local Y-Axis. | Length [m] |
Rgz | double | Radius of Gyration about the local Z-Axis. | Length [m] |
J | double | Torsion Constant. | TorsionConstant [m⁴] |
Iy | double | Moment of Inertia about the local Y-Axis. | SecondMomentOfArea [m⁴] |
Iz | double | Moment of Inertia about the local Z-Axis. | SecondMomentOfArea [m⁴] |
Iw | double | Warping Constant. | WarpingConstant [m⁶] |
Wely | double | Elastic Modulus of the section about the local Y-Axis. | SectionModulus [m³] |
Welz | double | Elastic Modulus of the section about the local Z-Axis. | SectionModulus [m³] |
Wply | double | Plastic Modulus of the section about the local Y-Axis. | SectionModulus [m³] |
Wplz | double | Plastic Modulus of the section about the local Z-Axis. | SectionModulus [m³] |
CentreZ | double | Geometric centre of the section in the local Z direction. | Length [m] |
CentreY | double | Geometric centre of the section in the local Y direction. | Length [m] |
Vz | double | Z distance from the centroid of the section to top edge of the section. | Length [m] |
Vpz | double | Z distance from the centroid of the section to bottom edge of the section. | Length [m] |
Vy | double | Y distance from the centroid of the section to right edge of the section. | Length [m] |
Vpy | double | Y distance from the centroid of the section to Left edge of the section. | Length [m] |
Asy | double | Shear Area in the local Y direction. | Area [m²] |
Asz | double | Shear Area in the local Z direction. | Area [m²] |
Inherited properties¶
The following properties are inherited from the base class of the object
Name | Type | Description | Quantity |
---|---|---|---|
BHoM_Guid | Guid | - | - |
Fragments | FragmentSet | - | - |
Tags | HashSet<string> | - | - |
CustomData | Dictionary<string, object> | - | - |
Derived properties¶
The following properties are defined as extension methods in one of the BHoM_Engines
Name | Type | Description | Quantity | Engine |
---|---|---|---|---|
Description | string | Generates a default description for the Section as 'Aluminium ProfileDescription - MaterialName'. | - | Structure_Engine |
DescriptionOrName | string | Gets the name from a IProperty. If null or empty, a default description name is provided instead. | - | Structure_Engine |
Geometry | IGeometry | Gets the geometry of a GeometricalSection as its profile outlines the global XY plane. Method required for automatic display in UI packages. | - | Structure_Engine |
HasModifiers | bool | Checks if a SectionProperty has any modifiers by first checking if any modifiers has been assigned, and if any of them are set to a value different than 1. | - | Structure_Engine |
IDescription | string | Generates a default description for the SectionProperty, based on type, profile and material. | - | Structure_Engine |
IDescription | string | Generates a default description for the IProperty, based on its properties. | - | Structure_Engine |
IGeometry | IGeometry | Gets the geometry of a SectionProperty, generally as its profile outlines the global XY plane. Method required for automatic display in UI packages. | - | Structure_Engine |
IMassPerMetre | double | Calculates the mass per length for the section, generally as its area mulitplied by the density. General dispatch method that calls the correct method based on type. | MassPerUnitLength [kg/m] | Structure_Engine |
IMaterialComposition | MaterialComposition | Returns a SectionProperty's MaterialComposition. | - | Structure_Engine |
InvalidSectionProfile | bool | - | - | Lusas_Engine |
InvalidSectionProperty | bool | - | - | Lusas_Engine |
IsNull | bool | Checks if a SectionProperty is null and outputs relevant error message. | - | Structure_Engine |
IVolumePerLength | double | Calculates the volume per length for the section, generally as its area mulitplied by the density. General dispatch method that calls the correct method based on type. | MassPerUnitLength [kg/m] | Structure_Engine |
Modifiers | double[] | Gets any modifiers from a section as an array of doubles. The modifiers are used to scale one or more of the section constants for analysis. Constants are multiplied with the modifiers, hence a modifier value of 1 means no change. The values returned are in the following order: Area, Iy, Iz, J, Asy, Asz. Method returns null if no modifiers are found. |
- | Structure_Engine |
Code and Schema¶
C# implementation¶
C#
public class AluminiumSection : BH.oM.Base.BHoMObject,
BH.oM.Base.IBHoMObject,
BH.oM.Base.IObject,
BH.oM.Structure.SectionProperties.IGeometricalSection,
BH.oM.Structure.SectionProperties.ISectionProperty,
BH.oM.Structure.IProperty,
BH.oM.Base.IImmutable
Assembly: Structure_oM.dll
The C# class definition is available on github:
All history and changes of the class can be found by inspection the history.
JSON Schema implementation¶
The object is defined as a JSON schema. You can validate a JSON instance against this schema by reference. To do this, use the schema reference below in a validator like this one.
JSON Schema
{
"$ref" : "https://raw.githubusercontent.com/BHoM/BHoM_JSONSchema/develop/Structure_oM/SectionProperties/AluminiumSection.json"
}
The JSON Schema is available on github here: