Tutorials
This page presents a selection of high-quality written tutorials. A complete, unsorted list of tutorials can be found in Category: Tutorials, a complete and sortable one can be found in the table below.
If you'd like to contribute with writing wiki documentation and tutorials, see the general wiki guidelines in WikiPages, and read the Tutorial guidelines.
Please notice the version of FreeCAD used in the tutorial, as some tutorials may use an old version of the program. Although the general modeling process may still work, some tools may have changed.
See also video tutorials and books.
Architecture and BIM
Arch tutorial (v0.14)
This is the essential introduction to the Arch Workbench. It is extensive and showcases a typical workflow, from importing plans in DXF format to building the 3D model.
BIM modeling
How to model a small house, produce a blueprint with TechDraw, and export to IFC.
Open windows and doors (v0.18)
How to display windows and doors as open, with elevation and plan symbols, and produce a basic floor plan with TechDraw.
Design custom windows (v0.18)
How to draw custom doors and windows using the Sketcher, and adjust their normals to correctly place them in walls.
Arch panel tutorial (v0.15)
Modeling a microhouse roof panel by using the Sketcher, the Window tool, and the Panel tool.
WikiHouse modelling
Re-modeling the WikiHouse project using sketches and panels, starting from importing a mesh model created in SketchUp.
Modeling parts
FreeCAD provides two main workflows to modeling parts:
- combining objects, a method called Constructive solid geometry (CSG) using the Part Workbench, and
- using parametric modelling and feature editing with the PartDesign Workbench.
Please note that the PartDesign Workbench workflow was considerably changed from FreeCAD 0.17 onward; some of the tutorials haven't been updated and may refer to the 0.16 version.
Creating a simple part with Part Workbench
An introduction to FreeCAD and Part Workbench using primitive solids.
Creating a simple part with Draft and Part Workbench
An introduction to modeling solids with Draft Workbench by creating a 2d profile in draft.
Creating a simple part with PartDesign (v0.17)
An introduction to the PartDesign workflow: tracing a sketch, using pad, pocket, and moving the object.
Basic Part Design Tutorial (v0.17)
Model a simple part using a feature editing methodology: creating a sketch, using pad, external references, pocket, and mirror.
Basic Part Design Tutorial 019 (v0.19 or above)
An updated version of the previous tutorial that creates the same model using techniques that avoid the topological naming problem.
Model an electric toothbrush head stand (v0.16 or above)
Multiple features used: sketch, distance and coincident constraints, pad, external references, fillet, chamfer, linear pattern, and draft.
Modeling for product design (v0.16)
Modeling a Lego block: sketches, vertical and horizontal distance constraints, pad, pocket, external reference, linear pattern, and assembly.
Traditional modeling, the CSG way
Modeling a table by using simple solids like cubes and cylinders, and performing boolean operations (fusions and cuts) with them.
Draft ShapeString tutorial (v0.19)
Create engraved text on a solid: extrude a shapestring to make it solid, then use a boolean cut to carve it from another solid.
Create a wiffle ball (v0.19)
Use solid primitives, like cubes and cylinders, and boolean operations, like union and cut, to create a hollowed ball.
Basic modeling tutorial
Create an iron angle by two methods: using solid primitives, and boolean operations (CSG); and by extruding a planar profile.
Aeroplane tutorial
Understand placements in FreeCAD by creating a simple aeroplane model. Then learn about rotation angles, yaw (Z), pitch (Y), and roll (X).
Thread for screw tutorial (v0.19)
Understand how to create threads with several techniques that include use of the tools Part Helix, PartDesign AdditivePipe, Part Sweep, Part Fuse, and Part Cut.
The Raspberry Pi project has made simple tutorials that are easy to follow, particularly for those new to CAD systems:
- freecad-dice, model a die with six faces, and optionally 3D print it.
- freecad-headphone-tidy, model a spool to organize and store earphones, and optionally 3D print it.
- freecad-chess-set, model and entire chess set in Bauhaus modernist style.
- raspberrypilearning repository (CC-BY 4.0) with other examples.
Drafting and Sketching
Traditional 2D drafting
Draw a floor plan with lines, wires, rectangles, circular arcs, and add hatch patterns, annotations, and dimensions. Export the result to DXF.
Draft tutorial (v0.19)
This is a basic introduction to the tools of the Draft Workbench: working plane, grid, line, arc, upgrade, rectangle, circle, polygon, arrays, dimensions, annotations, and shapestring.
Sketcher reference (v0.18)
This is a 70-page long PDF document that serves as a detailed manual for the Sketcher Workbench. It explains the basics of Sketcher usage, and goes into a lot of detail about the creation of geometrical shapes, and each of the constraints.
Basic Sketcher Tutorial (v0.19)
This is a basic introduction to the tools of the Sketcher Workbench: construction mode, line, circle, arc, constraints (equality, vertical, horizontal, tangential, distance, angle, radius).
Sketcher constraints practices (v0.19)
Learn to efficiently constrain a sketch. Prefer geometric constraints over datum constraints.
Technical Drawings
Basic TechDraw Tutorial (v0.17)
This is the essential introduction to the tools of the TechDraw Workbench: page, view, scale, vertical and horizontal dimensions, annotations, projection groups, linking dimensions to the 3D view.
Creating a new background template (v0.17)
Instructions to create a page template in Inkscape for using it with the TechDraw Workbench. Determine the size of the sheet, draw a frame for the page, define fixed text, and editable text fields.
Measurement Of Angles On Holes (v0.19)
Instructions for adding center lines and subsequent angle representations on holes.
FEM
CalculiX cantilever FEM analysis (v0.20)
This in an example included in every installation of FreeCAD; it demonstrates a basic analysis with the CalculiX FE solver. Purge the current result, re-run the solver, and view the displacements and stresses in the deformed mesh in the viewport.
Simple FEM introduction (v0.20)
This is a short introduction to the steps required to perform an analysis in the FEM Workbench: model your object, create a mesh, add constraints and forces, add a material, run the solver, and visualize the results.
FEM shear analysis of a composite block (v0.17)
Study the deformation of a block made of a hard nucleus surrounded by a softer material: create mesh regions, add materials, set up sliding constraints, add shear loads, run the solver, and visualize the results with a clip plane.
Analysis of reinforced concrete with FEM (v0.19)
Estimate the level of reinforcement required in a concrete structure to prevent brittle failure under tension or shear.
Electrostatic equation – Capacitance of two balls (v0.19)
This example shows how to simulate a capacitance. It illustrates how to setup the example, study it's various parts, solve it using the Elmer Solver and visualize the results using Clip Filter.
Post-Processing of FEM results with Paraview (v0.19)
This tutorial explains the basics of transferring data from the FEM Workbench to Paraview and shows some of the options and settings for displaying data.
CNC & 3D Printing
Path Workbench for the impatient
This is a quick presentation of the workflow for the Path Workbench: create a job, define the output, define the milling tool, define the path operations, start the simulation, and generate a G-code output file.
Preparing models for 3D printing (v0.16)
Convert a solid object to a mesh object using the Mesh Workbench, export the mesh to STL format, and use Slic3r to prepare the G-code. Alternatively use the Cura Workbench or the Path Workbench to generate the G-code.
Rendering
Creating renderings
Quickly produce a rendered image of your bodies with POV-Ray and LuxRender, if they are installed in your system.
Raytracing tutorial (v0.16)
Describes the basic workflow of the Raytracing Workbench using POV-Ray or LuxRender: set the path to the renderers, create a project, set the camera position, select the model, run the renderer.
Intermediate FreeCAD and POV-ray tutorial (v0.18)
Workflow to produce a better render with POV-Ray: create a project, add objects, set the camera, save the .pov file, manually edit the file to improve the textures, planes, lights, and then run the renderer.
Rendering a FreeCAD assembly with Blender (v0.18)
Export bodies from FreeCAD to Wavefront .obj, import the file into Blender, set up a simple Sun light, assign basic materials with the Principled BSDF shader, and produce a rendered image with EEVEE and Cycles.
Robot workbench
Development of the Robot Workbench is currently abandoned. Please inquire on our forum regarding any news or alternative workbenches.
Robot tutorial (v0.17)
Simulate the movement of an industrial robot: set up a trajectory, set up home position, change the robot position, insert various waypoints, and simulate the robot movement.
Scripting
These are tutorials that are related to scripting or programming. They are geared towards more experienced users, who are already somewhat familiar with the program.
Tutorials - Comprehensive list
Here are listed all the tutorials that are not in the manual regardless of their quality. If a tutorial is listed in the Category: Tutorials and not in this table please insert it.
Tutorial | Topic | Level | Time to complete (hh:mm) | Authors | FreeCAD version | Example files |
---|---|---|---|---|---|---|
Add Button to FEM Toolbar Tutorial | Finite Element Analysis | JohnWang | ||||
Add FEM Constraint Tutorial | Finite Element Analysis | M42kus | ||||
Add FEM Equation Tutorial | Finite Element Analysis | JohnWang | ||||
Adding a new mouse navigation option to FreeCAD (unfinished) | Programming | Advanced | Kunda1 | 0.19.x | None | |
Advanced Attachment OYX | Attachment | Intermediate/Advanced | drmacro | 0.19 | None | |
Advanced TechDraw Tutorial (unfinished) | TechDraw Workbench | Advanced | domad | 0.19 | None | |
Aeroplane | Part Workbench | Beginner | 0:10 | Hughthecat | ||
Analysis of reinforced concrete with FEM | Finite Element Analysis | Intermediate | 1:00 | HarryvL | 0.19 or above | |
Arch panel tutorial | Arch Workbench | Beginner | 1:00 | Yorik | ||
Arch tutorial | Modeling | Intermediate | Yorik | 0.14 | ||
Basic Attachment Tutorial | Attachment | Beginner/intermediate | 1:00 | Bance | 0.17 or above | Basic Attachment Tutorial.FCStd |
Basic modeling tutorial | Modelling | Beginner | 0:15 | NormandC | Any | None |
Basic Part Design Tutorial Modeling | Beginner | Mark Stephen (Quick61) and HarryGeier | 0.17 or above | Basic Part Design for v0.17 | ||
Basic Part Design Tutorial 019 | Modeling | Beginner | 1:00 | Carlo Dormeletti and Ed Williams | 0.19 or above | |
Basic Sketcher Tutorial | Sketcher Workbench | Beginner | 1:00 | Drei and Vocx | 0.19 | Basic Sketcher tutorial |
Basic TechDraw Tutorial | TechDraw Workbench | Beginner | WandererFan | 0.17 or above | Basic Part Design for v0.17 Sample Basic TechDraw Tutorial Sample | |
BIM ingame tutorial | Arch Workbench | Beginner | Yorik | |||
Code snippets | Python | Beginner | ||||
Creating a simple part with Draft and Part WB | Modeling | Beginner | 1:30 | Heda | - | - |
Creating a simple part with Part WB | Modeling | Beginner | 2:00 | Heda | - | - |
Creating a simple part with PartDesign | Modeling | Beginner | 1:00 | GlouGlou | 0.17 or above | Creating a simple PartDesign Body.FCStd |
Customize Toolbars | Customization | Beginner | 0:05 | Mario52 | Any | None |
Draft ShapeString tutorial | Product Design | Beginner | 0:30 | r-frank and vocx | 0.17 or above | Draft_Shapestring_Text |
Draft tutorial | Draft Workbench | Beginner | 0:30 | Drei and vocx | 0.19 | Draft tutorial updated |
Dxf Importer Install | Import | Intermediate | 0:05 | Mario52 | Any | None |
Engine Block Tutorial | Part Workbench | Beginner | 1:00 | Andrewbuck40 | 0.14.3700 | |
Example Combined Footing | Reinforcement Workbench | Intermediate | Shiv Charan | 0.20 | None | |
Example Slab Having LShape Rebars Reinforcement Mesh | Reinforcement Workbench | Intermediate | Shiv Charan | 0.20 | None | |
Example Slab Having Mesh Of Straight Rebars | Reinforcement Workbench | Intermediate | Shiv Charan | 0.20 | None | |
Example Slab Having UShape Rebars Reinforcement Mesh | Reinforcement Workbench | Intermediate | Shiv Charan | 0.20 | None | |
Example Slab Spanning in One Direction | Reinforcement Workbench | Intermediate | Shiv Charan | 0.20 | None | |
Example Slab Spanning in Two Directions | Reinforcement Workbench | Intermediate | Shiv Charan | 0.20 | None | |
Export to STL or OBJ | Export | Beginner | 0:20 | r-frank | 0.16.6703 | |
Extend FEM Module | Finite Element Analysis | M42kus | ||||
FEM CalculiX Cantilever 3D | Finite Element Analysis | Beginner | 0:10 | Bernd | 0.16.6377 or above | |
FEM Example Capacitance Two Balls | Finite Element Analysis | Beginner | Sudhanshu Dubey | 0.19 | None | |
FEM Shear of a Composite Block | Finite Element Analysis | Beginner/Intermediate | 0:30 | HarryvL | 0.17.12960 or above | |
FEM tutorial | Finite Element Analysis | Beginner | 0:10 | Drei | 0.17 or above | |
FEM Tutorial Python | Finite Element Analysis | Intermediate | 0:30 | Bernd | 0.18.15985 or above | |
FreeCAD-Ship s60 tutorial | Ship Workbench | Beginner | ||||
FreeCAD-Ship s60 tutorial (II) | Ship Workbench | Beginner | ||||
How to install additional workbenches | Programming | Medium programmer | 0:15 | r-frank | Any | None |
How to install macros | Programming | Medium programmer | 0:15 | Mario52 | Any | None |
Import from STL or OBJ | Import | Beginner | 0:30 | r-frank | 0.16.6703 | |
Import OpenSCAD code | Import | Beginner | 0:30 | r-frank | 0.16.6704 | None |
Import text and geometry from Inkscape | Import | Beginner | 0:30 | r-frank | 0.16.6704 | |
Import/Export IFC - compiling IfcOpenShell | Arch Workbench | Advanced | 2:00 | Pablo Gil | ||
Measurement Of Angles On Holes TechDraw Workbench | Beginner | 0:01 | AnHi | 0.19 | ||
PartDesign Bearingholder Tutorial I | Product design | Beginner | 1:00 | NormandC | ||
PartDesign Bearingholder Tutorial II | Product design | Beginner | 1:00 | NormandC | ||
PartDesign tutorial | Sketcher Workbench | Beginner | 0:15 | Drei | 0.16 or above | |
Path Walkthrough for the Impatient | Path Workbench | Chrisb | ||||
Plot Basic tutorial | Plot Workbench | Beginner | ||||
Plot MultiAxes tutorial | Plot workbench | Intermediate | ||||
Post-Processing of FEM Results with Paraview | Finite Element Analysis | Intermediate | 2:00 | HarryvL | 0.19 | Beam and wall |
Private Preference Packs | Customization | Intermediate/Advanced | drmacro | 1.0 or above | ||
Python scripting tutorial | Programming | Intermediate | ||||
Raytracing tutorial | Raytracing Workbench | Beginner | 0:10 | Drei | 0.16 or above | |
Robot 6-Axis | Robot Workbench | Intermediate | ||||
Robot tutorial | Robot Workbench | Beginner | r-frank | |||
Scripted Parts: Ball Bearing - Part 1 | Python | Beginner | 0:30 | r-frank | 0.16.6706 | |
Scripted Parts: Ball Bearing - Part 2 | Python | Beginner | 0:30 | r-frank | 0.16.6706 | |
Scripts | Python | Beginner | onekk Carlo | 0.19 | ||
Sketcher Micro Tutorial - Constraint Practices | Sketcher Workbench | Beginner | 0:30 | Mark Stephen (Quick61) and vocx | 0.19 | Sketcher Constraints practices |
Sketcher reference | Sketcher Workbench | |||||
Sketcher requirement for a sketch | Sketcher Workbench | Beginner | Maker | None | ||
Sketcher Tutorial | Sketcher Workbench | Beginner | Ulrich | |||
TechDraw HowTo Page | TechDraw Workbench | 0.19 | None | |||
TechDraw Pitch Circle | Tutorial | TechDraw Workbench | Beginner | 0:10 | Andergrin | 0.19 |
TechDraw TemplateGenerator | TechDraw Workbench | Intermediate | FBXL5 | 0.19 | None | |
TechDraw TemplateHowTo | TechDraw Workbench | Intermediate | 1:00 | wandererfan | 0.17 | None |
Thread for Screw Tutorial | Product design | Advanced | 1:00 | DeepSOIC, Murdic, vocx | 0.19 | Updated: Thread for screw tutorial |
Toothbrush Head Stand | Modeling | Beginner | 1:00 | EmmanuelG | 0.16 or above | Thingiverse 2403310 |
Topological data scripting | Programming | Intermediate | ||||
Transient FEM analysis | Finite Element Analysis | |||||
Tutorial custom placing of windows and doors | Arch Workbench | Intermediate | 1:00 | Vocx | 0.18 or above | None |
Tutorial for open windows | Arch Workbench | Beginner | 1:00 | Vocx | 0.18 or above | None |
Tutorial FreeCAD POV ray | Raytracing Workbench | Intermediate | 2:00 | Vocx | 0.18 or above | None |
Tutorial KinematicAssembly | Assembly3 Workbench | Beginner | 0:30 | FBXL5 | 0.20 or above | None |
Tutorial KinematicController | Programming | Intermediate | 1:00 | FBXL5 | 0.20 or above | None |
Tutorial KinematicSkeleton | Assembly3 Workbench | Intermediate | 0:40 | FBXL5 | 0.20 | None |
Tutorial Render with Blender | Rendering | Intermediate | 1:00 | Vocx | 0.18 or above | None |
VRML Preparation for Robot Simulation | Robot Workbench | Intermediate | 0.11.4252ppa1 | |||
Whiffle Ball tutorial | Product design | Beginner | 0:30 | r-frank and vocx | 0.17 or above | WhiffleBall_Tutorial_FCWiki.FCStd |
Wikihouse porting tutorial | Import | Intermediate/Advanced | 1:00 |