I really do hope this finally pushes the open source community to create a viable and enjoyable to use 3D CAD modelling software. I work with code a lot but I was never really able to get into OpenSCAD, and FreeCAD crashes too often for my liking in addition to having a (in my opinion) unintuitive UI/workflow. I've moved on to Solidworks (student edition as I am a student) for now but am still keeping an eye out for alternatives.

The biggest thing holding the open source CAD movement back is the available geometric kernels, the core they processes the geometric operations. The most “advanced” open source kernel is OpenCascade, and is used by FreeCAD, however it’s nowhere near as capable as the commercial kernels, harder to work with, dated and buggy.

We desperately need a modern open source geometric kernel, but that would take hundreds of thousands, if not millions, of man hours to build. The “best” and most popular kernel, Parasolid, is 40 years old and had constant improvemen.

FreeCAD/OpenCascade is the best we have, and will have, without significant financial investment to fund development.

Maybe. But at a hobbyist level, is the problem really the kernel?

The problem is that OpenSCAD is easy to get started and the code-first approach is unbelievably useful - but too simplistic/limited. Meanwhile, FreeCAD is too complex, and often buggy.

There's also CADQuery, which is surprisingly good already. Don't get me wrong, the GUI (CQ-Editor) is unusably buggy. But the Jupyter notebook integration works amazingly well. If I were that project, I would work on a hot-reload, cross platform, standalone viewer only (in the same way people use OpenSCAD often). I would also pay for that, safe in the knowledge that the code produced can't be locked in so easily.

Is it a FreeCAD replacement? For better or worse, no. But it has let me avoid FreeCAD/Fusion360, while finally being free of OpenSCAD shortcomings.

> Don't get me wrong, the GUI (CQ-Editor) is unusably buggy. But the Jupyter notebook integration works amazingly well. If I were that project, I would work on a hot-reload, cross platform, standalone viewer only (in the same way people use OpenSCAD often).

Couldn't you equivalently use any STL/STEP/AMF viewer?

Seems a good choice to me that the GUI is a separate/subordinate project. I suppose it is somewhat necessary to have it at all, easier to gain popularity if you can show screenshots and have a single app 'quickstart'.

> Couldn't you equivalently use any STL/STEP/AMF viewer?

I'm not sure. A quick feedback loop is important. With OpenSCAD and CadQuery, you write code that defines the geometry. You then want to see what the geometry looks like, and possibly debug it. For this, you generally want to be able to give certain parts a different color, or opacity, wireframe, etc.

STL is out; it has to tessellate geometry turning it into triangles. AFAIK, it only supports one object. This means a sensible wireframe is out, and so are multiple parts. AMF has similar drawbacks. STEP files might work.

Generally, my understanding is many people write OpenSCAD code in their editor of choice, and then simply save the file. When you open an existing file in OpenSCAD GUI, it monitors it for changes, and refreshes. So this is great.

That said, I misspoke a bit. CQ-Editor is definitely somewhat close to OpenSCAD. It still has a - in my view - unnecessary code editor. But the last standalone release is over a year ago, and I found it to be extremely buggy on macOS. It crashes quite often. Meanwhile, Jupyer-CadQuery [0] works great.

> Seems a good choice to me that the GUI is a separate/subordinate project. I suppose it is somewhat necessary to have it at all, easier to gain popularity if you can show screenshots and have a single app 'quickstart'.

Generally, I think this is true. My personal opinion is I can be productive with something that has a minimal set of features but is rock-solid; over something that has gobs of features but is buggy. That was my main issue with FreeCAD. Ease of installation is another big one. For all it's issues, OpenSCAD gets both of these things right.

[0] https://github.com/bernhard-42/jupyter-cadquery/