Skip to content

BH.oM.Spatial.ShapeProfiles.TubeProfile

Circular hollow profile.

Class structure

Implemented interfaces and base types

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

Properties

Defining properties

The following properties are defined on the class

Name Type Description Quantity
Shape ShapeType - -
Diameter double Outer diameter. Length [m]
Thickness double - 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
Description string Generates a default description for the profile as 'Tube Diameter 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 TubeProfile. Length [m] Spatial_Engine
TorsionalConstant double Calculates the torsional constant for the profile. Note that this is not the polar moment of inertia. 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 TubeProfile : 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/TubeProfile.json"
}

The JSON Schema is available on github here: