Reinforcement ColumnRebars: Difference between revisions

From FreeCAD Documentation
m (formatting tweaks)
No edit summary
(5 intermediate revisions by 4 users not shown)
Line 2: Line 2:
<translate>
<translate>
<!--T:1-->
<!--T:1-->
{{docnav
{{Docnav
|[[Arch_Rebar_Circular_ColumnReinforcement|Circular Column Reinforcement]]
|[[Arch_Rebar_Circular_ColumnReinforcement|Circular Column Reinforcement]]
|[[Arch_Rebar_ColumnReinforcement_TwoTiesSixRebars|ColumnReinforcement TwoTiesSixRebars]]
|[[Arch_Rebar_ColumnReinforcement_TwoTiesSixRebars|ColumnReinforcement TwoTiesSixRebars]]
|[[Arch_Module|Arch]]
|[[Arch_Module|Arch]]
|IconL=Arch_Rebar_ColumnReinforcement.svg
|IconL=Arch_Rebar_ColumnReinforcement.svg
|IconC=Workbench_Arch.svg
|IconR=Arch_Rebar_ColumnReinforcement.svg
|IconR=Arch_Rebar_ColumnReinforcement.svg
|IconC=Workbench_Arch.svg
}}
}}


Line 14: Line 14:
{{GuiCommand
{{GuiCommand
|Name=Arch Rebar ColumnReinforcement
|Name=Arch Rebar ColumnReinforcement
|MenuLocation=Arch → Rebar tools
|MenuLocation=Arch → Rebar tools → Column Reinforcement or 3D/BIM → Reinforcement → Column Reinforcement
|Workbenches=[[Arch Workbench|Arch]], [[BIM Workbench|BIM]]
|Workbenches=[[Arch_Workbench|Arch]], [[BIM_Workbench|BIM]]
|SeeAlso=[[Arch_Rebar_Helical|Helical Rebar]], [[Arch_Rebar_ColumnReinforcement_TwoTiesSixRebars|ColumnReinforcement TwoTiesSixRebars]]
|Version=0.19
|Version=0.19
|SeeAlso=[[Reinforcement_Workbench|Reinforcement]], [[Arch_Rebar|Arch Rebar]], [[Arch_Rebar_Helical|Arch Helical Rebar]], [[Arch_Rebar_ColumnReinforcement_TwoTiesSixRebars|Arch ColumnReinforcement TwoTiesSixRebars]]
}}
}}


Line 23: Line 23:


<!--T:38-->
<!--T:38-->
The [[Arch Rebar ColumnReinforcement|Column Reinforcement]] tool allows the user to create reinforcing bars inside a Column [[Arch Structure|Arch Structure]] object.
The [[Arch_Rebar_ColumnReinforcement|Column Reinforcement]] tool allows the user to create reinforcing bars inside a Column [[Arch Structure|Arch Structure]] object.

<!--T:67-->
The [[Arch_Rebar_ColumnReinforcement|Column Reinforcement]] tool is also integrated into [[BIM_Workbench|BIM Workbench]].


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


</translate>
</translate>
Line 54: Line 57:
<!--T:62-->
<!--T:62-->
7. Select desired rebar type and fill data for main rebars. <br>
7. Select desired rebar type and fill data for main rebars. <br>
8. Click {Button|Next}} and the dialog box will be updated as shown below. <br></translate>
8. Click {{Button|Next}} and the dialog box will be updated as shown below. <br></translate>
[[Image:ColumnReinforcementDialog_XDirRebars.png|700px]]<translate>
[[Image:ColumnReinforcementDialog_XDirRebars.png|700px]]<translate>
<!--T:63-->
<!--T:63-->
Line 61: Line 64:
<!--T:64-->
<!--T:64-->
9. Select desired rebar type and fill data for xdirection rebars. <br>
9. Select desired rebar type and fill data for xdirection rebars. <br>
10. Click {Button|Next}} and the dialog box will be updated as shown below. <br></translate>
10. Click {{Button|Next}} and the dialog box will be updated as shown below. <br></translate>
[[Image:ColumnReinforcementDialog_YDirRebars.png|700px]]<translate>
[[Image:ColumnReinforcementDialog_YDirRebars.png|700px]]<translate>
<!--T:65-->
<!--T:65-->
Line 543: Line 546:


<!--T:21-->
<!--T:21-->
{{docnav
{{Docnav
|[[Arch_Rebar_Circular_ColumnReinforcement|Circular Column Reinforcement]]
|[[Arch_Rebar_Circular_ColumnReinforcement|Circular Column Reinforcement]]
|[[Arch_Rebar_ColumnReinforcement_TwoTiesSixRebars|ColumnReinforcement TwoTiesSixRebars]]
|[[Arch_Rebar_ColumnReinforcement_TwoTiesSixRebars|ColumnReinforcement TwoTiesSixRebars]]
|[[Arch_Module|Arch]]
|[[Arch_Module|Arch]]
|IconL=Arch_Rebar_ColumnReinforcement.svg
|IconL=Arch_Rebar_ColumnReinforcement.svg
|IconC=Workbench_Arch.svg
|IconR=Arch_Rebar_ColumnReinforcement.svg
|IconR=Arch_Rebar_ColumnReinforcement.svg
|IconC=Workbench_Arch.svg
}}
}}



