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, structural elements, roofs, windows, stairs, pipes, and furniture. It supports industry foundation classes (IFC) data, and production of 2D floor plans in combination with the TechDraw Workbench.

The Arch Workbench includes all tools from the Draft Workbench as it uses 2D shapes as the base geometry to create architectural objects in 3D space. Sketches can also be used to define the base geometry of certain elements like doors and windows. The Arch Workbench can also use solid objects created with other workbenches like Part and PartDesign. In this case, the Arch tools set up an information layer on top of the existing solids, so that the solids can be correctly exported to IFC files.

The architectural capabilities of FreeCAD are augmented with the BIM Workbench, which includes this Arch Workbench as well as other tools to make building modelling more intuitive and user-friendly. The BIM Workbench is currently experimental and can be installed from the Addon Manager located in the menu.



Tools
These are tools for creating architectural objects.


 * [[Image:Arch_Wall.png|32px]] Wall: Creates a wall from scratch or using a selected object as a base
 * [[Image:Arch_Structure.png|32px]] Structural element: Creates a structural element from scratch or using a selected object as a base


 * Rebar tools
 * [[Image:Arch_Rebar_Straight.png|32px]] Straight Rebar: Creates a Straight reinforcement bar in a selected structural element
 * [[Image:Arch_Rebar_UShape.png|32px]] UShape Rebar: Creates a UShape reinforcement bar in a selected structural element
 * [[Image:Arch_Rebar_LShape.png|32px]] LShape Rebar: Creates a LShape reinforcement bar in a selected structural element
 * [[Image:Arch_Rebar_BentShape.png|32px]] Bent Shape Rebar: Creates a Bent Shape reinforcement bar in a selected structural element
 * [[Image:Arch_Rebar_Stirrup.png|32px]] Stirrup Rebar: Creates a Stirrup reinforcement bar in a selected structural element
 * [[Image:Arch_Rebar_Helical.png|32px]] Helical Rebar: Creates a Helical reinforcement bar in a selected structural element
 * [[Image:Arch_Rebar.png|32px]] Rebar: Creates a custom reinforcement bar in a selected structural element using a sketch


 * [[Image:Arch_Floor.png|32px]] Floor: Creates a floor including selected objects
 * [[Image:Arch_BuildingPart.png|32px]] Building Part: Creates a building part including selected objects
 * [[Image:Arch_Building.png|32px]] Building: Creates a building including selected objects
 * [[Image:Arch_Site.png|32px]] Site: Creates a site including selected objects
 * [[Image:Arch_Window.png|32px]] Window: Creates a window using a selected object as a base
 * [[Image:Arch_SectionPlane.png|32px]] Section Plane: Adds a section plane object to the document


 * Axis tools
 * [[Image:Arch_Axis.png|32px]] Axis: Adds a 1-direction array of axes to the document
 * [[Image:Arch_AxisSystem.png|32px]] Axes system: Adds an axes system composed of several axes to the document
 * [[Image:Arch_Grid.png|32px]] Grid: Adds a grid-like object to the document


 * [[Image:Arch_Roof.png|32px]] Roof: Creates a sloped roof from a selected face
 * [[Image:Arch_Space.png|32px]] Space: Creates a space object in the document
 * [[Image:Arch_Stairs.png|32px]] Stairs: Creates a stairs object in the document


 * Panel tools
 * [[Image:Arch_Panel.png|32px]] Panel: Creates a panel object from a selected 2D object
 * [[Image:Arch_Panel_Cut.png|32px]] Panel Cut: Creates a 2D cut view from a panel
 * [[Image:Arch_Panel_Sheet.png|32px]] Panel Sheet: Creates a 2D cut sheet including panel cuts or other 2D objects
 * [[Image:Arch_Nest.png|32px]] Nest: Allow to nest several flat objects inside a container shape


 * [[Image:Arch_Frame.png|32px]] Frame: Creates a frame object from a selected layout
 * [[Image:Arch_Equipment.png|32px]] Equipment: Creates an equipment or furniture object


 * Pipe tools
 * [[Image:Arch_Pipe.png|32px]] Pipe: Creates a pipe
 * [[Image:Arch_PipeConnector.png|32px]] Pipe Connector: Creates a corner or tee connection between 2 or 3 selected pipes


 * Material tools
 * [[Image:Arch_SetMaterial.png|32px]] Material: Creates a material and attributes it to selected objects, if any
 * [[Image:Arch_MultiMaterial.png|32px]] Multi-Material: Creates a multi-material and attributes it to selected objects, if any
 * [[Image:Arch_Schedule.png|32px]] Schedule: Creates different types of schedules

Modification tools
These are tools for modifying architectural objects.


 * [[Image:Arch_CutPlane.png|32px]] Cut with plane: Cut an object according to a plane.
 * [[Image:Arch_Add.png|32px]] Add component: Adds objects to a component
 * [[Image:Arch_Remove.png|32px]] Remove component: Subtracts or removes objects from a component
 * [[Image:Arch_Survey.png|32px]] Survey: Enters or leaves surveying mode

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


 * [[Image:Arch_Component.png|32px]] Component: Creates a non-parametric Arch component
 * [[Image:Arch_cloneComponent.png|32px]] Clone component:
 * [[Image:Arch_SplitMesh.png|32px]] Split Mesh: Splits a selected mesh into separate components
 * [[Image:Arch_MeshToShape.png|32px]] Mesh To Shape: Converts a mesh into a shape, unifying coplanar faces
 * [[Image:Arch_SelectNonSolidMeshes.png|32px]] Select non-solid meshes: Selects all non-solid meshes from the current selection or frm the document
 * [[Image:Arch_RemoveShape.png|32px]] Remove Shape: Turns cubic shape-based arch object fully parametric
 * [[Image:Arch_CloseHoles.png|32px]] Close Holes: Closes holes in a selected shape-based object
 * [[Image:Arch_MergeWalls.png|32px]] Merge Walls: Merge two or more walls
 * [[Image:Arch_Check.png|32px]] Check: Check if the selected objects are solids and don't contain defects
 * [[Image:Arch_IfcExplorer.png|32px]] Ifc Explorer: Browse the contents of an IFC file
 * [[Image:Arch_ToggleIfcBrepFlag.png|32px]] Toggle IFC Brep flag: Forces a selected object to be exported as an IfcFacetedBrep.
 * [[Image:Arch_3Views.png|32px]] 3 Views from mesh: Creates top, frontal and side views from a mesh.
 * [[Image:Arch_Schedule.png|32px]] Create IFC spreadsheet...:
 * [[Image:Arch_ToggleSubs.png|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)

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

Tutorials

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