BarPlacementUtil
Implementation of the bar placement utilities
get_placement_start_from_bending_roller
get_placement_start_from_bending_roller(
shape: BendingShape,
side_number: int,
bending_roller: float,
base_line: Line2D | Line3D,
placement_diameter: float,
local_angles: RotationAngles,
) -> float
For the placement of longitudinal bars, located on one of the legs of a transverse bar (e.g. a stirrup), this function calculates the X-component between the edge of the concrete cross-section and the start point of the placement of the longitudinal bars
│ │ │ │
│ │ │ │
│ │ o o o │ <- longitudinal bars
│ ╰───────────╯ <- transverse bar (e.g. stirrup)
│ │
└─────────────────────┘ outline
<-----> calculated distance
Parameters:
-
shape
(BendingShape
) –Bending shape of the transverse bar
-
side_number
(int
) –Number of the leg, on which the longitudinal bars are located (starting from 1)
-
bending_roller
(float
) –Bending roller if the transverse bar
-
base_line
(Line2D | Line3D
) –The outline of the concrete cross section
-
placement_diameter
(float
) –Bar diameter of the longitudinal bars
-
local_angles
(RotationAngles
) –Model angles to get the local x/y coordinate system for the calculation
Returns:
-
float
–Calculated distance to the placement start
get_placement_end_from_bending_roller
get_placement_end_from_bending_roller(
shape: BendingShape,
side_number: int,
bending_roller: float,
base_line: Line2D | Line3D,
placement_diameter: float,
local_angles: RotationAngles,
) -> float
For the placement of longitudinal bars, located on one of the legs of a transverse bar (e.g. a stirrup), this function calculates the X-component between the edge of the concrete cross-section and the end point of the placement of the longitudinal bars
│ │ │ │
│ │ │ │
│ │ o o o │ <- longitudinal bars
│ ╰───────────╯ <- transverse bar (e.g. stirrup)
│ │
└─────────────────────┘ outline
<-----> calculated distance
Parameters:
-
shape
(BendingShape
) –Bending shape of the transverse bar
-
side_number
(int
) –Number of the leg, on which the longitudinal bars are located (starting from 1)
-
bending_roller
(float
) –Bending roller if the transverse bar
-
base_line
(Line2D | Line3D
) –The outline of the concrete cross section
-
placement_diameter
(float
) –Bar diameter of the longitudinal bars
-
local_angles
(RotationAngles
) –Model angles to get the local x/y coordinate system for the calculation
Returns:
-
float
–Calculated distance to the placement end
get_placement_inside_bending_roller
get_placement_inside_bending_roller(
shape: BendingShape,
corner_number: int,
bending_roller: float,
placement_diameter: float,
local_angles: RotationAngles,
global_point: bool = False,
) -> Point3D
Calculate the position of a placement inside the bending roller
│ │
│ │ X <--- calculated point
│ ╰────────
╰────────── transverse bar (e.g. stirrup)
Parameters:
-
shape
(BendingShape
) –Bending shape of the transverse bar
-
corner_number
(int
) –Number of the transverse bar's corner, in which the placement point should be calculated (starting from 1)
-
bending_roller
(float
) –Bending roller of the transverse bar
-
placement_diameter
(float
) –Bar diameter of the longitudinal bar
-
local_angles
(RotationAngles
) –Model angles to get the local x/y coordinate system for the calculation
-
global_point
(bool
, default:False
) –If set to True, the result will be a point in global coordinates. Otherwise, the point in local coordinate system will be returned.
Returns:
-
Point3D
–Local point of the longitudinal bar placement
get_placement_inside_side_intersection
get_placement_inside_side_intersection(
shape1: BendingShape,
side_number1: int,
above_side1: bool,
shape2: BendingShape,
side_number2: int,
above_side2: bool,
placement_diameter: float,
local_angles: RotationAngles,
global_point: bool = False,
) -> Point2D | Point3D
Calculate the position of a longitudinal bar placed at an intersection of two legs of transverse bars (e.g. two stirrups)
║ ┌─ calculated placement point
║ x ║ ║
╬══════╝<--first shape
║ ║
╚══════════╝<--second shape
Parameters:
-
shape1
(BendingShape
) –Shape of the first transverse rebar
-
side_number1
(int
) –Number of the leg in the first shape to consider in the calculation (starting from 1)
-
above_side1
(bool
) –When set to True, the point will be calculated above the leg of the first shape. Otherwise below.
-
shape2
(BendingShape
) –Shape of the second transverse rebar
-
side_number2
(int
) –Number of the leg in the second shape to consider in the calculation (starting from 1)
-
above_side2
(bool
) –When set to True, the point will be calculated above the leg of the second shape. Otherwise below.
-
placement_diameter
(float
) –Bar diameter of the longitudinal bar
-
local_angles
(RotationAngles
) –Model angles to get the local x/y coordinate system for the calculation
-
global_point
(bool
, default:False
) –If set to True, the result will be a 3D point in global coordinates. Otherwise, a 2D point in local coordinate system will be returned.
Returns: