I've always felt freecad being superior to most other free CAD tools.
But I can almost never get it to work for me. Every time there is a new major release I try it only to rage quit two hours later. Really hope they get someone to help them with stability and UX improvements like Blender did.
Stability is good in the latest dev builds on the Mac, though 0.21.2 is the least crashy I've seen it.
But if you mean stability in terms of model stability/robustness when changing things, that's improved a lot with the topological naming mitigations.
It's still not perfect, and I still think FreeCAD is a lifestyle choice. But I enjoy working in it a lot more.
The Mango Jelly Solutions videos on Youtube are very, very worth a watch if you feel inclined to have another go; they have been the best thing for getting my mind into how FreeCAD works as a package (in the sense that it is a "package" at all -- it's really still a collection of overlapping, macro-programmable toolsets gathered around a kernel).
I want to second the recommendation for Mango Jelly Solutions videos. I've tried FreeCAD on and off for years and those videos are the first ones that finally helped me wrap my head around some things and be able to use it for a real project.
But FreeCAD was just not that sort of project. It's a C++ and Python wrapper around a CAD kernel, supporting a set of tools -- some frustrating tools, some quite powerful or niche, like the ThreadProfile workbench or the guitar workbench -- and it has never bothered the highly technical community of users much to unify things.
They weren't really trying to make a major competitor to commercial CAD: they were trying to have the tools that they individually needed and collaborate on the problems they had in common.
The balance has markedly shifted since 0.18 and now there is that focus, and significant commercial impetus. In the time I have used it -- about three years on and off -- it has clearly become more of a focus to make a complete product.
ETA: there is no doubt that one of the major things that needs to be resolved is the duality between Part workbench and Part Design workbench flows.
There appear to be some discussions about this -- about how to either merge them or create a new, future workflow that makes better use of them.
The crux of it has always been that a section of the community thinks the Part Design feature-oriented flow is a bit of a crutch, being as it is implemented as a set of implicit booleans on top of the basic flow.
Part Design is more fun to use for a beginner, but it is definitely not faster, and one of the real problems is that once you are in the feature flow you are kind of stuck in it -- it's possible to merge in objects made in the Part flow but only in relatively basic ways (starting a PD body with a "base feature", or fusing the PD body with the non-PD stuff at the end).
I would expect future development to look at this much more seriously, but there was and is no point in getting into it in more depth until the major TNP issues are truly behind FreeCAD, because a feature-oriented flow especially relies on there not being problems there.
Yes! Sorry. It's mentioned in the comments here but it should have occurred to me to expand on it.
TNP is really a research-grade problem that all CAD packages have to mitigate -- you can I think still run into issues that stem from face/vertex naming in all CAD packages if you really push them, and there are pathological cases where the solution is only to be consistent in arbitrary choices.
But mainline FreeCAD had no solution for this. A solid proof-of-concept implementation has existed in RealThunder's fork (which was originally used for Assembly 3 development) but since the solution touches an awful lot of the code it was never ported across and got increasingly difficult to port. There was reluctance to just switch wholesale to his fork because it contains some somewhat contentious developments, and it has taken some very deliberate, considered rethinking of the organisation of mainline FreeCAD releases to get the TNP code ported, which it now is.
There are still TNP issues, and there are still things one should not hope to rely on in FreeCAD -- like building on faces generated by chamfers, drafts or thicknesses.
I also think what risks being lost is the wisdom of sometimes deliberately choosing to build some features of a part from the base planes rather than a generated face; it reduces the complexity of dependencies and allows much freer re-working.
Blender changed, FreeCAD can. Just the topology naming fix is a HUGE change that lots of people could have said a couple years ago that it would never be fixed.
Blender's got a constraint solver for IK, right? How much spaghetti code do we need to add to give it a full CAD kernel? It already does everything else!
I've honestly wished I could use it to make vector graphics sometimes, but that also needs some of the basic elements of CAD (parallel edges, radius constraints etc). It's so close to parametric modeling too, with the mesh modifiers, drivers, and now geo-nodes.
Of course, I believe there are a few CAD plugins, but I've never used them, so I can't speak to their efficacy.
There's a bit more to it than that. There's an underlying library which can support solid modelling, but Blender has (or had) such an outdated version that it just wasn't possible.
Back in 2020 someone submitted code to get it working, in order to make solid modelling possible:
Unfortunately it looks like no official Blender developer ever took the time to review it, let alone merge it.
Super unfortunate, as it was only about 15 lines changed. Probably would have needed at least one revision though, as one of the changes was just commenting out some lines. That'd likely have needed to be a better conditional instead.
There is the excellent CAD sketcher plugin for Blender; this adds a basic 2D parametric/constraint based editor into your workflow, which can convert it's output into a mesh to integrate into your blender model. For more complicated models I typically make 2 or 3 2D constraint models, and use the blender boolean tools to combine this into the final 3D model.
I'm not an expert either, but it could be compared to bitmap graphics vs. vector graphics.
3D modelers like blender (or even OpenSCAD) work with a bunch of triangles - there is often not some higher level representation of the geometry. You could put a drill hole in a part, but it ends up as just a ton of triangles that approximate that drill hole, vs. a file format which semantically encodes "there is a cylindrical drill hole at this location, with this vector direction, and this radius".
That's what things like BRep (Boundary Representation) and STEP files give you is that semantic data which describes the part "here are the edges, faces, dimensions, etc.", vs. "here's a bunch of triangles, good luck machining this"
> but it could be compared to bitmap graphics vs. vector graphics.
This is very much how I internally understand it and explain it to people, yes!
It is a good analogy for e.g. why it's often a challenge to get something milled with a CNC when you only have an STL file.
STL is like a PNG line drawing: it can be high quality, but it's not describing the drawing. STEP is like SVG: it's more effort to render it, but it contains the instructions to draw it.
Isn't the problem with that analogy that there are things like NURBS which are pretty directly analogous to vectors (and isn't a surface a boundary?)
Edit: Along with the fact that blender has a lot of non destructive workflow steps (that usually get baked out into the "bitmap", to further your analogy)
It's not a perfect analogy, and Blender does have some parts which resemble the sort of data structures you'd use in a CAD modeler.
I think with enough plugins and customizations, you _could_ twist blender into something that resembles a CAD modeler, but it's really an uphill fight compared to selecting tools which were designed with that goal in mind from the start.
I have exactly the same experience here. You can see that the software has tremendous potential with a lot of work put into it, but the UX still sucks balls. Using the mouse to select the element you want is finicky the best. It takes me 5x the time to do the same thing vs fusion or solidworks.
Then there are smaller frustrations like this confusion between "Part workbench" and "Part design workbench" and unhelpful python errors when you try to do something. But I am sure these will be fixed sooner or later. I think once the UX gets an overhaul it will be 90% there!
It is not. There are still ridiculous hoops you have to jump through to orient your sketch. The first thing I do is draw an arrow that points up in the sketch and then reorient the sketch. The reason for this is that the attachment editor just randomly picks a "random" orientation based on the "orientation" of the face or datum plane you are using. The attachment editor is fundamentally broken and needs a complete revamp.
The other part is that FreeCAD is still this "enter numbers by hand and hope for the best" CAD tool. When you perform an extrusion, there are no visual arrows to pull the extrusion along. When you do a pocket and it goes in the wrong direction you just see nothing, instead of a transparent preview of the operation that is being attempted.
I say this as someone who built a design in the Assembly 4 workbench using dozens of individual parts and probably redesigned every part at least twice. Sure the official assembly workbench is a good idea in the very long run, but they fixed none of the short term pain points I have. You know, things you run into every single damn day. Meanwhile migrating to the new assembly workbench will cost me even more time. I.e. there are switching costs but hardly any benefits.
This reminds me of iirc KiCAD 5 to KiCAD 6. Overnight it went from some weird clearly-Linux program to become a viable product, an excellent one even.
KiCAD uses FreeCAD on the backend for things.
I’d love to see FreeCAD take the same path!!!
However… when I looked at it last year the “let’s draw a cup” tutorial was so pathetically bad I closed it and went right back to solidworks without a second thought.
I think a lot of that is a Cathedral vs. Bazaar problem.
Programmers like to work on problems which are technologically interesting, and they love adding new features. Dealing with technical debt and solving UX/UI issues isn't as much fun, so in a Bazaar model they'll simply not do it. The result is a product which feature-wise is very powerful, but UX-wise an absolute nightmare to use.
But when there's a party genuinely interested in the product as a whole, they can push more Cathedral-like UX-focused development. Have a handful of devs focus on UI stuff for a year or two, and it has suddenly turned into a world-class product. Blender and KiCad have gone through this before, and it seems like Ondsel is pushing something similar for FreeCAD. Let's hope it works!
The changes from KiCAD 3 => 4 got me to finally switch off EAGLE CAD, for which I had a $1600 license, but could see the looming subscription nonsense coming with Autodesk's interest in EAGLE. IIRC that was the first release after CERN took on development and had been dogfooding it. Every release since then has been a major improvement, and we've converted several customers from Altium to KiCAD in that time.
I can make FreeCAD go, but we still have to manually create dimensioned printsets for our sheet metal shops, rather than just being able to hand off a drawing file. I feel like when we get to the point of just being able to hand off a drawing file, it'll be in a much better place.
Yeah. I have tried and quit a number times. Poor stability has always made it unusable for me. Hopefully this time is better. Still, once I can successfully make a drawing, then what? What exists for CAM posts?
I have milled some basic things using the FreeCAD CAM on a ShopBot 2416 and small custom grbl based CNC. Many years ago now, but things generally look better now. Otherwise I have exported geometry and used external CAM software like VCarve
That is our current main issue with FreeCAD, we have to manually create fully dimensioned drawings for our sheet metal shops, and they pull it into whatever they use. Can't just give them a drawing file, CAM export, etc.
But I can almost never get it to work for me. Every time there is a new major release I try it only to rage quit two hours later. Really hope they get someone to help them with stability and UX improvements like Blender did.