Interface

Introduction
The FreeCAD interface is based on Qt, a well known graphical user interface toolkit, particularly used in Linux, but also available in Windows and MacOS.



The main window of the application can be roughly divided into 10 sections:
 * 1) 3D view
 * 2) Upper part of the combo view, which includes the tree view and task panel
 * 3) Lower part of the combo view, which includes the property editor
 * 4) Selection view
 * 5) Report view
 * 6) Python console
 * 7) Status bar
 * 8) Toolbar area, see the following information on the toolbars
 * 9) Workbench selector, which itself is a toolbar
 * 10) Standard menu

Components of the interface
Like many pieces of software, FreeCAD includes a standard menu bar, and then a series of toolbars and panels where the user tools are found.

Menus
The standard menus are: Std_File_Menu, Std_Edit_Menu, Std_View_Menu, Std_Tools_Menu, Std_Macro_Menu, Std_Windows_Menu, Std_Help_Menu.

Toolbars
The standard toolbars that appear in the interface are:
 * File toolbar: tools to work with files, open documents, copy, paste, undo and redo actions.
 * Workbench toolbar: it contains a single widget to select the active workbench.
 * Macro toolbar: tools to record, edit, and execute macros.
 * View toolbar: tools to control how objects appear in the 3D view.
 * Structure toolbar: tools to organize objects in the document, and create links to additional documents.

These can be turned on and off by right clicking on an empty space on one of the toolbars and choosing the desired element, or from the menu,.

Panels
The main panels that allow working with objects are:
 * 3D view: the area where 2D and 3D geometry is drawn.
 * Combo view: the panel that contains the tree view, the task panel, and the property editor.
 * Tree view: the element that shows all objects in the document and their parametric history.
 * Task panel: the panel that shows different actions and options depending on the drawing tool selected.
 * Property editor: the place where object properties are modified.
 * Selection view: the panel that shows elements that are currently selected.
 * Report view: the text box that shows different messages from the application and its tools.
 * Python console: the editor that allows running Python code interactively to see results in the 3D view.
 * Status bar: the bar that shows certain messages from the application, and that has the mouse navigation selector.
 * DAG view: an alternative to the tree view, which shows the relationships between different objects through a graph.

With the exception of the 3D view, all can be turned on and off by right clicking on an empty space on one of the top toolbars and choosing the desired element, or from the menu,.

To activate and deactivate the status bar use the menu,.

Other
Other useful interfaces and windows include:
 * Scene inspector: a panel that shows the Coin3D nodes that make up the scenegraph. For power users and developers, it may be useful to troubleshoot operations that manipulate the scene directly, and the objects created in the 3D view.
 * Dependency graph: a window showing the dependency graph of all the objects in the document, created with the auxiliary program Graphviz. It is helpful to recognize problems in the creation of objects, such as circular dependencies, which may not be entirely evident from the tree view or the DAG view.

Customization
Toolbars can have more or fewer buttons, and custom toolbars can be created with a mix of different tools, and to store developed macros.

These options are in the menu,. See interface customization.