chiark / gitweb /
sewing-table: break out teststrapslots_at (nfc)
[reprap-play.git] / sewing-table.scad.m4
index 5b22bae3c4f1f2e4f939cb140952fa41d01e4b0d..bfb00e219c8a9a6137789337e08123cd3be8b9ee 100644 (file)
@@ -30,38 +30,7 @@ demo_slop = 0.1;
 
 // cutout
 
-machine_rear_to_front = 85;
-
-machine_rear_profile = [
-                       [ -  0,  -0.00 ],
-                       [ -  2,  -0.10 ],
-                       [ -  4,  -0.20 ],
-                       [ -  5,  -0.30 ],
-                       [ -  6,  -0.40 ],
-                       [ -  7,  -0.50 ],
-                       [ -  8,  -0.75 ],
-                       [ - 10,  -1.50 ],
-                       [ - 12,  -2.25 ],
-                       [ - 14,  -3.25 ],
-                       [ - 16,  -4.25 ],
-                       [ - 18,  -5.75 ],
-                       [ - 20,  -8.00 ]
-                       ];
-
-machine_front_profile =  [
-                         [  128,  -3.70,  ],
-                         [  124,  -2.90,  ],
-                         [  120,  -2.45,  ],
-                         [  116,  -2.10,  ],
-                         [  112,  -1.80,  ],
-                         [  108,  -1.55,  ],
-                         [  104,  -1.25,  ],
-                         [  100,  -1.00,  ],
-                         [   96,  -0.80,  ],
-                         [   92,  -0.65,  ],
-                         [   88,  -0.55,  ],
-                         [   84,  -0.50,  ]
-                         ];
+machine_rear_to_front = 84 + 0.25 - 1.4;
 
 cutout_l_end_y_front_slop = 0.5;
 cutout_l_end_y_rear_slop = 0.5;
@@ -86,7 +55,7 @@ rearedge_len = 170;
 
 rearcurve_strt_len = 52;
 
-rearcurve_z_slop = 0.75;
+rearcurve_z_slop = -0.50;
 
 rearcurve_avoid_y = 35;
 
@@ -103,6 +72,12 @@ frontcurve_z_slop = 0.75;
 frontcurve_strt_len = 50;
 frontcurve_dualcurve_angle = 30;
 
+teststrapslots_at = [ [ 110, 70 ],
+                     [ 180, 90 ],
+                     [ 110, -35 ],
+                     [ 190, -80 ],
+                     ];
+
 // calculated
 
 TEST = false;
@@ -133,8 +108,6 @@ interlock_negative_rad = interlock_rad + 0.125;
 
 interlock_sq_adj = 0.2; // arbitrary
 
-first_front = machine_front_profile[len(machine_front_profile)-1];
-
 m4_define(`POST_TCROSSSZ',
           `2*( tile_hard_edge_hole_dist - test_edge + 1 )')
 
@@ -451,28 +424,6 @@ module Machine_Arm(){
   }
 }
 
-module Machine_Profile(){
-  first_rear = machine_rear_profile[0];
-  below_point = 0.5 * ( first_rear + first_front ) + [ 0, -10 ];
-  pol = concat( machine_rear_profile,
-               [ below_point ],
-               machine_front_profile);
-  skew_angle = atan2( first_front[1] - first_rear[1],
-                     first_front[0] - first_rear[0] );
-  //echo(below_point, pol, skew_angle);
-  hull(){
-    for (z=[0,-40]) {
-      translate([0,z]) {
-       //scale([1,5])
-       rotate([0,0, -skew_angle ]){
-         //translate( - first_front )
-         polygon(pol);
-       }
-      }
-    }
-  }
-}
-
 module Machine_NewRearProfile(){
   // figures copied out of xfig edit boxes
   // best not to edit the posbox size if poss - just move it
@@ -535,24 +486,6 @@ module Machine_NewRearCurve(){
   }
 }
 
-module Machine_RearProfile(){ ////toplevel
-  intersection(){
-    Machine_Profile();
-    translate([ -200 + machine_rear_to_front/2, -100 ]) {
-      square([200,200]);
-    }
-  }
-}
-
-module Machine_FrontProfile(){
-  intersection(){
-    Machine_Profile();
-    translate([ machine_rear_to_front/2, -100 ]) {
-      square([200,200]);
-    }
-  }
-}
-
 module Machine_Curves(){ ////toplevel
   translate([ tile01_tr[0] - cutout_l_end_x + rearedge_len,
              cutout_tile11_y,
@@ -586,9 +519,24 @@ module Machine_Curves(){ ////toplevel
   }
 }
 
+module TestStrapSlots(){
+  pegwidth = 7.5;
+  strap = [ 3, 5 ];
+  for (pos = teststrapslots_at) {
+    echo("TSS",pos);
+    translate(concat(pos,[0]))
+      for (mx = [0,1]) mirror([mx,0,0]) {
+         translate([ pegwidth/2, -strap[1]/2, -20 ])
+           #cube(concat(strap,[40]));
+       }
+  }
+}
+
 module Machine(){ ////toplevel
   Machine_Arm();
   Machine_Curves();
+  if (TEST)
+    TestStrapSlots();
 }
 
 module MachineEnvelope(){
@@ -811,7 +759,7 @@ module FitTest_general(c0,sz, dobrace=false, bracexx=0){
 }
 
 module FitTest_PairLink(cut=false){ ////toplevel
-  cy0=-55; cy1=85; cx=127;
+  cy0=-55; cy1=85; cx=132;
   bar = [10,10];
   legrad = 12;
   footrad_min = 1; footrad_max = 4; footrad_depth = 5;
@@ -865,14 +813,15 @@ module FitTest_PairLink(cut=false){ ////toplevel
 
 module FitTest_RearCurve(){ ////toplevel
   difference(){
-    FitTest_general([110,0], [170,100]);
+    FitTest_general([100,0], [180,100]);
     FitTest_PairLink(true);
+    TestStrapSlots();
   }
 }
 
 module FitTest_FrontCurve(){ ////toplevel
-  p0 = [110,-80];
-  sz = [170,80];
+  p0 = [100,-80];
+  sz = [180,80];
   difference(){
     intersection() {
       Tile00();
@@ -886,12 +835,18 @@ module FitTest_FrontCurve(){ ////toplevel
 
 module FitTest_Entire(){ ////toplevel
   p0 = [-40,-80];
-  sz = [250,180];
+  szrear = [270,180];
+  szfront = [250,szrear[1]];
   difference(){
-    FitTest_general(p0, sz, dobrace=true, bracexx=15);
+    FitTest_general(p0, szrear, dobrace=true, bracexx=0);
     FitTest_PairLink(true);
+    translate(concat(p0,[0]) + [szfront[0],-10,-40])
+      cube([100, -p0[1], 80]);
+  }
+  intersection(){
+    FitTest_RearCurve();
+    translate(concat(p0,[-20])) cube(concat(szrear,[40]));
   }
-  FitTest_RearCurve();
   FitTest_FrontCurve();
 }
 
@@ -901,7 +856,7 @@ module FitTest_EntireDemo(){ ////toplevel
 }
 
 module FitTest_PairDemo(){ ////toplevel
-  sh=[-100,-15,0];
+  sh=[-90,-15,0];
   translate(sh){
     FitTest_PairLink();
     %FitTest_FrontCurve();
@@ -951,7 +906,6 @@ module Demo(){ ////toplevel
 //TestPiece2();
 //Demo();
 
-//Machine_Profile();
 //Machine_NewRearProfile();
 //Machine_NewRearCurve();
 //Machine_NewFrontProfile();