Last time I used OpenSCAD I didn't notice any arbitrary precision limitations — maybe the ones who expose interfaces to the web have them, but even there I don't seen how anything but millimeters would make sense (then again I live in Europe).
Last time I used OpenSCAD I didn't notice any arbitrary precision limitations — maybe the ones who expose interfaces to the web have them, but even there I don't seen how anything but millimeters would make sense (then again I live in Europe).
Similarly, mm precision has been fine. All my dimensions are specified in mm, and parts come off the printer at the scale intended.
I’ve also had good luck with some open source OpenSCAD programs, particularly in the Gridfinity ecosystem.
OpenSCAD could use some polish, and perhaps a better packaging system, but it’s a reliable tool for me.
(I'm also already exhausted from the level of manic energy from Zach but I'll try drinking two cups of coffee and hope that gets me to the end)
> I did a whole episode on how more printers' printers print prints for printers' printers than printers print prints for printed projects
1. I also didn't really have any actual 3d "design" experience before using OpenSCAD, except for in the 90s/00s when I played around with POVRay as a hobby, but OpenSCAD definitely feels a lot like writing POVRay scenes.
2. My first exposure to graphics programming was in OpenGL, and the OpenSCAD language's focus on transformations applying to children "rhymes" with that very well (they're just like a C-style if/for/while block, where you can either nest several things inside { } or else just have a single statement following the control structure and the transform applies only to that one thing, so
cube(1);
translate([1,1,1])cube(1);
translate([2,2,2])cube(1);
is equivalent to cube(1);
translate([1,1,1]){
cube(1);
translate([1,1,1]){
cube(1);
}
}
which is in turn equivalent to module cubechain(n) {
if (n > 0) {
cube(1);
translate([1,1,1])cubechain(n - 1);
}
}
cubechain(3);
and you can indeed make neat L-systems and such out of primitives and recursion.