52 weeks

icoshaderon

Arthur Schmitt week 2 in 3D printing

Generative lampshade.
It took 18 hours to print!
Just a few lines of code :

thickness = 0.01; 
nombre = 5;

module ico () {
    r = sqrt(3 / (1 + 2*sqrt(5)/5) - 1);
    for (j = [0, 180]) rotate([0, j, 0])
      for (i = [0:4]) rotate([0, 0, i * 360 / 5])
        for (k = [0, 1]) rotate([0, -atan(r) - 2*k*atan(r/2), 0])
            rotate([0, 0, 180*k]) cylinder(1, 0, r, $fn=3);
}
module plate () {
    rotate ([0,0,90])
        translate ([-thickness/2, -2.5,-2.5]) 
            cube ([thickness,5,5]);
}
module plate2 () {
    rotate ([0, 31.7,72])  
        translate ([-thickness/2, -2.5,-2.5])
            cube ([thickness,5,5]);
}
module trelace() {
    intersection () {
        ico ();
        for (i=[0 : 5*nombre])  
            rotate ([0,0,i*360/5/nombre])
                plate();
    }
    intersection () {
        ico(); 
        for (i=[0 : 5*nombre])  
            rotate ([0,0,i*360/5/nombre])
                plate2();
    }
    cylinder (r=0.14,h=1.22, $fn=20);
}
module off() {
    sphere (d=1.85, $fn=30);
    cylinder(r=0.1,h=2,$fn=50);
    mirror([0,0,1])
        cylinder(r=0.5,h=1.5, $fn=20);
    translate([0,0,-1.84])
        cylinder(r=1,h=1);
}
difference() {
    trelace();
    off();
}
Made with OpenSCAD http://www.thingiverse.com/thing:1056083