dia = 23; avs = 6.5; rtapp = 1.4; htapp = 3.8; difference() { union() { difference() { sphere($fn = 50, $fa = 12, $fs = 2, r = dia/2); translate([-dia/2,-dia/2,-dia/2]) cube(size = [dia,dia,dia/2], center = false); } } sphere($fn = 100, $fa = 12, $fs = 2, r = 7.5); translate([-avs,-avs,(htapp-1)]) sphere($fn = 30, $fa = 12, $fs = 2, r = rtapp); translate([-avs,-avs,-1]) cylinder($fn = 30, h = htapp, r1 = rtapp, r2 = rtapp, center = false); translate([avs,-avs,(htapp-1)]) sphere($fn = 30, $fa = 12, $fs = rtapp, r = rtapp); translate([avs,-avs,-1]) cylinder($fn = 30, h = htapp, r1 = rtapp, r2 = rtapp, center = false); translate([-avs,avs,(htapp-1)]) sphere($fn = 30, $fa = 12, $fs = 2, r = rtapp); translate([-avs,avs,-1]) cylinder($fn = 30, h = htapp, r1 = rtapp, r2 = rtapp, center = false); translate([avs,avs,(htapp-1)]) sphere($fn = 30, $fa = 12, $fs = 2, r = rtapp); translate([avs,avs,-1]) cylinder($fn = 30, h = htapp, r1 = rtapp, r2 = rtapp, center = false); }