include use SCALE_FACTOR=SIZE/9; echo("scale factor: ", SCALE_FACTOR); echo("bottom diameter: ", SIZE/SCALE_FACTOR); difference() { union() for (i=[-1,1]) translate([i*2, 0, 0]) rotate(i*90, [0, 1, 0]) scale(1/SCALE_FACTOR) union() { translate([0, 0, SIZE+20+60]) rotate(90, [0, 1, 0]) scale(1.6) catear_headband(thickness=5, with_rake=false); translate([0, 0, 20]) cylinder(h=10, r=SIZE, $fn=360); cylinder(h=20, d=SIZE, $fn=360); } translate([0, 0, -SIZE*(1/SCALE_FACTOR)*5]) cube(SIZE*10*(1/SCALE_FACTOR), center=true); } /* scale(1/SCALE_FACTOR) { translate([0, 0, 30]) scale([1, 1, -1]) difference() { union() { translate([0, 0, 20]) cylinder(h=10, r=SIZE, $fn=360); cylinder(h=20, d=SIZE, $fn=360); } translate([0, 0, SIZE+20+60]) rotate(90, [0, 1, 0]) scale(1.6) catear_headband(thickness=5, with_rake=false); } scale(1.6) translate([0, 0, HEIGHT/2]) catear_headband(thickness=5, with_rake=false); } */