Getting started: Difference between revisions

From FreeCAD Documentation
No edit summary
m ((Vertical Docnav))
(122 intermediate revisions by 29 users not shown)
Line 1: Line 1:
<languages/>
{{VeryImportantMessage|
<translate>
'''Note: FreeCAD is still in ALPHA state and not in shape for end user usage'''
<!--T:52-->
{{docnav
|[[Install on Mac|Install on Mac]]
|[[Mouse Model|Mouse Model]]
}}
}}


===Foreword===
==Foreword== <!--T:3-->
FreeCAD is a CAD/CAE parametric modeling application. It is still in early stage of development, so don't expect to be able to use it to produce work already. But, if you are curious about what FreeCAD looks like and what features are being developed, you are welcome to download it and give it a try. At the moment, much functionality is already present, but not much user interface has been created for it. This means that if you know a bit of python, you will already be able to produce and modify geometry relatively easily. If not, you will probably find that FreeCAD still has few to offer to you. But, be patient, this is expected to change soon.


<!--T:4-->
And if after testing you have feedback, ideas or opinions, please share it with us on the [http://sourceforge.net/forum/forum.php?forum_id=161658 FreeCAD discussion forum]!
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.


<!--T:5-->
===Installing===
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.
First of all (if not done already) download and install FreeCAD. See the [[Download]] page for information about current versions and updates. There are install packages ready for Windows, Ubuntu and openSUSE.


<!--T:6-->
===Exploring FreeCAD===
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|help FreeCAD]]!
Several modules of FreeCAD contain already enough functionality to produce and modify geometry. To import and manipulate meshes, head to the [[Mesh Module]]. To get into the CAD capabilities of FreeCAD visit the [[Part Module]] page. There is also a 2d [[Draft Module]] availible as a plugin. As said above, those modules have at the moment very few elements of user interface (icons & buttons), so most functionality is availible only by [[Scripting|python scripting]].


==Installing== <!--T:7-->
Python scripting in FreeCAD is very easy, you can get an idea about it by reading [[FreeCAD Scripting Basics]].
To know what you can do with the [[Mesh Module]] by scripting, read the [[Mesh Scripting]] page.
In a similar way, the [[Topological data scripting]] page shows how to access and use the [[Part Module]].
The [[Draft Module]] already has a User Interface, and can be used without scripting.


<!--T:8-->
====Simple exercises that can already be done in FreeCAD====
First of all, download and install FreeCAD. See the [[Download|Download]] page for information on current versions and updates, and the [[Installing|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.
*'''Importing existing files''': The mesh, part and draft modules are already able to import several file formats. Mesh formats are imported by the [[Mesh Module]], advancd 3D CAD formats are imported by the [[Part Module]], and 2D formats are imported by the [[Draft Module]]. By simply using the ''File > Open'' menu entry, you'll be able to check which formats are currently supported.

*'''Creating new geometry''': Each of these modules already have simple UI commands for creating basic primitive elements like cubes, planes, lines or circles. Try changing the workbench to one of the above mentioned modules, and see what tools become available.
==Exploring FreeCAD== <!--T:9-->
*'''Modifying geometry''': Learn how to move, size and turn elements, add and subtract them to gain more complex structures.

*'''Setting the views''': During construction, you will probably want to see the result from different viewpoints. Learn how to switch views to get a thorough picture of what you are constructing.
<!--T:10-->
[[File:FreeCAD_interface_base_divisions.png|1024px|center]]
{{Caption|align=center|Standard FreeCAD interface in 0.19.}}

<!--T:11-->
{{Emphasis|See a full explanation in [[Interface|Interface]].}}
:1. The [[3D view|3D view]], showing the geometrical objects in the document.
:2. 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.
:3. The [[property editor|property editor]] (part of the [[combo view|combo view]]), which allows viewing and modifying properties of the selected objects.
:4. The [[selection view|selection view]], which indicates the objects or sub-elements of objects (vertices, edges, faces) that are selected.
:5. The [[report view|report view]] (or output window), where FreeCAD prints messages, warnings and errors.
:6. The [[Python console|Python console]], where all the commands executed by FreeCAD are printed, and where you can enter [[Python|Python]] code.
:7. The [[status bar|status bar]], where some messages and tooltips appear.
:8. The toolbar area, where the toolbars are docked.
:9. The [[Workbenches|workbench selector]], where you select the active workbench.
:10. The [[Standard Menu|standard menu]], which holds basic operations of the program.

<!--T:12-->
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 Module|meshes]], or drawing [[Draft Module|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 Module|Part Workbench]].

<!--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:

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

<!--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]].

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

<!--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):

<!--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|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-->
You also have several view presets (top view, front view, etc) available in the View menu, on the View toolbar, and by numeric shortcuts ({{KEY|1}}, {{KEY|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== <!--T:20-->

<!--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.

<!--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]].

<!--T:23-->
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-->

<!--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.

<!--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).

<!--T:27-->
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:

<!--T:28-->
# Create a new sketch
# Draw a closed shape (make sure all points are joined)
# Close the sketch
# Expand the sketch into a 3D solid by using the pad tool
# Select one face of the solid
# Create a second sketch (this time it will be drawn on the selected face)
# Draw a closed shape
# Close the sketch
# Create a pocket from the second sketch, on the first object

<!--T:29-->
Which gives you an object like this:

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

