+module PegTemplate(apex){
+ for (mx=[0,1]) for (my=[0,1]) {
+ mirror([mx,0,0]) mirror([0,my,0])
+ polygon([[-0.1, -0.1],
+ [pegstem/2, -0.1],
+ [pegstem/2, pegstemheight/2],
+ [peghead/2, pegheight /2],
+ [-0.1, pegheight /2 + apex]]);
+ }
+}
+
+module AtSides(){
+ translate([minx,0,0]) child(0);
+ translate([maxx,0,0]) mirror([1,0,0]) child(1);
+}
+
+module BlockPegSlot(){
+ translate([recessblockwidth/2, pegrecess - peglen, -height]){
+ rotate([-90,0,0]) linear_extrude(height=totaldepth){
+ PegTemplate(peghead/2 * 1.2);
+ }
+ }
+}
+
+module DecorativeIndents(){
+ translate([0, -front, 0])
+ rotate([90,0,0])
+ HexGrid(-height, 0, minx,maxx) {
+ hull(){
+ translate([0, 0, -indentdepth])
+ cylinder(r=indentinnersize/2, h=indentdepth, $fn=40);
+ cylinder(r=indentoutersize/2, h=indentdepth, $fn=40);
+ }
+ }
+}
+