As much as I love OpenSCAD, I would strongly disagree with your conclusion.
All the OpenSCAD language can do is boolean operations and moreover, the engine can only implement those on polygonal (triangle actually) meshes.
That's a very far cry from what a modern commercial CAD engine can do.
For example, the following things are very, very hard to do, or even specify using OpenScad:
- Smooth surfaces, especially spline-based
- Fillets / Chamfers between two arbitrary surfaces
- Trimming surfaces
- Querying partly built models and using the outcome in the subsequent construction (e.g. find the shortest segment between two smooth surfaces, building a cylinder around it and filleting it with the two surfaces, this is an effing nightmare to do within the confines of OpenSCAD)
- Last but not least: there is no native constraint solver in OpenSCAD, neither in the language nor in the engine (unlike - say - SolveSpace)
I might have misunderstood what you're looking to do, but, yeah, digging deeper feels very much like the right thing to do.It's also extremely slow: it implements chamfers and fillets using morpho, and if you have a large number of fillets, the morpho algorithms (minkowski / hull) are very much non linear in time on polygonal meshes, which leads to compute time explosion if you want a visually smooth result.
$fn = $preview ? 32 : 256;Edit: Forgot I also got doom running in openscad: https://www.mikeayles.com/blog/openscad-doom/
and doom running in openscad in the browser at https://doom.mikeayles.com/
Unfortunately aside from the better sketching the engine is not as capable as OpenCascade.