chiark / gitweb /
sewing-table: working on test version
[reprap-play.git] / sewing-table.scad.m4
index 4ef697ebbd1639f8480c28741b6574ca922a8d42..fb8313c4305c4205d7c65c709c859b98790f0128 100644 (file)
@@ -30,6 +30,8 @@ demo_slop = 0.1;
 
 // calculated
 
+TEST = false;
+
 ply_edge_hole_dist = ply_edge_min + ply_hole_dia/2;
 
 echo(str("HOLES IN PLY ctr dist from PLY edge = ", ply_edge_hole_dist));
@@ -81,7 +83,7 @@ module TileBase(botleft, topright){
     mirror([0,0,1])
       translate(concat(botleft, [0]))
       cube(concat(size, [tile_th]));
-    translate( concat(botleft_post, [-tile_th])
+    translate( concat(botleft_post, [ TEST ? 0 : -tile_th])
               + 0.5 * [ post_dia, post_dia, 0 ] )
       Commitid_BestCount_M( topright_post-botleft_post
                            + [-post_dia,-post_dia]
@@ -121,17 +123,9 @@ module RoundEdge(left_cnr, right_cnr) {
   }
 }
 
-module RoundLeftCorner(this_cnr, right_cnr) {
-  INREFFRAME(this_cnr, right_cnr) INREFFRAME_EDGE {
-    difference(){
-      sphere(r= round_edge_rad, $fn=60);
-      translate([0,0, -20])
-       cube([20,20,20]);
-    }
-  }
-}
-
-module RoundCornerCut(this_cnr, right_cnr) {
+module RoundCornerCut(ci) {
+  this_cnr = ci[0];
+  right_cnr = ci[1];
   offr= round_cnr_rad - round_edge_rad;
   INREFFRAME(this_cnr, right_cnr) INREFFRAME_EDGE {
     difference(){
@@ -142,7 +136,9 @@ module RoundCornerCut(this_cnr, right_cnr) {
   }
 }
 
-module RoundCornerAdd(this_cnr, right_cnr) {
+module RoundCornerAdd(ci) {
+  this_cnr = ci[0];
+  right_cnr = ci[1];
   bigr = round_cnr_rad - round_edge_rad;
   INREFFRAME(this_cnr, right_cnr) INREFFRAME_EDGE {
     intersection(){
@@ -292,6 +288,7 @@ module Tile02(){ ////toplevel
   c0 = -sz;
   c = Rectangle_corners(c0, sz);
   posts = Rectangle_corners2posts(c);
+  rcs = [c[0], c[1]];
   difference(){
     union(){
       TileBase(c[0], c[2]);
@@ -301,9 +298,9 @@ module Tile02(){ ////toplevel
       InterlockEdge(c[2], c[3], 0);
     }
     InterlockEdge(c[1], c[2], 1);
-    RoundCornerCut(c[0], c[1]);
+    RoundCornerCut(rcs);
   }
-  RoundCornerAdd(c[0], c[1]);
+  RoundCornerAdd(rcs);
 }
 
 module Tile12(){ ////toplevel
@@ -311,16 +308,18 @@ module Tile12(){ ////toplevel
   c0 = [-sz[0], 0];
   c = Rectangle_corners(c0, sz);
   posts = Rectangle_corners2posts(c);
+  rcs = [c[2], c[3]];
   difference(){
     union(){
       TileBase(c[0], c[2]);
       RoundEdge(c[2], c[3]);
       RoundEdge(c[3], c[0]);
-      RoundLeftCorner(c[2], c[3]);
       Posts(posts);
     }
     InterlockEdge(c[0], c[1], 1);
+    RoundCornerCut(rcs);
   }
+  RoundCornerAdd(rcs);
 }
 
 module Demo(){ ////toplevel