cylinder(r=screwcsinkdia/2 / (sqrt(3)/2), h=100, $fn=6);
}
-module PegTemplate(){
+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]]);
+ [-0.1, pegheight /2 + apex]]);
}
}
module BlockPegSlot(){
translate([recessblockwidth/2, pegrecess - 0.5*peglen, -height]){
rotate([-90,0,0]) linear_extrude(height=totaldepth){
- PegTemplate();
+ PegTemplate(peghead/2 * 1.2);
}
}
}
rotate([90,0,0]) {
linear_extrude(height=peglen-pegslopl) {
intersection(){
- translate([-dx,-dy,0]) PegTemplate();
- translate([-dx,+dy,0]) PegTemplate();
- translate([+dx,+dy,0]) PegTemplate();
- translate([+dx,-dy,0]) PegTemplate();
+ translate([-dx,-dy,0]) PegTemplate(0);
+ translate([-dx,+dy,0]) PegTemplate(0);
+ translate([+dx,+dy,0]) PegTemplate(0);
+ translate([+dx,-dy,0]) PegTemplate(0);
}
}
}
module CoverPegSlot(coverlen){
translate([recessblockwidth/2, 0, -1]){
linear_extrude(height= 1 + pegrecess + 0.5*peglen){
- PegTemplate();
+ PegTemplate(0);
}
}
}