BH.oM.Physical.Reinforcement.BS8666.ShapeCode31¶
A reinforcement bar with shape code 31 to BS 8666:2020 in the XY Plane with the free end of the A segment starting at the Origin aligned with the X axis, the C parameter aligned with the X axis and the B/D parameters aligned with the Y axis.
Class structure¶
Implemented interfaces and base types¶
The ShapeCode31 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.Physical.Reinforcement.IShapeCode
- BH.oM.Base.IImmutable
Properties¶
Defining properties¶
The following properties are defined on the class
Name | Type | Description | Quantity |
---|---|---|---|
A | double | - | Length [m] |
B | double | - | Length [m] |
C | double | - | Length [m] |
D | double | - | Length [m] |
Diameter | double | The diameter of the reinforcement bar. | Length [m] |
BendRadius | double | Bend radius used for any discontinuities in the CentreCurve. | Length [m] |
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 |
---|---|---|---|---|
GeneralEndProjection | double | Gets the minimum end projection for general bends (bobs) or links where the bend is greater than or equal to 150 degrees.This is based on the diameter of the reinforcement bar and the standard is determined from the ShapeCode namespace. | Length [m] | Physical_Engine |
HookDiameter | double | Gets the hook diameter based on the diameter of the reinforcement bar, the shape code and the bend radius. | Length [m] | Physical_Engine |
ICentreline | ICurve | Computes the centreline for a Reinforcement using the standard as determined by the ShapeCode namespace. The curve will be in the XY Plane - refer to the ShapeCode description for specifics on the orientation. | - | Physical_Engine |
IIsCompliant | bool | Verifies the dimensions to the standard as determined by the ShapeCode namespace. | - | Physical_Engine |
IsNull | bool | Checks if a ShapeCode is null and outputs relevant error message. | - | Physical_Engine |
LinksEndProjection | double | Gets the minimum end projection for links where the bend is less than 150 degrees.This is based on the diameter of the reinforcement bar and the standard is determined from the ShapeCode namespace. | Length [m] | Physical_Engine |
MaximumRadius | double | Gets the maximum radius based on the diameter of the reinforcement bar. The standard is determined from the namespace of the ShapeCode. | Length [m] | Physical_Engine |
ReinforcementStandard | string | Gets the standard for reinforcement (e.g. BS 8666) based on the namespace of the ShapeCode. | - | Physical_Engine |
SchedulingRadius | double | Gets the minimum scheduling radius based on the diameter of the reinforcement bar. The standard is determined from the namespace of the ShapeCode. | Length [m] | Physical_Engine |
Code and Schema¶
C# implementation¶
public class ShapeCode31 : BH.oM.Base.BHoMObject,
BH.oM.Base.IBHoMObject,
BH.oM.Base.IObject,
BH.oM.Physical.Reinforcement.IShapeCode,
BH.oM.Base.IImmutable
Assembly: Physical_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.
{
"$ref" : "https://raw.githubusercontent.com/BHoM/BHoM_JSONSchema/develop/Physical_oM/Reinforcement/BS8666/ShapeCode31.json"
}
The JSON Schema is available on github here: