Reinforcement ColumnRebars TwoTiesSixRebars: Difference between revisions

From FreeCAD Documentation
No edit summary
(Marked this version for translation)
 
(41 intermediate revisions by 6 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
<translate>
<translate>

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


<!--T:37-->
<!--T:37-->
{{GuiCommand
{{GuiCommand
|Name=Reinforcement ColumnRebars
|Name=Arch Rebar ColumnReinforcement
|MenuLocation=Arch → Rebar tools
|MenuLocation=Arch → Rebar tools → Column Reinforcement<br>3D/BIM → Reinforcement tools → Column Reinforcement
|Workbenches=[[Arch Workbench|Arch]], [[BIM Workbench|BIM]]
|Workbenches=[[Reinforcement_Workbench|Reinforcement]], [[Arch_Workbench|Arch]], [[BIM_Workbench|BIM]]
|SeeAlso=[[Arch_Rebar_ColumnReinforcement|ColumnReinforcement]], [[Arch Rebar]]
|Version=0.19
|Version=0.19
|SeeAlso=[[Reinforcement_ColumnRebars|Reinforcement ColumnRebars]], [[Reinforcement_ColumnRebars_Circular|Reinforcement ColumnRebars Circular]]
}}
}}


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


<!--T:38-->
The [[Arch Rebar ColumnReinforcement_TwoTiesSixRebars|Column Reinforcement]] tool allows the user to create reinforcing bars inside a Column [[Arch Structure]] object.
The [[Reinforcement_ColumnRebars|Reinforcement ColumnRebars]] tool allows the user to create reinforcing bars inside a Column [[Arch Structure|Arch Structure]] object. This page shows an additional usage example for the tool.


<!--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]].

<!--T:69-->
Three usage examples are available:
* [[Reinforcement_ColumnRebars|Single tie rectangular column]]
* [[#Usage|Two ties six rebars rectangular column (see below)]]
* [[Reinforcement_ColumnRebars_Circular|Circular column]]


</translate>
</translate>
[[Image:Arch_Rebar_ColumnReinforcement_example.png|400px]]
[[Image:Arch_Rebar_ColumnReinforcement_TwoTies_example.png|400px]]
<translate>
<translate>
<!--T:3-->
<!--T:3-->
{{Caption|TwoTiesSixRebars Column Reinforcement inside a Column [[Arch Structure]]}}
{{Caption|Two ties six rebars reinforcement inside a [[Arch_Structure|column]]}}


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


<!--T:5-->
<!--T:57-->
1. Select any face of a previously created {{Button|[[Image:Arch_Structure.svg|16px]] [[Arch Structure]]}} object. <br>
1. Select any face of a previously created {{Button|[[Image:Arch_Structure.svg|16px]] [[Arch Structure|Arch Structure]]}} object.
2. Then select {{Button|[[Image:Arch_Rebar_ColumnReinforcement.svg|16px]] [[Arch Rebar ColumnReinforcement|Column Reinforcement]]}} from the rebar tools. <br>
3. A dialog box will pop-out on screen as shown below. <br>
[[Image:ColumnReinforcementDialog_Ties.png|700px]]
{{Caption|Dialog Box for the Arch Rebar ColumnReinforcement tool}}
4. Select the TwoTiesSixRebars type of column reinforcement from drop down menu on right side. <br>
[[Image:TwoTiesColumnReinforcementDialog_Ties.png|700px]]
{{Caption|Dialog Box for the TwoTiesSixRebars ColumnReinforcement}}
5. Give inputs for data related to ties. <br>
6. Click next and dialog box will be updated as shown below. <br>
[[Image:TwoTiesColumnReinforcementDialog_MainRebars.png|700px]]
{{Caption|Dialog Box for Main Rebars data}}
7. Select desired rebar type and fill data for main rebars. <br>
8. Click {{Button|OK}} or {{Button|Apply}} to generate column reinforcement. <br>
9. Click {{Button|Cancel}} to exit the dialog box. <br>


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


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

</translate>
: [[Image:ColumnReinforcementDialog_Ties.png|700px]]
<translate>
<!--T:39-->
: {{Caption|Dialog Box for the Arch Rebar ColumnReinforcement tool}}


<!--T:7-->
<!--T:60-->
4. Select the TwoTiesSixRebars type of column reinforcement from drop down menu on right side.

</translate>
: [[Image:TwoTiesColumnReinforcementDialog_Ties.png|700px]]
<translate>
<!--T:41-->
: {{Caption|Dialog Box for the TwoTiesSixRebars ColumnReinforcement}}

<!--T:61-->
5. Give inputs for data related to ties.

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

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

<!--T:63-->
7. Select desired rebar type and fill data for main rebars.

<!--T:64-->
8. Click {{Button|OK}} or {{Button|Apply}} to generate column reinforcement.

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

==Properties== <!--T:6-->

<!--T:66-->
'''Ties:'''
'''Ties:'''

<!--T:7-->
* {{PropertyData|Left Cover}}: The distance between the left end of the tie to the left face of the structure.
* {{PropertyData|Left Cover}}: The distance between the left end of the tie to the left face of the structure.
* {{PropertyData|Right Cover}}: The distance between the right end of the tie to right face of the structure.
* {{PropertyData|Right Cover}}: The distance between the right end of the tie to right face of the structure.
Line 60: Line 104:
* {{PropertyData|Number}}: The number of ties.
* {{PropertyData|Number}}: The number of ties.
* {{PropertyData|Spacing}}: The distance between the axes of each tie.
* {{PropertyData|Spacing}}: The distance between the axes of each tie.
* {{PropertyData|Ties Sequence}}: The sequence of ties from top to bottom with respect to front view.


<!--T:67-->
'''Main Rebars:''' Rebars present at corners of tie
'''Main Rebars:''' Rebars present at corners of tie

<!--T:45-->
* {{PropertyData|Rebar Type}}: Type of main rebars.
* {{PropertyData|Rebar Type}}: Type of main rebars.
* {{PropertyData|Hook Orientation}}: Orientation of LShaped hooks.
* {{PropertyData|Hook Orientation}}: Orientation of LShaped hooks.
Line 70: Line 118:
* {{PropertyData|Bottom Offset}}: The distance between rebar from the bottom 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.
* {{PropertyData|Diameter}}: Diameter of the main rebars.

'''XDir Secondary Rebars:''' Rebars along x-direction except main rebars
* {{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.

'''YDir Secondary Rebars:''' Rebars along y-direction except main rebars
* {{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.



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


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


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

=== Create Two Ties Six Rebars === <!--T:47-->


=== Create Single Tie Four Rebars ===
</translate>
</translate>
{{Code|code=
{{Code|code=
RebarGroup = makeSingleTieFourRebars(
RebarGroup = makeTwoTiesSixRebars(
l_cover_of_tie,
l_cover_of_ties,
r_cover_of_tie,
r_cover_of_ties,
t_cover_of_tie,
t_cover_of_ties,
b_cover_of_tie,
b_cover_of_ties,
offset_of_tie,
offset_of_ties,
bent_angle,
bent_angle_of_ties,
extension_factor_of_ties,
extension_factor,
dia_of_tie,
dia_of_ties,
number_spacing_check,
number_spacing_check,
number_spacing_value,
number_spacing_value,
dia_of_rebars,
dia_of_main_rebars,
t_offset_of_rebars,
t_offset_of_rebars,
b_offset_of_rebars,
b_offset_of_rebars,
rebar_type="StraightRebar",
main_rebars_type="StraightRebar",
hook_orientation="Top Inside",
hook_orientation="Top Inside",
hook_extend_along="x-axis",
hook_extend_along="x-axis",
l_rebar_rounding=None,
l_rebar_rounding=None,
hook_extension=None,
hook_extension=None,
ties_sequence=("Tie1", "Tie2"),
structure=None,
structure=None,
facename=None,
facename=None,
)
).rebar_group

}}
}}
<translate>
<translate>


<!--T:24-->
<!--T:24-->
* 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.
* 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.
** 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|l_cover_of_ties}}, {{incode|r_cover_of_ties}}, {{incode|t_cover_of_ties}}, {{incode|b_cover_of_ties}} and {{incode|offset_of_ties}} 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|bent_angle_of_ties}} define the angle of the tip of the reinforcement loop of tie elements.
* {{incode|extension_factor}} define the length of the tip of the reinforcement loop, expressed in times the diameter.
* {{incode|extension_factor_of_ties}} define the length of the tip of the reinforcement loop of tie elements, expressed in times the diameter of tie elements.
* {{incode|dia_of_tie}} is the diameter of the ties.
* {{incode|dia_of_ties}} is the diameter of the tie elements.
* {{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_check}} if it is {{incode|True}} it will create as many two ties sets as given by {{incode|number_spacing_value}}; if it is {{incode|False}} it will create two ties sets 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|number_spacing_value}} specifies the number of two ties sets, or the value of the separation between the sets, depending on {{incode|number_spacing_check}}.
* {{incode|dia_of_rebars}} is the diameter of the main rebars.
* {{incode|dia_of_main_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|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|main_rebars_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_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|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|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.
* {{incode|hook_extension}} is the length of hook of LShaped rebars.
* {{incode|ties_sequence}} is the sequence of ties from top to bottom with respect to front view; it can be {{incode|("Tie1", "Tie2")}} or {{incode|("Tie2", "Tie1")}}.

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


==== Example ====
</translate>
</translate>
{{Code|code=
{{Code|code=
import Draft, Arch
import FreeCAD, Draft, Arch
from ColumnReinforcement import SingleTie
from ColumnReinforcement import TwoTiesSixRebars


<translate>
# It doesn't work if the structure is not based on a face
# It doesn't work if the structure is not based on a face
</translate>
# Structure = Arch.makeStructure(length=1000, width=400, height=400)
# Structure = Arch.makeStructure(length=1000, width=400, height=400)


Line 159: Line 190:
FreeCAD.ActiveDocument.recompute()
FreeCAD.ActiveDocument.recompute()


<translate>
# For Straight Rebars
# For Straight Rebars
RebarGroup = TwoTiesSixRebars.makeTwoTiesSixRebars(
</translate>
l_cover_of_ties=40,
RebarGroup = SingleTie.makeSingleTieFourRebars(
l_cover_of_tie=40,
r_cover_of_ties=40,
r_cover_of_tie=40,
t_cover_of_ties=40,
t_cover_of_tie=40,
b_cover_of_ties=40,
b_cover_of_tie=40,
offset_of_ties=100,
offset_of_tie=100,
bent_angle_of_ties=135,
extension_factor_of_ties=2,
bent_angle=135,
extension_factor=2,
dia_of_ties=8,
dia_of_tie=8,
number_spacing_check=True,
number_spacing_check=True,
number_spacing_value=10,
number_spacing_value=10,
dia_of_rebars=16,
dia_of_main_rebars=16,
t_offset_of_rebars=40,
t_offset_of_rebars=40,
b_offset_of_rebars=40,
b_offset_of_rebars=40,
rebar_type="StraightRebar",
main_rebars_type="StraightRebar",
hook_orientation="Top Inside",
hook_orientation="Top Inside",
hook_extend_along="x-axis",
hook_extend_along="x-axis",
l_rebar_rounding=None,
l_rebar_rounding=None,
hook_extension=None,
hook_extension=None,
ties_sequence=("Tie1", "Tie2"),
structure=Structure,
structure=Structure,
facename="Face6",
facename="Face6",
)
).rebar_group


<translate>
# For LShaped Rebars with hook along x-axis
# For LShaped Rebars with hook along x-axis
RebarGroup = TwoTiesSixRebars.makeTwoTiesSixRebars(
</translate>
l_cover_of_ties=40,
RebarGroup = SingleTie.makeSingleTieFourRebars(
l_cover_of_tie=40,
r_cover_of_ties=40,
r_cover_of_tie=40,
t_cover_of_ties=40,
t_cover_of_tie=40,
b_cover_of_ties=40,
b_cover_of_tie=40,
offset_of_ties=100,
offset_of_tie=100,
bent_angle_of_ties=135,
extension_factor_of_ties=2,
bent_angle=135,
extension_factor=2,
dia_of_ties=8,
dia_of_tie=8,
number_spacing_check=True,
number_spacing_check=True,
number_spacing_value=10,
number_spacing_value=10,
dia_of_rebars=16,
dia_of_main_rebars=16,
t_offset_of_rebars=-40,
t_offset_of_rebars=-40,
b_offset_of_rebars=-40,
b_offset_of_rebars=-40,
rebar_type="LShapeRebar",
main_rebars_type="LShapeRebar",
hook_orientation="Top Outside",
hook_orientation="Top Outside",
hook_extend_along="x-axis",
hook_extend_along="x-axis",
l_rebar_rounding=2,
l_rebar_rounding=2,
hook_extension=40,
hook_extension=40,
ties_sequence=("Tie1", "Tie2"),
structure=Structure,
structure=Structure,
facename="Face6",
facename="Face6",
)
).rebar_group


# For LShaped Rebars with hook along y-axis and tie sequence ("Tie2", "Tie1")
<translate>

# For LShaped Rebars with hook along y-axis
RebarGroup = TwoTiesSixRebars.makeTwoTiesSixRebars(
</translate>
l_cover_of_ties=40,
RebarGroup = SingleTie.makeSingleTieFourRebars(
l_cover_of_tie=40,
r_cover_of_ties=40,
r_cover_of_tie=40,
t_cover_of_ties=40,
t_cover_of_tie=40,
b_cover_of_ties=40,
b_cover_of_tie=40,
offset_of_ties=100,
offset_of_tie=100,
bent_angle_of_ties=135,
extension_factor_of_ties=2,
bent_angle=135,
extension_factor=2,
dia_of_ties=8,
dia_of_tie=8,
number_spacing_check=True,
number_spacing_check=True,
number_spacing_value=10,
number_spacing_value=10,
dia_of_rebars=16,
dia_of_main_rebars=16,
t_offset_of_rebars=-40,
t_offset_of_rebars=-40,
b_offset_of_rebars=-40,
b_offset_of_rebars=-40,
rebar_type="LShapeRebar",
main_rebars_type="LShapeRebar",
hook_orientation="Top Outside",
hook_orientation="Top Outside",
hook_extend_along="y-axis",
hook_extend_along="y-axis",
l_rebar_rounding=2,
l_rebar_rounding=2,
hook_extension=40,
hook_extension=40,
ties_sequence=("Tie2", "Tie1"),
structure=Structure,
structure=Structure,
facename="Face6",
facename="Face6",
).rebar_group

}}


<translate>
=== Create Single Tie Multiple Rebars ===
</translate>
{{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>


=== Edition of Two Ties Six Rebars === <!--T:68-->
* 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_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.


<!--T:53-->
==== Example ====
You can change the properties of the ties and rebars with the following function:
</translate>
{{Code|code=
import Draft, Arch
from ColumnReinforcement import SingleTieMultipleRebars


<translate>
# It doesn't work if the structure is not based on a face
</translate>
# Structure = Arch.makeStructure(length=1000, width=400, height=400)

Rect = Draft.makeRectangle(400, 400)
Structure = Arch.makeStructure(Rect, height=1600)
Structure.ViewObject.Transparency = 80
FreeCAD.ActiveDocument.recompute()

RebarGroup = SingleTieMultipleRebars.makeSingleTieMultipleRebars(
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",
)

}}

<translate>
=== Edition of Single Tie Four Rebars ===
You can change the properties of the ties and rebars with the following function
</translate>
</translate>
{{Code|code=
{{Code|code=
rebar_group = editSingleTieFourRebars(
rebar_group = editTwoTiesSixRebars(
rebar_group,
rebar_group,
l_cover_of_tie,
l_cover_of_ties,
r_cover_of_tie,
r_cover_of_ties,
t_cover_of_ties,
t_cover_of_tie,
b_cover_of_tie,
b_cover_of_ties,
offset_of_tie,
offset_of_ties,
bent_angle,
bent_angle_of_ties,
extension_factor_of_ties,
extension_factor,
dia_of_tie,
dia_of_ties,
number_spacing_check,
number_spacing_check,
number_spacing_value,
number_spacing_value,
dia_of_rebars,
dia_of_main_rebars,
t_offset_of_rebars,
t_offset_of_rebars,
b_offset_of_rebars,
b_offset_of_rebars,
rebar_type="StraightRebar",
main_rebars_type="StraightRebar",
hook_orientation="Top Inside",
hook_orientation="Top Inside",
hook_extend_along="x-axis",
hook_extend_along="x-axis",
l_rebar_rounding=None,
l_rebar_rounding=None,
hook_extension=None,
hook_extension=None,
ties_sequence=("Tie1", "Tie2"),
structure=None,
structure=None,
facename=None,
facename=None,
)
)

}}
}}

<translate>
<translate>

<!--T:54-->
* {{incode|rebar_group}} is a previously created {{incode|ColumnReinforcement}} group object.
* {{incode|rebar_group}} is a previously created {{incode|ColumnReinforcement}} group object.
* The other parameters are the same as required by the {{incode|makeSingleTieFourRebars()}} function.
* 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.
* {{incode|structure}} and {{incode|facename}} may be omitted so that the rebar stays in the original structure.


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

</translate>
</translate>
{{Code|code=
{{Code|code=
from ColumnReinforcement import SingleTie
from ColumnReinforcement import TwoTiesSixRebars


rebar_group = SingleTie.editSingleTieFourRebars(
rebar_group = TwoTiesSixRebars.editTwoTiesSixRebars(
rebar_group,
rebar_group,
l_cover_of_tie=40,
l_cover_of_ties=40,
r_cover_of_tie=40,
r_cover_of_ties=40,
t_cover_of_tie=40,
t_cover_of_ties=40,
b_cover_of_tie=40,
b_cover_of_ties=40,
offset_of_tie=100,
offset_of_ties=100,
bent_angle=135,
bent_angle_of_ties=135,
extension_factor=2,
extension_factor_of_ties=2,
dia_of_tie=8,
dia_of_ties=8,
number_spacing_check=True,
number_spacing_check=True,
number_spacing_value=10,
number_spacing_value=10,
dia_of_rebars=16,
dia_of_main_rebars=16,
t_offset_of_rebars=-40,
t_offset_of_rebars=-40,
b_offset_of_rebars=-40,
b_offset_of_rebars=-40,
rebar_type="LShapeRebar",
main_rebars_type="LShapeRebar",
hook_orientation="Top Outside",
hook_orientation="Top Outside",
l_rebar_rounding=hook_extend_along="x-axis",
hook_extend_along="x-axis",
l_rebar_rounding=2,
l_rebar_rounding=2,
hook_extension=40,
hook_extension=40,
ties_sequence=("Tie2", "Tie1"),
structure=None,
structure=None,
facename=None,
facename=None,
)
)

}}
}}

<translate>
<translate>
=== Edition of Single Tie Multiple Rebars ===
You can change the properties of the ties and rebars with the following function
</translate>
{{Code|code=
rebar_group = editSingleTieMultipleRebars(
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_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>
* {{incode|rebar_group}} is a previously created {{incode|ColumnReinforcement}} 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.

==== Example ====
</translate>
{{Code|code=
from ColumnReinforcement import SingleTieMultipleRebars

rebar_group = SingleTieMultipleRebars.editSingleTieMultipleRebars(
rebar_group,
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=("StraightRebar", "StraightRebar"),
sec_hook_orientation=None,
l_sec_rebar_rounding=None,
sec_hook_extension=None,
structure=None,
facename=None,
)


<!--T:21-->
{{Docnav
|
|
|[[Reinforcement_Workbench|Reinforcement]]
|IconL=
|IconR=
|IconC=Reinforcement_Workbench.svg
}}
}}


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

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

<!--T:35-->
{{Userdocnavi}}

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

Latest revision as of 23:18, 9 March 2024

Reinforcement ColumnRebars

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

Description

The Reinforcement ColumnRebars tool allows the user to create reinforcing bars inside a Column Arch Structure object. This page shows an additional usage example for the tool.

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

Three usage examples are available:

Two ties six rebars reinforcement inside a column

Usage

1. Select any face of a previously created Arch Structure object.

2. Then select Column Reinforcement from the rebar tools.

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

Dialog Box for the Arch Rebar ColumnReinforcement tool

4. Select the TwoTiesSixRebars type of column reinforcement from drop down menu on right side.

Dialog Box for the TwoTiesSixRebars ColumnReinforcement

5. Give inputs for data related to ties.

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

Dialog Box for Main Rebars data

7. Select desired rebar type and fill data for main rebars.

8. Click OK or Apply to generate column reinforcement.

9. Click Cancel to exit the dialog box.

Properties

Ties:

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

Main Rebars: Rebars present at corners of tie

  • DataRebar Type: Type of main rebars.
  • DataHook Orientation: Orientation of LShaped hooks.
  • DataHook Extend Along: Direction for hook extension.
  • DataHook Extension: Length of hook of LShape rebars.
  • DataRounding: A rounding value to be applied to the corners of the LShape rebars, expressed in times the diameter.
  • DataTop Offset: The distance between rebar from the top face of the structure.
  • DataBottom Offset: The distance between rebar from the bottom face of the structure.
  • DataDiameter: Diameter of the main rebars.

Scripting

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

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

Create Two Ties Six Rebars

RebarGroup = makeTwoTiesSixRebars(
    l_cover_of_ties,
    r_cover_of_ties,
    t_cover_of_ties,
    b_cover_of_ties,
    offset_of_ties,
    bent_angle_of_ties,
    extension_factor_of_ties,
    dia_of_ties,
    number_spacing_check,
    number_spacing_value,
    dia_of_main_rebars,
    t_offset_of_rebars,
    b_offset_of_rebars,
    main_rebars_type="StraightRebar",
    hook_orientation="Top Inside",
    hook_extend_along="x-axis",
    l_rebar_rounding=None,
    hook_extension=None,
    ties_sequence=("Tie1", "Tie2"),
    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_ties, r_cover_of_ties, t_cover_of_ties, b_cover_of_ties and offset_of_ties 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.
  • bent_angle_of_ties define the angle of the tip of the reinforcement loop of tie elements.
  • extension_factor_of_ties define the length of the tip of the reinforcement loop of tie elements, expressed in times the diameter of tie elements.
  • dia_of_ties is the diameter of the tie elements.
  • number_spacing_check if it is True it will create as many two ties sets as given by number_spacing_value; if it is False it will create two ties sets separated by the numerical value of number_spacing_value.
  • number_spacing_value specifies the number of two ties sets, or the value of the separation between the sets, depending on number_spacing_check.
  • dia_of_main_rebars is the diameter of the main rebars.
  • t_offset_of_rebars and b_offset_of_rebars are inner offset distances for the main rebars with respect to the top and bottom faces of the structure, respectively.
  • main_rebars_type is the type of the main rebars; it can be "StraightRebar" or "LShapeRebar".
  • hook_orientation specifies the orientation of LShaped hook; it can be: "Top Inside", "Top Outside", "Bottom Inside", "Bottom Outside", "Top Right", "Top Left", "Bottom Right" or "Bottom Left".
  • hook_extend_along specifies direction for hook extension; it can be "x-axis" or "y-axis".
  • l_rebar_rounding is the parameter that determines the bending radius of the LShaped main rebars, expressed as times the diameter.
  • hook_extension is the length of hook of LShaped rebars.
  • ties_sequence is the sequence of ties from top to bottom with respect to front view; it can be ("Tie1", "Tie2") or ("Tie2", "Tie1").

Example

import FreeCAD, Draft, Arch
from ColumnReinforcement import TwoTiesSixRebars

# It doesn't work if the structure is not based on a face
# Structure = Arch.makeStructure(length=1000, width=400, height=400)

Rect = Draft.makeRectangle(400, 400)
Structure = Arch.makeStructure(Rect, height=1600)
Structure.ViewObject.Transparency = 80
FreeCAD.ActiveDocument.recompute()

# For Straight Rebars
RebarGroup = TwoTiesSixRebars.makeTwoTiesSixRebars(
    l_cover_of_ties=40,        
    r_cover_of_ties=40,
    t_cover_of_ties=40,
    b_cover_of_ties=40,
    offset_of_ties=100,
    bent_angle_of_ties=135,
    extension_factor_of_ties=2,
    dia_of_ties=8,
    number_spacing_check=True,
    number_spacing_value=10,
    dia_of_main_rebars=16,
    t_offset_of_rebars=40,
    b_offset_of_rebars=40,
    main_rebars_type="StraightRebar",
    hook_orientation="Top Inside",
    hook_extend_along="x-axis",
    l_rebar_rounding=None,
    hook_extension=None,
    ties_sequence=("Tie1", "Tie2"),
    structure=Structure,
    facename="Face6",
)

# For LShaped Rebars with hook along x-axis
RebarGroup = TwoTiesSixRebars.makeTwoTiesSixRebars(
    l_cover_of_ties=40,
    r_cover_of_ties=40,
    t_cover_of_ties=40,
    b_cover_of_ties=40,
    offset_of_ties=100,
    bent_angle_of_ties=135,
    extension_factor_of_ties=2,
    dia_of_ties=8,
    number_spacing_check=True,
    number_spacing_value=10,
    dia_of_main_rebars=16,
    t_offset_of_rebars=-40,
    b_offset_of_rebars=-40,
    main_rebars_type="LShapeRebar",
    hook_orientation="Top Outside",
    hook_extend_along="x-axis",
    l_rebar_rounding=2,
    hook_extension=40,
    ties_sequence=("Tie1", "Tie2"),
    structure=Structure,
    facename="Face6",
)

# For LShaped Rebars with hook along y-axis and tie sequence ("Tie2", "Tie1")

RebarGroup = TwoTiesSixRebars.makeTwoTiesSixRebars(
    l_cover_of_ties=40,        
    r_cover_of_ties=40,
    t_cover_of_ties=40,
    b_cover_of_ties=40,
    offset_of_ties=100,
    bent_angle_of_ties=135,
    extension_factor_of_ties=2,
    dia_of_ties=8,
    number_spacing_check=True,
    number_spacing_value=10,
    dia_of_main_rebars=16,
    t_offset_of_rebars=-40,
    b_offset_of_rebars=-40,
    main_rebars_type="LShapeRebar",
    hook_orientation="Top Outside",
    hook_extend_along="y-axis",
    l_rebar_rounding=2,
    hook_extension=40,
    ties_sequence=("Tie2", "Tie1"),
    structure=Structure,
    facename="Face6",
)

Edition of Two Ties Six Rebars

You can change the properties of the ties and rebars with the following function:

rebar_group = editTwoTiesSixRebars(
    rebar_group,
    l_cover_of_ties,
    r_cover_of_ties,
    t_cover_of_ties,
    b_cover_of_ties,
    offset_of_ties,
    bent_angle_of_ties,
    extension_factor_of_ties,
    dia_of_ties,
    number_spacing_check,
    number_spacing_value,
    dia_of_main_rebars,
    t_offset_of_rebars,
    b_offset_of_rebars,
    main_rebars_type="StraightRebar",
    hook_orientation="Top Inside",
    hook_extend_along="x-axis",
    l_rebar_rounding=None,
    hook_extension=None,
    ties_sequence=("Tie1", "Tie2"),
    structure=None,
    facename=None,
)
  • rebar_group is a previously created ColumnReinforcement group object.
  • The other parameters are the same as required by the makeSingleTieFourRebars() function.
  • structure and facename may be omitted so that the rebar stays in the original structure.

Example

from ColumnReinforcement import TwoTiesSixRebars

rebar_group = TwoTiesSixRebars.editTwoTiesSixRebars(
    rebar_group,                                
    l_cover_of_ties=40,        
    r_cover_of_ties=40,
    t_cover_of_ties=40,
    b_cover_of_ties=40,
    offset_of_ties=100,
    bent_angle_of_ties=135,
    extension_factor_of_ties=2,
    dia_of_ties=8,
    number_spacing_check=True,
    number_spacing_value=10,
    dia_of_main_rebars=16,
    t_offset_of_rebars=-40,
    b_offset_of_rebars=-40,
    main_rebars_type="LShapeRebar",
    hook_orientation="Top Outside",
    hook_extend_along="x-axis",
    l_rebar_rounding=2,
    hook_extension=40,
    ties_sequence=("Tie2", "Tie1"),
    structure=None,
    facename=None,
)