$fn = 100; // Paramètres rayon_sphere = 100; rayon_trou = 40; epaisseur_croix = 30; longueur_croix = 2*rayon_sphere - 2; union() { // 1) Sphère percée difference() { sphere(r = rayon_sphere); // Axe Z cylinder(h = 2*rayon_sphere + 2, r = rayon_trou, center = true); // Axe X rotate([0, 90, 0]) cylinder(h = 2*rayon_sphere + 2, r = rayon_trou, center = true); // Axe Y rotate([90, 0, 0]) cylinder(h = 2*rayon_sphere + 2, r = rayon_trou, center = true); } // 2) Croix 3D interne // Barre axe X cube([longueur_croix, epaisseur_croix, epaisseur_croix], center = true); // Barre axe Y cube([epaisseur_croix, longueur_croix, epaisseur_croix], center = true); // Barre axe Z cube([epaisseur_croix, epaisseur_croix, longueur_croix], center = true); }