FreeCad Tutorial
A conversion guide for people who only design parts for 3D printing.
Written for a brand-new FreeCAD 1.1.3 install, default settings, metric. No CAM, no drawings, no simulation — just getting from an idea to a good STL or 3MF.
1. The five things that will confuse you
Read this section twice. Nearly every "FreeCAD is unusable" post comes from one of these five.
1. There is no single modelling environment. There are workbenches.
Fusion gives you the Design workspace and everything lives in it. FreeCAD splits the same functionality across separate toolsets you switch between with a dropdown. For 3D printing you will live in
Part Design and its child
Sketcher, and visit
Mesh and
Assembly occasionally. That's it. Ignore the other twelve.
2. Everything must live inside a Body.
In Fusion you can just start sketching. In FreeCAD, a Part Design feature has to belong to a
Body — a container that holds one continuous solid and its own origin planes. First action in every new document: create a Body. If you skip this, the Pad button will be greyed out and you'll wonder why.
3. A Body holds exactly one solid. This is the rule Fusion users trip over hardest. Fusion happily lets one component contain several disconnected bodies. FreeCAD's Part Design will not. If you Pad a sketch that creates a lump floating away from the existing material, you get an error telling you the result is not a single solid. Two disconnected shapes = two Bodies. See section 11.
4. Sketches want to be fully constrained, and FreeCAD nags until they are. Fusion tolerates half-constrained sketches indefinitely. FreeCAD technically does too, but a half-constrained sketch is a booby trap: geometry drifts when you edit something upstream. There's a degrees-of-freedom counter in the status bar, and the sketch turns fully green when it hits zero. Chase the green.
5. Tools stay active after you use them. Draw a line in Fusion and the tool stays armed too — but FreeCAD's version, called continue mode, applies to constraints as well, and it catches people out constantly. Press Esc or right-click to drop the current tool. Press Esc again with no tool active and you'll leave sketch edit mode entirely. There's a preference to stop that, and you should turn it on (see 2.6).
2. First-run setup — 20 minutes that saves you months
FreeCAD's defaults are conservative and a bit dated. These changes make it behave much more like the tool you're used to. All of them are in Edit → Preferences unless stated.
This is the single highest-value change. FreeCAD ships with CAD navigation, where orbit requires holding the middle button and then the left button. Fusion uses middle-drag to pan and Shift+middle-drag to orbit. FreeCAD has a preset that matches this exactly, and confusingly it's called Revit.
Preferences → Display → Navigation → 3D Navigation → Revit
| Action | Fusion 360 | FreeCAD "Revit" style |
|---|---|---|
| Pan | Middle-drag | Middle-drag |
| Orbit | Shift + middle-drag | Shift + middle-drag |
| Zoom | Scroll wheel | Scroll wheel |
| Select | Left-click | Left-click |
| Multi-select | Ctrl + click | Ctrl + click |
You can also change this any time by clicking the navigation-style button in the bottom-right status bar, or right-clicking empty space in the 3D view → Navigation styles. If you'd rather learn the native CAD style, it's fine too — but don't fight two muscle memories at once while you're also learning the software.
While you're on that page:
- Zoom step — bump to about
0.4if the default feels sluggish. - Enable animation — off. The spin-after-release is distracting.
- Rotation mode —
Drag at cursor. Orbits around whatever's under the pointer instead of the scene centre. Much closer to Fusion's feel. - Invert zoom — set this if your scroll direction feels backwards.
2.2 Units and precision
Preferences → General → Units
- Unit system:
Standard (mm/kg/s/degree)— already correct on a metric install. - Number of decimals: change
2→3. This matters. With 2 decimals a 0.125 mm tolerance displays as 0.13 and you'll chase a phantom error for an hour. - Minimum fractional inch: irrelevant, ignore.
2.3 Start behaviour
Preferences → General → General
- Auto load module after start-up: set to
Part Design. Saves a click every session. - Enable tiled background / theme: Preferences → General → Themes has a proper theme picker, and 1.1 added a Theme Editor if you want to tune colours.
FreeCAD Darkis a reasonable Fusion-adjacent starting point. - Size of recent file list: raise to 10.
2.4 Document and save behaviour
Preferences → General → Document
- Storage → Save thumbnail into project file: on, makes the Start page useful.
- Run AutoRecovery: on, every
300seconds. FreeCAD is far more stable than its reputation but this is free insurance. - Save transactions (Undo/Redo) and Maximum Undo/Redo steps: leave defaults; the undo stack is per-document and generous.
- Authoring and license: fill in your name once so exported STEP files aren't authored by "Unknown".
2.5 Part Design behaviour
Preferences → Part Design → General
- Automatically refine model after boolean operation: on.
- Automatically refine model after sketch-based operation: on.
Refining removes the redundant seam edges left behind after a Pad or a Boolean. Without it you get invisible splits across flat faces, and then fillets fail on those faces for no visible reason. Turning this on removes a whole category of confusing failure. There's a small recompute cost; you will not notice it on printable-sized parts.
Preferences → Part Design → Shape view (this controls on-screen display quality only):
- Maximum deviation depending on the model bounding box: lower from
0.50to about0.05. This only affects on-screen smoothness, not exported geometry, but curved surfaces look far better and it costs nothing on parts this size. - Maximum angular deflection: lower from
28.5°to about10°.
2.6 Sketcher
Preferences → Sketcher → General
- Esc can leave sketch edit mode: uncheck it. With continue mode on, you press Esc constantly to drop tools, and every so often you'll press it once too often and get dumped out of the sketch. Unchecking this makes Esc only ever cancel the active tool; you leave the sketch with the Close button instead.
- Dimensioning constraints: leave on
Single tool. This gives you the unified
Dimension tool on D, which behaves like Fusion's single dimension command — pick geometry and it works out whether you want a length, a radius, an angle or a distance. - Unify Coincident and PointOnObject: leave on. One
C key handles coincident, concentric and point-on-edge. - Auto tool for Horizontal/Vertical: leave on. One
A key applies whichever of horizontal/vertical is closer. - On-View-Parameters: set to
Dimensional and positional. This gives you the little input boxes that appear next to the cursor as you draw, so you can type40Tab25instead of clicking approximately and dimensioning afterwards. It's very close to how you already sketch in Fusion, and it creates the constraints for you automatically.
Preferences → Sketcher → Display
- Show coordinates beside cursor: on.
- Ask for value after creating a dimensional constraint: on (default). Keeps the type-the-number rhythm.
- Grid and Snap: personal taste. Snapping does not create constraints by itself, so don't rely on it for accuracy.
2.7 Turn on the panels you'll want
View → Panels: enable Report view and Selection view.
- The Report view is where FreeCAD tells you why something failed. When a Pad refuses and the dialog just says "failed", the real reason is in here. Non-negotiable.
- The Selection view shows the internal name of whatever you clicked (
Body.Face7). Useful when a fillet complains about a face you can't identify.
Also set Preferences → General → Report view → Redirect internal Python errors to report view: on, and give warnings a colour.
2.8 Save your setup
Tools → Save preferences to file (or just copy user.cfg from your FreeCAD config folder). Do it now so a reinstall doesn't cost you this half hour again.
3. The interface
The layout is fixed panels rather than Fusion's floating dialogs. Two things deserve special attention:
The Tasks panel shares a dock with the Model tree. When you start a Pad, the panel switches from Model to Tasks and the tree disappears. That's normal — it's not a bug, and the tabs at the top of the panel switch back. This is why you can't easily click tree items mid-command the way you can in Fusion's browser.
The Property editor is the thing Fusion doesn't have. Select any feature in the tree and its full parameter list appears at the bottom-left, live-editable. You do not need to re-open a Pad's dialog to change its length — click the Pad, click the Length field, type. Once this clicks, it's faster than Fusion for parametric tweaking. Two tabs at the bottom: Data (the parametric properties) and View (colour, transparency, display mode).
4. Vocabulary: Fusion → FreeCAD
Before the table, the structural difference — Fusion's Browser and Timeline are one thing in FreeCAD:
| Fusion 360 | FreeCAD 1.1 | Notes |
|---|---|---|
| Design workspace | Part Design workbench | Plus Sketcher, which opens automatically |
| Project / design file | Document (.FCStd)
|
A plain zip file. Local, not cloud. One document can hold many Bodies. |
| Component | Body = one solid. Part = a folder with its own placement. | |
| Body | The solid inside a Body | Not the same word. Painful, but true. |
| Browser | Model tree | |
| Timeline | Also the Model tree | Order top-to-bottom = history |
| Timeline marker position | Tip | Right-click a feature → Set tip |
| Suppress feature | Right-click → Suppressed | Checkbox, added in 1.0 |
| Origin planes | Origin group inside each Body | XY, XZ, YZ planes plus the three axes |
| Construction plane / axis / point | Datum plane / line / point / coordinate system | Rebuilt in 1.1 as core datums |
| Parameters dialog | Spreadsheet workbench + aliases | See section 10 |
| Joint | Assembly workbench Joint | Only needed for fit checks and print-in-place |
| Extrude | Two separate commands, not one with a direction | |
| Revolve | Same additive/subtractive split | |
| Sweep | ||
| Loft | ||
| Coil | ||
| Hole | Sketch circles first, then apply Hole to them | |
| Fillet | ||
| Chamfer | ||
| Shell | Select the face(s) to open, then run it | |
| Draft | ||
| Rectangular pattern | Patterns features, not faces | |
| Circular pattern | ||
| Mirror | ||
| Combine (cut/join/intersect) | ||
| Move/Copy | Transform (overhauled in 1.1 — draggers + numeric input) | |
| Measure | Unified tool, works across workbenches | |
| Project geometry | ||
| Construction geometry | Blue dashed | |
| Capture Position / Ground | Constrain the sketch, and attach it properly | |
| Export STL | .stl or .3mf
|
5. The modelling loop
Concretely, from an empty FreeCAD:
- Ctrl+N — new document.
- Workbench dropdown → Part Design.
Create body (the first button on the Part Design toolbar). A Body appears in the tree with an Origin inside it.
Create sketch. Because nothing is selected, the Tasks panel asks which plane. Pick XY_Plane for a part that sits flat on the print bed — this is the right default answer nearly every time for FDM.- Draw and constrain. Close the sketch.
- With the sketch selected,
Pad. Enter a length. OK. - Click a flat face of the result,
Create sketch again — it lands on that face. - Draw, constrain, close,
Pocket. - Repeat. Add
fillets and
chamfers last. - Ctrl+S. Then export.
That's the whole workflow. Everything else in this document is detail hanging off those ten steps.
One orientation note specific to printing: decide early which face is the bed. Sketch your footprint on the XY plane and pad upward. FreeCAD's XY plane is the ground plane in the 3D view, and every slicer will import the part in the same orientation you modelled it. Getting this right means you never have to re-orient in the slicer, which in turn means your overhang and support decisions stay in one place.
6. Sketching — where the real difference is
Fusion's sketcher is forgiving and quietly fixes things for you. FreeCAD's is stricter, more explicit, and — once you adapt — more predictable. It is also where you'll spend most of your first week.
6.1 The rules for a sketch that will actually extrude
A profile sketch must be:
- Closed. No gaps, however microscopic. A 0.001 mm gap gives you a surface instead of a solid.
- Non-self-intersecting. No crossing lines.
- Free of shared edges and T-junctions. More than two edges meeting at a point is not allowed. No duplicate overlapping lines.
Nested closed loops are fine and produce holes — draw a rectangle with a circle inside it and Pad it, and you get a plate with a hole. This is the cheapest way to make holes and often better than the Hole feature.
Anything you don't want extruded should be
construction geometry (blue dashed). Construction lines are enormously useful: draw a construction line between two points, constrain it, and hang real geometry off it.
6.2 Constraints, and the DoF counter
The status bar shows something like Under-constrained: 4 DoF. Click that message and FreeCAD selects the elements still free to move. When it reads Fully constrained, the whole sketch turns green and you're done.
Two rules of thumb:
- Geometric constraints first, dimensions second. Get everything horizontal/vertical/tangent/equal, then add numbers. Doing it in the other order produces sketches that fight you.
- Anchor to the origin. At least one point in every sketch should be tied to the sketch origin — with a coincident constraint, or a symmetry constraint about an axis. A sketch floating in space is one edit away from sliding sideways.
If your part is symmetric,
symmetry about the Y axis is worth two dimensions and makes the whole thing behave when you change widths later.
The constraints you'll actually use, with their default keys:
| Icon | Constraint | Key | Fusion equivalent |
|---|---|---|---|
| Dimension (context-sensitive) | D | Sketch Dimension | |
| Coincident / concentric / point-on-object | C | Coincident | |
| Horizontal or vertical (auto) | A | Horizontal/Vertical | |
| Equal | E | Equal | |
| Tangent or collinear | T | Tangent | |
| Symmetric | S | Symmetry | |
| — | Parallel | P | Parallel |
| — | Perpendicular | N | Perpendicular |
| Lock (X and Y distance to origin) | K, L | Fix/Unfix |
The unified D key is the workhorse. Select one line → D → length. Select two circles → D → centre distance. Select a circle → D → diameter. Select two lines → D → angle. If it proposes the wrong constraint, press M to cycle through the alternatives before you click to place it.
6.3 Drawing tools
| Icon | Tool | Key |
|---|---|---|
| Line | G, L | |
| Polyline (line/arc chains) | G, M | |
| Rectangle | G, R | |
| Circle | G, C | |
| Arc | G, A | |
| Slot | G, S | |
| Fillet / chamfer between two edges | G, F | |
| Trim | G, T | |
| Toggle construction geometry | G, N |
Polyline is the tool to learn properly. It's FreeCAD's equivalent of Fusion's line tool with the arc-drag trick: while drawing, press M to cycle between line and several arc modes, so you can lay out a rounded outline in one continuous chain with the tangency constraints already applied.
Rectangle in 1.0+ has modes too — press M to switch between corner-to-corner, centred, rounded-corner and offset-copy variants.
6.4 External geometry — and what changed in 1.1
Fusion's "project geometry" pulls edges of existing solids into your sketch. FreeCAD's equivalent is
External geometry (G, X), and 1.1 changed it in a way that matters.
In 1.0 and earlier, projected external geometry came in as reference-only construction lines — you had to trace over them with real geometry to use them in a profile. In 1.1, projected external geometry is real, defining geometry by default. You can extrude directly against it. You can also toggle it to construction like anything else.
1.1 also split it into two tools:
- Projection — projects edges/faces flat onto the sketch plane. This is the Fusion "project" behaviour.
- Intersection — creates the edges where a solid actually crosses your sketch plane. There's no direct Fusion analogue and it's genuinely useful for cutting a slot through a curved wall.
Both can now be driven by selecting a whole face rather than picking edges one at a time.
Two limitations worth knowing up front:
- You can only reference geometry in the same coordinate system — the same Body, the same Part container, or both at document level. To pull in geometry from a different Body, add a
SubShapeBinder first. This is exactly the "make a lid that matches this box" situation. - Every external reference creates a dependency on a specific face or edge of the upstream solid, and changing the upstream geometry enough can break it. Links to other sketches are more robust than links to solid faces, and the FreeCAD docs actively encourage them. Where you can get the same result by referencing an origin plane or a datum, do that instead.
6.5 Editing a sketch afterwards
Double-click the sketch in the tree, or select it and press the Edit sketch button. To move a whole sketch to a different plane, select it and use Attach sketch (Sketcher_MapSketch) — that's the Fusion "redefine sketch plane" equivalent.
7. Part Design tools, mapped from Fusion
7.1 Additive
| Icon | Tool | Notes for a Fusion user |
|---|---|---|
| Pad | Fusion's Extrude-Join. Types: Dimension, To last, To first, Up to face, Two dimensions. Midplane checkbox = Fusion's symmetric extrude. Reversed flips direction. Set a taper angle here rather than adding a draft feature later.
| |
| Revolution | Needs an axis: a sketch construction line, an origin axis, or a datum line. Sketch must be closed and must not cross the axis. | |
| Additive loft | Select the first sketch, run the tool, then add the others in the dialog. | |
| Additive pipe | Sweep. Profile sketch + path sketch on different planes. | |
| Additive helix | Coil. This is how you model threads if you want real modelled threads. | |
| Additive primitives | Box, cylinder, sphere, cone, torus, prism, wedge — dropped straight into the Body without a sketch. Genuinely handy for quick blocking-out; Fusion has no clean equivalent inside a timeline. |
7.2 Subtractive
| Icon | Tool | Notes |
|---|---|---|
Extrude-Cut. Same type options as Pad, plus Through all.
| ||
| Hole | Draw circles in a sketch, then run Hole. Gives you counterbore, countersink, tapered/straight, and real or cosmetic threads. 1.1 added Whitworth-family threads (BSW, BSF, BSP, NPT) and made modelled threads noticeably faster. For 3D printing, usually skip the thread modelling — print a plain hole and tap it, or print an oversized hole for a heat-set insert. | |
| Groove | Revolved cut. | |
| — | Subtractive loft / pipe / helix / primitives | Mirror images of the additive versions. |
7.3 Dress-up
| Icon | Tool | Notes |
|---|---|---|
| Fillet | Select edges or a whole face (fillets every edge of it). 1.1 added interactive draggers so you can pull the radius in the 3D view. | |
| Chamfer | Equal-distance, two-distance, or distance-and-angle. Draggers in 1.1 as well. | |
| Draft | Needs a neutral plane, same as Fusion. | |
| Thickness | Shell. Select the face(s) to remove, then run it. Positive thickness goes outward, negative inward — the opposite of what most people expect, so check the preview. |
Fillets are the most failure-prone feature in FreeCAD, exactly as in Fusion but slightly more so. Rules that keep you out of trouble:
- Add them last, as the final features in the tree.
- Group edges that will get the same radius into one fillet feature rather than several — fewer, larger features are more robust than many small ones.
- Never fillet an edge where three or more fillets will meet at a corner in one go. Do the big ones first as a separate feature, then the small ones.
- If a fillet fails, halve the radius and try again. If that works, the geometry is too tight, not the software.
- Turn on the refine preferences from 2.5 — a surprising number of "impossible" fillets are actually failing on an invisible seam edge.
- For 3D printing, prefer chamfers on the bottom edge. A 0.6 mm chamfer on the first layer perimeter removes elephant's foot and prints better than a fillet.
7.4 Transformations
| Icon | Tool | The important difference |
|---|---|---|
| LinearPattern | Patterns features, not faces or bodies. You select which features from the tree get repeated. | |
| PolarPattern | Same. Needs an axis. | |
| Mirrored | Same. Mirror plane is usually an Origin plane. | |
| MultiTransform | Chains several transforms into one feature — e.g. mirror then pattern. Also the only place to get Scaled. |
This "patterns operate on features" model is different from Fusion, where you pattern faces or bodies. It's stricter, but it means the pattern updates correctly when you change the original feature. If you want to pattern something that isn't a feature — a whole Body, say — use the Draft workbench's array tools, or the Part workbench.
8. Reference geometry and attachment
Every Body contains an Origin group: XY, XZ, YZ planes and X, Y, Z axes. They're hidden by default; select one in the tree and press Space to show it. These are your primary references and you should prefer them over faces wherever you can.
When you need more, FreeCAD 1.1 replaced the old Part Design datum tools with core datums, available from the Part Design toolbar and now usable in the Assembly workbench too:
| Icon | Datum | Fusion equivalent |
|---|---|---|
| Datum plane | Construction plane | |
| — | Datum line | Construction axis |
| — | Datum point | Construction point |
| — | Local coordinate system | — (no direct equivalent) |
The mechanism behind them is attachment, and it's more powerful than Fusion's offset-plane dialog but less obvious. Select the reference geometry first, then create the datum; the Attachment dialog offers modes (FlatFace, Object's XY, Concentric, Normal to edge, Plane by 3 points…) plus numeric offsets in the attachment's own coordinate system.
Any sketch has the same Attachment properties in the Property editor — an offset sketch plane is just a sketch attached to XY_Plane with a Z offset, no datum needed. That's usually the quickest route.
Practical advice: for printed parts, 90% of your sketches should attach to an Origin plane or a flat face, and you'll rarely need a datum at all. Reach for them for angled features and for revolve axes.
9. Editing history: the tip, suppression, reordering
The tree is the timeline. Four operations you'll want:
Roll back — "Set tip". Right-click a feature →
Set tip. Everything below it is hidden and any new feature you create is inserted at that point. This is Fusion's drag-the-marker-back. The tip feature is shown in bold. Remember to set the tip back to the last feature when you're done, or you'll export an incomplete part.
Suppress. Right-click → Suppressed (checkbox, added in 1.0). Switches a feature off without deleting it. Useful for making a "no holes" variant, or for isolating which feature broke a fillet.
Reorder. Right-click → Move object after other object. Fusion's drag-in-timeline. Use it to push fillets to the end where they belong.
Move between bodies. Right-click → Move object to other body. Useful when you realise a feature should have been a separate part.
Edit a feature's parameters — just click it and use the Property editor. Double-click opens the full dialog if you need the face selections.
One behaviour to know: FreeCAD recomputes eagerly. If a downstream feature can't rebuild after your edit, it goes red in the tree with a marker. Fix the cause and hit
Refresh (Std_Refresh) to force a full recompute. If the tree looks stale, right-click the document → Mark to recompute → then Refresh.
10. Parameters and expressions
Fusion has a Parameters dialog. FreeCAD's equivalent is a
Spreadsheet inside the document, and it's more capable once set up.
- Workbench dropdown → Spreadsheet → Create spreadsheet.
- Put a label in column A and the value in column B:
wall_thickness/2.4. - Click the B cell, and in the Alias box (or right-click → Properties → Alias) type
wall_thickness. - Back in Part Design, anywhere you can type a number, click the small fx (blue circle) icon at the right of the field and enter
Spreadsheet.wall_thickness.
Now change the spreadsheet and the model follows. You can use full arithmetic in expressions: Spreadsheet.wall_thickness * 2 + 0.4, and reference other features: Pad.Length / 2.
A printing-specific setup that pays for itself immediately — put these in a spreadsheet at the top of every project:
| Alias | Typical value | Used for |
|---|---|---|
nozzle
|
0.4
|
Making wall thicknesses exact multiples |
layer
|
0.2
|
Making heights exact multiples |
wall
|
=nozzle * 6 → 2.4
|
Every wall in the part |
clearance_slip
|
0.2
|
Holes that parts slide into |
clearance_press
|
0.05
|
Press fits |
clearance_moving
|
0.4
|
Print-in-place hinges |
Then a hole for a 5 mm rod becomes 5 + Spreadsheet.clearance_slip * 2, and when you switch filament or printer you retune one cell instead of forty dimensions. This is the single biggest quality-of-life win available in FreeCAD for print design, and it's better than Fusion's parameters because the spreadsheet can do arithmetic between its own cells.
You can also name individual sketch constraints (there's a name field in the dimension dialog) and reference them as Sketch.Constraints.hole_dia.
11. Multiple bodies, and assemblies for fit checks
11.1 Two parts in one file
Because a Body holds one solid, a two-piece design means two Bodies in the same document. Create the second with
Create body — note that this makes it the active body (shown in bold), and all new features go into it. Double-click a Body in the tree to switch which one is active. Forgetting this is the classic "why did my pocket cut the wrong part" mistake.
To position them relative to each other without a full assembly, select a Body and edit its Placement in the Property editor, or use the 1.1 Transform tool, which now has proper draggers, numeric entry, alignment to any element, and a move-to-target function.
To make a second body reference geometry from the first, use
SubShapeBinder — it pulls a face or edge across as a reference you can sketch on. This is the correct answer to "how do I make a lid that matches this box".
11.2 The Assembly workbench
For anything with moving parts, or where you want to check clearances before committing to a 6-hour print, use
Assembly (built in since 1.0, improved in 1.1 with Insert new part and Create simulation).
Basic flow: create an Assembly container, insert your Bodies (or link parts from other documents), then add Joints — Fixed, Revolute, Slider, Cylindrical, Ball, Distance. It's conceptually the same as Fusion's joints, and the solver is decent.
For print-in-place mechanisms, the assembly is how you verify a hinge actually swings before you print it. 1.1 added kinematic simulation with animation preview, which makes this genuinely quick.
Honest assessment: FreeCAD's assembly is younger and less polished than Fusion's. For the scale of thing most 3D printing involves — a handful of parts, a couple of joints — it's perfectly adequate. Don't try to build a 200-part machine in it yet.
12. Exporting for the slicer
12.1 The quick way
- Select the Body in the tree (the Body, not a feature inside it).
- File → Export… (Ctrl+E).
- Choose the file type:
STL Mesh (*.stl)or3MF (*.3mf). - Save.
FreeCAD tessellates the solid on the fly using the settings below.
Use 3MF if your slicer supports it (PrusaSlicer, OrcaSlicer, Bambu Studio, Cura all do). It's a modern container format, it stores units unambiguously, the files are smaller, and it survives multi-body exports better. FreeCAD 1.x imports and exports it. STL remains the safe universal fallback.
Other formats worth knowing:
- STEP (
.step/.stp) — exact solid geometry, not a mesh. This is what you send to someone else for CAD work, and what you use to archive. Fusion can import it. - OBJ, PLY, AMF — supported, rarely needed for printing.
12.2 Mesh quality — the setting that actually matters
Default export settings will give you visibly faceted holes on small parts. Fix it once:
Preferences → Import-Export → Mesh formats
- Maximum mesh deviation (surface deviation): default
0.10mm → set to0.01mm - Maximum angular deviation: default
30°→ set to10° - Mesher:
Standardis fine.MefistoandNetgenexist for special cases. - STL format: leave on binary — ASCII STL files are roughly five times larger for no benefit.
The resulting files are bigger — perhaps 2–4 MB instead of 500 KB for a typical part. No slicer or printer built in the last decade will care, and your curved surfaces will be smooth.
12.3 Checking the part before you print it
Part → Check geometry (also on the Part Design toolbar as
a validation tool) runs an OpenCASCADE geometry check and reports invalid faces, self-intersections and open shells. It's improved in 1.1 — it now reports valid shapes and skipped objects too, and writes to the Report view.
Run it on any part that took real effort, especially after lots of booleans. A solid that passes here will slice cleanly.
For a visual check, switch the 3D view to View → Draw style → Wireframe or turn on transparency (View tab in the Property editor) to spot internal voids you didn't intend.
12.4 A note on scale
FreeCAD works in millimetres and exports in millimetres. Slicers expect millimetres. Nothing to configure — this just works. If a part arrives in the slicer at 1/25.4 scale, you built it in inches by accident.
13. Worked example: a parametric wall bracket
An L-bracket with a reinforcing rib and mounting holes. Roughly twenty minutes, and it exercises everything above.
Setup
- Ctrl+N.
- Switch to Spreadsheet, Create spreadsheet. Enter and alias:
| Cell | Content | Alias |
|---|---|---|
| A1 | thickness
|
|
| B1 | 4
|
thickness
|
| A2 | width
|
|
| B2 | 40
|
width
|
| A3 | arm
|
|
| B3 | 60
|
arm
|
| A4 | bolt_dia
|
|
| B4 | 5.4
|
bolt_dia
|
- (5.4 = M5 clearance plus a little printing allowance.)
- Switch to Part Design →
Create body.
The L profile
Create sketch → XZ_Plane. This is the vertical plane facing you, so the L profile is drawn in elevation.- Draw the L with
Polyline (G, M): six segments, roughly L-shaped, closing back on itself. Don't aim for accuracy — get the shape. - Constrain it:
- The bottom-left corner point →
C onto the sketch origin. - Each segment →
A for horizontal/vertical (auto-constraints will have caught most already). - The vertical arm's outer edge → D, and in the value box click fx and enter
Spreadsheet.arm. - Horizontal arm's outer edge → D →
Spreadsheet.arm. - Both wall thicknesses → D →
Spreadsheet.thickness.
- The bottom-left corner point →
- Status bar should read Fully constrained, sketch fully green. If not, click the DoF message to see what's still loose.
- Close.
The body
- Select the sketch →
Pad. Length: fx → Spreadsheet.width. Tick Symmetric to plane so it grows evenly either side of the origin — this makes mirroring behave later. OK.
The rib
- Click the inside corner face — or easier,
Create sketch on XZ_Plane again. - Draw a right triangle in the inner corner with Polyline. Constrain its two straight edges coincident with the projected inner faces (use
External geometry, G, X, to pull those edges in — remember in 1.1 they come in as real geometry you can constrain directly to). - Dimension the two legs to something like
arm * 0.5via expressions. - Close →
Pad, symmetric, length Spreadsheet.thickness. OK.
The holes
- Click the outer face of the vertical arm.
Create sketch — it attaches to that face. - Draw two
circles (G, C). - Constrain:
S to make them symmetric about the vertical axis,
E to make them equal diameter, then D on one → fx → Spreadsheet.bolt_dia. Add a D from the top edge to fix their height. - Close. Select the sketch →
Hole. Set Profile → Diameter to inherit from the sketch, Depth → Through all. If you want countersinks for M5 screws, set Hole cut type → Countersink. OK. - Repeat on the horizontal arm.
Dress up
- Select the two outer vertical edges of the bracket →
Fillet → 3 mm. - Select the bottom face's perimeter edges →
Chamfer → 0.6 mm. This is your elephant's-foot insurance.
Export
- Select the Body in the tree.
- Ctrl+E →
3MF(orSTL) → save.
Now prove it's parametric
Go back to the spreadsheet and change thickness from 4 to 6. Switch to Part Design. The whole bracket — profile, rib, chamfers — thickens, and the holes stay put. That's the payoff for constraining properly, and it's the moment FreeCAD usually starts to feel worth it.
14. When things break
"Result has multiple solids" on a Pad or Pocket.
Your feature created material disconnected from the rest of the Body. Either connect it, or put it in its own Body. This is the one-solid-per-Body rule biting.
Pad button is greyed out.
No active Body, or no sketch selected. Double-click a Body in the tree to activate it (it goes bold).
"Cannot use this sketch — it is not closed" / you get a surface instead of a solid.
There's a gap or a duplicate edge. Close the sketch, select it, and run Sketch → Validate sketch — it will find and optionally repair missing coincidences.
Fillet or chamfer fails with no useful message.
Read the Report view for the real error. Then: reduce the radius; split it into two features; check that the refine preferences from 2.5 are on; make sure the fillet is the last feature in the tree.
A feature turns red after you edit something upstream.
Usually a broken face or edge reference. Double-click the failing feature, and re-pick the geometry. FreeCAD 1.0 and 1.1 substantially improved the topological naming problem — the classic FreeCAD complaint — and this happens far less than its reputation suggests, but it still happens. Referencing origin planes and datums instead of model faces is the prevention.
Everything is grey / you can't select the thing you want.
Try the 1.1 Clarify selection tool, which makes nearby geometry temporarily transparent so you can pick the entity underneath. Or hover and press the mouse-over selection cycling.
You padded into the wrong body.
Right-click the feature → Move object to other body.
The model looks faceted in the 3D view.
That's display tessellation only, not your geometry. Fix it in 2.5; it does not affect exports (those use the separate mesh-export settings in 12.2).
Esc dumped you out of the sketch.
Turn off Esc can leave sketch edit mode — see 2.6.
15. Keyboard cheat sheet
Global
| Key | Action |
|---|---|
| Ctrl+N / Ctrl+O / Ctrl+S | New / Open / Save |
| Ctrl+E | Export |
| Ctrl+Z / Ctrl+Shift+Z | Undo / Redo |
| Space | Toggle visibility of selected object |
| 1–6 | Standard views (front, top, right, rear, bottom, left) |
| 0 | Isometric / axonometric |
| V, F | Fit all (zoom to fit) |
Sketcher — geometry
| Key | Tool |
|---|---|
| G, L | Line |
| G, M | Polyline |
| G, R | Rectangle |
| G, C | Circle |
| G, A | Arc |
| G, S | Slot |
| G, H | Regular polygon |
| G, B | B-spline |
| G, F | Fillet / chamfer |
| G, T | Trim |
| G, Q | Extend |
| G, X | External geometry |
| G, N | Toggle construction geometry |
| M | Cycle the active tool's mode (while drawing) |
| Esc / right-click | Drop the active tool |
Sketcher — constraints
| Key | Constraint |
|---|---|
| D | Dimension (context-sensitive) |
| C | Coincident / concentric / point-on-object |
| A | Horizontal or vertical (auto) |
| P | Parallel |
| N | Perpendicular |
| T | Tangent / collinear |
| E | Equal |
| S | Symmetric |
| K, D | Distance |
| K, R | Radius |
| K, A | Angle |
| K, L | Lock |
| K, X | Toggle driving / reference |
| Ctrl+C / X / V | Copy / cut / paste sketch geometry with its constraints |
Everything is remappable: Tools → Customize → Keyboard. If your Fusion muscle memory is strong, remapping E to Pad and Q to Pocket is a popular move.
16. Add-ons worth having
Tools → Addon Manager. Everything here is free and installs in-place.
- Fasteners — a library of ISO/ANSI screws, nuts, washers and heat-set inserts you can drop onto holes. Immediately useful for checking that your M3 socket cap actually clears the counterbore.
- Curves — advanced surfacing and curve tools. Reach for it when Part Design's loft isn't enough.
- Defeaturing — removes faces and features from imported STEP files. Handy when adapting someone else's model.
- Sheet Metal — if you ever bend anything.
- MeshRemodel — helps convert an imported STL back into editable solid geometry. Imperfect, but the best option available for remixing STLs.
- Assembly3 — an alternative assembly system. You almost certainly don't need it now that Assembly is built in; mentioned only so you know what people are referring to in old forum posts.
A note on the forum and wiki: the FreeCAD community produces excellent documentation, but a great deal of it predates version 1.0. If a tutorial mentions "Part Design migrate", the topological naming problem, or tells you to trace over external geometry, it's describing pre-1.0 behaviour. Check the version before you follow the advice.
17. Habits to unlearn, habits to build
Unlearn:
- Sketching before creating a container. Body first, always.
- Leaving sketches under-constrained. It works in Fusion; it will hurt you here.
- Expecting one command to add or remove depending on direction. Pad and Pocket are different commands.
- Direct-editing solids by push-pulling faces. Part Design has no equivalent; you go back to the sketch or the feature's parameters. (The Property editor makes this fast once you're used to it.)
- Patterning bodies. You pattern features.
- Waiting for a cloud save. Ctrl+S writes a real file to a real disk that you own.
Build:
- Body → sketch on XY → pad up. Make this reflex.
- Chase the green. Fully constrain everything before you leave a sketch.
- Live in the Property editor. It's faster than reopening dialogs.
- Start every project with a spreadsheet of print tolerances. Ten minutes, saves hours.
- Read the Report view when something fails. The answer is nearly always sitting there.
- Save often, and keep versions.
bracket_v3.FCStdcosts you nothing. - Fillets and chamfers last. Every time.
What you actually gained and lost
Lost: polish, generative tools, integrated CAM and simulation quality, sheet-metal maturity, cloud collaboration, a large ecosystem of tutorials matching your exact version, and Fusion's forgiving sketcher.
Gained: a .FCStd file on your own disk that will still open in ten years, no licence terms that can change under you, no export limits or feature paywalls, Python scriptability all the way down, and — once you've internalised constraints and the spreadsheet — a parametric workflow that's arguably more rigorous than the one you left.
For parts destined for a 3D printer, FreeCAD 1.1 is entirely sufficient. Give it two weekends. The first will be frustrating and the second one won't.
Written for FreeCAD 1.1.3 (released 25 July 2026), default metric install. Version-specific behaviour noted where 1.1 differs from 1.0.