BH.oM.Structure.SectionProperties.ISectionProperty¶
Base interface for all bar section properties. Contains the material and all section constants.
Interface structure¶
Implemented interfaces and base types¶
The ISectionProperty is inheriting from the following base type(s) and implements the following interfaces:
- BH.oM.Base.IBHoMObject
- BH.oM.Base.IObject
- BH.oM.Structure.IProperty
Interfaces implementing this interface¶
The following interfaces are implementing this interface:
- BH.oM.Structure.SectionProperties.IGeometricalSection
- BH.oM.Structure.SectionProperties.ISteelSection
Classes implementing this interface¶
The following classes are implementing this interface:
- BH.oM.Structure.SectionProperties.AluminiumSection
- BH.oM.Structure.SectionProperties.CableSection
- BH.oM.Structure.SectionProperties.CellularSection
- BH.oM.Structure.SectionProperties.CompositeSection
- BH.oM.Structure.SectionProperties.ConcreteSection
- BH.oM.Structure.SectionProperties.ExplicitSection
- BH.oM.Structure.SectionProperties.GenericSection
- BH.oM.Structure.SectionProperties.SteelSection
- BH.oM.Structure.SectionProperties.TimberSection
Properties¶
Defining properties¶
The following properties are defined on the interface
Name | Type | Description | Quantity |
---|---|---|---|
Material | IMaterialFragment | Material of the section. | - |
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²] |
Derived properties¶
The following properties are defined as extension methods in one of the BHoM_Engines
Name | Type | Description | Quantity | Engine |
---|---|---|---|---|
DescriptionOrName | string | Gets the name from a IProperty. If null or empty, a default description name is provided instead. | - | 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 interface ISectionProperty : BH.oM.Base.IBHoMObject, BH.oM.Base.IObject, BH.oM.Structure.IProperty
Assembly: Structure_oM.dll
The C# interface 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/ISectionProperty.json"
}
The JSON Schema is available on github here: