// Paramètres cube_size = 50; // Taille extérieure du cube frame_thickness = 5; // Épaisseur des barres du cadre sphere_diameter = cube_size - frame_thickness - 1; // Diamètre de la sphère (plus grand pour rester emprisonnée) // Module pour créer un cadre de cube module cube_frame(size, thickness) { // Générer les barres le long des axes principaux for (x = [-1, 1]) for (y = [-1, 1]) for (z = [-1, 1]) { // Barres le long de l'axe Z translate([x * (size / 2 - thickness / 2), y * (size / 2 - thickness / 2), 0]) cube([thickness, thickness, size], center = true); // Barres le long de l'axe X translate([0, y * (size / 2 - thickness / 2), z * (size / 2 - thickness / 2)]) cube([size, thickness, thickness], center = true); // Barres le long de l'axe Y translate([x * (size / 2 - thickness / 2), 0, z * (size / 2 - thickness / 2)]) cube([thickness, size, thickness], center = true); } } // Création du cadre du cube cube_frame(size = cube_size, thickness = frame_thickness); // Ajout de la sphère emprisonnée translate([0, 0, 0]) // Centrer la sphère dans le cadre sphere(d = sphere_diameter);