It's been improving rapidly. The upcoming (imminently) 1.1 has a large amount of modern UI affordances, such as on-canvas gizmos that at times actually are easier to use than e.g. the Fusion ones. I'm a heavy Fusion user, but for me FreeCAD is nearly there now and the improvement over 1.0.x is massive.
There's a lot more to do, but my feeling is the project is taking UI/UX design much more seriously than it has in the past, with the ramp-up of an internal design-focused team etc. I get that feeling from reading the weekly progress updates and MR discussions.
I'm very optimistic for the future of FreeCAD personally. I think it's a great time to contribute if you are interested in making UI/UX better as well because there's much higher interest in that kind of work now. I think it's close to having its own Blender/KiCAD moment.
The UI has an awkward learning curve and some tools are weird, but it has become a rather solid CAD. Don't discount it in its current state, despite its warts.
Can't agree, I'm a complete newbie in CAD, and after I opened FreeCAD I didn't know what to do at all. Watched one youtube video covering all the basics and I can design whatever I want with confidence. Besides being free – it's very intuitive and great piece of software in my opinion
Hmm. Thanks, I'll bookmark it but the cadence of the narration is VERY monotone and uneven. This makes it hard for me to focus on what is being said because my OCD brain keeps tripping over the lack of pauses between sentences (and inappropriate pauses in the middle of sentences). I can't tell if it's an AI voice or an ESL person narrating a script.
I disagree. If you switch to the Part Design workbench, it's basically the exact same workflow as SolidWorks. Draw a sketch, add constraints, extrude / revolve / fillet, etc.
Yes they have some unconventional names for certain operations, like "pad" instead of "extrude", and yes there's a confusingly-similarly-named "Part" workbench for doing CSG-style CAD, and yes it takes a bit of practice to get good at it. But it's not next to impossible.
I think it's fair. I use FreeCAD a lot, and the word I would use last to describe the UI is "discoverable". Ignoring whether a workflow is possible - whether the functionality exists at all - there's a whole lot of it that you have to Just Know, or equally as often Just Know That It's Not Actually Broken. The very fact that you started your comment with "If you <do X thing that you have to be told to do>" is precisely part of that.
I'm just a hobbyist with a 3D printer, but after watching a few tutorials it seems quite simple if you're only using the sketcher and part design 90% of the time.
Yeah I just end up using Fusion 360. But depending on a freebie for hobbyists that could be withdrawn any time it's a bit worrying. I wish there were good visual tools.
I don't like browser based and blender is too focused on animation (I'm more into 3D printing) so I haven't found a good FOSS alternative. FreeCAD isn't it anyway.
3dDune is actually pretty capable and simple for basic usecases.
Plasticity for free form hard surface CAD modeling.
If you need parametric CAD then the learning curve jumps significantly and FreeCAD nowdays actually makes sense as with a bit of practice and customization you get to great place.
FreeCAD feels like Blender few years before v2.80 - people outright dismissed it because it had a bit unconventional UX but underneath was already the extremely solid software that now dominates 3D polygon modeling. FreeCAD doesn't have that much of a momentum but i wouldn't be surprised if they became Blender of CAD over time.
Note it's only a freebie if you are on Windows/Mac, too. If you're on Linux, it works terribly on wine and you have to use the browser version, and then you need a $95/month subscription.
personally exited to check it out for real constructive-solid modeling, as opposed to emulating that workflow over OpenCascade's (fickle but otherwise lovely) BREP modeling (ie. edges & faces) via build123d (which has been great but is increasingly vibe-coded :/)
woah, thanks! seeing the scenes in the blog-post i realize i've ran into it before, but must not have observed the lineage, committed the project to memory, or realized it was so mature
there's even a parametric split-keyboard project (what i'm doing too)! the clearances and cutouts in julianschuler/concavum-customizer/.../keyboard/mod.rs[1] are so much like my static, single-file, build123d-based version in antlers/keyboard/.../main.rs[2] >u< (though i made the walls out of more layers, photo in README[3]). thx again for pointing me that way!
I've been "vibe coding" with OpenSCAD with good results! OpenSCAD will automatically detect changes in the current open file and reload it, so I can use VS Code (with the OpenSCAD extension) to vibe code with Claude, and watch the changes appear on the OpenSCAD screen
I've had better luck telling it to use CadQuery. Here's an example where I stumbled around a bit, but was successful in creating a cat food container (Sheba Perfect Portions) dispenser
This thread has turned into a great resource! build123d has been my favourite conceptually so far (it's just Python) but vcad looks very clean too. I like the abuse of + and - in both of these for booleans.
I gave build123d a try about a year ago. I really wanted it to work, but it has a lot of issues, mainly in documentation. I'm going off memory here, and it's been a while, so maybe some of these have been fixed. One of the biggest issues is one of the fundamental classes (I want to say "Part") is not documented at all. And it's essentially the most important class. I tried enumerating all of the methods on the class, but didn't make much progress. Fillets were promising, but it seems once you've got a complex edge from a few operations it quits working, or at least did for my part. You're supposed to be able to do something like b=Box(10,10,10), then access the width as b.width, but all of those properties were always zero.
OpenSCAD supposedly supports Python now (https://pythonscad.org/), but I was not able to get it to work at all. I've fallen back to just OpenSCAD, even though it has limitations, at least I'm familiar with them. I'm mostly just waiting for improvements to anything that'll make it better than OpenSCAD.
i got really carried away making a contoured split-keyboard in build123d, and affirm there are some gaps in docs and functionality -- eg. it was quite tricky to get the center of an object in the right form (vector, position, or location), and often zero otherwise. i think a lot of it boils down to an OOP hierarchy with a lot of inherited or generit methods that aren't applicable or impl'ed. OpenCascade causes its own geom issues too, and by the end i was fighting build123d just to slap absolute-position--based hacks over inadvertantly invalid geometry. the dev team's interest in llm-generated code does not inspire confidence that it will become more reliable.
but i found-out up-thread that libfive, which i was esp. interested in for more reliable geom, has a Rust-based successor in Fidget -- and there's even a parametric split-keyboard that can be contrasted with my (static, hack-ier, but single-file) build123d iteration. exited to follow suit!
They certainly have ambitions – the most recent changelog claims to add "Full PCB design pipeline: schematic capture, routing, DRC, Gerber export, and signal integrity simulation."
It also seems to have a physics engine, a slicer for 3D printing, an embroidery mode, and a entire ecosystem of math crates (https://tang.toys/).
Whether any of that works – or whether it's pure LLM slop – is less clear. I tried to import a trivial STEP file, and it crashed my browser tab [1]. Every commit is co-authored by Claude.
So far, he’s shown incredible productivity (with Claude Code). I integrated his vcad into my toy project here, and it worked on the first try, which is quite impressive for such a young project:
https://github.com/darwin/supex/tree/dev
"Electronic design automation (EDA), also referred to as electronic computer-aided design (ECAD),[1] is a category of software tools for designing electronic systems such as integrated circuits and printed circuit boards."
Code-based
- CadQuery - https://github.com/CadQuery/cadquery/
- build123d - https://github.com/gumyr/build123d
- OpenSCAD - https://openscad.cloud/openscad/
GUI (browser-based)
- Cadmium (abandoned, cool idea) - https://mattferraro.dev/posts/cadmium