BIM Workbench

Introduction
The BIM workbench is an external workbench aimed at implementing complete Building Information Modeling (BIM) tools and workflow in FreeCAD. It currently looks much like the built-in Arch Workbench. The general idea, however, is to work as a "meta workbench", and gather in one place different tools from other workbenches that are useful to BIM, and create a workflow that is more convenient, easy and user-friendly to both experienced BIM users coming from other software like Revit or ArchiCAD and newcomers alike. The BIM workbench also features a couple of tools on its own, that are mostly wizards and management tools, located under the Management menu.



Installing
The BIM workbench is not bundled with the default FreeCAD package, but can easily be installed via menu. The BIM workbench code is hosted and developed on github and can also be installed manually by copying it into FreeCAD's MOD directory. The BIM workbench is a work in progress, and will change often. Be sure to update it regularly!

Getting started


Upon starting the BIM workbench for the first time, a welcome dialog is shown, giving a quick overview of how the workbench works, and allowing the user to start an in-game tutorial. The welcome dialog is also available from the help menu. When the welcome screen is closed by clicking OK, the BIM setup dialog will be shown, that allows the user to quickly set some of the most common BIM-related preferences of FreeCAD without the need to browse through the full FreeCAD preferences pages.

The BIM project setup tool allows you to quickly setup a BIM project by filling some basic information about your project. You can then, for example, use the different 2D drafting tools to sketch guidelines and baselines, then use the different 3D modeling tools to build 3D BIM objects on top of it.

If you are used to another BIM application, check our BIM application compatibility table to get your marks when starting with FreeCAD.

Tools
The BIM workbench gather tools from several other FreeCAD workbenches, mainly Draft, Arch and Part, roughly reorganized in logical categories: 2D drafting, 3D modeling, annotation and modification tools. The manage category contains tools that are specific to the BIM workbench.

Additionally, if such addons are installed, tools from Reinforcement (extra reinforcing bar tools), Fasteners (bolts and screws), Flamingo (metal structure and piping tools) and Parts Library are automatically included in the BIM workbench.

The BIM workbench also adds a series of items in the status bar of FreeCAD, and a couple of context menu items, accessible by right-clicking in the 3D view or in the tree view.

Control bar
This toolbar, inherited from the Draft Workbench, offer a couple of controls to easily set up your work space for the next operations:


 * [[Image:Draft_SelectPlane.svg|32px]] Working plane: Sets the working plane, either from a selected face or 3 vertices or working plane proxy, or by choosing from a menu if nothing is selected.
 * [[Image:Draft_ToggleConstructionMode.svg|32px]] Construction mode: When turned on, new objects will be automatically added to a special construction group, which allows you to easily hide them later on
 * Line color: Sets the line color of next objects or of selected objects
 * Face color: Sets the face color of next objects or of selected objects
 * Line width: Sets the line width of next objects or of selected objects
 * Text size: Sets the font size of next [Draft Text|texts]] or dimensions or of selected ones
 * Layer: Sets the current layer
 * [[Image:Draft_ApplyStyle.svg|32px]] Apply: applies the current line width, line color and face color to selected objects.

2D drafting
2D objects are commonly used as drafting aids, or to draw base lines and profiles to build BIM objects on. Most BIM objects such as walls or columns can be created from a selected 2D profile. They can also be used to draw symbols and annotations in your model. 2D objects will be drawn on the current working plane.


 * [[Image:Sketcher_NewSketch.png‎‎|32px]] Sketch: Creates‎ a new sketch and enters sketch drawing mode
 * [[Image:Draft_Line.png|32px]] Line: Draws a line segment between 2 points
 * [[Image:Draft_Wire.png|32px]] Wire: Draws a line made of multiple line segments (polyline)
 * [[Image:Draft_Circle.png|32px]] Circle: Draws a circle from center and radius
 * [[Image:Draft_Arc.png|32px]] Arc: Draws an arc segment from center, radius, start angle and end angle
 * [[Image:Draft_Ellipse.png|32px]] Ellipse: Draws an ellipse from two corner points
 * [[Image:Draft_Polygon.png|32px]] Polygon: Draws a regular polygon from a center and a radius
 * [[Image:Draft_Rectangle.png|32px]] Rectangle: Draws a rectangle from 2 opposite points
 * [[Image:Draft_BSpline.png|32px]] BSpline: Draws a B-Spline from a series of points
 * [[Image:Draft_CubicBezCurve.svg|32px]] Cubic Bezier Curve: draws a Bezier curve of third degree by dragging two points.
 * [[Image:Draft_BezCurve.png|32px]] Bezier Curve: Draws a Bezier curve from a series of points
 * [[Image:Draft_Point.png|32px]] Point: Inserts a point object

