FreeCAD Logo FreeCAD 1.0
  • English Afrikaans Arabic Belarusian Catalan Czech German Greek Spanish Spanish Basque Finnish Filipino French Galician Croatian Hungarian Indonesian Italian Japanese Kabyle Korean Lithuanian Dutch Norwegian Bokmal Polish Portuguese Portuguese Romanian Russian Slovak Slovenian Serbian Swedish Turkish Ukrainian Valencian Vietnamese Chinese Chinese
  • Features
  • Download
  • Blog
  • Documentation
    Documentation index Getting started Users documentation The FreeCAD manual Workbenches documentation Python coding documentation C++ coding documentation Tutorials Frequently asked questions Privacy policy About FreeCAD
  • Contribute
    How to help Sponsor Report a bug Make a pull request Jobs and funding Contribution guidelines Developers handbook Translations
  • Community
    Code of conduct Forum The FPA GitHub GitLab Codeberg Mastodon Matrix IRC IRC via Webchat Gitter Discord Reddit Twitter Facebook LinkedIn Calendar
  • ♥ Donate

Donate

$
SEPA Information
Please set up your SEPA bank transfer to:
Beneficiary: The FreeCAD project association
IBAN: BE04 0019 2896 4531
BIC/SWIFT: GEBABEBBXXX
Bank agency: BNP Paribas Fortis
Address: Rue de la Station 64, 1360 Perwez, Belgium

While Stripe doesn't support monthly donations, you can still become a sponsor! Simply make a one-time donation equivalent to 12 months of support, and you'll gain access to the corresponding sponsoring tier. It's an easy and flexible way to contribute.

If you are not sure or not able to commit to a regular donation, but still want to help the project, you can do a one-time donation, of any amount.

Choose freely the amount you wish to donate one time only.

You can support FreeCAD by sponsoring it as an individual or organization through various platforms. Sponsorship provides a steady income for developers, allowing the FPA to plan ahead and enabling greater investment in FreeCAD. To encourage sponsorship, we offer different tiers, and unless you choose to remain anonymous, your name or company logo will be featured on our website accordingly.

from 1 USD / 1 EUR per month. You will not have your name displayed here, but you will have helped the project a lot anyway. Together, normal sponsors maintain the project on its feet as much as the bigger sponsors.

from 25 USD / 25 EUR per month. Your name or company name is displayed on this page.

from 100 USD / 100 EUR per month. Your name or company name is displayed on this page, with a link to your website, and a one-line description text.

from 200 USD / 200 EUR per month. Your name or company name and logo displayed on this page, with a link to your website and a custom description text. Companies that have helped FreeCAD early on also appear under Gold sponsors.

Instead of donating each month, you might find it more comfortable to make a one-time donation that, when divided by twelve, would give you right to enter a sponsoring tier. Don't hesitate to do so!

Choose freely the amount you wish to donate each month.

Please inform your forum name or twitter handle as a notein your transfer, or reach to us, so we can give you proper credits!


GuiCommand: Name: Reinforcement ColumnRebars MenuLocation: 3D/BIM , Reinforcement tools , Column Reinforcement Workbenches: Reinforcement_Workbench, BIM_Workbench Version: 0.19 SeeAlso: Reinforcement_ColumnRebars_TwoTiesSixRebars, Reinforcement_ColumnRebars_Circular

Reinforcement ColumnRebars

Description

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

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

Three usage examples are available:

  • Single tie rectangular column (see below)
  • Two ties six rebars rectangular column
  • Circular column