Revision as of 14:06, 29 November 2020

Arch Rebar ColumnReinforcement

Menu location
Arch → Rebar tools → Column Reinforcement or 3D/BIM → Reinforcement → Column Reinforcement
Workbenches
Arch, BIM
Default shortcut
None
Introduced in version
0.19
See also
Reinforcement, Arch Rebar, Arch Helical Rebar, Arch ColumnReinforcement TwoTiesSixRebars

Description

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

The Column Reinforcement tool is also integrated into BIM Workbench.

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

Column Reinforcement inside a Column Arch Structure

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 desired type of column reinforcement.
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 Next and the dialog box will be updated as shown below.

Dialog Box for XDirection Rebars data

9. Select desired rebar type and fill data for xdirection rebars.
10. Click Next and the dialog box will be updated as shown below.

Dialog Box for YDirection Rebars data

11. Select desired rebar type and fill data for ydirection rebars.
12. Click OK or Apply to generate column reinforcement.
13. 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.

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.

XDir Secondary Rebars: Rebars along x-direction except main rebars

  • DataRebar Type: Type of x-direction rebars.
  • DataHook Orientation: Orientation of LShaped hooks.
  • 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.
  • DataNumber#Diameter: Number#Diameter set of the x-direction rebars.

YDir Secondary Rebars: Rebars along y-direction except main rebars

  • DataRebar Type: Type of y-direction rebars.
  • DataHook Orientation: Orientation of LShaped hooks.
  • 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.
  • DataNumber#Diameter: Number#Diameter set of the y-direction rebars.


Scripting

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

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

Create Single Tie Four Rebars

RebarGroup = makeSingleTieFourRebars(
    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,
).rebar_group
  • 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_tie, r_cover_of_tie, t_cover_of_tie, b_cover_of_tie and 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.
  • bent_angle define the angle of the tip of the reinforcement loop.
  • extension_factor define the length of the tip of the reinforcement loop, expressed in times the diameter.
  • dia_of_tie is the diameter of the ties.
  • number_spacing_check if it is True it will create as many ties as given by number_spacing_value; if it is False it will create ties separated by the numerical value of number_spacing_value.
  • number_spacing_value specifies the number of ties, or the value of the separation between them, depending on number_spacing_check.
  • dia_of_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.
  • rebar_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.

Example

import FreeCAD, Draft, Arch
from ColumnReinforcement import SingleTie

# 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 = SingleTie.makeSingleTieFourRebars(
    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="StraightRebar",
    hook_orientation="Top Inside",
    hook_extend_along="x-axis",
    l_rebar_rounding=None,
    hook_extension=None,
    structure=Structure,
    facename="Face6",
).rebar_group

# For LShaped Rebars with hook along x-axis

RebarGroup = SingleTie.makeSingleTieFourRebars(
    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="x-axis",
    l_rebar_rounding=2,
    hook_extension=40,
    structure=Structure,
    facename="Face6",
).rebar_group

# For LShaped Rebars with hook along y-axis

RebarGroup = SingleTie.makeSingleTieFourRebars(
    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


Create Single Tie Multiple Rebars

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,
)
  • 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_tie, r_cover_of_tie, t_cover_of_tie, b_cover_of_tie and 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.
  • bent_angle define the angle of the tip of the reinforcement loop.
  • extension_factor define the length of the tip of the reinforcement loop, expressed in times the diameter.
  • dia_of_tie is the diameter of the ties.
  • number_spacing_check if it is True it will create as many ties as given by number_spacing_value; if it is False it will create ties separated by the numerical value of number_spacing_value.
  • number_spacing_value specifies the number of ties, or the value of the separation between them, depending on number_spacing_check.
  • dia_of_main_rebars is the diameter of the main rebars.
  • main_rebars_t_offset and main_rebars_b_offset 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".
  • main_hook_orientation specifies the orientation of main LShaped hook; it can be: "Top Inside", "Top Outside", "Bottom Inside", "Bottom Outside", "Top Right", "Top Left", "Bottom Right" or "Bottom Left".
  • main_hook_extend_along specifies direction for main hook extension; it can be "x-axis" or "y-axis".
  • l_main_rebar_rounding is the parameter that determines the bending radius of the LShaped main rebars, expressed as times the diameter.
  • main_hook_extension is the length of hook of main LShaped rebars.
  • sec_rebars_t_offset and 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.
  • 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.
  • 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 "StraightRebar" or "LShapeRebar" as rebar type.
  • 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 "Top Inside", "Top Outside", "Bottom Inside", "Bottom Outside", "Top Right", "Top Left", "Bottom Right" or "Bottom Left" as hook_orientation.
  • 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.
  • 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

import FreeCAD, Draft, Arch
from ColumnReinforcement import SingleTieMultipleRebars

# 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()

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",
)

Edition of Single Tie Four Rebars

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

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,
)
  • 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 SingleTie

rebar_group = SingleTie.editSingleTieFourRebars(
    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_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,
)

Edition of Single Tie Multiple Rebars

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

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,
)
  • rebar_group is a previously created ColumnReinforcement group object.
  • The other parameters are the same as required by the makeSingleTieMultipleRebars() function.
  • structure and facename may be omitted so that the reinforcement stays in the original structure.

Example

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,
)