BH.oM.Structure.SectionProperties.ISteelSection¶
Base interface for Steel section types.
Interface structure¶
Implemented interfaces and base types¶
The ISteelSection is inheriting from the following base type(s) and implements the following interfaces:
- BH.oM.Structure.SectionProperties.IGeometricalSection
- BH.oM.Structure.SectionProperties.ISectionProperty
- BH.oM.Base.IBHoMObject
- BH.oM.Base.IObject
- BH.oM.Structure.IProperty
Classes implementing this interface¶
The following classes are implementing this interface:
- BH.oM.Structure.SectionProperties.CellularSection
- BH.oM.Structure.SectionProperties.SteelSection
Properties¶
Defining properties¶
The following properties are defined on the interface
Name | Type | Description | Quantity |
---|---|---|---|
Fabrication | SteelFabrication | The fabrication method used for the section. | - |
PlateRestraint | SteelPlateRestraint | Defines whether any of the plates of the section have any external restraint, from for example a connecting slab. | - |
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 |
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 interface ISteelSection : BH.oM.Structure.SectionProperties.IGeometricalSection,
BH.oM.Structure.SectionProperties.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/ISteelSection.json"
}
The JSON Schema is available on github here: