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
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
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 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.
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.
But yeah FreeCAD I just can't get my head around it right now.
The price is a lot lower than Fusion but still too high for hobby use IMO.
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.
Also all of the software mentioned above has very little UI/UX and also ambition compared to FreeCAD.
SolveSpace - https://github.com/solvespace/solvespace
guile scheme, bindings in Rust and Python
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 :/)
discussed previously: https://news.ycombinator.com/item?id=12319406
a real constructive solid library (as opposed to emulation via modeling), with
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!
1: https://github.com/julianschuler/concavum-customizer/blob/ma...
2: https://codeberg.org/antlers/keyboard/src/branch/main/src/ca...
Awesome because you can build a model, expose the parameters, and allow web users to generate a model to fit their parameters.
https://claude.ai/share/ebce7c8e-4e5a-42ec-8ee9-cf066f68858f
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.
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!
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.
By the way, “they” is actually just one person: Cam Pedersen — https://campedersen.com
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
Definitely keep an eye on him.
(We had one back in December; you’re in for a fun ride!)
> https://en.wikipedia.org/wiki/Template:CAD_software
distinguishes between 5 types of CAD software:
1. Mechanical
2. Architectural (AEC)
3. Electrical
4. Optical
5. Garment
Thus: KiCad is clearly a CAD application, though not of the Mechanical, but of the Electrical category (and is listed in the linked template as such).
https://arshon.com/blog/eda-vs-cad-decoding-the-basics-of-de...
And if we're appealing to Wikipedia as an (inconsistent) authority, https://en.wikipedia.org/wiki/Electronic_design_automation
"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."
And
https://en.wikipedia.org/wiki/KiCad
"KiCad (/ˈkiːˌkæd/ KEE-kad[7]) is a free software suite for electronic design automation (EDA)."
But KiCad did put CAD in their own name so ¯\_(ツ)_/¯