// all metrics in mm FOOT_HEIGHT = 2; HOLE_DIA = 3; MAIN_DIA = 15; PCB_THICKNESS = 2; $fn=80; difference() { union() { cylinder(d=MAIN_DIA, h=FOOT_HEIGHT); cylinder(d=HOLE_DIA-0.2, h=PCB_THICKNESS+FOOT_HEIGHT); translate([0, 0, PCB_THICKNESS+FOOT_HEIGHT]) intersection() { cylinder(d1=HOLE_DIA+0.5, d2=HOLE_DIA-1, h=6); cube([HOLE_DIA-0.2, 10, 20], center=true); } } translate([0, 0, 1+FOOT_HEIGHT+20/2]) cube([20, 0.6, 20], center=true); }