module ring(con,x,y,z,r1,side,transx,transy,transz){ translate([transx,transy,transz]){ rotate_extrude(convexity = con, $fn = side) translate([x,y,z]) circle(r = r1, $fn = 64); } } module four(rings,sizer,sizerh,qual) for (i=[0:rings]){ ring(10,sizer,0,0,sizerh,qual,i,i,i); ring(10,sizer,0,0,sizerh,qual,i,i,rings-i); ring(10,sizer,0,0,sizerh,qual,i,rings-i,i); ring(10,sizer,0,0,sizerh,qual,rings-i,i,i); } four(20,25,1,16);