Getting started: Difference between revisions

From FreeCAD Documentation
(The second part of the combo view displays the property editor, which allows you to view and modify properties of the selected objects.)
No edit summary
 
(61 intermediate revisions by 14 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
<translate>
<translate>

<!--T:52-->
<!--T:52-->
{{Docnav
{{docnav|Install on Mac|Mouse Model}}
|[[Installing_additional_components|Installing additional components]]
|[[Mouse_navigation|Mouse navigation]]
}}

</translate>
{{TOCright}}
<translate>


==Foreword== <!--T:3-->
==Foreword== <!--T:3-->


<!--T:4-->
<!--T:4-->
FreeCAD is a 3D CAD/CAE [[About FreeCAD|parametric modeling application]]. It is primarily made for mechanical design, but also serves all other uses where you need to model 3D objects with precision and control over modeling history.
FreeCAD is a 3D [[About_FreeCAD|parametric modeling application]]. It is primarily made for mechanical design, but also serves all other uses where you need to model 3D objects with precision and control over modeling history.


<!--T:5-->
<!--T:5-->
FreeCAD has been under development for some time now, and it offers you a large list of [[Feature_list|features]]. Capabilities are still missing, especially compared to commercial solutions, and may not be complete enough to use in most production environments, but it is powerful enough for most hobbyist use, and many smaller workshops. There is a fast-growing community of enthusiastic users who participate in the [http://forum.freecadweb.org/index.php FreeCAD forum], and you can find [https://forum.freecadweb.org/viewforum.php?f=24 many examples] of quality projects developed with FreeCAD there.
FreeCAD has been under development since 2002, and it offers a large list of [[Feature_list|features]]. Capabilities are still missing but it is powerful enough for hobbyist use, and small workshops. There is a fast-growing community of enthusiastic users who participate in the [http://forum.freecadweb.org/index.php FreeCAD forum], and you can find [https://forum.freecadweb.org/viewforum.php?f=24 many examples] of quality projects developed with FreeCAD there. See also, [[FreeCAD_used_in_production|FreeCAD used in production]].


<!--T:6-->
<!--T:6-->
Like all open-source projects, the FreeCAD project is not a one-way work delivered to you by its developers. It depends much on its community to grow, gain features, and stabilize (get bugs fixed). So don't forget this when using FreeCAD; if you like it, you can directly influence and [[help FreeCAD]]!
Like all free software projects, FreeCAD depends on its community to grow, gain features, and fix bugs. Don't forget this when using FreeCAD; if you like it, you can [[Donate|donate]] and [[Help_FreeCAD|help FreeCAD]] in various ways, such as writing documentation and making translations.

<!--T:57-->
See also:

<!--T:58-->
* [[Migrating_to_FreeCAD_from_Fusion360|Migrating to FreeCAD from Fusion360]]
* [[Which_workbench_should_I_choose|Which workbench should I choose?]]
* [[Tutorials|Tutorials]]
* [[Video_tutorials|Video tutorials]]


==Installing== <!--T:7-->
==Installing== <!--T:7-->


<!--T:8-->
<!--T:8-->
First of all, download and install FreeCAD. See the [[Download]] page for information on current versions and updates, and the [[Installing]] page for installation instructions. There are install packages ready for Windows (.msi), Debian and Ubuntu (.deb), openSUSE (.rpm), and Mac OSX. FreeCAD is available from the package managers of many other Linux distributions. A standalone [https://appimage.org/ AppImage] executable is also available, which will run on most recent 64-bit Linux systems. As FreeCAD is open-source, you can also grab the source code and [[Compiling|compile]] it yourself.
First of all, download and install FreeCAD. See the [[Download|Download]] page for information on current versions and updates, and the installation instructions for you operating system ([[Installing_on_Windows|Windows]], [[Installing_on_Linux|Linux]] or [[Installing_on_Mac|macOS]]). FreeCAD is available from the package managers of many Linux distributions. As FreeCAD is open-source, you can also grab the source code and [[Compiling|compile]] it yourself.


==Exploring FreeCAD== <!--T:9-->
==Exploring the interface== <!--T:9-->

<!--T:59-->
[[File:FreeCAD_interface_base_divisions.svg|1024px]]


<!--T:10-->
<!--T:10-->
{{Caption|The standard FreeCAD interface}}
[[File:FreeCAD_interface.png|1024px|center]]
{{Caption|align=center|Standard FreeCAD interface in 0.19.}}


<!--T:11-->
<!--T:11-->
{{Emphasis|See a full explanation in [[Interface|Interface]].}}
# The [[3D view|3D view]], showing the geometrical objects in the document.
:1. The [[main_view_area|main view area]], which can contain different tabbed windows, principally the [[3D_view|3D view]].
# The [[combo view|combo view]], showing the [[tree view|tree view]] with the hierarchy and construction history of objects in the document; it can also display the [[task panel|task panel]] for active commands.
:2. The [[3D_view|3D view]], showing the geometrical objects in the document.
# The second part of the combo view displays the [[property editor|property editor]], which allows you to view and modify properties of the selected objects.
:3. The [[tree_view|tree view]] (part of the [[combo_view|combo view]]), showing the hierarchy and construction history of objects in the document; it can also display the [[task_panel|task panel]] for active commands.
# The [[selection view|selection view]], which indicates the objects or sub-elements of objects (vertices, edges, faces) that are selected.
:4. The [[property_editor|property editor]] (part of the [[combo_view|combo view]]), which allows viewing and modifying properties of the selected objects.
# The [[report view|report view]] (or output window), where FreeCAD prints messages, warnings and errors.
:5. The [[selection_view|selection view]], which indicates the objects or sub-elements of objects (vertices, edges, faces) that are selected.
# The [[Python console|Python console]], where all the commands executed by FreeCAD are printed, and where you can enter Python code.
# The [[Workbenches|workbench selector]], where you select the active workbench.
:6. The [[report_view|report view]] (or output window), where messages, warnings and errors are shown.
:7. The [[Python_console|Python console]], where all the commands executed are printed, and where you can enter [[Python|Python]] code.
:8. The [[status_bar|status bar]], where some messages and tooltips appear.
:9. The toolbar area, where the toolbars are docked.
:10. The [[Std_Workbench|workbench selector]], where you select the active [[workbenches|workbench]].
:11. The [[Standard_Menu|standard menu]], which holds basic operations of the program.


<!--T:12-->
<!--T:12-->
The main concept behind the FreeCAD interface is that it is separated into [[workbenches]]. A workbench is a collection of tools suited for a specific task, such as working with [[Mesh Module|meshes]], or drawing [[Draft Module|2D objects]], or [[Sketcher Workbench|constrained sketches]]. You can switch the current workbench with the workbench selector (7). You can [[Interface Customization|customize]] the tools included in each workbench, add tools from other workbenches or even self-created tools, that we call [[macros]]. Widely used starting points are the [[PartDesign Workbench|PartDesign Workbench]] and [[Part Module|Part Workbench]].
The main concept behind the FreeCAD interface is that it is separated into [[workbenches|workbenches]]. A workbench is a collection of tools suited for a specific task, such as working with [[Mesh_Workbench|meshes]], or drawing [[Draft_Workbench|2D objects]], or [[Sketcher_Workbench|constrained sketches]]. You can switch the current workbench with the [[Std_Workbench|workbench selector]]. You can [[Interface_Customization|customize]] the tools included in each workbench, add tools from other workbenches or even self-created tools, that we call [[macros|macros]]. Widely used starting points are the [[PartDesign_Workbench|PartDesign Workbench]] and [[Part_Workbench|Part Workbench]].


<!--T:13-->
<!--T:13-->
When you start FreeCAD for the first time, you are presented with the start center. Here is what it looks like for version 0.16:
When you start FreeCAD for the first time, you are presented with the Start page. Here is what it looks like for version 0.19:


<!--T:14-->
<!--T:60-->
[[File:Start_center_0.19_screenshot.png|600px]]
[[Image:Startcenter.jpg|1024px|center]]
{{Caption|align=center|For FreeCAD 0.17 see this [[Media:Startcenter0.17.jpg|start center]] screenshot.}}


<!--T:15-->
<!--T:15-->
The Start Center allows you to quickly jump to one of the most common workbenches, open one of the recent files, or see the latest news from the FreeCAD world. You can change the default workbench in the [[Preferences Editor|preferences]].
The Start page allows you to quickly jump to one of the most common workbenches, open one of the recent files, or see the latest news from the FreeCAD world. You can change the default workbench in the [[Preferences_Editor|preferences]].


== Navigating in the 3D space == <!--T:16-->
== Navigating in the 3D space == <!--T:16-->


<!--T:17-->
<!--T:17-->
FreeCAD has several different [[Mouse Model|navigation modes]] available, that change the way you use your mouse to interact with the objects in the 3D view and the view itself. One of them is specifically made for [[Mouse Model#Touchpad Navigation|touchpads]], where the middle mouse button is not used. The following table describes the default mode, called '''CAD Navigation''' (You can quickly change the current navigation mode by right-clicking on an empty area of the 3D view):
FreeCAD has several [[Mouse_navigation|navigation modes]] available, that change the way you use your mouse to interact with the objects in the 3D view and the view itself. One of them is specifically made for [[Mouse_navigation#Touchpad_navigation|touchpads]], where the middle mouse button is not used. The default navigation mode is [[Mouse_navigation#CAD_navigation|CAD navigation]]. You can quickly change the current navigation mode by using the {{Button|[[File:NavigationCAD_dark.svg|16px]]}} button in the [[Status_bar|Status bar]] or by right-clicking an empty area of the [[3D_view|3D view]].

<!--T:18-->
{{CAD Navigation
|Select_name=Select
|Pan_name=Pan
|Zoom_name=Zoom
|Rotate_view_name=Rotate view<br>First method
|Rotate_view_alt_name=Rotate view<br>Alternate method
|Ctrl={{KEY|Ctrl}}
|Shift={{KEY|Shift}}
|Select_text=Press the left mouse button over an object you want to select.

<!--T:45-->
Holding down {{KEY|Ctrl}} allows the selection of multiple objects.
|Pan_text=Hold the middle mouse button, then move the pointer.
|Pan_mode_text=Pan mode: hold the {{KEY|Ctrl}} key, press the right mouse button once, then move the pointer. {{Version|0.17}}
|Zoom_text=Use the mouse wheel to zoom in and out.

<!--T:46-->
Clicking the middle mouse button re-centers the view on the location of the cursor.
|Zoom_mode_text=Zoom mode: hold the {{KEY|Ctrl}} and {{KEY|Shift}} keys, press the right mouse button once, then move the pointer. {{Version|0.17}}
|Rotate_view_text=Hold the middle mouse button, then press and hold the left mouse button, then move the pointer.

<!--T:47-->
The cursor location when the middle mouse button is pressed determines the center of rotation. Rotation works like spinning a ball which rotates around its center. If the buttons are released before you stop the mouse motion, the view continues [[spinning]], if this is enabled.

<!--T:48-->
A double click with the middle mouse button sets a new center of rotation.
|Rotate_view_mode_text=Rotate mode: hold the {{KEY|Shift}} key, press the right mouse button once, then move the pointer. {{Version|0.17}}
|Rotate_view_alt_text=Hold the middle mouse button, then press and hold the right mouse button, then move the pointer.

<!--T:49-->
With this method the middle mouse button may be released after the right mouse button is held pressed.

<!--T:50-->
Users who use the mouse with their right hand may find this method easier than the first method.
}}


<!--T:19-->
<!--T:19-->
Line 96: Line 82:


<!--T:21-->
<!--T:21-->
FreeCAD's focus is to allow you to make high-precision 3D models, to keep tight control over those models (being able to go back into modelling history and change parameters), and eventually to build those models (via 3D printing, CNC machining or even construction worksite). It is therefore very different from some other 3D applications made for other purposes, such as animation film or gaming. Its learning curve can be steep, especially if this is your first contact with 3D modeling. If you are struck at some point, don't forget that the friendly community of users on the [http://forum.freecadweb.org/index.php FreeCAD forum] might be able to get you out in no time.
FreeCAD's focus is to allow you to make high-precision 3D models, to keep tight control over those models (being able to go back into modelling history and change parameters), and eventually to build those models (via 3D printing, CNC machining or even construction worksite). It is therefore very different from some other 3D applications made for other purposes, such as animation film or gaming. Its learning curve can be steep, especially if this is your first contact with 3D modeling. If you are stuck at some point, don't forget that the friendly community of users on the [http://forum.freecadweb.org/index.php FreeCAD forum] might be able to get you out in no time.


<!--T:22-->
<!--T:22-->
The workbench you will start using in FreeCAD depends on the type of job you need to do: If you are going to work on mechanical models, or more generally any small-scale objects, you'll probably want to try the [[PartDesign Workbench|PartDesign Workbench]]. If you will work in 2D, then switch to the [[Draft Module|Draft Workbench]], or the [[Sketcher Workbench|Sketcher Workbench]] if you need constraints. If you want to do BIM, launch the [[Arch Module|Arch Workbench]]. If you are working with ship design, there is a special [[Ship Workbench|Ship Workbench]] for you. And if you come from the OpenSCAD world, try the [[OpenSCAD Module|OpenSCAD Workbench]].
The workbench you will start using in FreeCAD depends on the type of job you need to do: If you are going to work on mechanical models, or more generally any small-scale objects, you'll probably want to try the [[PartDesign_Workbench|PartDesign Workbench]]. If you will work in 2D, then switch to the [[Draft_Workbench|Draft Workbench]], or the [[Sketcher_Workbench|Sketcher Workbench]] if you need constraints. If you want to do BIM, launch the [[Arch_Workbench|Arch Workbench]]. And if you come from the OpenSCAD world, try the [[OpenSCAD_Workbench|OpenSCAD Workbench]]. There are also many community-developed [[External_workbenches|external workbenches]] available.


<!--T:23-->
<!--T:23-->
You can switch workbenches at any time, and also [[Interface Customization|customize]] your favorite workbench to add tools from other workbenches.
You can switch workbenches at any time, and also [[Interface_Customization|customize]] your favorite workbench to add tools from other workbenches.


==Working with the PartDesign and Sketcher workbenches== <!--T:24-->
==Working with the PartDesign and Sketcher workbenches== <!--T:24-->


<!--T:25-->
<!--T:25-->
The [[PartDesign Workbench|PartDesign Workbench]] is made to build complex objects, starting from simple shapes, and adding or removing pieces (called "features"), until you get to your final object. All the features you applied during the modelling process are stored in a separate view called the [[Document structure|tree view]], which also contains the other objects in your document. You can think of a PartDesign object as a succession of operations, each one applied to the result of the preceding one, forming one big chain. In the tree view, you see your final object, but you can expand it and retrieve all preceding states, and change any of their parameter, which automatically updates the final object.
The [[PartDesign_Workbench|PartDesign Workbench]] is made to build complex objects, starting from simple shapes, and adding or removing pieces (called "features"), until you get to your final object. All the features you applied during the modelling process are stored in a separate view called the [[Document_structure|tree view]], which also contains the other objects in your document. You can think of a PartDesign object as a succession of operations, each one applied to the result of the preceding one, forming one big chain. In the tree view, you see your final object, but you can expand it and retrieve all preceding states, and change any of their parameter, which automatically updates the final object.


<!--T:26-->
<!--T:26-->
The PartDesign workbench makes heavy use of another workbench, the [[Sketcher Workbench|Sketcher Workbench]]. The sketcher allows you to draw 2D shapes, which are defined by applying Constraints to the 2D shape. For example, you might draw a rectangle and set the size of a side by applying a length constraint to one of the sides. That side then cannot be resized anymore (unless the constraint is changed).
The PartDesign workbench makes heavy use of another workbench, the [[Sketcher_Workbench|Sketcher Workbench]]. The sketcher allows you to draw 2D shapes, which are defined by applying Constraints to the 2D shape. For example, you might draw a rectangle and set the size of a side by applying a length constraint to one of the sides. That side then cannot be resized anymore (unless the constraint is changed).


<!--T:27-->
<!--T:27-->
Line 130: Line 116:


</translate>
</translate>
[[Image:Partdesign example.jpg|1024px|center]]
[[Image:Partdesign_example.jpg|600px]]
<translate>
<translate>


Line 139: Line 125:


<!--T:38-->
<!--T:38-->
The [[Draft Module|Draft Workbench]] and [[Arch Module|Arch Workbench]] behave a bit differently than the other workbenches above, although they follow the same rules, which are common to all of FreeCAD. In short, while the Sketcher and PartDesign are made primarily to design single pieces, Draft and Arch are made to ease your work when working with several, simpler objects.
The [[Draft_Workbench|Draft Workbench]] and [[Arch_Workbench|Arch Workbench]] behave a bit differently than the other workbenches above, although they follow the same rules, which are common to all of FreeCAD. In short, while the Sketcher and PartDesign are made primarily to design single pieces, Draft and Arch are made to ease your work when working with several, simpler objects.


<!--T:39-->
<!--T:39-->
The [[Draft Module|Draft Workbench]] offers you 2D tools somewhat similar to what you can find in traditional 2D CAD applications such as [https://en.wikipedia.org/wiki/AutoCAD AutoCAD]. However, 2D drafting being far away from the scope of FreeCAD, don't expect to find there the full array of tools that these dedicated applications offer. Most of the Draft tools work not only in a 2D plane but also in the full 3D space, and benefit from special helper systems such as [[Draft SelectPlane|Work planes]] and [[Draft_Snap|object snapping]].
The [[Draft_Workbench|Draft Workbench]] offers you 2D tools somewhat similar to what you can find in traditional 2D CAD applications such as [https://en.wikipedia.org/wiki/AutoCAD AutoCAD]. However, 2D drafting being far away from the scope of FreeCAD, don't expect to find there the full array of tools that these dedicated applications offer. Most of the Draft tools work not only in a 2D plane but also in the full 3D space, and benefit from special helper systems such as [[Draft_SelectPlane|Work planes]] and [[Draft_Snap|object snapping]].


<!--T:40-->
<!--T:40-->
The [[Arch Module|Arch Workbench]] adds [http://en.wikipedia.org/wiki/Building_Information_Modeling BIM] tools to FreeCAD, allowing you to build architectural models with parametric objects. The Arch workbench relies extensively on other modules such as Draft and Sketcher. All the Draft tools are also present in the Arch workbench, and most Arch tools make use of the Draft helper systems.
The [[Arch_Workbench|Arch Workbench]] adds [http://en.wikipedia.org/wiki/Building_Information_Modeling BIM] tools to FreeCAD, allowing you to build architectural models with parametric objects. The Arch workbench relies extensively on other modules such as Draft and Sketcher. All the Draft tools are also present in the Arch workbench, and most Arch tools make use of the Draft helper systems.


<!--T:41-->
<!--T:41-->
Line 154: Line 140:
# Select each line and press the Wall tool to build a wall on each of them
# Select each line and press the Wall tool to build a wall on each of them
# Join the walls by selecting them and pressing the Arch Add tool
# Join the walls by selecting them and pressing the Arch Add tool
# Create a floor object, and move your walls in it from the Tree view
# Create a floor object, and in the Tree view drag your walls into the floor object
# Create a building object, and move your floor in it from the Tree view
# Create a building object, and in the Tree view drag your floor (which now includes the walls) into the building object
# Create a window by clicking the Window tool, select a preset in its panel, then click on a face of a wall
# Create a window by clicking the Window tool, select a preset in its panel, then click on a face of a wall
# Add dimensions by first setting the working plane if necessary, then using the Draft Dimension tool
# Add dimensions by first setting the working plane if necessary, then using the Draft Dimension tool
Line 163: Line 149:


</translate>
</translate>
[[Image:Arch workflow example.jpg|1024px]]
[[Image:Arch workflow_example.jpg|600px]]
<translate>
<translate>


<!--T:32-->
<!--T:32-->
More on the [[Tutorials]] page.
More on the [[Tutorials|Tutorials]] page.


==Scripting== <!--T:33-->
==Addons== <!--T:33-->

<!--T:55-->
Any user can develop their own new features for FreeCAD and make them available to the FreeCAD community as an [[Addon|addon]].

<!--T:56-->
There are three types of addons:
* [[Macros|Macros]]: short snippet of [[Python|Python]] code that provides a new tool or functionality in a single file ending with {{incode|.FCMacro}}.
* [[External_workbenches|Workbenches]]: collections of Python files that provide related [[Gui_Command|Gui Commands]] (tools) centered around a particular topic.
* [[Preference_Packs|Preference Packs]]: distributable collections of user preferences.

==Scripting== <!--T:53-->


<!--T:34-->
<!--T:34-->
And finally, one of the most powerful features of FreeCAD is the [[scripting]] environment. From the integrated python console (or from any other external Python script), you can gain access to almost any part of FreeCAD, create or modify geometry, modify the representation of those objects in the 3D scene or access and modify the FreeCAD interface. Python scripting can also be used in [[macros]], which provide an easy method to create custom commands.
And finally, one of the most powerful features of FreeCAD is the [[scripting|scripting]] environment. From the integrated python console (or from any other external Python script), you can gain access to almost any part of FreeCAD, create or modify geometry, modify the representation of those objects in the 3D scene or access and modify the FreeCAD interface. Python scripting can also be used in [[macros|macros]], which provide an easy method to create custom commands.


== What's new == <!--T:1-->
== What's new == <!--T:1-->
Line 178: Line 175:
<!--T:2-->
<!--T:2-->
* See the [[Feature_list#Release_notes|release notes]] for the detailed list of features.
* See the [[Feature_list#Release_notes|release notes]] for the detailed list of features.



<!--T:35-->
<!--T:35-->
{{Docnav
{{docnav|Install on Mac|Mouse Model}}
|[[Installing_additional_components|Installing additional components]]
|[[Mouse_navigation|Mouse navigation]]
}}


<!--T:51-->
<!--T:51-->

Latest revision as of 14:40, 18 March 2024

Foreword

FreeCAD is a 3D parametric modeling application. It is primarily made for mechanical design, but also serves all other uses where you need to model 3D objects with precision and control over modeling history.

FreeCAD has been under development since 2002, and it offers a large list of features. Capabilities are still missing but it is powerful enough for hobbyist use, and small workshops. There is a fast-growing community of enthusiastic users who participate in the FreeCAD forum, and you can find many examples of quality projects developed with FreeCAD there. See also, FreeCAD used in production.

Like all free software projects, FreeCAD depends on its community to grow, gain features, and fix bugs. Don't forget this when using FreeCAD; if you like it, you can donate and help FreeCAD in various ways, such as writing documentation and making translations.

See also:

Installing

First of all, download and install FreeCAD. See the Download page for information on current versions and updates, and the installation instructions for you operating system (Windows, Linux or macOS). FreeCAD is available from the package managers of many Linux distributions. As FreeCAD is open-source, you can also grab the source code and compile it yourself.

Exploring the interface

The standard FreeCAD interface

See a full explanation in Interface.

1. The main view area, which can contain different tabbed windows, principally the 3D view.
2. The 3D view, showing the geometrical objects in the document.
3. The tree view (part of the combo view), showing the hierarchy and construction history of objects in the document; it can also display the task panel for active commands.
4. The property editor (part of the combo view), which allows viewing and modifying properties of the selected objects.
5. The selection view, which indicates the objects or sub-elements of objects (vertices, edges, faces) that are selected.
6. The report view (or output window), where messages, warnings and errors are shown.
7. The Python console, where all the commands executed are printed, and where you can enter Python code.
8. The status bar, where some messages and tooltips appear.
9. The toolbar area, where the toolbars are docked.
10. The workbench selector, where you select the active workbench.
11. The standard menu, which holds basic operations of the program.

The main concept behind the FreeCAD interface is that it is separated into workbenches. A workbench is a collection of tools suited for a specific task, such as working with meshes, or drawing 2D objects, or constrained sketches. You can switch the current workbench with the workbench selector. You can customize the tools included in each workbench, add tools from other workbenches or even self-created tools, that we call macros. Widely used starting points are the PartDesign Workbench and Part Workbench.

When you start FreeCAD for the first time, you are presented with the Start page. Here is what it looks like for version 0.19:

The Start page allows you to quickly jump to one of the most common workbenches, open one of the recent files, or see the latest news from the FreeCAD world. You can change the default workbench in the preferences.

Navigating in the 3D space

FreeCAD has several navigation modes available, that change the way you use your mouse to interact with the objects in the 3D view and the view itself. One of them is specifically made for touchpads, where the middle mouse button is not used. The default navigation mode is CAD navigation. You can quickly change the current navigation mode by using the button in the Status bar or by right-clicking an empty area of the 3D view.

You also have several view presets (top view, front view, etc) available in the View menu, on the View toolbar, and by numeric shortcuts (1, 2, etc...). By right-clicking on an object or on an empty area of the 3D view, you have quick access to some common operations, such as setting a particular view, or locating an object in the Tree view.

First steps with FreeCAD

FreeCAD's focus is to allow you to make high-precision 3D models, to keep tight control over those models (being able to go back into modelling history and change parameters), and eventually to build those models (via 3D printing, CNC machining or even construction worksite). It is therefore very different from some other 3D applications made for other purposes, such as animation film or gaming. Its learning curve can be steep, especially if this is your first contact with 3D modeling. If you are stuck at some point, don't forget that the friendly community of users on the FreeCAD forum might be able to get you out in no time.

The workbench you will start using in FreeCAD depends on the type of job you need to do: If you are going to work on mechanical models, or more generally any small-scale objects, you'll probably want to try the PartDesign Workbench. If you will work in 2D, then switch to the Draft Workbench, or the Sketcher Workbench if you need constraints. If you want to do BIM, launch the Arch Workbench. And if you come from the OpenSCAD world, try the OpenSCAD Workbench. There are also many community-developed external workbenches available.

You can switch workbenches at any time, and also customize your favorite workbench to add tools from other workbenches.

Working with the PartDesign and Sketcher workbenches

The PartDesign Workbench is made to build complex objects, starting from simple shapes, and adding or removing pieces (called "features"), until you get to your final object. All the features you applied during the modelling process are stored in a separate view called the tree view, which also contains the other objects in your document. You can think of a PartDesign object as a succession of operations, each one applied to the result of the preceding one, forming one big chain. In the tree view, you see your final object, but you can expand it and retrieve all preceding states, and change any of their parameter, which automatically updates the final object.

The PartDesign workbench makes heavy use of another workbench, the Sketcher Workbench. The sketcher allows you to draw 2D shapes, which are defined by applying Constraints to the 2D shape. For example, you might draw a rectangle and set the size of a side by applying a length constraint to one of the sides. That side then cannot be resized anymore (unless the constraint is changed).

Those 2D shapes made with the sketcher are used a lot in the PartDesign workbench, for example to create 3D volumes, or to draw areas on the faces of your object that will then be hollowed from its main volume. This is a typical PartDesign workflow:

  1. Create a new sketch
  2. Draw a closed shape (make sure all points are joined)
  3. Close the sketch
  4. Expand the sketch into a 3D solid by using the pad tool
  5. Select one face of the solid
  6. Create a second sketch (this time it will be drawn on the selected face)
  7. Draw a closed shape
  8. Close the sketch
  9. Create a pocket from the second sketch, on the first object

Which gives you an object like this:

At any moment, you can select the original sketches and modify them, or change the extrusion parameters of the pad or pocket operations, which will update the final object.

Working with the Draft and Arch workbenches

The Draft Workbench and Arch Workbench behave a bit differently than the other workbenches above, although they follow the same rules, which are common to all of FreeCAD. In short, while the Sketcher and PartDesign are made primarily to design single pieces, Draft and Arch are made to ease your work when working with several, simpler objects.

The Draft Workbench offers you 2D tools somewhat similar to what you can find in traditional 2D CAD applications such as AutoCAD. However, 2D drafting being far away from the scope of FreeCAD, don't expect to find there the full array of tools that these dedicated applications offer. Most of the Draft tools work not only in a 2D plane but also in the full 3D space, and benefit from special helper systems such as Work planes and object snapping.

The Arch Workbench adds BIM tools to FreeCAD, allowing you to build architectural models with parametric objects. The Arch workbench relies extensively on other modules such as Draft and Sketcher. All the Draft tools are also present in the Arch workbench, and most Arch tools make use of the Draft helper systems.

A typical workflow with Arch and Draft workbenches might be:

  1. Draw a couple of lines with the Draft Line tool
  2. Select each line and press the Wall tool to build a wall on each of them
  3. Join the walls by selecting them and pressing the Arch Add tool
  4. Create a floor object, and in the Tree view drag your walls into the floor object
  5. Create a building object, and in the Tree view drag your floor (which now includes the walls) into the building object
  6. Create a window by clicking the Window tool, select a preset in its panel, then click on a face of a wall
  7. Add dimensions by first setting the working plane if necessary, then using the Draft Dimension tool

Which will give you this:

More on the Tutorials page.

Addons

Any user can develop their own new features for FreeCAD and make them available to the FreeCAD community as an addon.

There are three types of addons:

  • Macros: short snippet of Python code that provides a new tool or functionality in a single file ending with .FCMacro.
  • Workbenches: collections of Python files that provide related Gui Commands (tools) centered around a particular topic.
  • Preference Packs: distributable collections of user preferences.

Scripting

And finally, one of the most powerful features of FreeCAD is the scripting environment. From the integrated python console (or from any other external Python script), you can gain access to almost any part of FreeCAD, create or modify geometry, modify the representation of those objects in the 3D scene or access and modify the FreeCAD interface. Python scripting can also be used in macros, which provide an easy method to create custom commands.

What's new