module hexagon(size) { scale([size/6, size/6, 0]) polygon( points=[ [1,-3], [2,1], [1,3], [-1,3], [-2,1], [-1,-3] ], paths=[ [0,1,2,3,4,5] ] ); } module coffinShape(csize, cheight) { linear_extrude(height=cheight) hexagon(csize); } size=117; height=51; wall = 3; base = 2; module coffin() { difference() { coffinShape(size, height); translate([0, 0, base]) coffinShape(size - (wall * 2), 100); } } lidThickness = 2; lidFudge = .1; module lid() { union() { coffinShape(size, lidThickness); translate([0, 0, lidThickness]) coffinShape(size - (wall * 2) - lidFudge, lidThickness); } } translate([0, 0, 0]) coffin(); *translate([-size/3, 0, 0]) rotate([0,0,180]) lid();