The 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.
Frame object created from a Draft Array of a Draft Line, using a Draft Circle as profile
- Create a layout object and a profile object, for example with the Draft Workbench or the Sketcher Workbench.
- Select the layout object first, then, with Ctrl pressed, select the profile object.
- Press the 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 is any object containing wires, like a Draft Wire, or a Draft Array 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)
- Elements: Wall, Structure, Roof, Window, Door, Stairs, Space, Frame, Equipment; Pipe, Pipe Connector; Schedule
- Reinforcements: Rebar; Straight Rebar, UShape Rebar, LShape Rebar, Bent Shape Rebar, Stirrup Rebar, Helical Rebar
- Panels: Panel, Panel Cut, Panel Sheet, Nest
- Materials: Material, Multi-Material
- Organization: Site, Reference, Building, Floor, Building Part, Section Plane
- Axes: Axis, Axes system, Grid
- Utilities: Component, Clone component, Split Mesh, Mesh To Shape, Select non-solid meshes, Remove Shape, Close Holes, Merge Walls, Check, Ifc Explorer, Toggle IFC Brep flag, 3 Views from mesh, Create IFC spreadsheet, Toggle Subcomponents
- Additional: Preferences, Import-Export Preferences (IFC, DAE, OBJ, JSON, 3DS); Arch API
- Installation: Linux/Unix, Windows, Mac, Docker, AppImage; Getting started
- Basics: About FreeCAD, Workbenches, Preferences, Document structure, Interface Customization, Properties, Mouse Model; Tutorials
- Workbenches: Std Base; Arch, Draft, FEM, Image, Inspection, Mesh, OpenSCAD, Part, PartDesign, Path, Plot, Points, Raytracing, Reverse Engineering, Robot, Ship, Sketcher, Spreadsheet, Start, Surface workbench, TechDraw, Test Framework, Web
- Scripting: Introduction to Python, FreeCAD scripting tutorial, FreeCAD Scripting Basics, How to install macros, Gui Command, Units Modules: Builtin modules, Workbench creation, Installing more workbenches Meshes: Mesh Scripting, Mesh Module Parts: The Part Module, Topological data scripting, PythonOCC, Mesh to Part Coin scenegraph: The Coin/Inventor scenegraph, Pivy Qt interface: PySide, Using the FreeCAD GUI, Dialog creation Parametric objects: Scripted objects Other: Code snippets, Line drawing function, Embedding FreeCAD, FreeCAD vector math library, Power users hub, Python, Macros, FreeCAD Scripting Basics, Topological data scripting