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

for(i=[0:4])
     {
     rotate(a=72*i, v=[0,0,1])
         {
         translate([0,0,0])
             {
             for(n=[0:1])
                 {
             vector1 = [[-0.262866,-0.809017,
             1.11352],[0.262866,-0.809017,
             -1.11352]];

                 translate(vector1[n])
                     {
                         vector2 = vector1[n];
                         //rotate around <-y,x,0> by angle cos^-1(z/sqrt(x^2+y^2+z^2))
                         rotate(a=acos(vector2[2]/sqrt(pow(vector2[0],2)+pow(vector2[1],2)+pow(vector2[2],2))),v=[-vector2[1],vector2[0],0])
                             {
                             //around tan^-1(y/x)
                             rotate(a=atan(vector2[1]/vector2[0]),v=[0,0,1])
                                 {
                                   
////////////////////////////////////////////////////////the shape
scale([20,20,20])
for(j=[0:2])
{
     translate([0,0,0])
     {
         rotate([0,0,j*120+90])
         {
rotate([19,0,0])//////change this rotation to deal with height change
rotate([0,0,atan(0.626482/0.626189)])
for (i=[0:1])
{
     translate([0,0,0])
     {
         rotate([0,0,i*180])
         {
                 for (n=[0:17])
                 {
                         vector1 = [[0.,0.],[0.101009,0.000343534],[0.201987,0.00274797],[0.302775,0.00926991],[0.402965,0.0219445],[0.501774,0.0427429],[0.597935,
                 0.0734919],[0.689601,0.115746],[0.774298,0.170606],[0.848932,0.238483],[0.909895,0.318823],[0.953298,0.409819],[0.97535,
                 0.508155],[0.972904,0.608862],[0.944155,0.705361],[0.889402,0.789806],[0.811788,0.853793],[0.717804,0.889488],[0.617343,
                 0.891102],[0.523062,0.856554],[0.44889,0.788969],[0.407662,0.697562],[0.408144,0.597361],[0.452033,0.507367],[0.531815,
                 0.447004],[0.630532,0.431279],[0.724276,0.46573],[0.787642,0.542812],[0.801266,0.641566],[0.759362,0.731914],[0.674271,
                 0.78347],[0.575109,0.776773],[0.499177,0.712813],[0.477751,0.615986],[0.521337,0.527036],[0.61162,0.48657],[0.706229,
                 0.515096],[0.757252,0.599575],[0.736542,0.695938],[0.654406,0.750184],[0.558312,0.729485],[0.507643,0.645413],[0.536072,
                 0.551608],[0.62546,0.511744],[0.713115,0.554952],[0.733929,0.650282],[0.670922,0.724585],[0.573905,0.717665],[0.523939,
                 0.634406],[0.565139,0.546659],[0.661068,0.53393],[0.721991,0.608896],[0.688176,0.699199],[0.593029,0.713714],[0.535606,
                 0.636696],[0.578283,0.550832],[0.673972,0.552057],[0.712502,0.639448],[0.64768,0.709326],[0.55868,0.675761],[0.558092,
                 0.580844],[0.646981,0.548132],[0.706309,0.621701],[0.654116,0.700242],[0.564265,0.672319],[0.567691,0.578507],[0.659331,
                 0.559175],[0.698443,0.644031],[0.623428,0.699359],[0.555526,0.635833],[0.607081,0.558725],[0.690514,0.598716],[0.661046,
                 0.686171],[0.571287,0.665774],[0.584306,0.574897],[0.675561,0.582355],[0.671801,0.673589],[0.58076,0.671654],[0.582733,
                 0.580867],[0.673202,0.584724],[0.665637,0.674699],[0.576559,0.661639],[0.59682,0.57419],[0.681483,0.603205],[0.642425,
                 0.683429],[0.568828,0.633468],[0.629927,0.569198],[0.68176,0.640805],[0.601375,0.676899],[0.584175,0.590767],[0.671619,
                 0.594989],[0.644669,0.677979],[0.572903,0.628865],[0.641152,0.575447],[0.669721,0.656957],[0.583655,0.656074],[0.615311,
                 0.576362],[0.676891,0.635623],[0.598325,0.668469],[0.601125,0.583671]];
                    
                     hull()
                     {
                         vector2 = vector1[n];
                         vector3 = vector1[(n+1)]; //change v this for height
                         translate([vector2[0],vector2[1],pow(8-pow(vector2[0],2)-pow(vector2[1],2),0.5)])
                         {
                             cylinder(-1/1500*n+.2,.1,.1);
                         } // change v this for height
                         translate([vector3[0],vector3[1],pow(8-pow(vector3[0],2)-pow(vector3[1],2),0.5)]) {
                             cylinder(-1/1500*n+.2,.1,.1);
                         }
                     }
                 }
             }
         }
     }
}
}
}
/////////////////////////////////////////////////end shape


                                 }
                             }
                     }
                 } /////////////////////////////////////////////////////////////////
             for(n=[0:1])
                 {
             vector1 = [[-0.425325,-1.30902,0.262866],[0.425325,-1.30902,-0.262866]];
                    
                 translate(vector1[n])
                     {
                         vector2 = vector1[n];
                         //rotate around <-y,x,0> by angle cos^-1(z/sqrt(x^2+y^2+z^2))
                         rotate(a=acos(vector2[2]/sqrt(pow(vector2[0],2)+pow(vector2[1],2)+pow(vector2[2],2))),v=[-vector2[1],vector2[0],0])
                             {
                             //around tan^-1(y/x)
                             rotate(a=atan(vector2[1]/vector2[0]),v=[0,0,1])
                                 {
                                 rotate(a=180, v=[0,0,1])
                                     {
////////////////////////////////////////////////////////the shape
scale([20,20,20])
for(j=[0:2])
{
     translate([0,0,0])
     {
         rotate([0,0,j*120+90])
         {
rotate([19,0,0])//////change this rotation to deal with height change
rotate([0,0,atan(0.626482/0.626189)])
for (i=[0:1])
{
     translate([0,0,0])
     {
         rotate([0,0,i*180])
         {
                 for (n=[0:17])
                 {
                         vector1 = [[0.,0.],[0.101009,0.000343534],[0.201987,0.00274797],[0.302775,0.00926991],[0.402965,0.0219445],[0.501774,0.0427429],[0.597935,
                 0.0734919],[0.689601,0.115746],[0.774298,0.170606],[0.848932,0.238483],[0.909895,0.318823],[0.953298,0.409819],[0.97535,
                 0.508155],[0.972904,0.608862],[0.944155,0.705361],[0.889402,0.789806],[0.811788,0.853793],[0.717804,0.889488],[0.617343,
                 0.891102],[0.523062,0.856554],[0.44889,0.788969],[0.407662,0.697562],[0.408144,0.597361],[0.452033,0.507367],[0.531815,
                 0.447004],[0.630532,0.431279],[0.724276,0.46573],[0.787642,0.542812],[0.801266,0.641566],[0.759362,0.731914],[0.674271,
                 0.78347],[0.575109,0.776773],[0.499177,0.712813],[0.477751,0.615986],[0.521337,0.527036],[0.61162,0.48657],[0.706229,
                 0.515096],[0.757252,0.599575],[0.736542,0.695938],[0.654406,0.750184],[0.558312,0.729485],[0.507643,0.645413],[0.536072,
                 0.551608],[0.62546,0.511744],[0.713115,0.554952],[0.733929,0.650282],[0.670922,0.724585],[0.573905,0.717665],[0.523939,
                 0.634406],[0.565139,0.546659],[0.661068,0.53393],[0.721991,0.608896],[0.688176,0.699199],[0.593029,0.713714],[0.535606,
                 0.636696],[0.578283,0.550832],[0.673972,0.552057],[0.712502,0.639448],[0.64768,0.709326],[0.55868,0.675761],[0.558092,
                 0.580844],[0.646981,0.548132],[0.706309,0.621701],[0.654116,0.700242],[0.564265,0.672319],[0.567691,0.578507],[0.659331,
                 0.559175],[0.698443,0.644031],[0.623428,0.699359],[0.555526,0.635833],[0.607081,0.558725],[0.690514,0.598716],[0.661046,
                 0.686171],[0.571287,0.665774],[0.584306,0.574897],[0.675561,0.582355],[0.671801,0.673589],[0.58076,0.671654],[0.582733,
                 0.580867],[0.673202,0.584724],[0.665637,0.674699],[0.576559,0.661639],[0.59682,0.57419],[0.681483,0.603205],[0.642425,
                 0.683429],[0.568828,0.633468],[0.629927,0.569198],[0.68176,0.640805],[0.601375,0.676899],[0.584175,0.590767],[0.671619,
                 0.594989],[0.644669,0.677979],[0.572903,0.628865],[0.641152,0.575447],[0.669721,0.656957],[0.583655,0.656074],[0.615311,
                 0.576362],[0.676891,0.635623],[0.598325,0.668469],[0.601125,0.583671]];
                    
                     hull()
                     {
                         vector2 = vector1[n];
                         vector3 = vector1[(n+1)]; //change v this for height
                         translate([vector2[0],vector2[1],pow(8-pow(vector2[0],2)-pow(vector2[1],2),0.5)])
                         {
                             cylinder(-1/1500*n+.2,.1,.1);
                         } // change v this for height
                         translate([vector3[0],vector3[1],pow(8-pow(vector3[0],2)-pow(vector3[1],2),0.5)])
                         {
                             cylinder(-1/1500*n+.2,.1,.1);
                         }
                     }
                 }
             }
         }
     }
}
}
}
/////////////////////////////////////////////////end shape

                                     }
                                 }
                             }
                     }
                 }
             }
         }
     }