My journey learning FreeCAD
My journey learning FreeCAD
FreeCAD is a free and open-source solution for building virtual things and making them real. It can do way more than this (such build complex assemblies, edit existing files from other sources, and even help with doing cool stuff with lasers); but for me, it does all I want it to do.
That said, getting up to speed with FreeCAD has a lot of friction involved. It's definitely not an easy software, and the user interface requires a lot of understanding before jumping in and getting full use out of it. Even now, 7 months later - I'm not entirely convinced I'm very proficient at it.
Hopefully with this post, I'll share some challenges, resources and workarounds I've learned along to way to become proficient at getting things done, including mistakes and how I've worked through them.
But first...
Why FreeCAD?
I don't like investing in software until I know it can effectively do what I need it to do. The more complicated a piece of software is to operate, the amount of investment also goes up. And if I want to "git gud" at whatever software I'm learning, I have to ultimately prepare myself for the largest investment: my time.
FreeCAD sits in an odd, but favorable place in terms of investment cost.
-
I get the same level of features regardless of my financial status. I don't justify paying extra just for the privilege of learning or participating in a hobby, which means my investment only becomes time-bound.
-
When I invest my time into projects, I can share and/or sell my work unambiguously without having to worry about someone else coming after me because I used "their" software to make it.
Unlike a traditional vendor model like a storeowner lending the front of their shop to a merchant, but also receiving a percentage of the profit (which is a transparent and mutually beneficial agreement); I don't have to deal with a storeowner who tells me I can freely use their storefront until the items I am displaying are valuable enough to warrant a paying them back (which is a lot less transparent, and slightly parasitic).
-
It's very straightforward. The UI stagnates and is consistent between releases (oof), and when it does it's actually just related to fixing a bug. This means I can spend less time relearning how to do the same things over and over again, and know that the same tools and layouts are going to persist between releases.
-
Unlike some modern tools (not just CAD packages), the menu interface is consistent and does not turn into an infinitely nested menu. This type of design is a hallmark of 90's era software, which depending on the person - makes it much easier to pick up and memorize interface/keyboard commands.
And I agree, most good and well-marketed software does this as well. But that's the thing. As a beginner, why would I spend time pleading for my right to use your software (to evaluate), but also not given enough time to become good enough to justify paying into a subscription model. And once I am proficient enough at using your software, why then punish me by giving me a lifetime "tax" for actually doing worthwhile things with your tools.
Getting started

If I told you that grasping FreeCAD, let alone CAD design principles was something that came immediately to me and that you could also learn just like I did; I'd probably be lying through my teeth. I won't do that.
I will tell you that if you dedicate some of your time, and a good amount of effort to trying your best, and looking up the hard-parts if you get lost (like I did), you'll probably be okay. I learned best from visually watching people explain the interface of FreeCAD, and learning how to to differentiate the different settings how when/how they are used into different ways, or different "flows."
Video courses
I took my time finding content that I could easily digest and wasn't filled with unhelpful information - instead of watching the first videos I could find. I even avoided some larger-known creators, namely because from the few videos I saw - they already invested too much time and/or money into other CAD packages, so their opinions of FreeCAD were really all-over-the-place, and some of their content on FreeCAD was punitive towards it's free nature. Admittedly, a lot of them tried the software years ago - which meant that their rationale and ability to reflect on the usefulness of the software was very much tied to when they used it.
I needed to find people who weren't as closed-minded, and even moreso, people who were actively creating content on FreeCAD.
Introduction to CAD modeling with FreeCAD
To first series that I found helpful was a small (but long) series from a youtuber called thehardwareguy. This man took time out of his normal content, which involved showing how to do CAD flows in other software, to do a really information rich, unbiased and CAD-uninitiated friendly walkthrough of how to create basic models in FreeCAD.
This man even was kind enough to bestow the importance of parametric design into my brain while learning CAD. This likely saved me hours of having to learn this after doing things the more brutalist way. He explains parametrization much better than I ever could.
I stopped on his 4th video, as at that point I was already too busy entrenched during my weekends figuring out how to throw together CAD models.
Intermediate and advanced CAD modeling with FreeCAD
Once I started doing CAD, I challenged myself to make each project a little more advantageous than the last. Eventually, the projects I started to plan for required me to step out of my comfort zones, and start approaching tools in FreeCAD I hadn't used before, let alone had any understanding how to deeply configure them and make them do the things I wanted.
On a stroke of luck, I found a gold nugget on YouTube while scrolling down through multiple pages of YouTube's search: MangoJelly Solutions.
Despite the name, the channel does not in-fact delve into solving problems using Mango-flavored Jelly, but instead has an immensely rich catalog of self-documented FreeCAD projects. He enjoys going into detail about how each tool he's using works in terms of modeling, going through multiple permutations of his models to show different ways to approach the same problems, and talks with the approachability and demeanor of a high-school professor.
I can't even begin to describe how helpful this channel was to helping me bridge the gap between beginner concepts in CAD and solving more difficult, real-life problems. Like how to map curved surfaces, how to correctly loft between multiple surfaces, best practices when export models and how to correctly account-for and knowing how to switch between Workbenches in FreeCAD. Those are just some, of the many topics he covers in his FREE videos on YouTube.
If you find his videos helpful, please follow the prompts he has on his videos to go to his Patreon or Ko-fi site. I'm not quite sure why he makes these videos, but my guess is he's really passionate about it - and he's one of the few individuals on the planet who's openly documenting FreeCAD is such a detailed and approachable manner. Please support him if you can.
Finally, things I've learned
While working in FreeCAD, I've picked up on tons of useful things that have made designs more easier to work through. Here's a small handful of them:
-
Always account for tolerances when you need to connect parts together Parametric design is great for this as it allows you to reference named values across all of your sketches, which is even more helpful when making changes to tolerances. If the tolerances is to tight, good luck actually snapping things together - or replacing them. Likewise, if you make them to generous, the design is going to be a flop as it wont be stable.
-
When using external geometries, import the geometries from other sketches instead of importing vertexes or surfaces. I found a reduction in stress when I decide to go back to a previous sketch, and make any adjustments that cause the subsequent pads, pockets, or other operations to change the generated surfaces (i.e a sketch change causes a side to change).
-
Save often. Because of my habits formed using older software, I have a trigger-happy relationship with the save shortcut (Control-S). After every successful operation, sketch, or modification, you should be saving as FreeCAD won't likely be saving you if you make confuse it. I've only had it crash 3 times over the last year, but had I not been saving my progress - I would have lost work.
-
If you like sketching stay in the Part Design workbench. I like solving problems using known constraints, so I have found myself more inclined to stay within the Part Design workflow instead. I rarely use other workbenches for my needs.
-
When importing STL files, make sure you only use the resolution/tolerances it needs - by importing it using the Mesh workbench mesh handling in FreeCAD definitely feels like it's a bolt-on feature. I've used it along with the Part workbench to make modifications as needed, but using highly detailed STLs has always been problematic. Lowering the resolution makes it easier to process the files
-
Single core performance is all that matters in 99% of workflows - FreeCAD is highly portable software, but no matter how many cores you have on your system, you won't be leveraging them during your workflows. Make sure the computer you work from has an adequate cache/clock speed to get the best performance when doing extensive or expensive operations. There could be workflows I haven't used that utilize multi-threading, but as far as the Part Design, Part, and especially the Mesh workbenches are concerned I am yet to find them.
-
When exporting for use in a 3D slicer program, try using the
amf
,3mf
, orstep
export formats instead ofstl
.stl
is a mesh only format, while the others listed above support other types of geometric besides flat edges.