length = 10; height = length/16; kerf = 0.015; module triangle_side(l, h, kerf) { pl = h/tan(30); //peak length intr = sqrt(h*h+pl*pl)/7; //intrude length js = 1/3; //fracture after which the joint starts je = 2/3; //fracture after which the joint end d=0.05; //joint thickness along the edge k=0.1; //joint intrude polygon([ [0-kerf,0], [l+kerf, 0], [l-pl*js+k*sin(30), h*js+k*cos(30)+kerf], [l-pl*js-intr*sin(30)+d*cos(30)+k*sin(30), h*js-intr*cos(30)-d*sin(30)+k*cos(30)+kerf], [l-pl*je-intr*sin(30)-d*cos(30)+k*sin(30)+kerf, h*je-intr*cos(30)+d*sin(30)+k*cos(30)], [l-pl*je+k*sin(30)+kerf, h*je+k*cos(30)], [l-pl+kerf, h], [pl-kerf, h], [pl*je+k*sin(30), h*je-k*cos(30)+kerf], [pl*je-intr*sin(30)+d*cos(30)+k*sin(30), h*je+intr*cos(30)+d*sin(30)-k*cos(30)+kerf], [pl*js-intr*sin(30)-d*cos(30)+k*sin(30)-kerf, h*js+intr*cos(30)-d*sin(30)-k*cos(30)], [pl*js+k*sin(30)-kerf, h*js-k*cos(30)] ]); } triangle_side(length, height, kerf);