Reinforcement Bar Bending Schedule

Description
The Bar Bending Schedule tool allows the user to create the bar bending schedule of reinforcing bars.

This command is part of the Reinforcement Workbench, an external workbench that can be installed with the Addon Manager via the  menu.



Usage
1. Select and Rebar2 objects you want to include in Bar Bending Schedule. Or select objects to include  and Rebar2 objects hosted by that into Bar Bending Schedule. If nothing is selected, then Bar Bending Schedule will be generated for all and Rebar2 objects present in the model.

2. Then select from the rebar tools.

3. A dialog box will pop-out on the screen as shown below.



4. Modify data to suit your requirements.

5. Click or  to generate Bar Bending Schedule for rebars.

6. Click to exit the dialog box.

Properties
General:
 * : Reinforcement Group By specifies how reinforcement objects should be grouped in Bar Bending Schedule i.e. "Host" or "Mark".
 * : Rebar Length Type specifies the type of rebar length used for BOM calculations i.e. "RealLength" or "LengthWithSharpEdges".
 * : A dictionary with column_data as key and tuple (column_display_header, column_sequence) as value.
 * : A dictionary with keys: "Diameter", "RebarLength", "RebarsTotalLength" and their corresponding units as value.
 * : Font Family of text in Bar Bending Schedule SVG.
 * : Font size in mm.
 * : Width of each column in Bar Bending Schedule SVG.
 * : Height of each row in Bar Bending Schedule SVG.
 * : The output file to write generated rebar shape cut list SVG.

Rebar Shape column data: The data related to the Rebar Shape column in Bar Bending Schedule
 * : The column header for the rebar shape column.
 * : The offset of extended end edges of the stirrup, so that end edges of the stirrup with a 90-degree bent angle do not overlap with stirrup edges.
 * : The stroke-width of rebars in the rebar shape column.
 * : The color style of rebars.

Rebar Shape Column Dimension Data: The data related to rebar shape dimensions in the Rebar Shape column
 * : If True, then each rebar edge dimensions and bent angle dimensions will be included in the rebar shape cut list.
 * : If it is True, then rebar edge length units will be shown in dimension label.
 * : The units to be used for rebar edge length dimensions.
 * : The number of decimals that should be shown for rebar edge length as a dimension label.
 * : The font-family of dimension text.
 * : The font-size of dimension text.
 * : The list of bent angles to not include their dimensions.
 * : The format of the helical rebar dimension label. e.g. "%L,r=%R,pitch=%P" where %L -> Length of helical rebar, %R -> Helix radius of helical rebar, %P -> Helix pitch of helical rebar.

Scripting
Arch API, Reinforcement API and FreeCAD Scripting Basics.

The Bar Bending Schedule tool can be used in macros and from the Python console by using the following function:

Create Bar Bending Schedule
Example: { "Host": ("Member", 1), "Mark": ("Mark", 2), "RebarsCount": ("No. of Rebars", 3), "Diameter": ("Diameter in mm", 4), "RebarLength": ("Length in m/piece", 5), "RebarsTotalLength": ("Total Length in m", 6), }            set column sequence number to 0 to hide column. Example: { "Diameter": "mm", "RebarLength": "m", "RebarsTotalLength": "m", }   Syntax: { 6: FreeCAD.Units.Quantity("0.222 kg/m"), 8: FreeCAD.Units.Quantity("0.395 kg/m"), 10: FreeCAD.Units.Quantity("0.617 kg/m"), 12: FreeCAD.Units.Quantity("0.888 kg/m"), ...,            }    %L -> Length of helical rebar %R -> Helix radius of helical rebar %P -> Helix pitch of helical rebar
 * Generates and returns a bar bending schedule SVG element for given.
 * is a list of  or  objects, to generate their bar bending schedule. If not provided, then all ArchRebars and rebar2.BaseRebar objects with unique Mark from ActiveDocument will be selected.
 * is a dictionary with keys: "Host", "Mark", "RebarsCount", "Diameter", "RebarLength", "RebarsTotalLength" and values are tuple of column_header and their sequence number.
 * is a dictionary with keys: "Diameter", "RebarLength", "RebarsTotalLength" and their corresponding units as value.
 * is a dictionary with diameter as key and corresponding weight as value.
 * specifies the type of rebar length used for bar bending schedule calculations; it can be "RealLength" or "LengthWithSharpEdges".
 * specifies how reinforcement objects should be grouped; it can be "Mark" or "Host".
 * specifies the font family of data text.
 * specifies the font size of the data text.
 * specifies the width of each column in the bar bending schedule SVG.
 * specifies the height of each row in the bar bending schedule SVG.
 * specifies the column header for the rebar shape column.
 * is a list of viewpoint directions for each rebar shape. It can be either of type or  OR their list. Keep it  to automatically choose view_directions.
 * specifies the offset of extended end edges of the stirrup, so that end edges of the stirrup with a 90-degree bent angle do not overlap with stirrup edges.
 * specifies the color style of rebars. It can be "shape color" or "color_name or hex_value_of_color". "shape color" means to select the color of rebar shape.
 * specifies the stroke-width of rebars in rebar shape SVG.
 * specifies if each rebar edge dimensions and bent angle dimensions are to be included in rebar shape SVG.
 * specifies the font-size of dimension text in rebar shape SVG.
 * specifies the units to be used for rebar edge length dimensions in rebar shape SVG.
 * specifies the number of decimals that should be shown for rebar length as dimension label in rebar shape SVG. Set it to None to use user preferred unit precision from FreeCAD unit preferences.
 * specifies if rebars edge length units are to be shown in dimension label in rebar shape SVG.
 * specifies the list of bent angles to not include their dimensions in rebar shape SVG.
 * specifies the format of the helical rebar dimension label in rebar shape SVG. E.g. "%L,r=%R,pitch=%P" where:
 * specifies the output file to write generated bar bending schedule SVG.