Getting started: Difference between revisions

From FreeCAD Documentation
No edit summary
 
(170 intermediate revisions by 36 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
|[[Installing_additional_components|Installing additional components]]
|[[Mouse_navigation|Mouse navigation]]
}}
}}


</translate>
===Foreword===
{{TOCright}}
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.
<translate>


==Foreword== <!--T:3-->
And if after testing you have feedback, ideas or opinions, please share it with us on the [https://apps.sourceforge.net/phpbb/free-cad/index.php FreeCAD discussion forum]!


<!--T:4-->
===Installing===
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.
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 (.msi), Ubuntu (.deb) and openSUSE (.rpm). Installation is pretty straightforward and shouldn't give you any problem. At the moment there is no package for Mac OSX but we are working on it...


<!--T:5-->
===Exploring FreeCAD===
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-->
[[Image:interface screenshot.jpg]]
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-->
The FreeCAD interface
See also:


<!--T:58-->
FreeCAD is a general all-purpose 3D modeling application, focused on mechanical engineering and related areas, such as other engineering specialties or architecture. It is conceived as a platform for developing any kind of 3D application, but also for doing very specific tasks. For that purpose, its interface is divided into a serie of [[Workbenches]]. Workbenches allow to change the interface contents to display all and only the tools necessary for a specific task, or group of tasks.
* [[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-->
The FreeCAD interface can therefore be described as a very simple container, with a menu bar, a 3D view area, and a couple of side panels for displaying the scene contents or object properties. All the contents of these panels can be changes depnding on the workbench.


<!--T:8-->
Several workbenches of FreeCAD contain already enough functionality to produce and modify geometry: The [[Mesh Module|Mesh workbench]], for example, is designed to handle mesh objects. The [[Part Module|Part workbench]] gives you access to a more powerful CAD kernel. There is also a 2d [[Draft Module|Draft workbench]] available as a plugin.
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 the interface== <!--T:9-->
Some things you can do with the Mesh workbench:
* Import and export meshes in several file formats
* Convert Part objects into meshes
* Analyse curvature, faces, and check if a mesh can be safely converted into a solid
* Close holes or remove faces of meshes
* Union, subtract and intersect meshes
* Create mesh primitives, like cubes, spheres, cones or cylinders
* Cut meshes along a line


<!--T:59-->
Some things you can do with the Part workbench:
[[File:FreeCAD_interface_base_divisions.svg|1024px]]
* Create primitive geometry like Plane, Box, Cylinder, Cone, Sphere, Ellipsoid and Torus
* Import shapes from other file formats
* Union, subtract, intersect shapes
* Extrude flat shapes
* Fillet edges of shapes


<!--T:10-->
Some things you can do with the Draft workbench:
{{Caption|The standard FreeCAD interface}}
* Create lines, circles, arcs, and rectangles
* Change those objects into flat shapes
* Move, rotate, offset, trim, or extend shapes
* Import and export 2D drawings to other file formats


<!--T:11-->
=== Scripting in FreeCAD ===
{{Emphasis|See a full explanation in [[Interface|Interface]].}}
:1. The [[main_view_area|main view area]], which can contain different tabbed windows, principally the [[3D_view|3D view]].
:2. The [[3D_view|3D view]], showing the geometrical objects in the document.
: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.
:4. The [[property_editor|property editor]] (part of the [[combo_view|combo view]]), which allows viewing and modifying properties of the selected objects.
:5. The [[selection_view|selection view]], which indicates the objects or sub-elements of objects (vertices, edges, faces) that are selected.
: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-->
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-->
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:60-->
[[File:Start_center_0.19_screenshot.png|600px]]

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

<!--T:17-->
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: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 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-->
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-->
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|600px]]
<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_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-->
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-->
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-->
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 in the Tree view drag your walls into the floor object
# 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
# 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|600px]]
<translate>

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

==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-->
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
|[[Installing_additional_components|Installing additional components]]
|[[Mouse_navigation|Mouse navigation]]
}}


<!--T:51-->
Since FreeCAD is still in alpha stage, those workbenches have at the moment very few elements of user interface (icons & buttons), but much more functionality is available by [[Scripting|python scripting]]. Each FreeCAD workbench is also a python module, that can be loaded and manipulated from the built-in python interpreter. FreeCAD has been made from start to be extensively scriptable, and, if you can program a bit of [http://en.wikipedia.org/wiki/Python_(programming_language) python], you will be amazed by the power you have in FreeCAD!
{{Userdocnavi}}


<!--T:36-->
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]].
[[Category:User Documentation]]
</translate>

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