$fn = 128; module cylinder_with_champfer(d, h){ rotate_extrude(angle=360) polygon([ [0, 0], [0, h], [d/2-1, h], [d/2, h-1], [d/2, 0], ]); } module stand(){ difference(){ cylinder_with_champfer(d=100, h=25); translate([0, 0, -2]) cylinder(d=13, h=30); } } module holder_pin(){ difference(){ union(){ translate([0, 0, 5]) sphere(d=12.4); translate([0, 0, 5]) cylinder(d=12.4, h=40); translate([0, 0, 13]) cylinder(d=30, h=4); translate([0, 0, 17]) cylinder_with_champfer(d=24.6, h=16); translate([0, 0, 13+17]) cylinder_with_champfer(d=19.6, h=14); } // Hole to stack them translate([0, 0, 45-17]) cylinder(d=13, h=18); } } stand(); translate([0, 74, 0]) holder_pin(); translate([40, 64, 0]) holder_pin(); translate([-40, 64, 0]) holder_pin(); translate([0, -74, 0]) holder_pin(); translate([40, -64, 0]) holder_pin(); translate([-40, -64, 0]) holder_pin();