}
}
+module RoundCorner_selector(ci, adj) {
+ r = round_cnr_rad - round_edge_rad;
+ cube(r*2 + adj, center=true);
+}
+
module RoundCornerCut(ci) {
// ci should be [this_cnr, right_cnr, left_cnr]
// where right_cnr is to the right (ie, anticlockwise)
offr= round_cnr_rad - round_edge_rad;
INREFFRAME(this_cnr, right_cnr) INREFFRAME_EDGE {
difference(){
- cube(offr*2 - 0.1, center=true);
+ RoundCorner_selector(ci, -0.1);
translate([offr, offr, 0])
cylinder(center=true, h=20, r= offr);
}
bigr = round_cnr_rad - round_edge_rad;
INREFFRAME(this_cnr, right_cnr) INREFFRAME_EDGE {
intersection(){
- cube(bigr*2 + 0.1, center=true);
+ RoundCorner_selector(ci, +0.1);
translate([bigr, bigr, 0])
rotate_extrude(convexity=10, $fn=50)
translate([bigr, 0])