<!--T:31-->
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== <!--T:37-->

<!--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.

<!--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]].

<!--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.

<!--T:41-->
A typical workflow with Arch and Draft workbenches might be:

<!--T:42-->
# Draw a couple of lines with the Draft Line tool
# 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
# Create a floor object, and move your walls in it from the Tree view
# Create a building object, and move your floor in it from the Tree view
# 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

<!--T:43-->
Which will give you this:

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

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

==Addons, Macro and External workbenches== <!--T:33-->

<!--T:54-->
Freecad, as an open source software, offers the possibility to supplement its workbenches with addons.

<!--T:55-->
The [[Addon|Addon]] principle is based on the development of a workbench complement. Any user can develop a function that he or she deems to be missing for her/his own needs or, ultimately, for the community.
With the forum, the user can request an opinion, help on the forum. It can share, or not, the object of its development according to copyright rules to define. Free to her/him.
To develop, the user has available [[scripting|scripting]] functions.

<!--T:56-->
There are two types of addons:
#[[Macros|Macros]]: short snippets of Python code that provide a new tool or functionality. Macros usually start as a way to simplify or automate the task of drawing or editing a particular object. If many of these macros are collected inside a directory, the entire directory may be distributed as a new workbench.
#[[External workbenches|External workbenches]]: collections of tools programmed in Python or C++ that extend FreeCAD in an important way. If a workbench is sufficiently developed and is well documented, it may be included as one of the base workbenches in FreeCAD. Under [[External workbenches|External workbenches]], you'll find the principle and a list of existing library.

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

<!--T:34-->
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-->

<!--T:2-->
* See the [[Feature_list#Release_notes|release notes]] for the detailed list of features.

<!--T:35-->
{{docnav
|[[Install on Mac|Install on Mac]]
|[[Mouse Model|Mouse Model]]
}}

<!--T:51-->
{{Userdocnavi}}

<!--T:36-->
[[Category:User Documentation]]
</translate>

Revision as of 11:12, 21 October 2019

Foreword

FreeCAD is a 3D CAD/CAE 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 for some time now, and it offers you a large list of 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 FreeCAD forum, and you can find many examples of quality projects developed with FreeCAD there.

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!

Installing

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 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 compile it yourself.

Exploring FreeCAD

Standard FreeCAD interface in 0.19.

See a full explanation in Interface.

1. The 3D view, showing the geometrical objects in the document.
2. 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.
3. The property editor (part of the combo view), which allows viewing and modifying properties of the selected objects.
4. The selection view, which indicates the objects or sub-elements of objects (vertices, edges, faces) that are selected.
5. The report view (or output window), where FreeCAD prints messages, warnings and errors.
6. The Python console, where all the commands executed by FreeCAD are printed, and where you can enter Python code.
7. The status bar, where some messages and tooltips appear.
8. The toolbar area, where the toolbars are docked.
9. The workbench selector, where you select the active workbench.
10. 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 center. Here is what it looks like for version 0.16:

For FreeCAD 0.17 see this start center screenshot.

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.

Navigating in the 3D space

FreeCAD has several different 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 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):

Select Pan Zoom Rotate view
First method
Rotate view
Alternate method
Press the left mouse button over an object you want to select.

Holding down Ctrl allows the selection of multiple objects.

Hold the middle mouse button, then move the pointer. Use the mouse wheel to zoom in and out.

Clicking the middle mouse button re-centers the view on the location of the cursor.

Hold the middle mouse button, then press and hold the left mouse button, then move the pointer.

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.

A double click with the middle mouse button sets a new center of rotation.

Hold the middle mouse button, then press and hold the right mouse button, then move the pointer.

With this method the middle mouse button may be released after the right mouse button is held pressed.

Users who use the mouse with their right hand may find this method easier than the first method.

Ctrl+ Ctrl+Shift+ Shift+
Pan mode: hold the Ctrl key, press the right mouse button once, then move the pointer. introduced in version 0.17 Zoom mode: hold the Ctrl and Shift keys, press the right mouse button once, then move the pointer. introduced in version 0.17 Rotate mode: hold the Shift key, press the right mouse button once, then move the pointer. introduced in version 0.17

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 struck 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. If you are working with ship design, there is a special Ship Workbench for you. And if you come from the OpenSCAD world, try the OpenSCAD Workbench.

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 move your walls in it from the Tree view
  5. Create a building object, and move your floor in it from the Tree view
  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, Macro and External workbenches

Freecad, as an open source software, offers the possibility to supplement its workbenches with addons.

The Addon principle is based on the development of a workbench complement. Any user can develop a function that he or she deems to be missing for her/his own needs or, ultimately, for the community. With the forum, the user can request an opinion, help on the forum. It can share, or not, the object of its development according to copyright rules to define. Free to her/him. To develop, the user has available scripting functions.

There are two types of addons:

  1. Macros: short snippets of Python code that provide a new tool or functionality. Macros usually start as a way to simplify or automate the task of drawing or editing a particular object. If many of these macros are collected inside a directory, the entire directory may be distributed as a new workbench.
  2. External workbenches: collections of tools programmed in Python or C++ that extend FreeCAD in an important way. If a workbench is sufficiently developed and is well documented, it may be included as one of the base workbenches in FreeCAD. Under External workbenches, you'll find the principle and a list of existing library.

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