upvote
I just ran into this today: https://github.com/gumyr/build123d - seems like an LLM should have no problem writing python code...
reply
> I think OpenSCAD is currently the best and most feature complete choice

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.
reply
(my) fncad doesn't have the querying, but it does have smooth csg! https://fncad.github.io/
reply
using BOSL2 alleviates most issues I've run into with OpenScad for chamfers and the like, but it is an extra set of functions you need to remember sadly

https://github.com/BelfrySCAD/BOSL2

reply
> BOSL2 ... but it is an extra set of functions you need to remember sadly

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.

reply
you can get around this somewhat by having less visually smooth previews when editing and higher quality when you want an stl

  $fn = $preview ? 32 : 256;
reply
I have tried OpenSCAD, it seems very slow to compile to display on web. are you using the official wasm or some other ways?
reply
you may find this useful: https://phaestus.app/blog/blog0031

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/

reply
I export it as .3mf file and display it with threejs on the web. Compilation seemed fast enough - few seconds tops.
reply
Yeah it does. In fact I believe it was written to demonstrate improved sketch constraint solving (there's a 2D version too).

Unfortunately aside from the better sketching the engine is not as capable as OpenCascade.

reply