Annotation
Annotations are visual helper objects that can be placed inside your model. They can be used to export your model directly to a 2D format like DXF, or reused when creating 2D views of your model with the TechDraw Workbench.


 * [[Image:Draft_Text.png|32px]] Text: Draws a multi-line text annotation
 * [[Image:Draft_ShapeString.png|32px]] ShapeString: The ShapeString tool inserts a compound shape representing a text string at a given point in the current document
 * [[Image:Draft_Dimension.png|32px]] Dimension: Draws a dimension annotation
 * [[Image:Draft_Label.png|32px]] Label: Places a label with an arrow pointing to a selected element
 * [[Image:Arch_Axis.png|32px]] Axis: Creates a 1-direction series of axes. Can also be used to create individual axes
 * [[Image:Arch_AxisSystem.png|32px]] Axes system: Combines 2 or 3 axes into a 2- or 3-dimensional axes system
 * [[Image:Arch_Grid.png|32px]] Axis and grid tools: Grid: Creates a grid-like object that can be used as a base for assemblies like curtain walls or windows
 * [[Image:Arch_SectionPlane.png|32px]] Section Plane: Adds a section plane object to the document. Section planes define 2D views such as plans, sections and elevations

3D / BIM modeling
3D and BIM objects are the real-world elements that will compose your BIM project.


 * [[Image:Arch_Project.svg|32px]] Project: Creates a project
 * [[Image:Arch_Site.png|32px]] Site: Creates a site
 * [[Image:Arch_Building.png|32px]] Building: Creates a building
 * [[Image:Arch_BuildingPart.png|32px]] Building Part: Creates a building part. Building parts are commonly used to make levels/storeys or any kind of assembly of other BIM objects
 * [[Image:Arch_Space.png|32px]] Space: Creates a space object
 * [[Image:Arch_Reference.png|32px]] Reference: Links objects from another FreeCAD file into this document
 * [[Image:Arch_Wall.png|32px]] Wall: Creates a wall from scratch or from a selected object such as a baseline or footprint
 * [[Image:BIM_Column.svg|32px]] Column: Creates a structural element in column mode (1-point placement) from a preset or using a selected object as a base profile
 * [[Image:BIM_Beam.svg|32px]] Beam: Creates a structural element in beam mode (2-point drawing) from a preset or using a selected object as a base profile
 * [[Image:BIM_Slab.svg|32px]] Slab: Creates a structural element using a selected object as a base profile
 * [[Image:Arch_Rebar_Straight.png|32px]] [[Image:Arch_Rebar_UShape.png|32px]] [[Image:Arch_Rebar_LShape.png|32px]] [[Image:Arch_Rebar_BentShape.png|32px]] [[Image:Arch_Rebar_Stirrup.png|32px]] [[Image:Arch_Rebar_Helical.png|32px]] [[Image:Arch_Rebar.png|32px]] Rebar: Creates a reinforcement bar in a selected structural element using a sketch. Requires the Reinforcement addon
 * [[Image:Arch_Window.png|32px]] Window: Creates a window object using a window preset
 * [[Image:BIM_Door.svg|32px]] Door: Creates a window object using a door preset
 * [[Image:Arch_Pipe.png|32px]] [[Image:Arch_PipeConnector.png|32px]] Pipe tools: Creates pipes and corner or tee connection between 2 or 3 selected pipes
 * [[Image:Arch_Stairs.png|32px]] Stairs: Creates a stairs object in the document
 * [[Image:Arch_Roof.png|32px]] Roof: Creates a sloped roof from a selected face
 * [[Image:Arch_Panel.png|32px]] [[Image:Arch_Panel_Cut.png|32px]] [[Image:Arch_Panel_Sheet.png|32px]] Panel tools: Creates panel objects, and 2D cutouts from these panels
 * [[Image:BIM Library.png|32px]] [[Image:Arch_Equipment.png|32px]] Library: Inserts an equipment or furniture object. Requires the Parts Library addon
 * [[Image:Arch_Frame.png|32px]] Frame: Creates a frame object from a selected layout
 * [[Image:BIM_Box.png|32px]] Box: Draws a box by specifying its dimensions graphically
 * [[Image:Part_Shapebuilder.png|32px]] Shapebuilder: A tool to create more complex shapes from various parametric geometric primitives
 * [[Image:Draft_Facebinder.png|32px]] Facebinder: Creates a new object from selected faces on existing objects

