Download this thing or ask me how I made it at thingiverse.com
back
snub cube

t = 1.83929;

vertices = [
[1, 1/t, t],
//[1, 1/t, -t],
//[1, -1/t, t],
[1, -1/t, -t],
//[-1, 1/t, t],
[-1, 1/t, -t],
[-1, -1/t, t],
//[-1, -1/t, -t],
//[1/t, 1, t],
[1/t, 1, -t],
[1/t, -1, t],
//[1/t, -1, -t],
[-1/t, 1, t],
//[-1/t, 1, -t],
//[-1/t, -1, t],
[-1/t, -1, -t],
//[1, t, 1/t],
[1, t, -1/t],
[1, -t, 1/t],
//[1, -t, -1/t],
[-1, t, 1/t],
//[-1, t, -1/t],
//[-1, -t, 1/t],
[-1, -t, -1/t],
[1/t, t, 1],
//[1/t, t, -1],
//[1/t, -t, 1],
[1/t, -t, -1],
//[-1/t, t, 1],
[-1/t, t, -1],
[-1/t, -t, 1],
//[-1/t, -t, -1],
[t, 1, 1/t],
//[t, 1, -1/t],
//[t, -1, 1/t],
[t, -1, -1/t],
//[-t, 1, 1/t],
[-t, 1, -1/t],
[-t, -1, 1/t],
//[-t, -1, -1/t],
//[t, 1/t, 1],
[t, 1/t, -1],
[t, -1/t, 1],
//[t, -1/t, -1],
[-t, 1/t, 1],
//[-t, 1/t, -1],
//[-t, -1/t, 1],
[-t, -1/t, -1],
];


//for(n=[0:23])
//{
// vector = vertices[n];
// translate([vector[0], vector[1], vector[2]])
// {
// color("Fuchsia", 1)linear_extrude(height = .01)
// {
// text(text = str(n), font = "Liberation Sans", size = .2);
// }
// }
//}


paths = [
3, 6, 6, 0, 0, 5, 5, 3,
9, 13, 13, 11, 11, 15, 15, 9,
23, 18, 18, 22, 22, 19, 19, 23,
14, 8, 8, 12, 12, 10, 10, 14,
20, 17, 17, 21, 21, 16, 16, 20,
7, 2, 2, 4, 4, 1, 1, 7,

21, 0, 0, 16, 16, 12, 12, 0,
12, 6, 6, 10, 10, 22, 22, 6,
22, 3, 3, 19, 19, 15, 15, 3,
15, 5, 5, 9, 9, 21, 21, 5,
13, 7, 7, 11, 11, 23, 23, 7,
23, 2, 2, 18, 18, 14, 14, 2,
14, 4, 4, 8, 8, 20, 20, 4,
20, 1, 1, 17, 17, 13, 13, 1,
9, 17, 19, 11, 10, 18, 16, 8

];

for(n=[0:59])
{
     vector_1 = vertices[paths[2*n]];
     vector_2 = vertices[paths[2*n+1]];
     hull()
     {
         translate([vector_1[0], vector_1[1], vector_1[2]])
         {
             sphere($fn=50, .2, true);
         }
         translate([vector_2[0], vector_2[1], vector_2[2]])
         {
             sphere($fn=50, .2, true);
         }
     }
}