round_edge_rad = 2.0;
+round_cnr_rad = 10;
+
interlock_dia = 10;
interlock_fine = 0.66;
}
}
+module RoundCornerCut(this_cnr, right_cnr) {
+ INREFFRAME(this_cnr, right_cnr) INREFFRAME_EDGE {
+ cube(round_cnr_rad*2, center=true);
+ }
+}
+
+module RoundCornerAdd(this_cnr, right_cnr) {
+ bigr = round_cnr_rad - round_edge_rad;
+ INREFFRAME(this_cnr, right_cnr) INREFFRAME_EDGE {
+ translate([bigr, bigr, 0])
+ rotate_extrude(convexity=10)
+ translate([bigr, 0])
+ circle(r= round_edge_rad);
+ }
+}
+
module InterlockLobePlan(negative) {
r = negative ? interlock_negative_rad : interlock_rad;
ymir = negative ? 0 : 1;
Posts(holes);
RoundEdge(corners[0], corners[1]);
RoundEdge(corners[3], corners[0]);
- RoundLeftCorner(corners[0], corners[1]);
}
InterlockEdge(corners[1], corners[2], 1, nlobes=1);
+ RoundCornerCut(corners[0], corners[1]);
}
+ RoundCornerAdd(corners[0], corners[1]);
}
module TestPiece2(){ ////toplevel