dia = 26; avs = 7.0; rtapp = 2.0; htapp = 4; color("Red", 0.5) { 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); } }