Arch Rebar LShape

    From FreeCAD Documentation

    Arch Rebar LShape.svg Arch Rebar LShape

    Menu location
    Arch → Rebar tools → L-Shape Rebar
    3D/BIM → Reinforcement tools → L-Shape Rebar
    Arch, BIM
    Default shortcut
    Introduced in version
    See also
    Reinforcement, Arch Rebar, Arch Rebar Bent


    The LShape Rebar tool allows the user to create a set of L-shaped reinforcing bars inside an Arch Structure object.

    The LShape Rebar tool is also integrated into BIM Workbench.

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

    Arch Rebar LShape example.png

    Four sets of L-shaped reinforcement bars inside an Arch Structure


    1. Select any face of a previously created Arch Structure.svg Arch Structure object.
    2. Then select Arch Rebar LShape.svg LShape Rebar from the rebar tools.
    3. A task panel will pop-out on the left side of the screen as shown below.
    4. Select the desired orientation.
    5. Populate the inputs like 'Left Cover', Right Cover, Top Cover, 'Bottom Cover', 'Front Cover', 'Bent Angle', 'Bent Factor', 'Rounding' and 'Diameter' of the rebar.
    6. Select the mode of distribution either 'Amount' or 'Spacing'.
    7. Pick Selected Face is used to verify or change the face for rebar distribution.
    8. Click OK or Apply to generate the rebars.
    9. Click Cancel to exit the task panel.

    Taskview panel for the Arch Rebar LShape tool


    • DataOrientation: It decides the orientation of the rebar (like a bottom, top, right and left).
    • DataFront Cover: The distance between rebar and selected face.
    • DataRight Cover: The distance between the right end of the rebar to right face of the structure.
    • DataLeft Cover: The distance between the left end of the rebar to the left face of the structure.
    • DataBottom Cover: The distance between rebar from the bottom face of the structure.
    • DataTop Cover: The distance between rebar from the top face of the structure.
    • DataRounding: A rounding value to be applied to the corners of the bars, expressed in times the diameter.
    • DataAmount: The amount of rebars.
    • DataSpacing: The distance between the axes of each bar.


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

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

    Rebar = makeLShapeRebar(f_cover, b_cover, l_cover, r_cover,
                            diameter, t_cover, rounding, amount_spacing_check, amount_spacing_value, orientation="Bottom Left",
                            structure=None, facename=None):
    • Creates a Rebar 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.
    • f_cover, b_cover, l_cover, r_cover, and t_cover are inner offset distances for the rebar elements with respect to the faces of the structure. They are respectively the front, bottom, left, right, and top offsets.
    • diameter is the diameter of the reinforcement bars inside the structure.
    • rounding is the parameter that determines the bending radius of the reinforcement bars.
    • amount_spacing_check if it is True it will create as many reinforcement bars as given by amount_spacing_value; if it is False it will create reinforcement bars separated by the numerical value of amount_spacing_value.
    • amount_spacing_value specifies the number of reinforcement bars, or the value of the separation between them, depending on amount_spacing_check.
    • orientation specifies the orientation of the rebar; it can be "Bottom Right", "Bottom Left", "Top Right", or "Top Left".


    import FreeCAD, Arch, LShapeRebar
    Structure = Arch.makeStructure(length=1000, width=1000, height=400)
    Structure.ViewObject.Transparency = 80
    Rebar = LShapeRebar.makeLShapeRebar(50, 20, 20, 20,
                                        8, 50, 4, True, 6, "Bottom Left", Structure, "Face4")
    Rebar.ViewObject.ShapeColor = (0.9, 0.0, 0.0)
    Rebar2 = LShapeRebar.makeLShapeRebar(50, 50, 20, 20,
                                         8, 50, 4, True, 6, "Bottom Left", Structure, "Face6")
    Rebar2.ViewObject.ShapeColor = (0.0, 0.0, 0.9)

    Edition of the rebar

    You can change the properties of the rebar with the following function

    editLShapeRebar(Rebar, f_cover, b_cover, l_cover, r_cover,
                    diameter, t_cover, rounding, amount_spacing_check, amount_spacing_value, orientation,
                    structure=None, facename=None)
    • Rebar is a previously created LShapeRebar object.
    • The other parameters are the same as required by the makeLShapeRebar() function.
    • structure and facename may be omitted so that the rebar stays in the original structure.
    import LShapeRebar
    LShapeRebar.editLShapeRebar(Rebar, 50, 50, 20, 20,
                                12, 50, 6, True, 5, "Top Right")
    LShapeRebar.editLShapeRebar(Rebar2, 50, 50, 20, 20,
                                12, 70, 6, True, 5, "Top Right")