From fa9f8a7f69328c421bb01ec960d364553a20d116 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Sun, 21 May 2017 22:49:45 +0100 Subject: [PATCH] sewing-table: introduce R_EDGE (nfc) --- sewing-table.scad.m4 | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/sewing-table.scad.m4 b/sewing-table.scad.m4 index d3d25b1..1edc2b7 100644 --- a/sewing-table.scad.m4 +++ b/sewing-table.scad.m4 @@ -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); -- 2.30.2