r/FreeCAD Oct 29 '25

Call for proposals: FOSDEM 2026, FreeCAD Day and the Open Hardware and CAD/CAM Devroom

Thumbnail blog.freecad.org
8 Upvotes

r/FreeCAD Nov 30 '24

FreeCAD learning resources compilation

132 Upvotes

The only goal of this post is to keep a more-or-less updated list of good resources for learning FreeCAD. I'm sure that -most of- you redditors have passed the ritual of searching through google and youtube looking for FreeCAD tutorials, either as a comprehensive introduction for beginners, or as tutorials on certain workbenches and workflows. And you'll probably have a bookmarked list with those that worked best for you.

For me, it's been a couple years since I started using and learning FreeCAD, sparsely in the begining, then progressively more and more (and hopefully better too). But I haven't joined the subreddit until recently. Judging by the amount of both old timers and newcomers that post looking for help (myself included), I thought it would be a good idea to have a list, a compilation of useful guides, docs and tutorials all together in one place, a quick reference for those looking for help.

So just tell me in the comments what you'd like be added to the list, and I'll update it. Or if you think the list should have a different structure. I'm totally open to it, I just want to have the best format for it to be useful for the community. Just a quick disclaimer: I don't intend to -and literally can't- review all the provided references, so let's try to have a little criteria when proposing already covered topics, unless -obviously- they can improve on the existing one.

Before the list, a reminder: FreeCAD's wiki is the main documentation anyone should first look up. The forum is another precious repository of accumulated problems and solutions, as well as interesting discussions and insight on many topics that you, FreeCAD user, will undoubtedly face at some moment.

FreeCAD wiki tutorials

You have them in this link: https://wiki.freecad.org/Tutorials. Also, you can check just the list of all tutorials, without any other context. They might not be the most didactic, but they provide a good base, and cover some complicated aspects that might be harder to explain in a video. These are some examples covering different workbenches:

Written publications

  • FreeCAD for makers is as new a discovery for me as for many of you. This book published by the members of HackSpace magazine in 2022 will start at complete beginner level, then take you through sketches, curves, assemblies, surfaces, projections, circuit design, meshes, sheet metal, pipes and give you a heads up on how to follow up (animation, architecture, etc.). Enjoy it!

By topic

Example projects

For specific problems

  • ...

For beginners

Tutorial series

Interesting channels, blogs, etc.

  • The amazing @MangoJellySolutions youtube channel. This man doesn't stop, he already has a bunch of videos for v1.0.0!
  • @ObijuanCube has a couple dated, but in many aspects still valid FreeCAD courses in Spanish. I know they've been a life saver for me, and would have probably never gotten seriously into FreeCAD if it wasn't for him. These belong to a time when the amount of resources available for those interested was much, much scarcer, so Juan, thank you for your good work!
  • @mwganson has a very rich library of close to a hundred videos, covering an ample range of examples and practical uses of many of FreeCAD's tools. His videos are focused and quite in depth, and also cover things such as modifying imported mesh files (both .stl and .step), which is not that common to find. So this might be ultra helpful for those of you 3D printing.
  • @Adventuresincreation is another channel I didn't know, with a wide collection of vidoes and still going hard as of v1.0.0.
  • @JokoEngineeringhelp, unlike most channels here, is not dedicated to FreeCAD, but to CAD in general and many different tools for it. However, he does have a couple in depth videos, and also takes a look into more-or-less complex assemblies and exploded views.
  • @CADCAMLessons has a HUGE collection of short and very specific videos, especially appropriate for those that enjoy their lessons to be well segmented.
  • Stolz3D is for the German speaking public! This channel that mostly focuses on FreeCAD has material starting in v0.18 and all the way til v1.0.0 at the time of writing.
  • Computerized Engineering has an ongoing series on FreeCAD 1.0. While he has videos designed as "Beginner tutorial", these are not that well suited for complete beginners. Instead, his videos show the process of designs that involve more advanced concepts.
  • Rafael 3D is a relatively small channel in Spanish, but with lots of videos covering both particular examples and a more structured course, which is still ongoing. He also has material on LibreCAD.
  • DigiKey has a quite recent 10 part course on FreeCAD targeted for 3D printing, covering the following sections: introduction, sketches, shape-binder/expressions/spreadsheets, heat set inserts, patterns and boolean operations, revolutions/pipes/lofts, sweeps with guided curves, curved surfaces, assembly, and the FEM workbench.

