That said, depending on the model you want to make, it may be much more challenging. Adding fillets, for example, may be not trivial.
That said, depending on the model you want to make, it may be much more challenging. Adding fillets, for example, may be not trivial.
Fillets and chamfers are bespoke each time, and any kind of reflection on the structure of the resulting model is essentially impossible because it is a declarative language as well as a mesh modeller, STEP export is impossible. With anything complex you will drown in variable declarations and various bodges, and there is essentially no help for multi-body projects or assemblies.
The Python/OpenCascade-based CadQuery and Build123D are bRep systems with many programmatic advantages, and because they are bRep you have generalised fillet and chamfer operations (within OpenCascade’s limitations). You also get face, wire and vertex operations on generated geometry, even some assembly support.
On the JS side of things, CascadeStudio and replicad both use the emscripten cross-compilation of OpenCascade.
Personally, I really like FreeCAD, and I’ve used it for complex things. But I am not going to suggest everyone should use it.
cuboid([5,5,5], fillet=2);