Arch Rebar BeamReinforcement

Description
The Beam Reinforcement tool allows the user to create reinforcing bars inside a Beam Arch Structure object.

This command is part of the Reinforcement Addon, that you can install with the Addon Manager via the menu.



How to use
1. Select right face of a previously created beam object along x-axis. 2. Then select  from the rebar tools. 3. A dialog box will pop-out on screen as shown below.

4. Select the desired type of beam reinforcement. 5. Give inputs for data related to stirrups. 6. Click next and dialog box will be updated as shown below.

7. Set data for top rebars. - To edit Number#Diameter@Offset value, click on edit button next to Number#Diameter@Offset label. A dialog box will pop-out as shown below. - To edit Rebar Type value, click on edit button next to Rebar Type label. A dialog box will pop-out as shown below. - To edit Hook Orientation value, click on edit button next to Hook Orientation label. A dialog box will pop-out as shown below. - To edit Hook Extension value, click on edit button next to Hook Extension label. A dialog box will pop-out as shown below. - To edit LRebar Rounding value, click on edit button next to Rounding label. A dialog box will pop-out as shown below. - To edit Layer Spacing value, click on edit button next to Layer Spacing label. A dialog box will pop-out as shown below. 8. Click next and dialog box will be updated as shown below.

9. Set data for bottom rebars similar to top rebars data. 10. Click next and dialog box will be updated as shown below.

11. Set data for left shear rebars. - To edit Number#Diameter@Offset value, click on edit button next to Number#Diameter@Offset label. A dialog box will pop-out as shown below. - To edit Rebar Type value, click on edit button next to Rebar Type label. A dialog box will pop-out as shown below. - To edit Hook Orientation value, click on edit button next to Hook Orientation label. A dialog box will pop-out as shown below. - To edit Hook Extension value, click on edit button next to Hook Extension label. A dialog box will pop-out as shown below. - To edit LRebar Rounding value, click on edit button next to Rounding label. A dialog box will pop-out as shown below. 12. Click next and dialog box will be updated as shown below.

13. Set data for right shear rebars similar to left shear rebars data. 14. Click or  to generate beam reinforcement. 15. Click to exit the dialog box.

Properties
Stirrups:
 * : The distance between the left end of the stirrup to the left face of the structure.
 * : The distance between the right end of the stirrup to right face of the structure.
 * : The distance between stirrup from the top face of the structure.
 * : The distance between stirrup from the bottom face of the structure.
 * : The distance between stirrup from the top/bottom face of the structure.
 * : Diameter of the stirrup.
 * : Bent angle defines the angle at the ends of a stirrup.
 * : Extension Factor defines length of end of stirrup, expressed in times the diameter.
 * : The number of stirrup.
 * : The distance between the axes of each stirrup.

Top/Bottom Reinforcement Rebars: Rebars present at top/bottom side of beam
 * : A tuple of Number#Diameter@Offset string. Each element of tuple represents reinforcement for each new layer.
 * : List of tuple of type of reinforcement bars.
 * : List of tuple of orientation of LShaped hooks.
 * : List of tuple of length of hook of LShaped rebars.
 * : List of tuple of a rounding value to be applied to the corners of the LShape rebars, expressed in times the diameter.
 * : List of spacing between two consecutive reinforcement layers.

Left/Right Reinforcement Rebars: Rebars present at left/right side of beam
 * : String of Number#Diameter@Offset set for reinforcement bars.
 * : List of type of reinforcement bars.
 * : List of orientation of LShaped hooks.
 * : List of length of hook of LShaped rebars.
 * : List of a rounding value to be applied to the corners of the LShape rebars, expressed in times the diameter.
 * : Clear spacing between consecutive reinforcement bars.

Scripting
Arch API, Reinforcement API and FreeCAD Scripting Basics.

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

