// -*- C -*- holedist = 64; tonguewidth = 10; totaldepth = 26; thick = 3; tabover = 7; tabunder = 15; tabside = 7; tonguethick = 4; strapthick = 2; strapwidth = 5; ridgewidth = 2; holedia = 3.5; module Tongue(tw,tt,ad){ difference(){ translate([-tw, 0, 0]) cube([tw, ad, tt+strapthick]); for (y=[thick+0.1, totaldepth-ridgewidth-strapwidth]) translate([-tw-1, y, tt]) cube([tw+2, strapwidth, strapthick+1]); } } module Object(){ difference(){ translate([-holedist-tabside, 0, 0]) cube([tabside*2+holedist, thick, tabunder+tabover]); for (x=[-holedist,0]) translate([x, -1, tabunder]) rotate([-90,0,0]) cylinder(r= holedia/2+0.5, h=thick+2, $fn=20); } Tongue(tonguewidth,tonguethick,totaldepth); } Object();