slop=0.5; prongthick=5; prongwidth=5; ratchetstep=10; ratchettooth=3; ratchettoothheight=5; overlap=0.5; armendwallthick=2.5; armendbasethick=1.2; module ArmEnd(length=100){ channelwidth = prongthick + slop; channeldepth = prongwidth + ratchettoothheight; totalwidth = armendwallthick*2 + channelwidth; totalheight = channeldepth + armendbasethick; difference(){ translate([0, -armendwallthick, -armendbasethick]) cube([ratchetstep+overlap, totalwidth, totalheight]); translate([-1, 0, 0]) cube([ratchetstep+overlap+2, channelwidth, channeldepth+1]); } } ArmEnd();