include d_in = 60; d_out = 73; t = 2; h = 25; depth = 5; $slop = 0.75; $fn = 360; inter = 0.5; // interference fit of the pins pin_num = 3; diff("R", "K") { // reference base mock // color("red") tube(od=d_out, id=d_in, h=10); tube(od=d_out+$slop+t, id=d_in-$slop-t, h=h, anchor=TOP); tag("R") down(depth) tube(od=d_out+$slop, id=d_in-$slop, h=h, anchor=BOTTOM); for(i=[0:pin_num-1]) { tag("K") zrot(i*(360/pin_num)) left(d_in/2 - $slop/2) cyl(d=inter*2, h=depth, anchor=TOP); tag("K") zrot(i*(360/pin_num) + (360/(pin_num*2))) left(d_out/2 + $slop/2) cyl(d=inter*2, h=depth, anchor=TOP); } }