Arch Frame

    From FreeCAD Documentation

    Arch Frame.svg Arch Frame

    Menu location
    Arch → Frame
    Default shortcut
    F R
    Introduced in version
    See also
    Arch Wall, Arch Structure


    The Arch Frame.svg Arch Frame tool is used to build all kinds of frame objects based on a profile and a layout. The profile is extruded along the edges of the layout, which can be any 2D object such as a sketch, or a Draft object. It is especially useful to create railings, or frame walls. Frame objects can then easily be turned into wall or structure objects.

    Arch Frame example.jpg

    Frame object created from a Draft OrthoArray of a Draft Line, using a Draft Circle as profile


    1. Create a layout object and a profile object, for example with the Draft Workbench or the Sketcher Workbench.
    2. Select the layout object first, then, with Ctrl pressed, select the profile object.
    3. Press the Arch Frame.svg Arch Frame button, or press F then R keys.


    • Frames share the common properties and behaviours of all Arch Components
    • The frame object can be placed at a certain distance from the layout object, by setting its Offset property
    • The profile will be copied at the base of each edge of the layout object, then extruded along it. You can control how the profile is placed at the base of each edge with the Align and Rotation properties.


    • DataBase: The layout this frame is based on.
    • DataProfile: The profile this frame is based on.
    • DataAlign: Specifies if the profile must be rotated to have its normal axis aligned with each edge.
    • DataOffset: An optional distance between the layout object and the frame object.
    • DataRotation: The rotation of the profile around its extrusion axis.


    See also: Arch API and FreeCAD Scripting Basics.

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

    Frame = makeFrame(baseobj, profile)
    • Creates a Frame object from the given baseobj and profile.
      • baseobj is any object containing wires, like a Draft Wire, or a Draft OrthoArray with a collection of them.
      • profile is an extrudable 2D object containing faces or closed wires.


    import Draft, Arch
    Line = Draft.makeLine(FreeCAD.Vector(0, 0, 0), FreeCAD.Vector(0, 0, 2000))
    baseobj = Draft.makeArray(Line, FreeCAD.Vector(1000, 0, 0), FreeCAD.Vector(0, 1, 0), 6, 1)
    profile = Draft.makeCircle(200)
    Frame = Arch.makeFrame(baseobj, profile)