round_edge_rad = 2.0;
interlock_dia = 10;
-interlock_fine = 1.0;
+interlock_fine = 0.66;
interlock_fine_lenslop = 1.0;
interlock_rad = interlock_dia/2;
interlock_negative_rad = interlock_rad + 0.125;
+interlock_sq_adj = 0.2; // arbitrary
+
module Post(){
mirror([0,0,1]) {
difference(){
}
module InterlockEdgePlan(negative, nlobes, length) {
- iadj = 0.1;
-
for (lobei = [ 0 : nlobes-1 ]) {
lobex = (length - thehd[0]*2) * (lobei ? lobei / (nlobes-1) : 0);
translate([lobex, 0, 0]) {
}
}
+ iadj = interlock_sq_adj;
slotshorter = negative ? 0 : interlock_fine_lenslop;
- mirror([0, negative, 1])
+ mirror([0, negative])
translate([slotshorter, iadj])
square([length - slotshorter*2, interlock_fine + iadj*2]);
}
posts = Rectangle_corners2posts(c);
difference(){
TileBase(c[0], c[2]);
+ InterlockEdge(c[1], c[2], 1);
}
Posts(posts);
RoundEdge(c[0], c[1]);
RoundEdge(c[3], c[0]);
RoundLeftCorner(c[0], c[1]);
- InterlockEdge(c[2], c[3], 0, 2);
+ InterlockEdge(c[2], c[3], 0);
}
module Tile12(){ ////toplevel
posts = Rectangle_corners2posts(c);
difference(){
TileBase(c[0], c[2]);
+ InterlockEdge(c[0], c[1], 1);
}
Posts(posts);
RoundEdge(c[2], c[3]);