Modification tools

 * [[Image:Draft_Move.png|32px]] Move: Moves object(s) from one location to another
 * [[Image:BIM_Copy.png|32px]] Copy: Copies object(s) from one location to another
 * [[Image:Draft_Rotate.png|32px]] Rotate: Rotates object(s) from a start angle to an end angle
 * [[Image:Draft_Clone.png|32px]] Clone: Clones the selected objects
 * [[Image:Draft_Offset.png|32px]] Offset: Moves segments of an object about a certain distance
 * [[Image:Part_Offset2D.png|32px]] 2D Offset: Constructs a parallel wire at certain distance from original, or enlarges/shrinks a planar face ((parametric version)
 * [[Image:Draft_Trimex.png|32px]] Trim/Extend (Trimex): Trims or extends an object
 * [[Image:Draft_Scale.png|32px]] Scale: Scales selected object(s) around a base point
 * [[Image:Draft_Stretch.png|32px]] Stretch: Stretches the selected objects
 * [[Image:Draft_Array.png|32px]] Array: Creates a polar or rectangular array from selected objects
 * [[Image:Draft_PathArray.png|32px]] Path Array: Creates an array of objects by placing the copies along a path
 * [[Image:Draft_Mirror.png|32px]] Mirror: Mirrors the selected objects
 * [[Image:Part_Extrude.png|32px]] Extrude: Extrudes planar faces of an object
 * [[Image:Part_Cut.png|32px]] Cut: Cuts (subtracts) one object from another
 * [[Image:Part_Union.png|32px]] Union: Fuses (unions) two objects
 * [[Image:Part_Common.png|32px]] Common: Extracts the common (intersection) part of two objects
 * [[Image:Part_MakeCompound.png|32px]] Compound: Creates a compound from the selected objects
 * [[Image:Tree_Part.svg|32px]] Simple copy: Creates a non-parametric copy of a selected object
 * [[Image:Draft_Upgrade.png|32px]] Upgrade: Joins objects into a higher-level object
 * [[Image:Draft_Downgrade.png|32px]] Downgrade: Explodes objects into lower-level objects
 * [[Image:Draft_Shape2DView.png|32px]] Shape 2D View: Creates a 2D object which is a flattened 2D view of another 3D object
 * [[Image:Draft_Draft2Sketch.png|32px]] Draft to Sketch: Converts a Draft object to Sketch and vice-versa
 * [[Image:Arch_CutPlane.png|32px]] Cut with plane: Cut an object according to a plan.
 * [[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

Management tools

 * [[Image:BIM Setup.png|32px]] BIM setup: Configures some of the FreeCAD preferences most commonly used for BIM
 * [[Image:BIM Project.png|32px]] Project setup: Allows to create some basic objects such as a site, a building and axes by filling basic project information.
 * [[Image:BIM Levels.png|32px]] Levels manager: Manage the levels of your project
 * [[Image:BIM Windows.png|32px]] Windows manager: Manage the doors and windows of your project
 * [[Image:BIM IfcElements.png|32px]] IFC elements manager: Manage how the different elements of your project will be exported to IFC
 * [[Image:BIM Views.png|32px]] Views manager: Opens a window that contains the different views and levels of your project, for quick access
 * [[Image:BIM Classification.png|32px]] Classification manager: Manage how objects and materials of your project relate to classifications systems such as Uniclass
 * [[Image:Arch_SetMaterial.png|32px]] [[Image:Arch_MultiMaterial.png|32px]] Material: Creates a material or multimaterial
 * [[Image:Arch_Schedule.png|32px]] Schedule: Creates different types of schedules