MM = 1; CUT_WD = 10*MM; BORE_DIAM = 6*MM; SPACER_HT = 7.25*MM; HEIGHT = SPACER_HT + 3*MM; THICK = 16*MM; WIDTH = 18*MM; BIG = 20*MM; $fa = 0.1; $fs = 0.2*MM; difference() { intersection() { translate([-WIDTH/2, -THICK/2, 0]) cube([WIDTH, THICK, HEIGHT]); cylinder(h = HEIGHT, r = norm([CUT_WD/2, WIDTH/2])); rotate([0, 90, 0]) translate([0, 0, -BIG/2]) cylinder(h = BIG, r = norm([HEIGHT, CUT_WD/2])); } union() { translate([-BIG/2, -CUT_WD/2, SPACER_HT]) cube([BIG, CUT_WD, BIG]); translate([0, 0, -BIG/3]) cylinder(h = BIG, r = BORE_DIAM/2); } }