Skip to content

BH.oM.Spatial.ShapeProfiles.IProfile

Base interface for all shape profiles.

Interface structure

Implemented interfaces and base types

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

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
Shape ShapeType - -
Edges ReadOnlyCollection<ICurve> Edge curves that matches the dimensions in the global XY-plane. -

Derived properties

The following properties are defined as extension methods in one of the BHoM_Engines

Name Type Description Quantity Engine
Area double Gets the area of an IProfile. This assumes that the outermost curve(s) are solid. Curves inside a solid region are assumed to be openings, and curves within openings are assumed to be solid, etc. Also, for TaperedProfiles, the average area is returned. Area [m²] Spatial_Engine
Bounds BoundingBox Queries the BoundingBox of a Profile. Acts on the profile edges through the Geometry_Engine. - Spatial_Engine
DescriptionOrName string Gets the name from a profile. If null or empty, a default description name is provided instead. - Structure_Engine
Geometry CompositeGeometry Queries edge curves from an IProfile. - Spatial_Engine
ICircularEquivalentDiameter double Returns the Circular Equivalent Diameter for elements that are non-circular, equivalent in length, fluid resistance and airflow. - MEP_Engine
IDescription string Generates a default description for the Profile, based on dimensions. - Structure_Engine
IsNull bool Checks if an Profile is null and outputs relevant error message. - Spatial_Engine
IThickness double Returns the thickness of a ShapeProfile. Length [m] Spatial_Engine
ITorsionalConstant double Calculates the torsional constant for the profile. Note that this is not the polar moment of inertia. TorsionConstant [m⁴] Structure_Engine
IWarpingConstant double Gets the warping constant for the profile. WarpingConstant [m⁶] Structure_Engine
VoidArea double Gets the void area enclosed by an IProfile. This assumes that the outermost curve(s) are solid. Curves inside a solid region are assumed to be openings, and curves within openings are assumed to be solid, etc. Also, for TaperedProfiles, the average void area is returned. Area [m²] Spatial_Engine

Code and Schema

C# implementation

C#
public interface IProfile : BH.oM.Base.IBHoMObject, BH.oM.Base.IObject

Assembly: Spatial_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/Spatial_oM/ShapeProfiles/IProfile.json"
}

The JSON Schema is available on github here: