Reinforcement BeamRebars: Difference between revisions
Suraj Dadral (talk | contribs) No edit summary |
Suraj Dadral (talk | contribs) No edit summary |
||
(8 intermediate revisions by the same user not shown) | |||
Line 39: | Line 39: | ||
[[Image:BeamReinforcementDialog_TopRebars.png|700px]] |
[[Image:BeamReinforcementDialog_TopRebars.png|700px]] |
||
{{Caption|Dialog Box for Top Rebars data}} |
{{Caption|Dialog Box for Top Rebars data}} |
||
7. |
7. Set data for top rebars. <br> |
||
- To edit Number#Diameter@Offset value, click on edit button next to Number#Diameter@Offset label. A dialog box will pop-out as shown below. <br> |
- To edit Number#Diameter@Offset value, click on edit button next to Number#Diameter@Offset label. A dialog box will pop-out as shown below. <br> |
||
[[Image:Beam_TopReinforcement_NumberDiameterOffset.png|500px]] <br> |
[[Image:Beam_TopReinforcement_NumberDiameterOffset.png|500px]] <br> |
||
- To edit Rebar Type value, click on edit button next to Rebar Type label. A dialog box will pop-out as shown below. <br> |
- To edit Rebar Type value, click on edit button next to Rebar Type label. A dialog box will pop-out as shown below. <br> |
||
[[Image:Beam_TopReinforcement_RebarType.png|300px]] <br> |
[[Image:Beam_TopReinforcement_RebarType.png|300px]] <br> |
||
- To edit Hook Orientation value, click on edit button next to Hook Orientation label. A dialog box will pop-out as shown below. <br> |
|||
[[Image:Beam_TopReinforcement_HookOrientation.png|300px]] <br> |
|||
- To edit Hook Extension value, click on edit button next to Hook Extension label. A dialog box will pop-out as shown below. <br> |
|||
[[Image:Beam_TopReinforcement_HookExtension.png|300px]] <br> |
|||
- To edit LRebar Rounding value, click on edit button next to Rounding label. A dialog box will pop-out as shown below. <br> |
|||
[[Image:Beam_TopReinforcement_LRebarRounding.png|300px]] <br> |
|||
- To edit Layer Spacing value, click on edit button next to Layer Spacing label. A dialog box will pop-out as shown below. <br> |
|||
[[Image:Beam_TopReinforcement_LayerSpacing.png|300px]] <br> |
|||
8. Click next and dialog box will be updated as shown below. <br> |
8. Click next and dialog box will be updated as shown below. <br> |
||
[[Image:BeamReinforcementDialog_BottomRebars.png|700px]] |
[[Image:BeamReinforcementDialog_BottomRebars.png|700px]] |
||
{{Caption|Dialog Box for Bottom Rebars data}} |
{{Caption|Dialog Box for Bottom Rebars data}} |
||
9. |
9. Set data for bottom rebars similar to top rebars data. <br> |
||
10. Click next and dialog box will be updated as shown below. <br> |
10. Click next and dialog box will be updated as shown below. <br> |
||
[[Image:BeamReinforcementDialog_LeftRebars.png|700px]] |
[[Image:BeamReinforcementDialog_LeftRebars.png|700px]] |
||
{{Caption|Dialog Box for Left Shear Rebars data}} |
{{Caption|Dialog Box for Left Shear Rebars data}} |
||
11. |
11. Set data for left shear rebars. <br> |
||
- To edit Number#Diameter@Offset value, click on edit button next to Number#Diameter@Offset label. A dialog box will pop-out as shown below. <br> |
|||
[[Image:Beam_ShearReinforcement_NumberDiameterOffset.png|500px]] <br> |
|||
- To edit Rebar Type value, click on edit button next to Rebar Type label. A dialog box will pop-out as shown below. <br> |
|||
[[Image:Beam_ShearReinforcement_RebarType.png|300px]] <br> |
|||
- To edit Hook Orientation value, click on edit button next to Hook Orientation label. A dialog box will pop-out as shown below. <br> |
|||
[[Image:Beam_ShearReinforcement_HookOrientation.png|300px]] <br> |
|||
- To edit Hook Extension value, click on edit button next to Hook Extension label. A dialog box will pop-out as shown below. <br> |
|||
[[Image:Beam_ShearReinforcement_HookExtension.png|300px]] <br> |
|||
- To edit LRebar Rounding value, click on edit button next to Rounding label. A dialog box will pop-out as shown below. <br> |
|||
[[Image:Beam_ShearReinforcement_LRebarRounding.png|300px]] <br> |
|||
12. Click next and dialog box will be updated as shown below. <br> |
12. Click next and dialog box will be updated as shown below. <br> |
||
[[Image:BeamReinforcementDialog_RightRebars.png|700px]] |
[[Image:BeamReinforcementDialog_RightRebars.png|700px]] |
||
{{Caption|Dialog Box for |
{{Caption|Dialog Box for Right Shear Rebars data}} |
||
13. |
13. Set data for right shear rebars similar to left shear rebars data. <br> |
||
14. Click {{Button|OK}} or {{Button|Apply}} to generate beam reinforcement. <br> |
14. Click {{Button|OK}} or {{Button|Apply}} to generate beam reinforcement. <br> |
||
15. Click {{Button|Cancel}} to exit the dialog box. <br> |
15. Click {{Button|Cancel}} to exit the dialog box. <br> |
||
Line 63: | Line 81: | ||
<!--T:7--> |
<!--T:7--> |
||
''' |
'''Stirrups:''' |
||
* {{PropertyData|Left Cover}}: The distance between the left end of the |
* {{PropertyData|Left Cover}}: The distance between the left end of the stirrup to the left face of the structure. |
||
* {{PropertyData|Right Cover}}: The distance between the right end of the |
* {{PropertyData|Right Cover}}: The distance between the right end of the stirrup to right face of the structure. |
||
* {{PropertyData|Top Cover}}: The distance between |
* {{PropertyData|Top Cover}}: The distance between stirrup from the top face of the structure. |
||
* {{PropertyData|Bottom Cover}}: The distance between |
* {{PropertyData|Bottom Cover}}: The distance between stirrup from the bottom face of the structure. |
||
* {{PropertyData|Offset}}: The distance between |
* {{PropertyData|Offset}}: The distance between stirrup from the top/bottom face of the structure. |
||
* {{PropertyData|Diameter}}: Diameter of the |
* {{PropertyData|Diameter}}: Diameter of the stirrup. |
||
* {{PropertyData|Bent Angle}}: Bent angle defines the angle at the ends of a |
* {{PropertyData|Bent Angle}}: Bent angle defines the angle at the ends of a stirrup. |
||
* {{PropertyData|Extension Factor}}: Extension Factor defines length of end of |
* {{PropertyData|Extension Factor}}: Extension Factor defines length of end of stirrup, expressed in times the diameter. |
||
* {{PropertyData|Number}}: The number of |
* {{PropertyData|Number}}: The number of stirrup. |
||
* {{PropertyData|Spacing}}: The distance between the axes of each |
* {{PropertyData|Spacing}}: The distance between the axes of each stirrup. |
||
'''Main Rebars:''' Rebars present at corners of tie |
|||
* {{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. |
|||
'''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. |
|||
''' |
'''Top/Bottom Reinforcement Rebars:''' Rebars present at top/bottom side of beam |
||
* {{PropertyData|NumberDiameterOffset}}: A tuple of Number#Diameter@Offset string. Each element of tuple represents reinforcement for each new layer. |
|||
* {{PropertyData|Rebar Type}}: Type of y-direction rebars. |
|||
* {{PropertyData| |
* {{PropertyData|Rebar Type}}: List of tuple of type of reinforcement bars. |
||
* {{PropertyData|Hook |
* {{PropertyData|Hook Orientation}}: List of tuple of orientation of LShaped hooks. |
||
* {{PropertyData| |
* {{PropertyData|Hook Extension}}: List of tuple of length of hook of LShaped rebars. |
||
* {{PropertyData| |
* {{PropertyData|Rounding}}: List of tuple of a rounding value to be applied to the corners of the LShape rebars, expressed in times the diameter. |
||
* {{PropertyData| |
* {{PropertyData|Layer Spacing}}: List of spacing between two consecutive reinforcement layers. |
||
* {{PropertyData|Number#Diameter}}: Number#Diameter set of the y-direction rebars. |
|||
'''Left/Right Reinforcement Rebars:''' Rebars present at left/right side of beam |
|||
* {{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--> |
==Scripting== <!--T:8--> |
||
Line 111: | Line 116: | ||
The BeamReinforcement tool can be used in [[macros]] and from the [[Python]] console by using the following function: |
The BeamReinforcement tool can be used in [[macros]] and from the [[Python]] console by using the following function: |
||
=== Create |
=== Create Two Legged Stirrups === |
||
</translate> |
</translate> |
||
{{Code|code= |
{{Code|code= |
||
RebarGroup = |
RebarGroup = makeReinforcement( |
||
l_cover_of_stirrup, |
|||
r_cover_of_stirrup, |
|||
t_cover_of_stirrup, |
|||
b_cover_of_stirrup, |
|||
offset_of_stirrup, |
|||
bent_angle, |
bent_angle, |
||
extension_factor, |
extension_factor, |
||
dia_of_stirrup, |
|||
number_spacing_check, |
number_spacing_check, |
||
number_spacing_value, |
number_spacing_value, |
||
top_reinforcement_number_diameter_offset, |
|||
dia_of_rebars, |
|||
top_reinforcement_rebar_type, |
|||
t_offset_of_rebars, |
|||
top_reinforcement_layer_spacing, |
|||
b_offset_of_rebars, |
|||
bottom_reinforcement_number_diameter_offset, |
|||
rebar_type="StraightRebar", |
|||
bottom_reinforcement_rebar_type, |
|||
hook_orientation="Top Inside", |
|||
bottom_reinforcement_layer_spacing, |
|||
hook_extend_along="x-axis", |
|||
left_rebars_number_diameter_offset, |
|||
l_rebar_rounding=None, |
|||
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, |
structure=None, |
||
facename=None, |
facename=None, |
||
) |
|||
).rebar_group |
|||
}} |
}} |
||
Line 143: | Line 164: | ||
* 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]], 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| |
* {{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. |
* {{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, expressed in times the diameter. |
* {{incode|extension_factor}} define the length of the tip of the reinforcement loop of stirrup, expressed in times the diameter. |
||
* {{incode| |
* {{incode|dia_of_stirrup}} is the diameter of the stirrup. |
||
* {{incode|number_spacing_check}} if it is {{incode|True}} it will create as many |
* {{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 |
* {{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. |
|||
* {{incode|dia_of_rebars}} is the diameter of the main rebars. |
|||
Syntax: ( |
|||
* {{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. |
|||
"number1#diameter1@offset1+number2#diameter2@offset2+...", |
|||
* {{incode|rebar_type}} is the type of the main rebars; it can be {{incode|"StraightRebar"}} or {{incode|"LShapeRebar"}}. |
|||
"number3#diameter3@offset3+number4#diameter4@offset4+...", |
|||
* {{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|top_reinforcement_rebar_type}} and {{incode|bottom_reinforcement_rebar_type}} specifies type of top/bottom reinforcement bars. |
|||
* {{incode|hook_extension}} is the length of hook of LShaped rebars. |
|||
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 ==== |
==== Example ==== |
||
Line 161: | Line 216: | ||
{{Code|code= |
{{Code|code= |
||
import FreeCAD, Draft, Arch |
import FreeCAD, Draft, Arch |
||
from BeamReinforcement import |
from BeamReinforcement import TwoLeggedBeam |
||
<translate> |
<translate> |
Revision as of 18:24, 18 August 2019
Arch Rebar ColumnReinforcement |
Menu location |
---|
Arch → Rebar tools |
Workbenches |
Arch, BIM |
Default shortcut |
None |
Introduced in version |
0.19 |
See also |
ColumnReinforcement TwoTiesSixRebars, Arch Rebar |
Description
The Beam Reinforcement tool allows the user to create reinforcing bars inside a Beam Arch Structure object.
This command is part of the Reinforcement Addon, that you can install with the Addon Manager via the menu Tools → Addon manager → Reinforcement.
Beam Reinforcement inside a Beam Arch Structure
How to use
1. Select right face of a previously created beam Arch Structure object along x-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 Arch Rebar BeamReinforcement tool
4. Select the desired type of beam reinforcement.
5. Give inputs for data related to stirrups.
6. Click next and 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 edit button next to Number#Diameter@Offset label. A dialog box will pop-out as shown below.
- To edit Rebar Type value, click on edit button next to Rebar Type label. A dialog box will pop-out as shown below.
- To edit Hook Orientation value, click on edit button next to Hook Orientation label. A dialog box will pop-out as shown below.
- To edit Hook Extension value, click on edit button next to Hook Extension label. A dialog box will pop-out as shown below.
- To edit LRebar Rounding value, click on edit button next to Rounding label. A dialog box will pop-out as shown below.
- To edit Layer Spacing value, click on edit button next to Layer Spacing label. A dialog box will pop-out as shown below.
8. Click next and 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 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 edit button next to Number#Diameter@Offset label. A dialog box will pop-out as shown below.
- To edit Rebar Type value, click on edit button next to Rebar Type label. A dialog box will pop-out as shown below.
- To edit Hook Orientation value, click on edit button next to Hook Orientation label. A dialog box will pop-out as shown below.
- To edit Hook Extension value, click on edit button next to Hook Extension label. A dialog box will pop-out as shown below.
- To edit LRebar Rounding value, click on edit button next to Rounding label. A dialog box will pop-out as shown below.
12. Click next and 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 top/bottom 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 BeamReinforcement 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 givenstructure
, which is an Arch Structure, andfacename
, which is a face of that structure.- If no
structure
norfacename
are given, it will take the user selected face as input.
- If no
l_cover_of_stirrup
,r_cover_of_stirrup
,t_cover_of_stirrup
,b_cover_of_stirrup
andoffset_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 isTrue
it will create as many stirrup as given bynumber_spacing_value
; if it isFalse
it will create stirrup separated by the numerical value ofnumber_spacing_value
.number_spacing_value
specifies the number of stirrups, or the value of the separation between them, depending onnumber_spacing_check
.top_reinforcement_number_diameter_offset
andbottom_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
andbottom_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
andbottom_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
andright_rebars_number_diameter_offset
are string of number_diameter_offset.
Syntax: "number1#diameter1@offset1+number2#diameter2@offset2+..."
left_rebars_type
andright_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
andright_rebars_spacing
is clear spacing between consecutive reinforcement bars.top_reinforcement_l_rebar_rounding
andbottom_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 fortop_reinforcement_rebar_type
/bottom_reinforcement_rebar_type
.top_reinforcement_hook_extension
andbottom_reinforcement_hook_extension
is the length of hook of LShaped rebars. Possible syntax are similar to as discussed above fortop_reinforcement_rebar_type
/bottom_reinforcement_rebar_type
.top_reinforcement_hook_orientation
andbottom_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 fortop_reinforcement_rebar_type
/bottom_reinforcement_rebar_type
.left_l_rebar_rounding
andright_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 forleft_rebars_type
/right_rebars_type
.left_rebars_hook_extension
andright_rebars_hook_extension
is the length of hook of LShaped rebars. Possible syntax are similar to as discussed above forleft_rebars_type
/right_rebars_type
.left_rebars_hook_orientation
andright_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 forleft_rebars_type
/right_rebars_type
.
Example
import FreeCAD, Draft, Arch
from BeamReinforcement import TwoLeggedBeam
# 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 givenstructure
, which is an Arch Structure, andfacename
, which is a face of that structure.- If no
structure
norfacename
are given, it will take the user selected face as input.
- If no
l_cover_of_tie
,r_cover_of_tie
,t_cover_of_tie
,b_cover_of_tie
andoffset_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 isTrue
it will create as many ties as given bynumber_spacing_value
; if it isFalse
it will create ties separated by the numerical value ofnumber_spacing_value
.number_spacing_value
specifies the number of ties, or the value of the separation between them, depending onnumber_spacing_check
.dia_of_main_rebars
is the diameter of the main rebars.main_rebars_t_offset
andmain_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
andsec_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 BeamReinforcement 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 createdBeamReinforcement
group object.- The other parameters are the same as required by the
makeSingleTieFourRebars()
function. structure
andfacename
may be omitted so that the rebar stays in the original structure.
Example
from BeamReinforcement 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 createdBeamReinforcement
group object.- The other parameters are the same as required by the
makeSingleTieMultipleRebars()
function. structure
andfacename
may be omitted so that the reinforcement stays in the original structure.
Example
from BeamReinforcement 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,
)
- Elements: Wall, Structure, Curtain Wall, Window, Roof, Space, Stairs, Equipment, Frame, Fence, Truss, Profile, Pipe, Pipe Connector
- Reinforcements: Straight Rebar, U-Shape Rebar, L-Shape Rebar, Stirrup, Bent-Shape Rebar, Helical Rebar, Column Reinforcement, Beam Reinforcement, Slab Reinforcement, Footing Reinforcement, Custom Rebar
- Panels: Panel, Panel Cut, Panel Sheet, Nest
- Materials: Material, Multi-Material
- Organization: Building Part, Project, Site, Building, Level, External reference, Section Plane, Schedule
- Axes: Axis, Axes system, Grid
- Modification: Cut with plane, Add component, Remove component, Survey
- Utilities: Component, Clone component, Split Mesh, Mesh to Shape, Select non-manifold meshes, Remove Shape from Arch, Close Holes, Merge Walls, Check, Toggle IFC Brep flag, 3 Views from mesh, Create IFC spreadsheet, Toggle Subcomponents
- Additional: Preferences, Import Export Preferences (IFC, DAE, OBJ, JSON, 3DS, SHP), IfcOpenShell, IfcPlusPlus, Arch API
- Getting started
- Installation: Download, Windows, Linux, Mac, Additional components, Docker, AppImage, Ubuntu Snap
- Basics: About FreeCAD, Interface, Mouse navigation, Selection methods, Object name, Preferences, Workbenches, Document structure, Properties, Help FreeCAD, Donate
- Help: Tutorials, Video tutorials
- Workbenches: Std Base, Arch, Assembly, CAM, Draft, FEM, Inspection, Mesh, OpenSCAD, Part, PartDesign, Points, Reverse Engineering, Robot, Sketcher, Spreadsheet, Start, Surface, TechDraw, Test Framework, Web
- Hubs: User hub, Power users hub, Developer hub