retour
a=20;
r1=5;
r2=2;
union() {
translate([a/2,a/2,a/2]) sphere(r1);
translate([a/2,a/2,a/2]) rotate([0,180,0])cylinder(r=r2,h=a);
translate([a/2,a/2,-a/2]) sphere(r1);
translate([a/2,a/2,a/2]) rotate([0,-90,0]) cylinder(r=r2,h=a);
translate([-a/2,a/2,a/2]) sphere(r1);
translate([a/2,a/2,a/2]) rotate([90,0,0]) cylinder(r=r2,h=a);
translate([a/2,-a/2,a/2])sphere(r1);
translate([-a/2,a/2,-a/2]) sphere(r1);
translate([-a/2,a/2,-a/2]) cylinder(r=r2,h=a);
translate([-a/2,a/2,-a/2]) rotate([0,90,0]) cylinder(r=r2,h=a);
translate([-a/2,a/2,-a/2]) rotate([90,0,0]) cylinder(r=r2,h=a);
translate([-a/2,-a/2,-a/2]) sphere(r1);
translate([-a/2,-a/2,a/2]) sphere(r1);
translate([-a/2,-a/2,a/2]) rotate([-90,0,0]) cylinder(r=r2,h=a);
translate([-a/2,-a/2,-a/2]) cylinder(r=r2,h=a);
translate([-a/2,-a/2,a/2]) rotate([0,90,0]) cylinder(r=r2,h=a);
translate([a/2,-a/2,-a/2]) sphere(r1);
translate([a/2,-a/2,-a/2]) cylinder(r=r2,h=a);
translate([a/2,-a/2,-a/2]) rotate([-90,0,0]) cylinder(r=r2,h=a);
translate([a/2,-a/2,-a/2]) rotate([0,-90,0]) cylinder(r=r2,h=a);
}