*Single tie reinforcement inside a [column](wiki-test2.php?gitpage=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:

  • Left Cover: The distance between the left end of the tie to the left face of the structure.

  • Right Cover: The distance between the right end of the tie to right face of the structure.

  • Top Cover: The distance between tie from the top face of the structure.

  • Bottom Cover: The distance between tie from the bottom face of the structure.

  • Offset: The distance between tie from the top/bottom face of the structure.

  • Diameter: Diameter of the tie.

  • Bent Angle: Bent angle defines the angle at the ends of a tie.

  • Extension Factor: Extension Factor defines length of end of tie, expressed in times the diameter.

  • Number: The number of ties.

  • Spacing: The distance between the axes of each tie.

Main Rebars: Rebars present at corners of tie

  • Rebar Type: Type of main rebars.

  • Hook Orientation: Orientation of LShaped hooks.

  • Hook Extend Along: Direction for hook extension.

  • Hook Extension: Length of hook of LShape rebars.

  • Rounding: A rounding value to be applied to the corners of the LShape rebars, expressed in times the diameter.

  • Top Offset: The distance between rebar from the top face of the structure.

  • Bottom Offset: The distance between rebar from the bottom face of the structure.

  • Diameter: Diameter of the main rebars.

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

  • Rebar Type: Type of x-direction rebars.

  • Hook Orientation: Orientation of LShaped hooks.

  • Hook Extension: Length of hook of LShape rebars.

  • Rounding: A rounding value to be applied to the corners of the LShape rebars, expressed in times the diameter.

  • Top Offset: The distance between rebar from the top face of the structure.

  • Bottom Offset: The distance between rebar from the bottom face of the structure.

  • Number#Diameter: Number#Diameter set of the x-direction rebars.

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

  • Rebar Type: Type of y-direction rebars.

  • Hook Orientation: Orientation of LShaped hooks.

  • Hook Extension: Length of hook of LShape rebars.

  • Rounding: A rounding value to be applied to the corners of the LShape rebars, expressed in times the diameter.

  • Top Offset: The distance between rebar from the top face of the structure.

  • Bottom Offset: The distance between rebar from the bottom face of the structure.

  • Number#Diameter: Number#Diameter set of the y-direction 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 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_angledefine the angle of the tip of the reinforcement loop.

  • extension_factordefine the length of the tip of the reinforcement loop, expressed in times the diameter.

  • dia_of_tieis the diameter of the ties.

  • number_spacing_checkif 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_valuespecifies the number of ties, or the value of the separation between them, depending on number_spacing_check.

  • dia_of_rebarsis the diameter of the main rebars.

  • t_offset_of_rebarsand 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_typeis the type of the main rebars; it can be "StraightRebar" or "LShapeRebar".

  • hook_orientationspecifies 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_alongspecifies direction for hook extension; it can be "x-axis" or "y-axis".

  • l_rebar_roundingis the parameter that determines the bending radius of the LShaped main rebars, expressed as times the diameter.

  • hook_extensionis 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_angledefine the angle of the tip of the reinforcement loop.

  • extension_factordefine the length of the tip of the reinforcement loop, expressed in times the diameter.

  • dia_of_tieis the diameter of the ties.

  • number_spacing_checkif 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_valuespecifies the number of ties, or the value of the separation between them, depending on number_spacing_check.

  • dia_of_main_rebarsis the diameter of the main rebars.

  • main_rebars_t_offsetand 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_typeis the type of the main rebars; it can be "StraightRebar" or "LShapeRebar".

  • main_hook_orientationspecifies 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_alongspecifies direction for main hook extension; it can be "x-axis" or "y-axis".

  • l_main_rebar_roundingis the parameter that determines the bending radius of the LShaped main rebars, expressed as times the diameter.

  • main_hook_extensionis the length of hook of main LShaped rebars.

  • sec_rebars_t_offsetand 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_diameteris 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_typeis 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_orientationis 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_roundingis 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_extensionis 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_groupis a previously created ColumnReinforcement group object.

  • The other parameters are the same as required by the makeSingleTieFourRebars() function.

  • structureand 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_groupis a previously created ColumnReinforcement group object.

  • The other parameters are the same as required by the makeSingleTieMultipleRebars() function.

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

??? documentation index > External_Command_Reference > Reinforcement > BIM > Reinforcement ColumnRebars

This page is retrieved from https://github.com/FreeCAD/FreeCAD-documentation/blob/main/wiki/Reinforcement_ColumnRebars.md

Get in touch!
Forum GitHub Mastodon Matrix IRC Gitter.im Discord Reddit Twitter Facebook LinkedIn

© The FreeCAD Team. Homepage image credits (top to bottom): ppemawm, r-frank, epileftric, regis, rider_mortagnais, bejant.

This project is supported by: , KiCad Services Corp. and other sponsors

GitHubImprove this page on GitHub