+hstrengthick = 2.5;
+hstrengdepth = strapwidth;
+
+cutoutover = 7;
+rcutoutside = 7+2 - 0.5;
+lcutoutside = 7-6.5 - 0.5;
+
+t2strengwidth = 10;
+t2strengwidtht = 4;
+t2strenglen = tongue2depth + 5;
+t2strengthicker = 1;
+
+strapholethicker = 1.5;
+
+holedia = 3.5;
+
+tongue2x = tongue2width - holedist;
+
+module Tongue(tw,tt,ad,slots=2){
+ y0=thick+0.1;
+ yn=ad-ridgewidth-strapwidth;
+ difference(){
+ union(){
+ translate([-tw, 0, 0])
+ cube([tw, ad, tt+strapthick]);
+ child();
+ }
+ for (yi=[1:slots-1])
+ translate([-tw-1, y0 + (yn-y0)*yi/(slots-1), tt])
+ cube([tw+2, strapwidth, strapthick+strapholethicker]);
+ }
+}
+
+module Body(){
+ translate([-holedist-tabsider, 0, 0]) {
+ cube([tabsidel+tabsider+holedist, thick, tabunder+tabover]);
+ cube([tabsidel+tabsider+holedist, thick+hstrengdepth, hstrengthick]);
+ }
+ Tongue(tonguewidth,tonguethick,totaldepth,3);
+ translate([tongue2x,0,0])
+ Tongue(tongue2width,tongue2thick,tongue2depth+thick,5) {
+ mirror([1,0,0]) hull(){
+ translate([-(tongue2width-t2strengwidth)*0.05, 0,0])
+ cube([t2strengwidth,t2strenglen,
+ tongue2thick+strapthick+strapholethicker+t2strengthicker]);
+ cube([t2strengwidtht,thick+0.1,tabunder+tabover]);
+ }
+ }
+}
+