total lack of interactivity.
https://youtu.be/eG5lhLYvihQ?si=ehet5COZhiNrcK9bI have not yet invented any other improvement.
I tried decimal points, but that was stupid, you just add "/100" if you want micrometer accuracy.
I use the latest version all the time. The newer renderer ("manifold", IIRC) is much faster, and there are newer facilities that make it possible to build 3MF files containing multiple objects for multi-color printing, though that takes a bit of thought to do correctly.
To do multi-color printing it’s pretty easy now, just turn on the poorly named feature in preferences called “lazy-unions”. This will make it so that each top level object in your file gets exported as a separate subobject in the 3mf file.
That said, there are often times software gets so stable that not having a new release for years is fine. Maybe this is one of them?
(I'm very new to OpenSCAD so I haven't run into bugs yet... But maybe it's pretty solid?)
I build from git using the AUR.
And even if it’s not perfect it saves a lot of time looking up the documentation and generally gets the relationships between objects right.
https://makerworld.com/en/models/2040939-accessible-christma...
However, there are a number of limitations that are truly and deeply frustrating.
1. The language is downright weird. Don't get me wrong, it's a very nice little exercise in implementing a functional-tasting scripting language. Someone obviously wanted to scratch a functional DSL design itch and he did, but the result is unfortunately extremely limiting. Creating a function that does not return geometry is barely possible (only bloody lambdas IIRC). He should have picked python instead (and yes, I know about SolidPython2)
2. From my POV: the main headache with OpenSCAD is there is no way to partially evaluate an object and use the result of that partial evaluation in the rest of the construction. For example, if you try to take two complex assemblies and place them tangent to one another ... very good luck to you sir, I pray and hope the 3D math is really strong with you.
Whereas: if you had a simple rayIntersect(csg_tree, line_in_3d_spce) that would return the first intersection and two normals ... something you can reuse in subsequent transforms and construction, man would life be simpler.
These days, with LLMs you can sort of build a scaffolding to work around this by asking the agent to break down the assembly in multiple stages and use external libraries to do the partial eval for you, but ... ugh ... what a mess.
3. Speed. The moment your CSG assembly gets complex (e.g. uses a ton of morpho ... hull, minkowski, etc...), OpenSCAD crawls to a halt.
4. NO FILLETS. The age-old, standard methodology of building things CSG style with cubes, spheres, cylinders, etc ... and then once the object is finished adding the rounding ... simply not possible with OpenSCAD. Adding fillets after the fact once you've built a complex CSG tree ... nightmare with OpenSCAD.
So, YMMV, but caveat emptor, if you get serious with the toole, you're bound to hit some very hard walls.