Reinforcement BeamRebars: Difference between revisions

From FreeCAD Documentation
No edit summary
No edit summary
 
(56 intermediate revisions by 6 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
<translate>
<translate>

<!--T:1-->
<!--T:1-->
{{Docnav
{{docnav|[[Arch_Rebar_ColumnReinforcement_TwoTiesSixRebars|ColumnReinforcement TwoTiesSixRebars]]|[[Arch_Rebar|Rebar]]|[[Arch_Module|Arch]]|IconL=Arch_Rebar_Helical.png|IconC=Workbench_Arch.svg|IconR=Arch_Rebar_ColumnReinforcement.svg}}
|[[Reinforcement_ColumnRebars|ColumnRebars]]
|[[Reinforcement_SlabRebars|SlabRebars]]
|[[Reinforcement_Workbench|Reinforcement]]
|IconL=Reinforcement_ColumnRebars.svg
|IconR=Reinforcement_SlabRebars.svg
|IconC=Reinforcement_Workbench.svg
}}


<!--T:37-->
<!--T:37-->
{{GuiCommand
{{GuiCommand
|Name=Reinforcement BeamRebars
|Name=Arch Rebar ColumnReinforcement
|MenuLocation=Arch → Rebar tools
|MenuLocation=Arch → Rebar tools → Beam Reinforcement<br>3D/BIM → Reinforcement tools → Beam Reinforcement
|Workbenches=[[Arch Workbench|Arch]], [[BIM Workbench|BIM]]
|Workbenches=[[Reinforcement_Workbench|Reinforcement]], [[Arch_Workbench|Arch]], [[BIM_Workbench|BIM]]
|SeeAlso=[[Arch_Rebar_ColumnReinforcement_TwoTiesSixRebars|ColumnReinforcement TwoTiesSixRebars]], [[Arch Rebar]]
|Version=0.19
|Version=0.19
|SeeAlso=
}}
}}


==Description== <!--T:2-->
==Description== <!--T:2-->


<!--T:38-->
The [[Arch Rebar BeamReinforcement|Beam Reinforcement]] tool allows the user to create reinforcing bars inside a Beam [[Arch Structure]] object.
The [[Reinforcement_BeamRebars|Reinforcement BeamRebars]] tool allows the user to create reinforcing bars inside a Beam [[Arch_Structure|Arch Structure]] object.


<!--T:22-->
<!--T:22-->
This command is part of the [[Reinforcement Addon]], that you can install with the [[Addon Manager]] via the menu {{MenuCommand|Tools → Addon manager → Reinforcement}}.
This tool is part of the [[Reinforcement_Workbench|Reinforcement Workbench]], an [[External_workbenches|external workbench]] that can be installed with the [[Image:Std_AddonMgr.svg|24px]] [[Std_AddonMgr|Addon Manager]].


</translate>
</translate>
Line 24: Line 33:
<translate>
<translate>
<!--T:3-->
<!--T:3-->
{{Caption|Beam Reinforcement inside a Beam [[Arch Structure]]}}
{{Caption|Beam Reinforcement inside a Beam [[Arch Structure|Arch Structure]]}}


==How to use== <!--T:4-->
==Usage== <!--T:4-->


<!--T:5-->
<!--T:5-->
1. Select right face of a previously created beam {{Button|[[Image:Arch_Structure.svg|16px]] [[Arch Structure]]}} object along x-axis. <br>
1. Select right face of a previously created beam {{Button|[[Image:Arch_Structure.svg|16px]] [[Arch Structure|Arch Structure]]}} object having length along x-axis. Or select front face of a previously created beam {{Button|[[Image:Arch_Structure.svg|16px]] [[Arch Structure|Arch Structure]]}} object having length along y-axis.
2. Then select {{Button|[[Image:Arch_Rebar_ColumnReinforcement.svg|16px]] [[Arch Rebar BeamReinforcement|Beam Reinforcement]]}} from the rebar tools. <br>
3. A dialog box will pop-out on screen as shown below. <br>
[[Image:BeamReinforcementDialog_Stirrups.png|700px]]
{{Caption|Dialog Box for the Arch Rebar BeamReinforcement tool}}
4. Select the desired type of beam reinforcement. <br>
5. Give inputs for data related to stirrups. <br>
6. Click next and dialog box will be updated as shown below. <br>
[[Image:BeamReinforcementDialog_TopRebars.png|700px]]
{{Caption|Dialog Box for Top Rebars data}}
7. Select desired rebar type and fill data for top rebars. <br>
8. Click next and dialog box will be updated as shown below. <br>
[[Image:BeamReinforcementDialog_BottomRebars.png|700px]]
{{Caption|Dialog Box for Bottom Rebars data}}
9. Select desired rebar type and fill data for bottom rebars. <br>
10. Click next and dialog box will be updated as shown below. <br>
[[Image:BeamReinforcementDialog_LeftRebars.png|700px]]
{{Caption|Dialog Box for Left Shear Rebars data}}
11. Select desired rebar type and fill data for left shear rebars. <br>
12. Click next and dialog box will be updated as shown below. <br>
[[Image:BeamReinforcementDialog_RightRebars.png|700px]]
{{Caption|Dialog Box for Left Shear Rebars data}}
13. Select desired rebar type and fill data for right shear rebars. <br>
14. Click {{Button|OK}} or {{Button|Apply}} to generate beam reinforcement. <br>
15. Click {{Button|Cancel}} to exit the dialog box. <br>


<!--T:65-->
2. Then select {{Button|[[Image:Reinforcement_BeamRebars.svg|16px]] [[Reinforcement_BeamRebars|Beam Reinforcement]]}} from the rebar tools.


==Properties== <!--T:6-->
<!--T:66-->
3. A dialog box will pop-out on screen as shown below.


</translate>
<!--T:7-->
: [[Image:BeamReinforcementDialog_Stirrups.png|700px]]
'''Ties:'''
<translate>
* {{PropertyData|Left Cover}}: The distance between the left end of the tie to the left face of the structure.
<!--T:39-->
* {{PropertyData|Right Cover}}: The distance between the right end of the tie to right face of the structure.
: {{Caption|Dialog Box for the Reinforcement BeamRebars tool}}
* {{PropertyData|Top Cover}}: The distance between tie from the top face of the structure.
* {{PropertyData|Bottom Cover}}: The distance between tie from the bottom face of the structure.
* {{PropertyData|Offset}}: The distance between tie from the top/bottom face of the structure.
* {{PropertyData|Diameter}}: Diameter of the tie.
* {{PropertyData|Bent Angle}}: Bent angle defines the angle at the ends of a tie.
* {{PropertyData|Extension Factor}}: Extension Factor defines length of end of tie, expressed in times the diameter.
* {{PropertyData|Number}}: The number of ties.
* {{PropertyData|Spacing}}: The distance between the axes of each tie.


<!--T:40-->
'''Main Rebars:''' Rebars present at corners of tie
4. Select the desired type of beam reinforcement.
* {{PropertyData|Rebar Type}}: Type of main rebars.
* {{PropertyData|Hook Orientation}}: Orientation of LShaped hooks.
* {{PropertyData|Hook Extend Along}}: Direction for hook extension.
* {{PropertyData|Hook Extension}}: Length of hook of LShape rebars.
* {{PropertyData|Rounding}}: A rounding value to be applied to the corners of the LShape rebars, expressed in times the diameter.
* {{PropertyData|Top Offset}}: The distance between rebar from the top face of the structure.
* {{PropertyData|Bottom Offset}}: The distance between rebar from the bottom face of the structure.
* {{PropertyData|Diameter}}: Diameter of the main rebars.


<!--T:67-->
'''XDir Secondary Rebars:''' Rebars along x-direction except main rebars
5. Give inputs for data related to stirrups.
* {{PropertyData|Rebar Type}}: Type of x-direction rebars.
* {{PropertyData|Hook Orientation}}: Orientation of LShaped hooks.
* {{PropertyData|Hook Extension}}: Length of hook of LShape rebars.
* {{PropertyData|Rounding}}: A rounding value to be applied to the corners of the LShape rebars, expressed in times the diameter.
* {{PropertyData|Top Offset}}: The distance between rebar from the top face of the structure.
* {{PropertyData|Bottom Offset}}: The distance between rebar from the bottom face of the structure.
* {{PropertyData|Number#Diameter}}: Number#Diameter set of the x-direction rebars.


<!--T:68-->
'''YDir Secondary Rebars:''' Rebars along y-direction except main rebars
6. Click {{Button|Next}} and the dialog box will be updated as shown below.
* {{PropertyData|Rebar Type}}: Type of y-direction rebars.
* {{PropertyData|Hook Orientation}}: Orientation of LShaped hooks.
* {{PropertyData|Hook Extension}}: Length of hook of LShape rebars.
* {{PropertyData|Rounding}}: A rounding value to be applied to the corners of the LShape rebars, expressed in times the diameter.
* {{PropertyData|Top Offset}}: The distance between rebar from the top face of the structure.
* {{PropertyData|Bottom Offset}}: The distance between rebar from the bottom face of the structure.
* {{PropertyData|Number#Diameter}}: Number#Diameter set of the y-direction rebars.


</translate>
: [[Image:BeamReinforcementDialog_TopRebars.png|700px]]
<translate>
<!--T:41-->
: {{Caption|Dialog Box for Top Rebars data}}


==Scripting== <!--T:8-->
<!--T:42-->
7. Set data for top rebars.


</translate>
{{Emphasis|See also:}} [[Arch API]], [[Reinforcement API]] and [[FreeCAD Scripting Basics]].
<!-- HERE YOUR COLOR EXAMPLE {{ColoredParagraph|Background|ColorText|text}} -->
{{ColoredParagraph|#f8f9fa|
<translate>


<!--T:9-->
<!--T:69-->
: To edit Number#Diameter@Offset value, click on the {{Button|Edit}} button next to Number#Diameter@Offset label. A dialog box will pop-out as shown below.
The BeamReinforcement tool can be used in [[macros]] and from the [[Python]] console by using the following function:


=== Create Single Tie Four Rebars ===
</translate>
</translate>
: [[Image:Beam_TopReinforcement_NumberDiameterOffset.png|500px]]
{{Code|code=
<translate>
RebarGroup = makeSingleTieFourRebars(

l_cover_of_tie,
<!--T:43-->
r_cover_of_tie,
: To edit Rebar Type value, click on the {{Button|Edit}} button next to Rebar Type label. A dialog box will pop-out as shown below.
t_cover_of_tie,
b_cover_of_tie,
offset_of_tie,
bent_angle,
extension_factor,
dia_of_tie,
number_spacing_check,
number_spacing_value,
dia_of_rebars,
t_offset_of_rebars,
b_offset_of_rebars,
rebar_type="StraightRebar",
hook_orientation="Top Inside",
hook_extend_along="x-axis",
l_rebar_rounding=None,
hook_extension=None,
structure=None,
facename=None,
).rebar_group


</translate>
}}
: [[Image:Beam_TopReinforcement_RebarType.png|300px]]
<translate>
<translate>


<!--T:24-->
<!--T:44-->
: To edit Hook Orientation value, click on the {{Button|Edit}} button next to Hook Orientation label. A dialog box will pop-out as shown below.
* Creates a {{incode|RebarGroup}} object from the given {{incode|structure}}, which is an [[Arch Structure]], and {{incode|facename}}, which is a face of that structure.
** If no {{incode|structure}} nor {{incode|facename}} are given, it will take the user selected face as input.
* {{incode|l_cover_of_tie}}, {{incode|r_cover_of_tie}}, {{incode|t_cover_of_tie}}, {{incode|b_cover_of_tie}} and {{incode|offset_of_tie}} 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.
* {{incode|bent_angle}} define the angle of the tip of the reinforcement loop.
* {{incode|extension_factor}} define the length of the tip of the reinforcement loop, expressed in times the diameter.
* {{incode|dia_of_tie}} is the diameter of the ties.
* {{incode|number_spacing_check}} if it is {{incode|True}} it will create as many ties as given by {{incode|number_spacing_value}}; if it is {{incode|False}} it will create ties separated by the numerical value of {{incode|number_spacing_value}}.
* {{incode|number_spacing_value}} specifies the number of ties, or the value of the separation between them, depending on {{incode|number_spacing_check}}.
* {{incode|dia_of_rebars}} is the diameter of the main rebars.
* {{incode|t_offset_of_rebars}} and {{incode|b_offset_of_rebars}} are inner offset distances for the main rebars with respect to the top and bottom faces of the structure, respectively.
* {{incode|rebar_type}} is the type of the main rebars; it can be {{incode|"StraightRebar"}} or {{incode|"LShapeRebar"}}.
* {{incode|hook_orientation}} specifies the orientation of LShaped hook; it can be: {{incode|"Top Inside"}}, {{incode|"Top Outside"}}, {{incode|"Bottom Inside"}}, {{incode|"Bottom Outside"}}, {{incode|"Top Right"}}, {{incode|"Top Left"}}, {{incode|"Bottom Right"}} or {{incode|"Bottom Left"}}.
* {{incode|hook_extend_along}} specifies direction for hook extension; it can be {{incode|"x-axis"}} or {{incode|"y-axis"}}.
* {{incode|l_rebar_rounding}} is the parameter that determines the bending radius of the LShaped main rebars, expressed as times the diameter.
* {{incode|hook_extension}} is the length of hook of LShaped rebars.


==== Example ====
</translate>
</translate>
: [[Image:Beam_TopReinforcement_HookOrientation.png|300px]]
{{Code|code=
<translate>
import FreeCAD, Draft, Arch

from BeamReinforcement import SingleTie
<!--T:45-->
: To edit Hook Extension value, click on the {{Button|Edit}} button next to Hook Extension label. A dialog box will pop-out as shown below.


</translate>
: [[Image:Beam_TopReinforcement_HookExtension.png|300px]]
<translate>
<translate>

# It doesn't work if the structure is not based on a face
<!--T:46-->
: To edit LRebar Rounding value, click on the {{Button|Edit}} button next to Rounding label. A dialog box will pop-out as shown below.

</translate>
</translate>
: [[Image:Beam_TopReinforcement_LRebarRounding.png|300px]]
# Structure = Arch.makeStructure(length=1000, width=400, height=400)
<translate>


<!--T:47-->
Rect = Draft.makeRectangle(400, 400)
: To edit Layer Spacing value, click on the {{Button|Edit}} button next to Layer Spacing label. A dialog box will pop-out as shown below.
Structure = Arch.makeStructure(Rect, height=1600)
Structure.ViewObject.Transparency = 80
FreeCAD.ActiveDocument.recompute()


</translate>
: [[Image:Beam_TopReinforcement_LayerSpacing.png|300px]]
}}
<translate>
<translate>

# For Straight Rebars
<!--T:48-->
8. Click {{Button|Next}} and the dialog box will be updated as shown below.

</translate>
</translate>
: [[Image:BeamReinforcementDialog_BottomRebars.png|700px]]
RebarGroup = SingleTie.makeSingleTieFourRebars(
<translate>
l_cover_of_tie=40,
<!--T:49-->
r_cover_of_tie=40,
: {{Caption|Dialog Box for Bottom Rebars data}}
t_cover_of_tie=40,
b_cover_of_tie=40,
offset_of_tie=100,
bent_angle=135,
extension_factor=2,
dia_of_tie=8,
number_spacing_check=True,
number_spacing_value=10,
dia_of_rebars=16,
t_offset_of_rebars=40,
b_offset_of_rebars=40,
rebar_type="StraightRebar",
hook_orientation="Top Inside",
hook_extend_along="x-axis",
l_rebar_rounding=None,
hook_extension=None,
structure=Structure,
facename="Face6",
).rebar_group


<!--T:50-->
9. Set data for bottom rebars similar to top rebars data.

<!--T:70-->
10. Click {{Button|Next}} and the dialog box will be updated as shown below.

</translate>
: [[Image:BeamReinforcementDialog_LeftRebars.png|700px]]
<translate>
<translate>
<!--T:51-->
# For LShaped Rebars with hook along x-axis
: {{Caption|Dialog Box for Left Shear Rebars data}}

<!--T:52-->
11. Set data for left shear rebars.

</translate>
</translate>
<!-- HERE YOUR COLOR EXAMPLE {{ColoredParagraph|Background|ColorText|text}} -->
RebarGroup = SingleTie.makeSingleTieFourRebars(
{{ColoredParagraph|#f8f9fa|
l_cover_of_tie=40,
<translate>
r_cover_of_tie=40,
t_cover_of_tie=40,
b_cover_of_tie=40,
offset_of_tie=100,
bent_angle=135,
extension_factor=2,
dia_of_tie=8,
number_spacing_check=True,
number_spacing_value=10,
dia_of_rebars=16,
t_offset_of_rebars=-40,
b_offset_of_rebars=-40,
rebar_type="LShapeRebar",
hook_orientation="Top Outside",
hook_extend_along="x-axis",
l_rebar_rounding=2,
hook_extension=40,
structure=Structure,
facename="Face6",
).rebar_group


<!--T:71-->
: To edit Number#Diameter@Offset value, click on the {{Button|Edit}} button next to Number#Diameter@Offset label. A dialog box will pop-out as shown below.

</translate>
: [[Image:Beam_ShearReinforcement_NumberDiameterOffset.png|500px]]
<translate>
<translate>

# For LShaped Rebars with hook along y-axis
<!--T:53-->
: To edit Rebar Type value, click on the {{Button|Edit}} button next to Rebar Type label. A dialog box will pop-out as shown below.

</translate>
</translate>
: [[Image:Beam_ShearReinforcement_RebarType.png|300px]]
RebarGroup = SingleTie.makeSingleTieFourRebars(
<translate>
l_cover_of_tie=40,
r_cover_of_tie=40,
t_cover_of_tie=40,
b_cover_of_tie=40,
offset_of_tie=100,
bent_angle=135,
extension_factor=2,
dia_of_tie=8,
number_spacing_check=True,
number_spacing_value=10,
dia_of_rebars=16,
t_offset_of_rebars=-40,
b_offset_of_rebars=-40,
rebar_type="LShapeRebar",
hook_orientation="Top Outside",
hook_extend_along="y-axis",
l_rebar_rounding=2,
hook_extension=40,
structure=Structure,
facename="Face6",
).rebar_group


<!--T:54-->
}}
: To edit Hook Orientation value, click on the {{Button|Edit}} button next to Hook Orientation label. A dialog box will pop-out as shown below.


</translate>
: [[Image:Beam_ShearReinforcement_HookOrientation.png|300px]]
<translate>


<!--T:55-->
: To edit Hook Extension value, click on the {{Button|Edit}} button next to Hook Extension label. A dialog box will pop-out as shown below.

</translate>
: [[Image:Beam_ShearReinforcement_HookExtension.png|300px]]
<translate>
<translate>

=== Create Single Tie Multiple Rebars ===
<!--T:56-->
: To edit LRebar Rounding value, click on the {{Button|Edit}} button next to Rounding label. A dialog box will pop-out as shown below.

</translate>
</translate>
: [[Image:Beam_ShearReinforcement_LRebarRounding.png|300px]]
{{Code|code=
RebarGroup = makeSingleTieMultipleRebars(
l_cover_of_tie,
r_cover_of_tie,
t_cover_of_tie,
b_cover_of_tie,
offset_of_tie,
bent_angle,
extension_factor,
dia_of_tie,
number_spacing_check,
number_spacing_value,
dia_of_main_rebars,
main_rebars_t_offset,
main_rebars_b_offset,
main_rebars_type="StraightRebar",
main_hook_orientation="Top Inside",
main_hook_extend_along="x-axis",
l_main_rebar_rounding=None,
main_hook_extension=None,
sec_rebars_t_offset=None,
sec_rebars_b_offset=None,
sec_rebars_number_diameter=None,
sec_rebars_type=("StraightRebar", "StraightRebar"),
sec_hook_orientation=("Top Inside", "Top Inside"),
l_sec_rebar_rounding=None,
sec_hook_extension=None,
structure=None,
facename=None,
)

}}
}}
<translate>
<translate>


<!--T:57-->
* Creates a {{incode|RebarGroup}} object from the given {{incode|structure}}, which is an [[Arch Structure]], and {{incode|facename}}, which is a face of that structure.
12. Click {{Button|Next}} and the dialog box will be updated as shown below.
** If no {{incode|structure}} nor {{incode|facename}} are given, it will take the user selected face as input.
* {{incode|l_cover_of_tie}}, {{incode|r_cover_of_tie}}, {{incode|t_cover_of_tie}}, {{incode|b_cover_of_tie}} and {{incode|offset_of_tie}} 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.
* {{incode|bent_angle}} define the angle of the tip of the reinforcement loop.
* {{incode|extension_factor}} define the length of the tip of the reinforcement loop, expressed in times the diameter.
* {{incode|dia_of_tie}} is the diameter of the ties.
* {{incode|number_spacing_check}} if it is {{incode|True}} it will create as many ties as given by {{incode|number_spacing_value}}; if it is {{incode|False}} it will create ties separated by the numerical value of {{incode|number_spacing_value}}.
* {{incode|number_spacing_value}} specifies the number of ties, or the value of the separation between them, depending on {{incode|number_spacing_check}}.
* {{incode|dia_of_main_rebars}} is the diameter of the main rebars.
* {{incode|main_rebars_t_offset}} and {{incode|main_rebars_b_offset}} are inner offset distances for the main rebars with respect to the top and bottom faces of the structure, respectively.
* {{incode|main_rebars_type}} is the type of the main rebars; it can be {{incode|"StraightRebar"}} or {{incode|"LShapeRebar"}}.
* {{incode|main_hook_orientation}} specifies the orientation of main LShaped hook; it can be: {{incode|"Top Inside"}}, {{incode|"Top Outside"}}, {{incode|"Bottom Inside"}}, {{incode|"Bottom Outside"}}, {{incode|"Top Right"}}, {{incode|"Top Left"}}, {{incode|"Bottom Right"}} or {{incode|"Bottom Left"}}.
* {{incode|main_hook_extend_along}} specifies direction for main hook extension; it can be {{incode|"x-axis"}} or {{incode|"y-axis"}}.
* {{incode|l_main_rebar_rounding}} is the parameter that determines the bending radius of the LShaped main rebars, expressed as times the diameter.
* {{incode|main_hook_extension}} is the length of hook of main LShaped rebars.
* {{incode|sec_rebars_t_offset}} and {{incode|sec_rebars_b_offset}} 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.
* {{incode|sec_rebars_number_diameter}} 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.
* {{incode|sec_rebars_type}} 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 {{incode|"StraightRebar"}} or {{incode|"LShapeRebar"}} as rebar type.
* {{incode|sec_hook_orientation}} 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 {{incode|"Top Inside"}}, {{incode|"Top Outside"}}, {{incode|"Bottom Inside"}}, {{incode|"Bottom Outside"}}, {{incode|"Top Right"}}, {{incode|"Top Left"}}, {{incode|"Bottom Right"}} or {{incode|"Bottom Left"}} as hook_orientation.
* {{incode|l_sec_rebar_rounding}} 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.
* {{incode|sec_hook_extension}} is a tuple (xdir_hook_extension, ydir_hook_extension) that defines the length of hook of secondary x-direction and y-direction LShaped rebars.


==== Example ====
</translate>
</translate>
: [[Image:BeamReinforcementDialog_RightRebars.png|700px]]
{{Code|code=
import FreeCAD, Draft, Arch
from BeamReinforcement import SingleTieMultipleRebars

<translate>
<translate>
<!--T:58-->
# It doesn't work if the structure is not based on a face
: {{Caption|Dialog Box for Right Shear Rebars data}}
</translate>
# Structure = Arch.makeStructure(length=1000, width=400, height=400)


<!--T:59-->
Rect = Draft.makeRectangle(400, 400)
13. Set data for right shear rebars similar to left shear rebars data.
Structure = Arch.makeStructure(Rect, height=1600)
Structure.ViewObject.Transparency = 80
FreeCAD.ActiveDocument.recompute()


<!--T:72-->
RebarGroup = SingleTieMultipleRebars.makeSingleTieMultipleRebars(
14. Click {{Button|OK}} or {{Button|Apply}} to generate beam reinforcement.
l_cover_of_tie=40,
r_cover_of_tie=40,
t_cover_of_tie=40,
b_cover_of_tie=40,
offset_of_tie=100,
bent_angle=135,
extension_factor=2,
dia_of_tie=8,
number_spacing_check=True,
number_spacing_value=10,
dia_of_main_rebars=16,
main_rebars_t_offset=-40,
main_rebars_b_offset=-40,
main_rebars_type="LShapeRebar",
main_hook_orientation="Top Outside",
main_hook_extend_along="x-axis",
l_main_rebar_rounding=2,
main_hook_extension=40,
sec_rebars_t_offset=(-40, -40),
sec_rebars_b_offset=(-40, -40),
sec_rebars_number_diameter=("2#20mm+1#16mm+2#20mm", "1#20mm+1#16mm+1#20mm"),
sec_rebars_type=("LShapeRebar", "LShapeRebar"),
sec_hook_orientation=("Top Outside", "Top Outside"),
l_sec_rebar_rounding=(2, 2),
sec_hook_extension=(40, 40),
structure=Structure,
facename="Face6",
)


<!--T:73-->
}}
15. Click {{Button|Cancel}} to exit the dialog box.


==Properties== <!--T:6-->
<translate>
=== Edition of Single Tie Four Rebars ===
You can change the properties of the ties and rebars with the following function
</translate>
{{Code|code=
rebar_group = editSingleTieFourRebars(
rebar_group,
l_cover_of_tie,
r_cover_of_tie,
t_cover_of_tie,
b_cover_of_tie,
offset_of_tie,
bent_angle,
extension_factor,
dia_of_tie,
number_spacing_check,
number_spacing_value,
dia_of_rebars,
t_offset_of_rebars,
b_offset_of_rebars,
rebar_type="StraightRebar",
hook_orientation="Top Inside",
hook_extend_along="x-axis",
l_rebar_rounding=None,
hook_extension=None,
structure=None,
facename=None,
)


<!--T:75-->
}}
'''Stirrups:'''


<!--T:7-->
<translate>
* {{PropertyData|Left Cover}}: The distance between the left end of the stirrup to the left face of the structure.
* {{incode|rebar_group}} is a previously created {{incode|BeamReinforcement}} group object.
* {{PropertyData|Right Cover}}: The distance between the right end of the stirrup to right face of the structure.
* The other parameters are the same as required by the {{incode|makeSingleTieFourRebars()}} function.
* {{incode|structure}} and {{incode|facename}} may be omitted so that the rebar stays in the original structure.
* {{PropertyData|Top Cover}}: The distance between stirrup from the top face of the structure.
* {{PropertyData|Bottom Cover}}: The distance between stirrup from the bottom face of the structure.
* {{PropertyData|Offset}}: The distance between stirrup from the selected/back face of the structure.
* {{PropertyData|Diameter}}: Diameter of the stirrup.
* {{PropertyData|Bent Angle}}: Bent angle defines the angle at the ends of a stirrup.
* {{PropertyData|Extension Factor}}: Extension Factor defines length of end of stirrup, expressed in times the diameter.
* {{PropertyData|Number}}: The number of stirrup.
* {{PropertyData|Spacing}}: The distance between the axes of each stirrup.


<!--T:76-->
==== Example ====
'''Top/Bottom Reinforcement Rebars:''' Rebars present at top/bottom side of beam
</translate>
{{Code|code=
from BeamReinforcement import SingleTie


<!--T:60-->
rebar_group = SingleTie.editSingleTieFourRebars(
* {{PropertyData|NumberDiameterOffset}}: A tuple of Number#Diameter@Offset string. Each element of tuple represents reinforcement for each new layer.
rebar_group,
* {{PropertyData|Rebar Type}}: List of tuple of type of reinforcement bars.
l_cover_of_tie=40,
* {{PropertyData|Hook Orientation}}: List of tuple of orientation of LShaped hooks.
r_cover_of_tie=40,
* {{PropertyData|Hook Extension}}: List of tuple of length of hook of LShaped rebars.
t_cover_of_tie=40,
* {{PropertyData|Rounding}}: List of tuple of a rounding value to be applied to the corners of the LShape rebars, expressed in times the diameter.
b_cover_of_tie=40,
* {{PropertyData|Layer Spacing}}: List of spacing between two consecutive reinforcement layers.
offset_of_tie=100,
bent_angle=135,
extension_factor=2,
dia_of_tie=8,
number_spacing_check=True,
number_spacing_value=10,
dia_of_rebars=16,
t_offset_of_rebars=-40,
b_offset_of_rebars=-40,
rebar_type="LShapeRebar",
hook_orientation="Top Outside",
hook_extend_along="x-axis",
l_rebar_rounding=2,
hook_extension=40,
structure=None,
facename=None,
)


<!--T:77-->
}}
'''Left/Right Reinforcement Rebars:''' Rebars present at left/right side of beam

<!--T:61-->
* {{PropertyData|NumberDiameterOffset}}: String of Number#Diameter@Offset set for reinforcement bars.
* {{PropertyData|Rebar Type}}: List of type of reinforcement bars.
* {{PropertyData|Hook Orientation}}: List of orientation of LShaped hooks.
* {{PropertyData|Hook Extension}}: List of length of hook of LShaped rebars.
* {{PropertyData|Rounding}}: List of a rounding value to be applied to the corners of the LShape rebars, expressed in times the diameter.
* {{PropertyData|Rebar Spacing}}: Clear spacing between consecutive reinforcement bars.

==Scripting== <!--T:8-->

<!--T:62-->
{{Emphasis|See also:}} [[Arch API|Arch API]], [[Reinforcement API|Reinforcement API]] and [[FreeCAD Scripting Basics|FreeCAD Scripting Basics]].

<!--T:9-->
The Reinforcement BeamRebars tool can be used in [[macros|macros]] and from the [[Python|Python]] console by using the following function:

=== Create Two Legged Stirrups === <!--T:63-->


<translate>
=== Edition of Single Tie Multiple Rebars ===
You can change the properties of the ties and rebars with the following function
</translate>
</translate>
{{Code|code=
{{Code|code=
RebarGroup = makeReinforcement(
rebar_group = editSingleTieMultipleRebars(
rebar_group,
l_cover_of_stirrup,
r_cover_of_stirrup,
l_cover_of_tie,
t_cover_of_stirrup,
r_cover_of_tie,
b_cover_of_stirrup,
t_cover_of_tie,
offset_of_stirrup,
b_cover_of_tie,
offset_of_tie,
bent_angle,
bent_angle,
extension_factor,
extension_factor,
dia_of_tie,
dia_of_stirrup,
number_spacing_check,
number_spacing_check,
number_spacing_value,
number_spacing_value,
top_reinforcement_number_diameter_offset,
dia_of_main_rebars,
top_reinforcement_rebar_type,
main_rebars_t_offset,
top_reinforcement_layer_spacing,
main_rebars_b_offset,
bottom_reinforcement_number_diameter_offset,
main_rebars_type="StraightRebar",
bottom_reinforcement_rebar_type,
main_hook_orientation="Top Inside",
bottom_reinforcement_layer_spacing,
main_hook_extend_along="x-axis",
left_rebars_number_diameter_offset,
l_main_rebar_rounding=None,
left_rebars_type,
main_hook_extension=None,
left_rebars_spacing,
sec_rebars_t_offset=None,
right_rebars_number_diameter_offset,
sec_rebars_b_offset=None,
right_rebars_type,
sec_rebars_number_diameter=None,
right_rebars_spacing,
sec_rebars_type=("StraightRebar", "StraightRebar"),
top_reinforcement_l_rebar_rounding=2,
sec_hook_orientation=("Top Inside", "Top Inside"),
top_reinforcement_hook_extension=40,
l_sec_rebar_rounding=None,
top_reinforcement_hook_orientation="Front Inside",
sec_hook_extension=None,
bottom_reinforcement_l_rebar_rounding=2,
bottom_reinforcement_hook_extension=40,
bottom_reinforcement_hook_orientation="Front Inside",
left_l_rebar_rounding=2,
left_rebars_hook_extension=40,
left_rebars_hook_orientation="Front Inside",
right_l_rebar_rounding=2,
right_rebars_hook_extension=40,
right_rebars_hook_orientation="Front Inside",
structure=None,
structure=None,
facename=None,
facename=None,
)
)

}}
}}

<translate>
<translate>
* {{incode|rebar_group}} is a previously created {{incode|BeamReinforcement}} group object.
* The other parameters are the same as required by the {{incode|makeSingleTieMultipleRebars()}} function.
* {{incode|structure}} and {{incode|facename}} may be omitted so that the reinforcement stays in the original structure.


<!--T:24-->
==== Example ====
* Creates a {{incode|RebarGroup}} object from the given {{incode|structure}}, which is an [[Arch Structure|Arch Structure]], and {{incode|facename}}, which is a face of that structure.
** If no {{incode|structure}} nor {{incode|facename}} are given, it will take the user selected face as input.
* {{incode|l_cover_of_stirrup}}, {{incode|r_cover_of_stirrup}}, {{incode|t_cover_of_stirrup}}, {{incode|b_cover_of_stirrup}} and {{incode|offset_of_stirrup}} 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.
* {{incode|bent_angle}} define the angle of the tip of the reinforcement loop of stirrup.
* {{incode|extension_factor}} define the length of the tip of the reinforcement loop of stirrup, expressed in times the diameter.
* {{incode|dia_of_stirrup}} is the diameter of the stirrup.
* {{incode|number_spacing_check}} if it is {{incode|True}} it will create as many stirrup as given by {{incode|number_spacing_value}}; if it is {{incode|False}} it will create stirrup separated by the numerical value of {{incode|number_spacing_value}}.
* {{incode|number_spacing_value}} specifies the number of stirrups, or the value of the separation between them, depending on {{incode|number_spacing_check}}.
* {{incode|top_reinforcement_number_diameter_offset}} and {{incode|bottom_reinforcement_number_diameter_offset}} are tuple of number_diameter_offset string. Each element of tuple represents reinforcement for each new layer.
Syntax: (
"number1#diameter1@offset1+number2#diameter2@offset2+...",
"number3#diameter3@offset3+number4#diameter4@offset4+...",
...,
)
* {{incode|top_reinforcement_rebar_type}} and {{incode|bottom_reinforcement_rebar_type}} specifies type of top/bottom reinforcement bars.
Possible values:
1. 'StraightRebar' or 'LShapeRebar'
2. ('<rebar_type>', '<rebar_type>', ...) and number of elements of tuple must be equal to number of reinforcement
layers.
3. [
('<rebar_type>', '<rebar_type>', ...),
('<rebar_type>', '<rebar_type>', ...),
...,
]
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. [
<rebar_type>,
('<rebar_type>', '<rebar_type>', ...),
...,
]
* {{incode|top_reinforcement_layer_spacing}} and {{incode|bottom_reinforcement_layer_spacing}} is the spacing between two consecutive reinforcement layers.
Possible values:
1. <layer_spacing>
2. (<spacing in layer1 and layer2>, <spacing in layer2 and layer3>, ...) and number of elements of tuple must be
equal to one less than number of layers.
* {{incode|left_rebars_number_diameter_offset}} and {{incode|right_rebars_number_diameter_offset}} are string of number_diameter_offset.
Syntax: "number1#diameter1@offset1+number2#diameter2@offset2+..."
* {{incode|left_rebars_type}} and {{incode|right_rebars_type}} specifies type of left/right reinforcement bars.
Possible values:
1. 'StraightRebar' or 'LShapeRebar'
2. ('<rebar_type>', '<rebar_type>', ...) and each element of tuple represents rabar_type for each set of rebars.
* {{incode|left_rebars_spacing}} and {{incode|right_rebars_spacing}} is clear spacing between consecutive reinforcement bars.
* {{incode|top_reinforcement_l_rebar_rounding}} and {{incode|bottom_reinforcement_l_rebar_rounding}} 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 {{incode|top_reinforcement_rebar_type}} / {{incode|bottom_reinforcement_rebar_type}}.
* {{incode|top_reinforcement_hook_extension}} and {{incode|bottom_reinforcement_hook_extension}} is the length of hook of LShaped rebars. Possible syntax are similar to as discussed above for {{incode|top_reinforcement_rebar_type}} / {{incode|bottom_reinforcement_rebar_type}}.
* {{incode|top_reinforcement_hook_orientation}} and {{incode|bottom_reinforcement_hook_orientation}} specifies the orientation of LShaped hook; it can be {{incode|"Front Inside"}}, {{incode|"Front Outside"}}, {{incode|"Rear Inside"}} or {{incode|"Rear Outside"}}. Possible syntax are similar to as discussed above for {{incode|top_reinforcement_rebar_type}} / {{incode|bottom_reinforcement_rebar_type}}.
* {{incode|left_l_rebar_rounding}} and {{incode|right_l_rebar_rounding}} 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 {{incode|left_rebars_type}} / {{incode|right_rebars_type}}.
* {{incode|left_rebars_hook_extension}} and {{incode|right_rebars_hook_extension}} is the length of hook of LShaped rebars. Possible syntax are similar to as discussed above for {{incode|left_rebars_type}} / {{incode|right_rebars_type}}.
* {{incode|left_rebars_hook_orientation}} and {{incode|right_rebars_hook_orientation}} specifies the orientation of LShaped hook; it can be {{incode|"Front Inside"}}, {{incode|"Front Outside"}}, {{incode|"Rear Inside"}} or {{incode|"Rear Outside"}}. Possible syntax are similar to as discussed above for {{incode|left_rebars_type}} / {{incode|right_rebars_type}}.

==== Example ==== <!--T:64-->

</translate>
</translate>
{{Code|code=
{{Code|code=
import FreeCAD, Arch
from BeamReinforcement import SingleTieMultipleRebars
from BeamReinforcement import TwoLeggedBeam


Structure = Arch.makeStructure(length=3000.0,width=200.0,height=400.0)
rebar_group = SingleTieMultipleRebars.editSingleTieMultipleRebars(
Structure.ViewObject.Transparency = 80
rebar_group,
FreeCAD.ActiveDocument.recompute()
l_cover_of_tie=40,

r_cover_of_tie=40,
RebarGroup = TwoLeggedBeam.makeReinforcement(
t_cover_of_tie=40,
b_cover_of_tie=40,
l_cover_of_stirrup=20,
offset_of_tie=100,
r_cover_of_stirrup=20,
t_cover_of_stirrup=20,
b_cover_of_stirrup=20,
offset_of_stirrup=100,
bent_angle=135,
bent_angle=135,
extension_factor=2,
extension_factor=4,
dia_of_tie=8,
dia_of_stirrup=8,
number_spacing_check=True,
number_spacing_check=False,
number_spacing_value=10,
number_spacing_value=200,
top_reinforcement_number_diameter_offset=("1#20@-60+2#16@-60+1#20@-60", "3#16@-100"),
dia_of_main_rebars=16,
top_reinforcement_rebar_type="LShapeRebar",
main_rebars_t_offset=-40,
top_reinforcement_layer_spacing=30,
main_rebars_b_offset=-40,
bottom_reinforcement_number_diameter_offset=("1#20@-60+2#16@-60+1#20@-60", "3#16@-100"),
main_rebars_type="LShapeRebar",
bottom_reinforcement_rebar_type="LShapeRebar",
main_hook_orientation="Top Outside",
bottom_reinforcement_layer_spacing=30,
main_hook_extend_along="x-axis",
left_rebars_number_diameter_offset="1#16@-100+1#16@-100+1#16@-100",
l_main_rebar_rounding=2,
left_rebars_type="LShapeRebar",
main_hook_extension=40,
left_rebars_spacing=30,
sec_rebars_t_offset=(-40, -40),
right_rebars_number_diameter_offset="1#16@-100+1#16@-100+1#16@-100",
sec_rebars_b_offset=(-40, -40),
right_rebars_type="LShapeRebar",
sec_rebars_number_diameter=("2#20mm+1#16mm+2#20mm", "1#20mm+1#16mm+1#20mm"),
right_rebars_spacing=30,
sec_rebars_type=("StraightRebar", "StraightRebar"),
top_reinforcement_l_rebar_rounding=2,
sec_hook_orientation=None,
top_reinforcement_hook_extension=100,
l_sec_rebar_rounding=None,
top_reinforcement_hook_orientation="Rear Outside",
sec_hook_extension=None,
bottom_reinforcement_l_rebar_rounding=2,
structure=None,
bottom_reinforcement_hook_extension=100,
facename=None,
bottom_reinforcement_hook_orientation="Rear Outside",
left_l_rebar_rounding=2,
left_rebars_hook_extension=80,
left_rebars_hook_orientation=("Rear Inside", "Front Inside", "Rear Inside"),
right_l_rebar_rounding=2,
right_rebars_hook_extension=80,
right_rebars_hook_orientation=("Front Inside", "Rear Inside", "Front Inside"),
structure=Structure,
facename="Face6",
)
)

}}
}}

<translate>
<translate>
<!--T:21-->
{{docnav|[[Arch_Rebar_ColumnReinforcement_TwoTiesSixRebars|ColumnReinforcement TwoTiesSixRebars]]|[[Arch_Rebar|Rebar]]|[[Arch_Module|Arch]]|IconL=Arch_Rebar_Helical.png|IconC=Workbench_Arch.svg|IconR=Arch_Rebar_ColumnReinforcement.svg}}


<!--T:34-->
{{Arch Tools navi}}


<!--T:35-->
<!--T:21-->
{{Docnav
{{Userdocnavi}}
|[[Reinforcement_ColumnRebars|ColumnRebars]]
|[[Reinforcement_SlabRebars|SlabRebars]]
|[[Reinforcement_Workbench|Reinforcement]]
|IconL=Reinforcement_ColumnRebars.svg
|IconR=Reinforcement_SlabRebars.svg
|IconC=Reinforcement_Workbench.svg
}}


<!--T:36-->
[[Category:Reinforcement]]
</translate>
</translate>
[[Category:External_Command_Reference{{#translation:}}]]
[[Category:Reinforcement{{#translation:}}]]
{{Arch_Tools_navi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}

Latest revision as of 16:34, 10 March 2024

Reinforcement BeamRebars

Menu location
Arch → Rebar tools → Beam Reinforcement
3D/BIM → Reinforcement tools → Beam Reinforcement
Workbenches
Reinforcement, Arch, BIM
Default shortcut
None
Introduced in version
0.19
See also
None

Description

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

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

Beam Reinforcement inside a Beam Arch Structure

Usage

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

2. Then select Beam Reinforcement from the rebar tools.

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

Dialog Box for the Reinforcement BeamRebars tool

4. Select the desired type of beam reinforcement.

5. Give inputs for data related to stirrups.

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

Dialog Box for Top Rebars data

7. Set data for top rebars.

To edit Number#Diameter@Offset value, click on the Edit button next to Number#Diameter@Offset label. A dialog box will pop-out as shown below.
To edit Rebar Type value, click on the Edit button next to Rebar Type label. A dialog box will pop-out as shown below.
To edit Hook Orientation value, click on the Edit button next to Hook Orientation label. A dialog box will pop-out as shown below.
To edit Hook Extension value, click on the Edit button next to Hook Extension label. A dialog box will pop-out as shown below.
To edit LRebar Rounding value, click on the Edit button next to Rounding label. A dialog box will pop-out as shown below.
To edit Layer Spacing value, click on the Edit button next to Layer Spacing label. A dialog box will pop-out as shown below.

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

Dialog Box for Bottom Rebars data

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

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

Dialog Box for Left Shear Rebars data

11. Set data for left shear rebars.

To edit Number#Diameter@Offset value, click on the Edit button next to Number#Diameter@Offset label. A dialog box will pop-out as shown below.
To edit Rebar Type value, click on the Edit button next to Rebar Type label. A dialog box will pop-out as shown below.
To edit Hook Orientation value, click on the Edit button next to Hook Orientation label. A dialog box will pop-out as shown below.
To edit Hook Extension value, click on the Edit button next to Hook Extension label. A dialog box will pop-out as shown below.
To edit LRebar Rounding value, click on the Edit button next to Rounding label. A dialog box will pop-out as shown below.

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

Dialog Box for Right Shear Rebars data

13. Set data for right shear rebars similar to left shear rebars data.

14. Click OK or Apply to generate beam reinforcement.

15. Click Cancel to exit the dialog box.

Properties

Stirrups:

  • DataLeft Cover: The distance between the left end of the stirrup to the left face of the structure.
  • DataRight Cover: The distance between the right end of the stirrup to right face of the structure.
  • DataTop Cover: The distance between stirrup from the top face of the structure.
  • DataBottom Cover: The distance between stirrup from the bottom face of the structure.
  • DataOffset: The distance between stirrup from the selected/back face of the structure.
  • DataDiameter: Diameter of the stirrup.
  • DataBent Angle: Bent angle defines the angle at the ends of a stirrup.
  • DataExtension Factor: Extension Factor defines length of end of stirrup, expressed in times the diameter.
  • DataNumber: The number of stirrup.
  • DataSpacing: The distance between the axes of each stirrup.

Top/Bottom Reinforcement Rebars: Rebars present at top/bottom side of beam

  • DataNumberDiameterOffset: A tuple of Number#Diameter@Offset string. Each element of tuple represents reinforcement for each new layer.
  • DataRebar Type: List of tuple of type of reinforcement bars.
  • DataHook Orientation: List of tuple of orientation of LShaped hooks.
  • DataHook Extension: List of tuple of length of hook of LShaped rebars.
  • DataRounding: List of tuple of a rounding value to be applied to the corners of the LShape rebars, expressed in times the diameter.
  • DataLayer Spacing: List of spacing between two consecutive reinforcement layers.

Left/Right Reinforcement Rebars: Rebars present at left/right side of beam

  • DataNumberDiameterOffset: String of Number#Diameter@Offset set for reinforcement bars.
  • DataRebar Type: List of type of reinforcement bars.
  • DataHook Orientation: List of orientation of LShaped hooks.
  • DataHook Extension: List of length of hook of LShaped rebars.
  • DataRounding: List of a rounding value to be applied to the corners of the LShape rebars, expressed in times the diameter.
  • DataRebar Spacing: Clear spacing between consecutive reinforcement bars.

Scripting

See also: Arch API, Reinforcement API and FreeCAD Scripting Basics.

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

Create Two Legged Stirrups

RebarGroup = makeReinforcement(
    l_cover_of_stirrup,
    r_cover_of_stirrup,
    t_cover_of_stirrup,
    b_cover_of_stirrup,
    offset_of_stirrup,
    bent_angle,
    extension_factor,
    dia_of_stirrup,
    number_spacing_check,
    number_spacing_value,
    top_reinforcement_number_diameter_offset,
    top_reinforcement_rebar_type,
    top_reinforcement_layer_spacing,
    bottom_reinforcement_number_diameter_offset,
    bottom_reinforcement_rebar_type,
    bottom_reinforcement_layer_spacing,
    left_rebars_number_diameter_offset,
    left_rebars_type,
    left_rebars_spacing,
    right_rebars_number_diameter_offset,
    right_rebars_type,
    right_rebars_spacing,
    top_reinforcement_l_rebar_rounding=2,
    top_reinforcement_hook_extension=40,
    top_reinforcement_hook_orientation="Front Inside",
    bottom_reinforcement_l_rebar_rounding=2,
    bottom_reinforcement_hook_extension=40,
    bottom_reinforcement_hook_orientation="Front Inside",
    left_l_rebar_rounding=2,
    left_rebars_hook_extension=40,
    left_rebars_hook_orientation="Front Inside",
    right_l_rebar_rounding=2,
    right_rebars_hook_extension=40,
    right_rebars_hook_orientation="Front Inside",
    structure=None,
    facename=None,
)
  • Creates a RebarGroup object from the given structure, which is an Arch Structure, and facename, which is a face of that structure.
    • If no structure nor facename are given, it will take the user selected face as input.
  • l_cover_of_stirrup, r_cover_of_stirrup, t_cover_of_stirrup, b_cover_of_stirrup and offset_of_stirrup 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.
  • bent_angle define the angle of the tip of the reinforcement loop of stirrup.
  • extension_factor define the length of the tip of the reinforcement loop of stirrup, expressed in times the diameter.
  • dia_of_stirrup is the diameter of the stirrup.
  • number_spacing_check if it is True it will create as many stirrup as given by number_spacing_value; if it is False it will create stirrup separated by the numerical value of number_spacing_value.
  • number_spacing_value specifies the number of stirrups, or the value of the separation between them, depending on number_spacing_check.
  • top_reinforcement_number_diameter_offset and bottom_reinforcement_number_diameter_offset are tuple of number_diameter_offset string. Each element of tuple represents reinforcement for each new layer.
   Syntax: (
               "number1#diameter1@offset1+number2#diameter2@offset2+...",
               "number3#diameter3@offset3+number4#diameter4@offset4+...",
               ...,
           )
  • top_reinforcement_rebar_type and bottom_reinforcement_rebar_type specifies type of top/bottom reinforcement bars.
   Possible values:
   1. 'StraightRebar' or 'LShapeRebar'
   2. ('<rebar_type>', '<rebar_type>', ...) and number of elements of tuple must be equal to number of reinforcement
      layers.
   3. [
          ('<rebar_type>', '<rebar_type>', ...),
          ('<rebar_type>', '<rebar_type>', ...),
          ...,
      ]
      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. [
          <rebar_type>,
          ('<rebar_type>', '<rebar_type>', ...),
          ...,
      ]
  • top_reinforcement_layer_spacing and bottom_reinforcement_layer_spacing is the spacing between two consecutive reinforcement layers.
   Possible values:
   1. <layer_spacing>
   2. (<spacing in layer1 and layer2>, <spacing in layer2 and layer3>, ...) and number of elements of tuple must be
      equal to one less than number of layers.
  • left_rebars_number_diameter_offset and right_rebars_number_diameter_offset are string of number_diameter_offset.
   Syntax: "number1#diameter1@offset1+number2#diameter2@offset2+..."
  • left_rebars_type and right_rebars_type specifies type of left/right reinforcement bars.
   Possible values:
   1. 'StraightRebar' or 'LShapeRebar'
   2. ('<rebar_type>', '<rebar_type>', ...) and each element of tuple represents rabar_type for each set of rebars.
  • left_rebars_spacing and right_rebars_spacing is clear spacing between consecutive reinforcement bars.
  • top_reinforcement_l_rebar_rounding and bottom_reinforcement_l_rebar_rounding 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 top_reinforcement_rebar_type / bottom_reinforcement_rebar_type.
  • top_reinforcement_hook_extension and bottom_reinforcement_hook_extension is the length of hook of LShaped rebars. Possible syntax are similar to as discussed above for top_reinforcement_rebar_type / bottom_reinforcement_rebar_type.
  • top_reinforcement_hook_orientation and bottom_reinforcement_hook_orientation specifies the orientation of LShaped hook; it can be "Front Inside", "Front Outside", "Rear Inside" or "Rear Outside". Possible syntax are similar to as discussed above for top_reinforcement_rebar_type / bottom_reinforcement_rebar_type.
  • left_l_rebar_rounding and right_l_rebar_rounding 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 left_rebars_type / right_rebars_type.
  • left_rebars_hook_extension and right_rebars_hook_extension is the length of hook of LShaped rebars. Possible syntax are similar to as discussed above for left_rebars_type / right_rebars_type.
  • left_rebars_hook_orientation and right_rebars_hook_orientation specifies the orientation of LShaped hook; it can be "Front Inside", "Front Outside", "Rear Inside" or "Rear Outside". Possible syntax are similar to as discussed above for left_rebars_type / right_rebars_type.

Example

import FreeCAD, Arch
from BeamReinforcement import TwoLeggedBeam

Structure = Arch.makeStructure(length=3000.0,width=200.0,height=400.0)
Structure.ViewObject.Transparency = 80
FreeCAD.ActiveDocument.recompute()

RebarGroup = TwoLeggedBeam.makeReinforcement(
    l_cover_of_stirrup=20,
    r_cover_of_stirrup=20,
    t_cover_of_stirrup=20,
    b_cover_of_stirrup=20,
    offset_of_stirrup=100,
    bent_angle=135,
    extension_factor=4,
    dia_of_stirrup=8,
    number_spacing_check=False,
    number_spacing_value=200,
    top_reinforcement_number_diameter_offset=("1#20@-60+2#16@-60+1#20@-60", "3#16@-100"),
    top_reinforcement_rebar_type="LShapeRebar",
    top_reinforcement_layer_spacing=30,
    bottom_reinforcement_number_diameter_offset=("1#20@-60+2#16@-60+1#20@-60", "3#16@-100"),
    bottom_reinforcement_rebar_type="LShapeRebar",
    bottom_reinforcement_layer_spacing=30,
    left_rebars_number_diameter_offset="1#16@-100+1#16@-100+1#16@-100",
    left_rebars_type="LShapeRebar",
    left_rebars_spacing=30,
    right_rebars_number_diameter_offset="1#16@-100+1#16@-100+1#16@-100",
    right_rebars_type="LShapeRebar",
    right_rebars_spacing=30,
    top_reinforcement_l_rebar_rounding=2,
    top_reinforcement_hook_extension=100,
    top_reinforcement_hook_orientation="Rear Outside",
    bottom_reinforcement_l_rebar_rounding=2,
    bottom_reinforcement_hook_extension=100,
    bottom_reinforcement_hook_orientation="Rear Outside",
    left_l_rebar_rounding=2,
    left_rebars_hook_extension=80,
    left_rebars_hook_orientation=("Rear Inside", "Front Inside", "Rear Inside"),
    right_l_rebar_rounding=2,
    right_rebars_hook_extension=80,
    right_rebars_hook_orientation=("Front Inside", "Rear Inside", "Front Inside"),
    structure=Structure,
    facename="Face6",
)