retour
a=20;
r1=6;
r2=2;
union() {
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])
sphere(r1);
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])
sphere(r1);
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(h=a, r=r2);
translate([-a/2,-a/2,-a/2])
rotate([0,90,0])
cylinder(h=a, r=r2);
translate([-a/2,-a/2,-a/2])
rotate([-90,0,0])
cylinder(h=a, r=r2);
translate([a/2,a/2,a/2])
rotate([0,-90,0])
cylinder(h=a, r=r2);
translate([a/2,a/2,a/2])
rotate([90,0,0])
cylinder(h=a, r=r2);
translate([a/2,a/2,a/2])
rotate([180,0,0])
cylinder(h=a, r=r2);
translate([-a/2,a/2,a/2])
rotate([0,-180,0])
cylinder(h=a, r=r2);
translate([-a/2,a/2,a/2])
rotate([90,0,0])
cylinder(h=a, r=r2);
translate([a/2,-a/2,a/2])
rotate([0,180,0])
cylinder(h=a, r=r2);
translate([a/2,-a/2,a/2])
rotate([0,-90,0])
cylinder(h=a, r=r2);
translate([a/2,a/2,-a/2])
rotate([90,0,0])
cylinder(h=a, r=r2);
translate([a/2,a/2,-a/2])
rotate([0,-90,0])
cylinder(h=a, r=r2);
sphere(r1);
rotate([0,45,45]) cylinder(h=a*sqrt(2)/2,r=r2);
rotate([0,-45,45]) cylinder(h=a*sqrt(2)/2,r=r2);
rotate([0,-45,-45]) cylinder(h=a*sqrt(2)/2,r=r2);
rotate([0,45,-45]) cylinder(h=a*sqrt(2)/2,r=r2);
rotate([180,0,0])rotate([0,45,45]) cylinder(h=a);
rotate([180,0,0]) rotate([0,-45,45]) cylinder(h=a*sqrt(2)/2,r=r2);
rotate([180,0,0]) rotate([0,-45,-45]) cylinder(h=a*sqrt(2)/2,r=r2);
rotate([180,0,0]) rotate([0,45,-45]) cylinder(h=a*sqrt(2)/2,r=r2);
}