How to Use FreeCAD for Makers: Parametric CAD for 3D Printing, Laser Cutting, and CNC
Introduction
FreeCAD is the only fully open-source parametric CAD program that rivals commercial tools for maker projects. Unlike Blender (mesh-based) or Tinkercad (simplified), FreeCAD uses a constraint-based parametric workflow where every dimension, hole, and feature is editable at any time. One FreeCAD model can generate STL files for 3D printing, DXF files for laser cutting, and G-code toolpaths for CNC routing — all from the same source model. This guide covers the complete FreeCAD workflow for makers: Part Design workbench, Sketcher constraints, TechDraw for 2D exports, and the multi-machine workflow that lets one parametric model feed your 3D printer, laser cutter, and CNC router simultaneously.
What You Need
- FreeCAD 1.0 or newer (download from freecad.org)
- Basic understanding of parametric modeling (dimensions drive geometry)
- A project that needs parts for multiple fabrication methods
Step 1: Understand FreeCAD Workbenches for Makers
FreeCAD organizes tools into workbenches. For maker projects, these are the essential ones:
- Part Design: Parametric solid modeling (sketches, pads, pockets, holes, fillets)
- Sketcher: 2D constraint-based drawing (lines, circles, arcs, dimensions, constraints)
- Part: Basic Boolean operations and primitives
- TechDraw: 2D drawing generation for DXF export (laser cutting, CNC profiling)
- Mesh Design: Import/export STL, mesh repair, conversion between mesh and solid
- CAM: G-code generation for CNC milling and routing
- Draft: 2D drafting tools, DXF import/export
Recommended workflow: Part Design for 3D models, TechDraw for 2D profiles, CAM for toolpaths.
Step 2: Create a Parametric Part for 3D Printing
Create a new document: File > New
Switch to Part Design workbench.
Create a new body: Click Create Body. A Body contains a single solid part.
Create a sketch:
- Click Create Sketch
- Select the XY plane (or whichever plane is appropriate for your base)
- The view rotates to face the sketch plane
Draw the base profile:
- Use the sketcher tools: Line, Rectangle, Circle, Arc
- Do not worry about exact dimensions yet
Apply constraints (this is the magic of parametric CAD):
- Select two parallel lines, click Parallel constraint
- Select a line and the origin, click Coincident to anchor it
- Select a horizontal line, click Horizontal constraint
- Select a vertical line, click Vertical constraint
- Select a circle center and the origin, click Coincident to center it
Add dimensions:
- Click the Dimension tool (looks like a ruler)
- Click a line, drag out the dimension, enter a value (e.g., 50 mm)
- Click a circle, enter the diameter (e.g., 10 mm for a hole)
- Click between two points for distance constraints
The sketch turns green when fully constrained. A fully constrained sketch has no degrees of freedom — every dimension and position is defined.
Close the sketch.
Extrude to 3D:
- With the sketch selected, click Pad
- Enter the length (extrusion depth), e.g., 5 mm
- Click OK
You now have a parametric solid. Double-click the sketch to edit dimensions — the 3D part updates automatically.
Step 3: Add Features (Holes, Pockets, Fillets)
Create a hole:
- Select the face where you want the hole
- Create a new sketch on that face
- Draw a circle at the hole location
- Dimension the circle (e.g., 5 mm diameter) and position it
- Close the sketch
- Click Pocket (not Pad — Pocket removes material)
- Set the pocket depth to Through All to go through the entire part
Create a recessed pocket:
- Sketch on the face
- Draw the pocket profile
- Pocket with a specific depth (e.g., 2 mm)
Add fillets (rounded edges):
- Select an edge (Ctrl+click to select multiple)
- Click Fillet
- Enter the radius: 0.5 mm for 3D printing (stronger than sharp corners)
Add chamfers:
- Select an edge
- Click Chamfer
- Enter the chamfer size: 0.5 mm
Step 4: Spreadsheet-Driven Design
FreeCAD's Spreadsheet workbench lets you drive all dimensions from a central parameter table — change one cell and the entire model updates.
- Switch to Spreadsheet workbench
- Create a new spreadsheet
- Define parameters:
- Rename the spreadsheet to Params
- In the sketch, instead of entering a raw dimension, use an alias:
- Click a dimension, press the equals sign
- Enter: Params.Length (for the length dimension)
- Enter: Params.HoleDia (for the hole diameter)
Now changing the spreadsheet values automatically updates all sketches and features. This is parametric design at its most powerful — one spreadsheet drives the entire model.
Step 5: Export STL for 3D Printing
- Select the Body in the tree
- File > Export
- Select format: STL Mesh
- Settings:
- Export: Selected objects only
- Mesh deviation: 0.05 mm (tolerance for mesh conversion, lower = finer)
- Angular deflection: 0.5 degrees
- Save as .stl
- Import into your slicer and verify dimensions
Tip: FreeCAD's mesh export quality is excellent. The 0.05 mm deviation setting produces STL files as clean as those from SolidWorks or Fusion 360.
Step 6: Generate 2D Profiles for Laser Cutting and CNC
This is where FreeCAD shines for multi-fabrication workflows. From the same 3D model, you can extract 2D profiles.
Method 1: TechDraw Workbench (Recommended)
- Switch to TechDraw workbench
- Select the face you want to export (e.g., the top face showing the outline)
- Click Insert View
- FreeCAD creates a 2D drawing of that face
- Click Export DXF
- Save as .dxf
The DXF file contains the exact profile with all edges, holes, and features — ready for laser cutting or CNC profiling.
Method 2: Cross-Section (Part workbench)
- Switch to Part workbench
- Create a plane where you want the cross-section
- Select the body and the plane
- Part > Cross Section
- This creates a 2D wire at the intersection
- Select the wire and export as DXF
Method 3: Draft Shape2DView (For complex parts)
- Switch to Draft workbench
- Select the body
- Draft > Shape2DView
- This projects the 3D shape onto the XY plane
- Export the resulting 2D shape as DXF
Step 7: Generate G-Code with the CAM Workbench
FreeCAD's CAM (Computer-Aided Manufacturing) workbench generates G-code toolpaths directly from your model.
- Switch to CAM workbench
- Create a Job: CAM > Job
- Set the Job properties:
- Post Processor: Select your CNC controller (GRBL, LinuxCNC, Mach3, etc.)
- Output file: Where to save the G-code
- Stock: Define the raw material dimensions
- Create a tool: CAM > ToolBitLibrary > Add Tool
- Diameter: Your end mill diameter (e.g., 3.175 mm for 1/8 inch)
- Flutes: Number of cutting edges
- Cutting edge length: Maximum depth of cut
- Create toolpaths:
- Profile: Cut along the outside edge of the part
- Pocket: Clear material from inside a closed profile
- Face: Flatten the top surface
- Drill: Drill holes at specified locations
- For each toolpath, set parameters:
- Step down: 1-2 mm per pass for 1/8 inch end mill in wood
- Feed rate: 800-1500 mm/min for wood, 300-500 mm/min for aluminum
- Plunge rate: Half the feed rate
- Click Post-Process to generate the G-code file
FreeCAD CAM supports:
- 2.5D milling (profiles, pockets, drilling, facing)
- Adaptive clearing (high-efficiency roughing)
- 4th-axis operations (limited support)
- Multiple tools with automatic tool changes
Step 8: Multi-Fabrication Workflow Example
Let us design a simple enclosure that uses all three fabrication methods:
- 3D printed corner brackets (exported as STL)
- Laser-cut front and back panels (exported as DXF from TechDraw)
- CNC-routed mounting holes (exported as G-code from CAM)
Setup:
- Create the spreadsheet: Thickness=3mm, HoleDia=4mm, Width=100mm, Height=60mm
- Model the corner bracket in Part Design using the spreadsheet parameters
- Model the front panel as a separate Body using the same parameters
- Arrange the front panel flat on the XY plane for laser cutting
- Use TechDraw to export the front panel profile as DXF
- Use CAM to generate drill cycles for the mounting holes
- Export the corner bracket as STL for 3D printing
Change Thickness in the spreadsheet to 5 mm — all parts update automatically. Re-export STLs, DXFs, and G-code with the new dimensions.
Step 9: Import and Modify Existing Models
Import STL and convert to solid:
- File > Import > STL
- The mesh appears in the tree
- Part > Create Shape from Mesh (set tolerance: 0.1 mm)
- Part > Convert to Solid
- Switch to Part Design and create a new Body from the solid
- Now you can add parametric features to an imported mesh
Import DXF for laser-cut parts:
- File > Import > DXF
- The DXF appears as 2D wires in the Draft workbench
- Select the wires, click Upgrade to form faces
- Extrude the face to create a solid
- Add parametric features (holes, slots) using Part Design
Step 10: Assembly with the Assembly4 Workbench
For multi-part projects, the Assembly4 workbench positions parts relative to each other.
- Install Assembly4 from the Addon Manager
- Create an assembly file
- Insert parts (link to external FreeCAD files)
- Use LCS (Local Coordinate Systems) to position parts
- Verify fit before printing/cutting
Tips for FreeCAD Maker Success
- Always fully constrain sketches. A sketch with remaining degrees of freedom (shown in white) can behave unpredictably when dimensions change.
- Use spreadsheets for multi-part projects. One parameter change updates every part.
- Name your features descriptively. Instead of "Pad001", rename to "BaseExtrude". This makes the model tree readable.
- Use the Recompute button. After complex changes, press F5 to force recomputation.
- Save versions as you go. FreeCAD can crash on complex models. Save incrementally.
- TechDraw templates: Create a custom TechDraw template with your maker logo, material notes, and cutting parameters for consistent documentation.
- CAM simulation: Use the CAM simulator to watch the toolpath before sending G-code to your machine. It shows potential crashes and inefficient paths.
- GRBL post-processor: For the WolfPawn 4040 Pro and similar GRBL machines, use the GRBL post-processor in CAM. It outputs standard G-code that works out of the box.
Conclusion
FreeCAD is the missing link for makers who want true parametric CAD without the cost of Fusion 360 or SolidWorks. Its Part Design workbench produces professional-quality solid models, TechDraw generates clean DXF profiles for laser and CNC, and the CAM workbench creates G-code toolpaths — all from one parametric model driven by a spreadsheet. The workflow of sketch > constrain > pad > pocket > fillet > export handles 90% of maker projects. Add the spreadsheet-driven parameter system and you have a single-source-of-truth design environment where one model feeds your 3D printer, laser cutter, and CNC router simultaneously.
Related Guides
- How to Use OpenSCAD for Parametric Maker Projects: Code-Based 3D Design
- How to Repair Broken STLs for 3D Printing: Complete Mesh Repair Workflow
- Nesting Software for CNC and Laser Cutting: DeepNest, SVGnest, and Material Optimization
- How to Design Snap-Fit Joints and Living Hinges for 3D Printed Parts
- How to Use Vectric Aspire for CNC Routing: V-Carving, 3D Reliefs, and Toolpaths
- How to Use EstlCAM for CNC Routing: Toolpaths, G-Code, and GRBL Control
- How to Use Blender for 3D Printing: From Modeling to Clean STL Export
- How to Install Threaded Inserts in 3D Printed Parts for Strong, Reusable Hardware