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 Workbench, an external workbench that can be installed with the Addon Manager via the  menu.



Usage
1. Select right face of a previously created beam object having length along x-axis. Or select front face of a previously created beam object having length along y-axis.

2. Then select  from the rebar tools.

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


 * [[Image:BeamReinforcementDialog_Stirrups.png|700px]]

4. Select the desired type of beam reinforcement.

5. Give inputs for data related to stirrups.

6. Click and the dialog box will be updated as shown below.


 * [[Image:BeamReinforcementDialog_TopRebars.png|700px]]

7. Set data for top rebars.

8. Click and the dialog box will be updated as shown below.


 * [[Image:BeamReinforcementDialog_BottomRebars.png|700px]]

9. Set data for bottom rebars similar to top rebars data.

10. Click and the dialog box will be updated as shown below.


 * [[Image:BeamReinforcementDialog_LeftRebars.png|700px]]

11. Set data for left shear rebars.

12. Click and the dialog box will be updated as shown below.


 * [[Image:BeamReinforcementDialog_RightRebars.png|700px]]

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  /.