difference() { union() { //border torus rotate([40, 0, 0]) rotate_extrude(convexity = 10, $fn = 100) translate([170, 0, 0]) circle(r = 30, $fn = 100); difference() { sphere(200, $fn=100); sphere(140, $fn=100); rotate([40, 0, 0]) translate([0, 0, -200]) cube(size = [400, 400, 400], center = true);; //hueco fuera translate([0, 0, 280]) cube(size = [200, 200, 200], center = true);; } } }