Sandbox:Online Help ToC v2

From FreeCAD Documentation
Jump to navigation Jump to search


This is the documentation website of FreeCAD. It is written by the community of FreeCAD users and developers, and is continuously being updated and extended. It might therefore contain errors, inaccuracies, or articles that describe functionality that is not yet available on the version you have installed. We try our best to fix these and make this documentation better, don't hesitate to help and contribute!

Getting started

FreeCAD is an open-source general purpose parametric 3D CAD modeler, made for product design, that is, anything you plan to build in the real world. It is mainly made for two categories of users: Professional users from the fields of mechanical engineering and product design but also from a wider range of uses around engineering, such as architecture or other engineering specialties, and also hobbyist and casual users who need a tool to model objects they want to build or 3D print. It can also be used by developers who wish to build their own application using FreeCAD as a base.

Modeling for product design is usually a complex task, where precision is important. FreeCAD is therefore also a complex tool with a fair learning curve. This documentation will hopefully help to make this learning phase an interesting and enjoyable experience.


The FreeCAD interface is based on the concept of workbenches. Workbenches are sets of tools typically designed for a specific task. Switching between these workbenches changes several parts of the FreeCAD interface such as toolbars and menus, while still working on the same document. Most of the tasks you will do in FreeCAD will require a specific workbench to be activated. Click the icons below to show the tools of each workbench.

  • The Part workbench provides basic tools for working with solid parts: primitives, such as cube and sphere, and simple geometric operations and boolean operations. The Part workbench provides the foundation of FreeCAD's geometry system, and is used by almost all other workbenches.
  • The Draft workbench provides tools to do basic 2D CAD drafting tasks: lines, circles, etc... and also provides generic handy tools that work with all FreeCAD objects, such as move, rotate or scale. It also provides several drawing aids, such as grid and snapping.
  • The Mesh workbench is dedicated to working with triangular meshes. Although these are not the primary type of geometry to work with in FreeCAD, meshes have a lot of uses, and are fully supported. This workbench contain many tools to work with, fix and analyze meshes.
  • The Part design workbench contains advanced tools to build solid parts from sketches. It also contains all the tools from the sketcher, and only produces solid geometry.
  • The Arch workbench contains tools to work with BIM projects (civil engineering and architecture). It also contains all the tools from the Draft workbench.
  • The Drawing workbench handles the creation and manipulation of 2D drawing sheets, used for displaying views of your 3D work in 2D. These sheets can then be exported to 2D applications or printed.
  • The Raytracing workbench offers tools to interface with external renderers such as povray or luxrender. Right from inside FreeCAD, this workbench allows you to produce high-quality renderings from your models.
  • The Image workbench features tools to work with bitmap images, and import bitmap images as planes in the FreeCAD document, so they can be used for tracing over.
  • The Spreadsheet workbench permits the creation and manipulation of spreadsheet data, that can be extracted from FreeCAD models.


The workbench system is not to be considered as a limitation to your freedom, but simply a way to organize large quantities of tools and offer different workflows inside a single application. They are however extensively customizable, so you can tailor your interface to your preferences and needs.


Strong support to python scripting is one of the main strengths of FreeCAD. Almost any part of the FreeCAD application is accessible to python scripting: the core application, the interface, the 3D view, and almost all of the modules functionality. Python scripting can be used from the FreeCAD python console, from macros, from external scripts or even from external applications, FreeCAD being importable as a python module.


The following articles will be useful to you if you wish to look deeper into the FreeCAD source code, modify it, compile FreeCAD yourself on your machine, or start developing another application using FreeCAD as a base.