chiark / gitweb /
sewing-table: introduce R_EDGE (nfc)
[reprap-play.git] / sewing-table.scad.m4
index d3d25b114a52eab722b14bc981868362f3575fc9..1edc2b7bb8e4f69e16119454a6a93aeeb6ca8c5b 100644 (file)
@@ -307,6 +307,13 @@ function Rectangle_corners2posts(c) =
     c[2] + thehd_bl,
     c[3] + thehd_br ];
 
+m4_dnl   R_EDGE(c,ix)
+m4_dnl        c is from Rectangle_corners and
+m4_dnl        ix is a corner number
+m4_dnl    expands to two comma-separated corners:
+m4_dnl    that denoted by ix, and the next one anticlockwise
+m4_define(`R_EDGE',`$1[$2],$1[(($2)+1)%4]')
+
 module Tile02(){ ////toplevel
   sz = [100,170];
   c0 = -sz;
@@ -317,11 +324,11 @@ module Tile02(){ ////toplevel
     union(){
       TileBase(c[0], c[2]);
       Posts(posts);
-      RoundEdge(c[0], c[1]);
-      RoundEdge(c[3], c[0]);
-      InterlockEdge(c[2], c[3], 0);
+      RoundEdge(R_EDGE(c,0));
+      RoundEdge(R_EDGE(c,3));
+      InterlockEdge(R_EDGE(c,2), 0);
     }
-    InterlockEdge(c[1], c[2], 1);
+    InterlockEdge(R_EDGE(c,1), 1);
     RoundCornerCut(rcs);
   }
   RoundCornerAdd(rcs);
@@ -336,11 +343,11 @@ module Tile12(){ ////toplevel
   difference(){
     union(){
       TileBase(c[0], c[2]);
-      RoundEdge(c[2], c[3]);
-      RoundEdge(c[3], c[0]);
+      RoundEdge(R_EDGE(c,2));
+      RoundEdge(R_EDGE(c,3));
       Posts(posts);
     }
-    InterlockEdge(c[0], c[1], 1);
+    InterlockEdge(R_EDGE(c,0), 1);
     RoundCornerCut(rcs);
   }
   RoundCornerAdd(rcs);