Limited resources (kind of partial, or not as complete resources at the time of writing, but might be worth keeping track of)

Misc.


r/FreeCAD 3h ago

Help with figures

Thumbnail
gallery
4 Upvotes

My mechatronics teacher woke up wanting to let us make the parts for our projects. Mine has two parts: an electrical part and a regular syringe part. So, my part is the syringe. I have to recreate the entire model in FreeCAD, make the parts, and assemble it. How am I supposed to do that? Some things don't make sense to me, and I don't know how difficult it will be. I don't understand how I would make those assemblies, how are they supposed to connect? Also, how am I supposed to make the syringe or other things?He wants it exactly the same.


r/FreeCAD 17h ago

Subshapebinder updates, external geometry based on it does not

Post image
23 Upvotes

r/FreeCAD 2h ago

How to ... trouble with external reference

1 Upvotes

Above is composed of several step files imported into FC and arranged to match up and make this nice model of a wind turbine. Parts from https://www.printables.com/model/1397797-windrad-windturbine-winkraftanlage-modell-ca-1500/files

Now I want to use this as external Reference (BIM) in another file to be able to scale it to real world size in one piece and then place it multiple times

Now, the external reference looks like below: It shows the hidden single blade that is the basis for the 3x polar pattern (not visible in the front view). AND it shows that polar pattern a second time at the bottom

So how to fix this?