Create Two Legged Stirrups
Syntax: (               "number1#diameter1@offset1+number2#diameter2@offset2+...",                "number3#diameter3@offset3+number4#diameter4@offset4+...",                ...,            ) Possible values: 1. 'StraightRebar' or 'LShapeRebar' 2. ('', '', ...) and number of elements of tuple must be equal to number of reinforcement layers. 3. [          ('', '', ...), ('', '', ...), ...,      ]       each element of list is a tuple, which specifies rebar type of each reinforcement layer. And each element of      tuple represents rabar_type for each set of rebars. 4. [          , ('', '', ...), ...,      ]    Possible values: 1.  2. (, , ...) and number of elements of tuple must be      equal to one less than number of layers. Syntax: "number1#diameter1@offset1+number2#diameter2@offset2+..." Possible values: 1. 'StraightRebar' or 'LShapeRebar' 2. ('', '', ...) and each element of tuple represents rabar_type for each set of rebars.
 * Creates a object from the given, which is an Arch Structure, and , which is a face of that structure.
 * If no nor  are given, it will take the user selected face as input.
 * ,, , and  are inner offset distances for the stirrup elements with respect to the faces of the structure. They are respectively the left, right, top, bottom and front/rear offsets.
 * define the angle of the tip of the reinforcement loop of stirrup.
 * define the length of the tip of the reinforcement loop of stirrup, expressed in times the diameter.
 * is the diameter of the stirrup.
 * if it is it will create as many stirrup as given by ; if it is  it will create stirrup separated by the numerical value of.
 * specifies the number of stirrups, or the value of the separation between them, depending on.
 * and are tuple of number_diameter_offset string. Each element of tuple represents reinforcement for each new layer.
 * and specifies type of top/bottom reinforcement bars.
 * and is the spacing between two consecutive reinforcement layers.
 * and are string of number_diameter_offset.
 * and specifies type of left/right reinforcement bars.
 * and is clear spacing between consecutive reinforcement bars.
 * and is the parameter that determines the bending radius of the LShaped top/bottom rebars, expressed as times the diameter. Possible syntax are similar to as discussed above for  /.
 * and is the length of hook of LShaped rebars. Possible syntax are similar to as discussed above for  /.
 * and specifies the orientation of LShaped hook; it can be, ,  or . Possible syntax are similar to as discussed above for  /.
 * and is the parameter that determines the bending radius of the LShaped left/right rebars, expressed as times the diameter. Possible syntax are similar to as discussed above for  /.
 * and is the length of hook of LShaped rebars. Possible syntax are similar to as discussed above for  /.
 * and specifies the orientation of LShaped hook; it can be, ,  or . Possible syntax are similar to as discussed above for  /.

Create Single Tie Multiple Rebars

 * Creates a object from the given, which is an Arch Structure, and , which is a face of that structure.
 * If no nor  are given, it will take the user selected face as input.
 * ,, , and  are inner offset distances for the tie elements with respect to the faces of the structure. They are respectively the left, right, top, bottom and front/rear offsets.
 * define the angle of the tip of the reinforcement loop.
 * define the length of the tip of the reinforcement loop, expressed in times the diameter.
 * is the diameter of the ties.
 * if it is it will create as many ties as given by ; if it is  it will create ties separated by the numerical value of.
 * specifies the number of ties, or the value of the separation between them, depending on.
 * is the diameter of the main rebars.
 * and are inner offset distances for the main rebars with respect to the top and bottom faces of the structure, respectively.
 * is the type of the main rebars; it can be or.
 * specifies the orientation of main LShaped hook; it can be:, , , , , , or.
 * specifies direction for main hook extension; it can be or.
 * is the parameter that determines the bending radius of the LShaped main rebars, expressed as times the diameter.
 * is the length of hook of main LShaped rebars.
 * and are tuples (xdir_rebars_t_offset, ydir_rebars_t_offset) and (xdir_rebars_b_offset, ydir_rebars_b_offset) respectively, that defines inner offset distances for the secondary x-direction and y-direction rebars with respect to the top and bottom faces of the structure, respectively.
 * is a tuple (xdir_rebars_number_diameter, ydir_rebars_number_diameter) that defines number#diameter set of the secondary x-direction and y-direction rebars, respectively.
 * is a tuple (xdir_rebars_type, ydir_rebars_type) that defines the type of secondary x-direction and y-direction rebars ,respectively; it can have or  as rebar type.
 * is a tuple (xdir_hook_orientation, ydir_hook_orientation) that defines the orientation of secondary x-direction and y-direction LShaped hook; it can have, , , , , , or  as hook_orientation.
 * is a tuple (l_xdir_rebar_rounding, l_ydir_rebar_rounding) that determines the bending radius of the LShaped secondary x-direction and y-direction LShaped rebars, expressed as times the diameter of x-direction and y-direction LShaped rebars, respectively.
 * is a tuple (xdir_hook_extension, ydir_hook_extension) that defines the length of hook of secondary x-direction and y-direction LShaped rebars.

Edition of Single Tie Four Rebars
You can change the properties of the ties and rebars with the following function


 * is a previously created group object.
 * The other parameters are the same as required by the function.
 * and may be omitted so that the rebar stays in the original structure.

Edition of Single Tie Multiple Rebars
You can change the properties of the ties and rebars with the following function


 * is a previously created group object.
 * The other parameters are the same as required by the function.
 * and may be omitted so that the reinforcement stays in the original structure.