toothheight = 1.2; webthick = 1.8; height = 7; pindepth = 10; nomrad = height/2 - toothheight; minrad = nomrad - 0.5; maxrad = nomrad + 0.5; webgap = 0.4; toothgap = webthick + webgap*2; module DoveClipPin() { intersection(){ union(){ for (m=[0,1]) { mirror([0,0,m]) translate([0,0,height/2]) rotate([90,0,0]) cylinder($fn=20, r1=minrad, r2=maxrad, h=pindepth); } translate([-webthick/2, -pindepth, -height/2-1]) cube([webthick, pindepth, height+2]); } translate([-maxrad-1, -pindepth-1, -height/2]) cube([maxrad*2+2, pindepth+2, height]); } } DoveClipPin();