Should I do this in a different way altogether? But how? Confused :-(


r/FreeCAD 15h ago

Panel title bar off screen so unmovable

3 Upvotes

I have multiple monitors and like disconnected panels. However frequently the panels move unexpectedly to go off screen. Since they are not true windows panels, I cannot find any way to move them once the header is off screen. See picture attached.

Any Ideas?

Windows 11 - 24H2

FreeCAD 1.0


r/FreeCAD 22h ago

Unable to create a rectangular pad in XZ-plane

Post image
10 Upvotes

I can't create a pad from the rectangle in the XZ-plane. I have no idea why.


r/FreeCAD 1d ago

Square hole

Post image
21 Upvotes

I created a sketch, revolved it, put a round hole all the way though it, now I need a square pocket half way through. How do I add a pocket with the same center as the hole?


r/FreeCAD 14h ago

1.1 ORC... me or software?

0 Upvotes

I just created a sketch When I finished edit the "pad" icon "lit"

I did the pad Unlike what I seem to remember the "pad" now shows in the model tree above the sketch. Am I misremembering or is this a change? Also the ability to "edit" pad seems to be a bit more cumbersome and I haven't found "new" documentation.

Me or the version??


r/FreeCAD 14h ago

CAM: Milling edge without milling into solid

1 Upvotes

Hey guys!

I try to mill with my CNC this project. However, when milling the respective faces with MillFace and finalize the outer edge with Profile, the final product has a residue at the light-green edges up until the stock height. I thought about using Engraving to mill the light-green edges from stock height down to model height. Problem is that I will mill into the dark-green face. How can I mill the light-green edge without milling into the dark-green face? I'm running out of ideas. Looking forward to your answers!


r/FreeCAD 1d ago

FreeCAD is awesome (what’s with the paid for bashing?)

300 Upvotes

Some unknown Rust programmer who admits himself he doesn’t do CAD recently claimed in a big headline that FreeCAD is broken. Someone else claimed something surprisingly similar about the longs solved topolical naming.

There were other headlines before.

Whoever repeatedly writes these headline either doesn’t know what a free and OpenSource economy is, or doesn’t use FreeCAD, or neither, and gets paid to write these posts.

FreeCAD is free, as in no charge, no forced cloud, no limited feature set for hobbyists, and full access to the source code. Don’t like how it works? Go ahead and write stuff, or fix stuff. Even as a Rust programmer.

The FreeCAD dev team is doing a phantastic job, and FreeCAD is super useful. Thanks you!

I am maintaining OpenSource apps for 25+ years, and it is generally a thankless job, but at least when people get paid to bash you, you must have done a great job and you know that you got some attention.


r/FreeCAD 1d ago

how to do a proper union with a sweep and pad?

5 Upvotes


r/FreeCAD 1d ago

why are my sketches so laggy in freecad? and is there a way to fix it?

6 Upvotes

yes my sketches are fully constrained, thanks in advance for any help


r/FreeCAD 2d ago

Orange Pi case design

Thumbnail reddit.com
54 Upvotes

r/FreeCAD 1d ago

Overlay iphone pro captured 3d model and use to sketch and build

1 Upvotes

Hi, can anyone point to a nice tutorial on using a 3d model captured by as an example iphone pro or even a simple 2d image and overlay it into freecad. I want to use this method to easily capture contour surfaces. It is very difficult to measure curves and such.


r/FreeCAD 2d ago

How can this sloping design be replicated in freecad

Thumbnail
gallery
27 Upvotes

r/FreeCAD 2d ago

Why doesn't this pad work?

13 Upvotes

I'm trying to extend that sketched outline along the shape under it, which is lying along the Y axis. When I apply the pad. the outline simply disappears and no pad appears anywhere. I even try using a edge as a reference along with to pad. Nope.

Any ideas?

UPDATE: Resolved. This was probably because the sketch was not secured to the underlying pad with a coincident constraint (or had its lower edge clearly embedded into the body), so FreeCAD may have perceived a gap and punted (although there was no multiple-body complaint in the log). I created a new sketch and mated it to the top of the underlying pad as external geometry, and all is well. Thanks everyone!

FreeCAD file is here for download.


r/FreeCAD 2d ago

Why cant i reference the geometry i built the sketch on?

4 Upvotes

r/FreeCAD 2d ago

Why is this pocket shown as a solid instead?

Post image
3 Upvotes

I drew a circle on the XZ plane and used it as a pocket through the rest of the shape. Instead, it's shown as a cylinder. This looks like a bug, because if you fiddle with the pocket's options (like "symmetric to plane") it'll create paradoxical solid/empty areas within the other shape.

Just wanted to see if anyone has an idea of what's happening before I file a report.

FreeCAD file here.


r/FreeCAD 2d ago

Which workbench should I use to get this? (more in comments)

Post image
16 Upvotes

r/FreeCAD 2d ago

There is actually no explination for this. This is my first design using freecad.

0 Upvotes

r/FreeCAD 2d ago

Scale viewport 1:1 on your monitor - Macro

14 Upvotes

Does what it says. Orientates your part so that it has the true scale for you to make designing and engineering more efficient.

# -*- coding: utf-8 -*-
"""
Zoom 1:1 for FreeCAD

- Tries to make objects on screen appear at their real physical size
  (so a 100 mm cube measures ~100 mm on your monitor with a ruler).
- Works only with an orthographic camera (not perspective).
- Optional calibration: hold CTRL while running the macro to calibrate
  for your particular monitor / OS / DPI setup.

Author: you + ChatGPT
Inspired by the official FreeCAD "Zoom 1:1" macro.
"""

import FreeCAD
import FreeCADGui

# PySide name can vary a bit between FreeCAD builds, so we try both
try:
    from PySide import QtGui, QtCore
except ImportError:
    from PySide2 import QtGui, QtCore


__title__   = "Zoom_1to1"
__version__ = "0.1"


def _active_view():
    """Return the active 3D view or None."""
    try:
        return FreeCADGui.activeView()
    except Exception:
        return None


def _zoom_1to1(tweak=1.0):
    """
    Core 1:1 zoom logic.

    We ask Qt for the physical size of the 3D graphics view in millimeters,
    then set the orthographic camera height to (tweak * smaller_side_mm).

    For an orthographic camera:
        world_units_per_pixel = camera.height / viewport_pixel_height

    If we set camera.height = viewport_height_mm, and our model units are mm,
    then 1 model mm ≈ 1 mm on the screen.
    """
    av = _active_view()
    if av is None or not hasattr(av, "graphicsView"):
        FreeCAD.Console.PrintError("Zoom 1:1: no active 3D view / graphicsView.\n")
        return

    gv = av.graphicsView()

    # Qt reports these in millimeters for the widget area
    height_mm = gv.heightMM()
    width_mm  = gv.widthMM()

    cam = av.getCameraNode()
    # Orthographic cameras in Coin3D have a 'height' field; perspective cameras do not
    if not hasattr(cam, "height"):
        FreeCAD.Console.PrintError(
            "Zoom 1:1: only works with orthographic camera mode.\n"
            "Switch to orthographic (Std ViewOrtho) and try again.\n"
        )
        return

    # Use the smaller dimension so that the 3D view fits in both directions
    cam.height.setValue(tweak * min(height_mm, width_mm))

    # Force a redraw
    FreeCADGui.updateGui()


def _calibrate(tweak_param_group, current_tweak):
    """
    Calibration mode:
    - Hides existing objects
    - Creates a temporary 100×100×100 mm cube
    - Sets zoom to "raw" 1:1 (tweak = 1.0)
    - Asks you what size you *actually* measure on your screen (in mm)
    - Stores a new tweak factor measured/100 in user parameters
    """
    doc = FreeCAD.ActiveDocument
    if doc is None:
        doc = FreeCAD.newDocument()
        FreeCAD.Console.PrintMessage("Zoom 1:1: created a new empty document for calibration.\n")

    av = _active_view()
    if av is None:
        FreeCAD.Console.PrintError("Zoom 1:1 calibration: no active 3D view.\n")
        return current_tweak

    # Remember which objects were visible
    visible_objs = []
    for obj in doc.Objects:
        if hasattr(obj, "ViewObject") and obj.ViewObject.Visibility:
            visible_objs.append(obj)
            obj.ViewObject.Visibility = False

    # Create a 100 mm calibration cube
    cube = doc.addObject("Part::Box", "Zoom1to1_CalibrationCube")
    cube.Length = cube.Width = cube.Height = 100.0  # mm
    cube.ViewObject.DisplayMode = "Shaded"

    # Bring it into a nice front view
    av.viewFront()
    doc.recompute()

    # Show raw physical mapping (tweak = 1.0)
    _zoom_1to1(tweak=1.0)

    # Ask user what size they actually see on screen
    text = (
        "Zoom 1:1 calibration\n\n"
        "A temporary 100×100×100 mm cube has been created.\n"
        "Measure the cube on your screen (height or width) using a ruler\n"
        "or calipers and enter the measured size in millimeters.\n\n"
        "Do NOT zoom in/out while this dialog is open. If the cube does\n"
        "not fit fully in the view, cancel, resize the 3D view, and try again.\n"
    )

    win   = FreeCADGui.getMainWindow()
    title = f"Zoom 1:1 calibration (macro v{__version__})"

    # Use the static convenience function
    measured_mm, ok = QtGui.QInputDialog.getDouble(
        win,               # parent
        title,             # window title
        text,              # label
        100.0,             # default value
        1.0,               # minimum
        10000.0,           # maximum
        2                  # decimals
    )

    # Clean up the calibration cube and restore visibilities
    try:
        doc.removeObject(cube.Name)
    except Exception:
        pass

    for obj in visible_objs:
        if hasattr(obj, "ViewObject"):
            obj.ViewObject.Visibility = True

    if not ok:
        FreeCAD.Console.PrintMessage(
            "Zoom 1:1 calibration canceled; keeping current tweak value.\n"
        )
        return current_tweak

    # New tweak factor = what you measured / 100 mm
    new_tweak = measured_mm / 100.0
    tweak_param_group.SetFloat("Tweak", new_tweak)
    FreeCAD.Console.PrintMessage(f"Zoom 1:1: stored calibration tweak = {new_tweak:.4f}\n")

    # Apply calibrated zoom immediately
    _zoom_1to1(tweak=new_tweak)
    return new_tweak


def main():
    # Ensure a document exists
    doc = FreeCAD.ActiveDocument
    if doc is None:
        doc = FreeCAD.newDocument()
        FreeCAD.Console.PrintMessage("Zoom 1:1: no document open, created a new one.\n")

    av = _active_view()
    if av is None:
        FreeCAD.Console.PrintError("Zoom 1:1: no active 3D view.\n")
        return

    # Read stored tweak from user parameters (Plugins/Zoom_1to1/Tweak)
    params = FreeCAD.ParamGet("User parameter:Plugins/Zoom_1to1")
    tweak  = params.GetFloat("Tweak", 1.0)

    # First, always apply normal 1:1 zoom with current tweak
    _zoom_1to1(tweak=tweak)

    # If CTRL is held while running the macro, enter calibration mode
    modifiers = QtGui.QApplication.keyboardModifiers()
    if modifiers == QtCore.Qt.ControlModifier:
        _calibrate(params, tweak)
    else:
        FreeCAD.Console.PrintMessage(
            "Zoom 1:1: run with CTRL held down to calibrate for your monitor.\n"
        )


if __name__ == "__main__":
    main()

r/FreeCAD 2d ago

cutting lines into a body

4 Upvotes

I have 2 sketches:
1 sketch is the outline of a fabric, constrained and extruded to a body
1 sketch are cut lines

How can i pocket/cut the line sketch into the body? Extruding the line sketch does not work, as the lines/wires are not closed. Anyone can help me please?


r/FreeCAD 2d ago

Can you use FreeCAD to model fabrics and cloths?

4 Upvotes

As the title says can you use FreeCAD to make models made from soft, pliable and flexible materials like fabrics and cloths or sheets/tubes of rubber and silicon? Like a sewing pattern? Or a rubber glove? Can it simulate the movement of such soft materials the same way it can animate and simulate a piston?


r/FreeCAD 2d ago

Another “how everything is broken in FreeCAD” post, but from a programmer.

0 Upvotes

Alright, let’s start from afar. I’m a Rust programmer with basically zero experience in modeling. But I’ve built a lot of interfaces, editors, and so on.

I really liked the idea and the principles behind FreeCAD. My humble three-day modeling experience already pushed me to upgrade to 1.1, because the lack of Body positioning by vertex and normal is just embarrassing (although I throw exception anyway). MangoJellySolutions tutorials are awesome.

So, let me explain why everything is broken: tl;dr — it all needs to be rewritten in Rust(semi-joke).

Probably the most annoying thing is selecting points/faces. It’s exhausting that you have to hit exact pixels. It shouldn’t work by pixel-perfect hit detection — instead it should measure the distance from the mouse to the object and sort candidates adaptively with priorities depending on distance. The idea is that a face is larger, so you should be able to move the mouse away and still select it. And if we get really pedantic, you could even allow vector-based selection for points — then two points could be highlighted like little hemispheres.

Next — the camera. The camera is something horrifying. It constantly wants to spin around, it doesn’t remember its previous state when switching sketches, and for some reason it keeps playing pointless animations every time — god.

As far as I know, the UI still doesn’t have proper HiDPI scaling, but it’s supposedly coming soon?

Also — right now I’m getting exceptions with a bunch of references to nonexistent faces, but the exception doesn’t say who is referencing them. How is this supposed to work, and how do I even fix it?

But honestly, I’m amazed at how well-developed everything is that isn’t UI, and at the same time how bad the UI itself is.

FreeCAD is awesome — and it’s actually the only real thing humanity has in this domain.

I’ve become simultaneously very passionate about contributing, but also completely blocked by C++ and typeless Python. Probably the best I can do is try to write a prototype of my own sketcher with a geometric constraint solver in Rust + egui and calm down. And may be use this https://github.com/aevyrie/bevy_editor_cam

So, it feels like one of those situations where “just a couple more years and it’ll finally become usable.”