Have you taken a look at the build123d "algebra API" yet? It is intended to be near zero magic without any of the with blocks from the "builder API". There are algebra and builder API versions of all of the introductory examples on this page https://build123d.readthedocs.io/en/latest/introductory_exam...
Algebra has its own magic though, c.f. the "vectorization" stuff which implements an IMHO really confusing syntax as a kludge to get around having to implement a lazy evaluator. And the placement operator syntax is... yikes. But yes, if you have a CSG problem you're porting naturally from a tool like OpenSCAD you should be using Algebra and not Builder, 100%.
Really it's just an odd area, without solid conventions, and so any API in the 3D space is going to look weird in some places. But IMHO build123d leans way too far out on the "clever" end of the spectrum for my taste. OpenSCAD is limited, but has the advantage of having stuck to a dry, dumb, obvious API.
Have you taken a look at the build123d "algebra API" yet? It is intended to be near zero magic without any of the with blocks from the "builder API". There are algebra and builder API versions of all of the introductory examples on this page https://build123d.readthedocs.io/en/latest/introductory_exam...
reply