right - reckon this should do it.
Also fixed a bit of dodgy maths that added unnecessary height to the top.
Plus now have independant control of handle length so can do spheres much easier
Certain setting still make it weird, but I did fail my A level maths, so what do you expect.
Here's a sample line:
Quote:translate([(gd+hod)/2+hod/2,(gl/2+st)/2,gd/2]) rotate([90,0,0]) cylinder(d=hod, h=gl/2+st);
The whole script runs to approx 150 lines like that, plus a bunch of variables that seems to grow every time I change something.
All i can say is that it makes sense when I'm typing it. Tomorrow ? Maybe not so much
And i do run almost entirely on trial and error.