rs=3; rc2=1; rc1=1; a=20; $fa=0.5; // default minimum facet angle is now 0.5 $fs=0.5; // default minimum facet size is now 0.5 mm for (angle = [0 : 120 : 240]) { rotate ([0, 0, angle]) { translate (-a/6*sqrt(3)*[1,0,0]) { rotate ([90, 0, 0]) cylinder(r=rc1,h=a,center=true); translate ([0,0,a*sqrt(3)]) rotate ([90, 0, 0]) cylinder(r=rc2,h=a,center=true); } translate (a/3*sqrt(3)*[1,0,0]) { sphere(rs); cylinder(r1=rc1,r2=rc2,h=a*sqrt(3)); translate(a*sqrt(3)*[0,0,1]) { sphere(rs); rotate ([0,-90+atan(sqrt(2)),0]) cylinder(r=rc2,h=a); } } } } translate (a*[0,0,sqrt(3)+1/3*sqrt(6)]) sphere(rs); //translate (a*[0,0,sqrt(3)+1/12*sqrt(6)]) sphere(6); //translate (a*[0,0,sqrt(3)+3/12*sqrt(6)]) sphere(4);