round_edge_rad = 2.0;
+interlock_dia = 10;
+
// calculated
ply_edge_hole_dist = ply_edge_min + ply_hole_dia/2;
tile_hard_edge_hole_dist = ply_edge_hole_dist + hole_slop;
thehd = [ tile_hard_edge_hole_dist, tile_hard_edge_hole_dist ];
+interlock_rad = interlock_dia/2;
+interlock_negative_rad = interlock_rad + 0.25;
+
module Post(){
mirror([0,0,1]) {
difference(){
}
}
+module InterlockCore(r) {
+ dx = sqrt(3) * r;
+ $fn= 80;
+ translate([0, -thehd[0], 1]){
+ mirror([0,0,1]){
+ linear_extrude(height=tile_th+2){
+ circle(r=r);
+ difference(){
+ translate([-dx, -0.1])
+ square([ dx*2, r/2 + 0.1 ]);
+ for (xi = [-1, 1]) {
+ translate([ xi*dx, r ])
+ circle(r=r);
+ }
+ }
+ }
+ }
+ }
+}
+
module InterlockNegative(this_post, right_post) {
+ INREFFRAME(this_post, right_post)
+ InterlockCore(interlock_negative_rad);
}
module TestPiece1(){