$fn = 100; cube_side = 10; sphere_r = 0.7 * cube_side; cyl_r = sphere_r/2; cyl_h = 1.1*cube_side; difference() { intersection() { cube([cube_side,cube_side,cube_side], center=true); sphere(r=sphere_r); } union() { union() { rotate([0,90,0]) cylinder(r=cyl_r, h=cyl_h, center=true); cylinder(r=cyl_r, h=cyl_h, center=true); } rotate([90,0,0]) cylinder(r=cyl_r, h=cyl_h, center=true); } }