Arch Workbench

Introduction
The Arch Workbench provides a modern Building Information Modelling (BIM) workflow to FreeCAD, with support for features like fully parametric architectural entities such as walls, beams, roofs, windows, stairs, pipes, and furniture. It supports industry foundation classes (IFC) files, and production of 2D floor plans in combination with the TechDraw Workbench.

The Arch Workbench imports all tools from the Draft Workbench, as it uses its 2D objects to build 3D parametric architectural objects. Nevertheless, Arch can also use solid shapes created with other workbenches like Part and  PartDesign.

The BIM functionality of FreeCAD is now progressively split into this Arch Workbench, which holds basic architectural tools, and the BIM Workbench, which is available from the  Addon Manager. This BIM Workbench adds a new interface layer on top of the Arch tools, with the aim of making the BIM workflow more intuitive and user-friendly. See FreeCAD BIM migration guide.

The developers of Draft, Arch, and BIM also collaborate with the greater OSArch community, with the ultimate goal of improving building design by using entirely free software.



Tools
These are tools for creating architectural objects.


 * [[Image:Arch_Wall.svg|32px]] Wall: Creates a wall from scratch or using a selected object (sketch or draft) as a base.


 * [[Image:Arch_Structure.svg|32px]] Structure: Creates a structural element from scratch or using a selected object as a base.


 * [[Image:Arch_CompRebarStraight.png|48px]] Rebar tools: These tools are only available if the Reinforcement Workbench has been installed via the Addon manager.


 * [[Image:Arch_Rebar_Straight.svg|32px]] Straight Rebar: Creates a straight reinforcement bar in a selected structural element.


 * [[Image:Arch_Rebar_UShape.svg|32px]] U-Shape Rebar: Creates a U-shape reinforcement bar in a selected structural element.


 * [[Image:Arch_Rebar_LShape.svg|32px]] L-Shape Rebar: Creates an L-shape reinforcement bar in a selected structural element.


 * [[Image:Arch_Rebar_Stirrup.svg|32px]] Stirrup: Creates a stirrup reinforcement bar in a selected structural element.


 * [[Image:Arch_Rebar_BentShape.svg|32px]] Bent-Shape Rebar: Creates a bent-shape reinforcement bar in a selected structural element.


 * [[Image:Arch_Rebar_Helical.svg|32px]] Helical Rebar: Creates a helical reinforcement bar in a selected structural element.


 * [[Image:Arch_Rebar_ColumnReinforcement.svg|32px]] Column Reinforcement: Creates reinforcement bars in a selected rectangular column.


 * [[Image:Arch_Rebar_BeamReinforcement.svg|32px]] Beam Reinforcement: Creates reinforcement bars in a selected beam.


 * [[Image:Arch_Rebar_Slab_Reinforcement.svg|32px]] Slab Reinforcement: Creates reinforcement bars in a selected slab.


 * [[Image:Arch_Rebar_Footing_Reinforcement.svg|32px]] Footing Reinforcement: Creates reinforcement bars inside a selected footing.


 * [[Image:Arch_Rebar.svg|32px]] Custom Rebar: Creates a custom reinforcement bar in a selected structural element using a sketch.


 * [[Image:Arch_CurtainWall.svg|32px]] Curtain Wall: Creates a curtain wall from scratch or using a selected object as a base.


 * [[Image:Arch_BuildingPart.svg|32px]] Building Part: Creates a building part including selected objects.


 * [[Image:Arch_Project.svg|32px]] Project: Creates a project including selected objects.


 * [[Image:Arch_Site.svg|32px]] Site: Creates a site including selected objects.


 * [[Image:Arch_Building.svg|32px]] Building: Creates a building including selected objects.


 * [[Image:Arch_Floor.svg|32px]] Level: Creates a floor including selected objects.


 * [[Image:Arch_Reference.svg|32px]] External reference: Links objects from another FreeCAD file into the current document.


 * [[Image:Arch_Window.svg|32px]] Window: Creates a window from scratch or using a selected object as a base.


 * [[Image:Arch_Roof.svg|32px]] Roof: Creates a sloped roof from a selected wire.


 * [[Image:Arch_CompAxis.png|48px]] Axis tools


 * [[Image:Arch_Axis.svg|32px]] Axis: Adds a 1-direction array of axes.


 * [[Image:Arch_AxisSystem.svg|32px]] Axis System: Adds an axis system composed of several axes.


 * [[Image:Arch_Grid.svg|32px]] Grid: Adds a grid-like object.


 * [[Image:Arch_SectionPlane.svg|32px]] Section Plane: Adds a section plane object.


 * [[Image:Arch_Space.svg|32px]] Space: Creates a space object.


 * [[Image:Arch_Stairs.svg|32px]] Stairs: Creates a stairs object.


 * [[Image:Arch_CompPanel.png|48px]] Panel tools


 * [[Image:Arch_Panel.svg|32px]] Panel: Creates a panel object from a selected 2D object.


 * [[Image:Arch_Panel_Cut.svg|32px]] Panel Cut: Creates a 2D cut view from a panel.


 * [[Image:Arch_Panel_Sheet.svg|32px]] Panel Sheet: Creates a 2D cut sheet including panel cuts or other 2D objects.


 * [[Image:Arch_Nest.svg|32px]] Nest: Allows to nest several flat objects inside a container shape.


 * [[Image:Arch_Equipment.svg|32px]] Equipment: Creates an equipment or furniture object.


 * [[Image:Arch_Frame.svg|32px]] Frame: Creates a frame object from a selected layout.


 * [[Image:Arch_Fence.svg|32px]] Fence: Creates a fence object from a selected post and path.


 * [[Image:Arch_Truss.svg|32px]] Truss: Creates a truss from a selected line or from scratch.


 * [[Image:Arch_Profile.svg|32px]] Profile: Creates a parametric 2D profile.


 * [[Image:Arch_CompSetMaterial.png|48px]] Material tools


 * [[Image:Arch_SetMaterial.svg|32px]] Material: Creates a material and attributes it to selected objects, if any.


 * [[Image:Arch_MultiMaterial.svg|32px]] Multi-Material: Creates a multi-material and attributes it to selected objects, if any.


 * [[Image:Arch_Schedule.svg|32px]] Schedule: Creates different types of schedules.


 * [[Image:Arch_CompPipe.png|48px]] Pipe tools


 * [[Image:Arch_Pipe.svg|32px]] Pipe: Creates a pipe.


 * [[Image:Arch_PipeConnector.svg|32px]] Connector: Creates a corner or T-connection between 2 or 3 selected pipes.

