Skip to content

BH.oM.Structure.SectionProperties.IGeometricalSection

Interface for sections based on Shape profiles.

Interface structure

Implemented interfaces and base types

The IGeometricalSection is inheriting from the following base type(s) and implements the following interfaces:

Interfaces implementing this interface

The following interfaces are implementing this interface:

Classes implementing this interface

The following classes are implementing this interface:

Properties

Defining properties

The following properties are defined on the interface

Name Type Description Quantity
SectionProfile IProfile Profile of the section, containing dimensions and section geometry. -

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 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/IGeometricalSection.json"
}

The JSON Schema is available on github here: