BH.oM.Spatial.ShapeProfiles.BoxProfile¶
Rectangular hollow profile with constant thickness and optional corner radii.
Class structure¶
Implemented interfaces and base types¶
The BoxProfile 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.Spatial.ShapeProfiles.IProfile
- BH.oM.Base.IImmutable
Properties¶
Defining properties¶
The following properties are defined on the class
Name | Type | Description | Quantity |
---|---|---|---|
Shape | ShapeType | - | - |
Height | double | Full depth between the extreme fibres of the flanges. | Length [m] |
Width | double | Full width between the extreme fibres of the webs. | Length [m] |
Thickness | double | Thickness of both webs and flanges. | Length [m] |
OuterRadius | double | Corner radius for all four corners of the outer bounding rectangle. | Length [m] |
InnerRadius | double | Corner radius for all four corners of the inner void rectangle. | Length [m] |
Edges | ReadOnlyCollection<ICurve> | Edge curves that matches the dimensions in the global XY-plane. | - |
Inherited properties¶
The following properties are inherited from the base class of the object
Name | Type | Description | Quantity |
---|---|---|---|
BHoM_Guid | Guid | - | - |
Name | string | - | - |
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 |
---|---|---|---|---|
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 |
CircularEquivalentDiameter | double | Returns the Circular Equivalent Diameter for elements that are non-circular, equivalent in length, fluid resistance and airflow. | - | MEP_Engine |
Description | string | Generates a default description for the profile as 'Box Height x Width x Thickness'. | - | Structure_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 |
Thickness | double | Returns the thickness of a BoxProfile. | Length [m] | Spatial_Engine |
TorsionalConstant | double | Calculates the torsional constant for the profile in accordance with section A.3 from BS EN 10210-2:2019. Note that this is not the polar moment of intertia. | TorsionConstant [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 |
WarpingConstant | double | Gets the warping constant for the profile. This will always return 0 for closed sections. | WarpingConstant [m⁶] | Structure_Engine |
Code and Schema¶
C# implementation¶
C#
public class BoxProfile : BH.oM.Base.BHoMObject, BH.oM.Base.IBHoMObject, BH.oM.Base.IObject, BH.oM.Spatial.ShapeProfiles.IProfile, BH.oM.Base.IImmutable
Assembly: Spatial_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/Spatial_oM/ShapeProfiles/BoxProfile.json"
}
The JSON Schema is available on github here: