Download this thing or ask me how I made it at thingiverse.com
back
dodecahedra sphere


for(m=[0:1])
{
     rotate([0, 180*m, 0])
     {
         for(l=[0:1])
         {
             rotate([180*l, 0, 0])
             {
                 for(k=[0:4])
                 {
                     phi = (1+sqrt(5))/2;
                     rotate(72*k, [1, 0, phi]) //around the vertex of an icosahedron
                     {
                         /////////////////////////////begin rhombus
                         translate([0, 0, 6.130515186])
                         {
                         rotate([0, 0, 90])
                         {
                                                 verticies = [
                         [-1.37638,0.,0.262866],[1.37638,0.,-0.262866],
                         [-0.425325,-1.30902,0.262866],[-0.425325,1.30902,0.262866],
                         [1.11352,-0.809017,0.262866],[1.11352,0.809017,0.262866],
                         [-0.262866,-0.809017,1.11352],[-0.262866,0.809017,1.11352],
                         [-0.688191,-0.5,-1.11352],[-0.688191,0.5,-1.11352],
                         [0.688191,-0.5,1.11352],[0.688191,0.5,1.11352],
                         [0.850651,0.,-1.11352],[-1.11352,-0.809017,-0.262866],
                         [-1.11352,0.809017,-0.262866],[-0.850651,0.,1.11352],
                         [0.262866,-0.809017,-1.11352],[0.262866,0.809017,-1.11352],
                         [0.425325,-1.30902,-0.262866],[0.425325,1.30902,-0.262866]];

                         dihedral = acos(-sqrt(5)/5);
                         half_rhombus_length = 3.788866753;


                         for(j=[0:1])
                         {
                             rotate([0, 0, 180*j])
                             {
                                 rotate([90, 0, 0])
                                 {
                                 translate([0, 0, -half_rhombus_length])
                                 {
                                 rotate([0, dihedral/2-90, 0])
                                 {
                                 rotate([0, -dihedral, 0])
                                 {
                                 translate([0, 0, -2*1.11352])
                                 {
                                 for(i=[-1:1])
                                 {
                                     translate([0, 0, 2*1.11352*i])
                                     {
                                         rotate([0, dihedral*pow(i, 2), 0])
                                         {
                                             hull()
                                             {
                                                 for(n=[0:19])
                                                 {
                                                     vert = verticies[n];
                                                     translate([vert[0], vert[1], vert[2]])
                                                     {
                                                         sphere(.01, true);
                                                     }
                                                 }
                                             }
                                         }
                                     }
                                 }
                                 }
                                 }


                                 translate([0, 0, 2*1.11352])
                                 {
                                     rotate([0, dihedral, 0])
                                     {
                                         hull()
                                         {
                                             for(n=[0:19])
                                             {
                                                 vert = verticies[n];
                                                 translate([vert[0], vert[1], vert[2]])
                                                 {
                                                     sphere(.01, true);
                                                 }
                                             }
                                         }
                                     }
                                 }
                                 }
                                 }
                                 }
                             }
                         }
                         }
                         }
                         ////////////////////////// end rhombus
                     }
                 }
             }
         }
     }
}



////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////
rotate([90, 0, 90])
{
for(m=[0:1])
{
     rotate([0, 180*m, 0])
     {
         for(l=[0:1])
         {
             rotate([180*l, 0, 0])
             {
                 for(k=[0:4])
                 {
                     phi = (1+sqrt(5))/2;
                     rotate(72*k, [1, 0, phi])
                     {
                         /////////////////////////////begin rhombus
                         translate([0, 0, 6.130515186])
                         {
                         rotate([0, 0, 90])
                         {
                                                 verticies = [
                         [-1.37638,0.,0.262866],[1.37638,0.,-0.262866],
                         [-0.425325,-1.30902,0.262866],[-0.425325,1.30902,0.262866],
                         [1.11352,-0.809017,0.262866],[1.11352,0.809017,0.262866],
                         [-0.262866,-0.809017,1.11352],[-0.262866,0.809017,1.11352],
                         [-0.688191,-0.5,-1.11352],[-0.688191,0.5,-1.11352],
                         [0.688191,-0.5,1.11352],[0.688191,0.5,1.11352],
                         [0.850651,0.,-1.11352],[-1.11352,-0.809017,-0.262866],
                         [-1.11352,0.809017,-0.262866],[-0.850651,0.,1.11352],
                         [0.262866,-0.809017,-1.11352],[0.262866,0.809017,-1.11352],
                         [0.425325,-1.30902,-0.262866],[0.425325,1.30902,-0.262866]];

                         dihedral = acos(-sqrt(5)/5);
                         half_rhombus_length = 3.788866753;


                         for(j=[0:1])
                         {
                             rotate([0, 0, 180*j])
                             {
                                 rotate([90, 0, 0])
                                 {
                                 translate([0, 0, -half_rhombus_length])
                                 {
                                 rotate([0, dihedral/2-90, 0])
                                 {
                                 rotate([0, -dihedral, 0])
                                 {
                                 translate([0, 0, -2*1.11352])
                                 {
                                 for(i=[-1:1])
                                 {
                                     translate([0, 0, 2*1.11352*i])
                                     {
                                         rotate([0, dihedral*pow(i, 2), 0])
                                         {
                                             hull()
                                             {
                                                 for(n=[0:19])
                                                 {
                                                     vert = verticies[n];
                                                     translate([vert[0], vert[1], vert[2]])
                                                     {
                                                         sphere(.01, true);
                                                     }
                                                 }
                                             }
                                         }
                                     }
                                 }
                                 }
                                 }


                                 translate([0, 0, 2*1.11352])
                                 {
                                     rotate([0, dihedral, 0])
                                     {
                                         hull()
                                         {
                                             for(n=[0:19])
                                             {
                                                 vert = verticies[n];
                                                 translate([vert[0], vert[1], vert[2]])
                                                 {
                                                     sphere(.01, true);
                                                 }
                                             }
                                         }
                                     }
                                 }
                                 }
                                 }
                                 }
                             }
                         }
                         }
                         }
                         ////////////////////////// end rhombus
                     }
                 }
             }
         }
     }
}
}