Modification tools
These are tools for modifying architectural objects.


 * [[Image:Arch_CutPlane.svg|32px]] Cut with plane: Cuts an object according to a plane.


 * [[Image:Arch_CutLine.svg|32px]] Cut with line: Cuts an object according to a line.


 * [[Image:Arch_Add.svg|32px]] Add component: Adds objects to a component.


 * [[Image:Arch_Remove.svg|32px]] Remove component: Subtracts or removes objects from a component.


 * [[Image:Arch_Survey.svg|32px]] Survey: Enters or leaves surveying mode.

Utilities
These are additional tools to help you in specific tasks.


 * [[Image:Arch_Component.svg|32px]] Component: Creates a non-parametric Arch component.


 * [[Image:Arch_CloneComponent.svg|32px]] Clone component: Produces Arch Components that are clones of selected Arch objects (not to be confused with Draft Clone).


 * [[Image:Arch_SplitMesh.svg|32px]] Split Mesh: Splits a selected mesh into separate components.


 * [[Image:Arch_MeshToShape.svg|32px]] Mesh to Shape: Converts a mesh into a shape, unifying coplanar faces.


 * [[Image:Arch_SelectNonSolidMeshes.svg|32px]] Select non-manifold meshes: Selects all non-manifold meshes from the current selection or from the document.


 * [[Image:Arch_RemoveShape.svg|32px]] Remove Shape from Arch: Turns cubic shape-based Arch object fully parametric.


 * [[Image:Arch_CloseHoles.svg|32px]] Close holes: Closes holes in a selected shape-based object.


 * [[Image:Arch_MergeWalls.svg|32px]] Merge Walls: Merge two or more walls.


 * [[Image:Arch_Check.svg|32px]] Check: Check if the selected objects are solids and don't contain defects.


 * [[Image:Arch_ToggleIfcBrepFlag.svg|32px]] Toggle IFC Brep flag: Forces a selected object to be exported as an IfcFacetedBrep.


 * [[Image:Arch_3Views.svg|32px]] 3 Views from mesh: Creates top, front and side views from a mesh.


 * [[Image:Arch_IfcSpreadsheet.svg|32px]] Create IFC spreadsheet...: Creates a spreadsheet to store IFC properties of an object.


 * [[Image:Arch_ToggleSubs.svg|32px]] Toggle subcomponents: Shows or hides the subcomponents of an Arch object.

Preferences

 * [[Image:Preferences-arch.svg|32px]] Preferences: preferences for the default appearance of walls, structures, rebars, windows, stairs, panels, pipes, grids and axes.

File formats

 * IFC: industry foundation classes
 * DAE: Collada mesh format
 * OBJ: OBJ mesh format (export only)
 * JSON: JavaScript Object Notation format (export only)
 * 3DS: 3DS format (import only)
 * SHP: GIS Shapefiles (import only)

API
The Arch module can be used in Python scripts and macros using the Arch Python API functions.

Tutorials

 * Migrating to FreeCAD from Revit
 * Architecture workflow: An example of how FreeCAD can begin to have its preliminary place in an architecture workflow.
 * Arch tutorial (v0.14)
 * Quick arch overview on Yorik's blog (v0.13)
 * Video presentation of the Arch workbench (2016)
 * Arch panel tutorial (v0.15)
 * BIM modeling chapter from the FreeCAD manual
 * Import from STL or OBJ
 * Export to STL or OBJ