FreeCAD User Book (2019)
bassmatifreecad.github.io
bassmatifreecad.github.io
I think the best approach is to learn by doing. Watch some YouTube video tutorials and copy step by step what the video shows. I went from 0 to "I can do that" in few sessions.
The parametric design with constraints is ideal to build precise parts for printing. I really enjoy when I need to build something with it and I did not need to learn anything else.
https://m.youtube.com/@FreeCADAcademy
and
https://m.youtube.com/@learnfreecad8264
I used the second channel to learn parametric CAD and do my 10-20 first printed designs before I switched to OpenSCAD.
Several times I'll find I've spent hours building something and then it breaks and I have to start again, because of the relationship between features/parts and it just becomes impossible to resolve.
It makes me jealous when I watch YT channels with people using Fusion360 making things with intuitive ease in the UI, it just seems much more straight forward to get things done.
For anything I'm likely to reuse or modify I've started learning SCAD, since I write software for a living, the learning curve isn't as high, but you still need to learn the little tricks for doing certain things more easily.
There is a fix in the works for this notorious topological naming problem:
Indeed, but FreeCAD needs to do better on this. Changing any single root value recomputes the whole dependency graph, which quickly bogs down in even moderately complex models. They badly need a signal/FRP abstraction to handle these dataflow constraints so only the expressions downstream of that value change.
For those of us that cannot deal with F3D being entirely in the cloud there is Alibre which comes at a reasonable price for CAD software. It's very well designed, buy once own forever, and you get a real professional tool.
I hope FreeCAD one day beats the current offerings. But I found the tool to be unusable. The workflow is just so...bad. If you do find yourself making something usable in FreeCAD and want to upgrade to better tools almost nothing will transfer over. I've used Alibre for several years now and it functions almost exactly like Solidworks with some exceptions. Unfortunately, CAD is a space almost entirely dominated by commercial tools and will likely be for the foreseeable future. There's too many decades of collective experience brought to bear on these tools and it doesn't seem like something a really good software engineer can simply design their way into. You truly do need industry experience.
For reference, I was mostly using onshape+f360 before for my personal work, but my experience includes inventor, solidedge, solidworks and creo. I work close to an HW team, but my employer is stingy to give cad licenses to anybody which doesn't strictly need it due to the outrageous costs these software costs for every single seat. This makes collaboration a ROYAL pain.
So my workflow usually involves importing parts into freecad, reverse engineer them, and then send the actual modeled suggestion back to the HW team. I can work with a good 30% of the parts involved without too much trouble, which is pretty amazing in it's own regard, although it's usually not pretty.
I really wanted to buy Alibre. I can afford the full "alibre design offline license" no problem. It's the only cad program I've seen that has decent pricing and decent licensing, but it doesn't work on linux. And I tried everything to make it work on wine. Hard pass.
In a certain sense, I'm glad I've stuck with freecad recently, since I know every single design I do I will not have to fight with licensing or obsolete window incompatibilities later on. It's mine forever.
How can developers best learn about features in mature but expensive tools? Is anyone maintaining a list of features a capable CAD tool should have, with links to documentation, tutorials, videos, etc.?
FreeCAD is pretty good, it's not as refined as Fusion but the functionality seems to be there. As others have already mentioned, it's hard to learn but you'll be doing yourself a favor if you watch those FreeCAD tutorials on YouTube, and maybe this User Book as well.
I experienced the same thing trying to learn PCB design with gEDA and Kicad. I gave up and only managed to learn years later when I discovered Designspark PCB.
CAD and PCB design are not complicated at all. But these open source programs (except SolveSpace) have really terrible UX so you really need to already know what you're doing to use them.
I may recommend use both SolveSpace & FreeCAD together[0]:
1) SolveSpace app for preliminary design & export to STEP-file;
2) FreeCAD app for final touches on this STEP-file (fillets, chamfers, etc.).
I belive fusion 360 is free for personal use and much more popular than solidworks.
Solvespace has a non existing UX. I would very much advise against using it.
People have gone from zero to first commercial PCB in 1-2 weeks using kicad.
Or export it to a non-autodesk ecosystem today, for that matter.
Autodesk designs its software to maximize customer lock-in.
The whole notion that you own your work and should be able to do what you want with it, especially work on it further in an non-autodesk environment is strictly against their corporate religion.
It was, and I would have recommended it then, but they pulled the rug a while ago.
> Solvespace has a non existing UX. I would very much advise against using it.
Yeah it's rubbish compared to commercial options but it's still by far the best FOSS option. It has a much better UX than FreeCAD.
> People have gone from zero to first commercial PCB in 1-2 weeks using kicad.
1-2 weeks full time is a lot! You could do it in a day or two with better designed programs. PCB design is really simple conceptually.
OpenSCAD is great for a lot of the simple electronics enclosure stuff (once you master hulls), but does need better control over 2D extrusions and sorely lacks fillets and chamfers (which are essential for proper finishing of joints and outer edges). Those have been long-standing issues that haven’t been addressed by the core project (or, as far as I know, any forks), and kind of prevent me from going all in on it (although I do use it the most, and prefer writing out the geometry to drawing it).
I have also been looking into the CAD Sketcher plug-in for Blender, which is somewhat unpolished but pretty decent for simple things, and may eventually move to that altogether—although Blender STL meshes usually need a lot of cleaning up.
Unfortunately it sold out on release but is available for free download
While I'm ranting, the "workbench" abstraction might be very convenient technically, but it's implemented very arbitrarily. What conceptual set contains "Architecture", "Image", "Part", and "Robot"? And what's the conceptual dividing line between "Part" and "Part Design"? I understand the technical difference (in that "Part Design" should really be called "Body" because that's what it's for) but from a user's point of view learning which operations live where, and why there are (for instance) two different ways to do fillets with completely different user interfaces, just exposes them to technical implementation details they shouldn't have to care about.
You often see the justification on the forums that "complex tools are always going to have complex interfaces" - no, that's a failure of UI design. Start by acknowledging that, and things can start to improve.
But to me, the main problem with freecad was lack of good organisation among workbenches. Its just too much back and forth between half finished workbenches to get anything done.
Not just that.
The UI is horrendous.
There is, as you note, no logic to the "workbenches".
The geometry engine (the "kernel", if you like CAD tongue) is ancient and weak.
The parametric modeling system is not something I've ever managed to make work.
The scripting language is - even though they use one of the best languages ever - hard and convoluted to use to build 3D models.
Polygonal mesh modeling is close to non existent.
NURBS modeling is weak. Getting complex fillet + hole working is a complete crapshoot.
I could go on for a long time.
I do understand it's free software and that there are very few alternative out there, but when you're used to open source stuff like Blender, OpenSCAD, Wings3D and Gimp, FreeCad is simply laughable.
It pains me to say this: folks have been pouring their heart and soul into building FreeCad, but the result is just crap.
This book is not free (35$), but it's available in multiple languages (english, french, german, italian). Even if you use another CAD software, its a good starting point.
BTW, Its just for 2D/2.5D CAD (CADD), while for 3D CAx (CAM, CAE, FEM, etc.) you need a lot more knowledge.
I have experience with 2D CAD programs like LibreCAD and CadStd and 3D geometric tools like TinkerCAD, OpenSCAD, the late ABC 123, and Sketchup. But, FreeCAD doesn’t really seem to work like these tools. There seems to be a lot to learn and I just found myself frustrated. I did manage to create a general shape I was working on but I didn’t feel like I understood very well. Anyway, some simple primer for people without a drafting background may be in order (and I imagine that isn’t too hard to find).
This primer also seems to be over my head, getting into language I don’t understand right off the bat. Seems like the author has a bit of background I lack.
Alternatively PCB stuff in Fusion is pretty horrible and IMO worse than Eagle was before they all but abandon it and started shoe honing it into Fusion. Meanwhile KiCad continues to get better and more feature rich.
It's mostly superficial stuff behind that right now, but I can see the writing on the walls. There's no real valid technical reason why I can't render a carousel rendering of a design locally, especially after I am already wrangled into a subscription fee for a product that would've been a one time (albeit large) purchase a few years back.
I ultimately wrote my own G-code generator because that was less frustrating than memorizing the sequence of steps necessary to do anything in FreeCAD. It seemed like the answer to "how do I do X" was always "you can't do that; those two workbenches aren't compatible."
But all of them are a bit outdated as for actual FreeCAD 0.20.x/0.21.x and RealThunder's FreeCADLink.
Fairly up to date, covers considerably more ground than most other FreeCAD books I've encountered, and the authors seem to know a lot about various CAD systems. There are also numerous nontrivial tutorial examples worked out in considerable detail.
As a downside, the book is somewhat pricy (very much so for the paper edition) and written in a very dry style, going through menu options one by one in a very formulaic language. I would recommend it, but it does not necessarily make for recreational reading.
That is why I'm not listing it here — it looks more like compilation from FreeCAD wiki docs & various guides.
Author printed already tons of such books, and all of them looks like Ctrl+C/Ctrl+V.[0]
[0] https://www.amazon.com/s?i=stripbooks&rh=p_27%3AGaurav+Verma...