chiark / gitweb /
Revert "sewing-table: Test: remove commitid (for perf)"
[reprap-play.git] / sewing-table.scad.m4
index 8dc10824e2fa81a396ae68a85719321b8ec01da9..f44e1e3f383fd27cc553bf1660c9ae9afbc34922 100644 (file)
@@ -183,6 +183,8 @@ module TileBase(botleft, topright){
       crossoff = tile_hard_edge_hole_dist + POST_TCROSSSZ/2;
       cidsz = [ thehd[0], size[1] - 2*crossoff ];
       cidszr = [ cidsz[0], min(cidsz[1], 50) ];
+      translate( concat(botleft + [0, crossoff] + (cidsz-cidszr)/2, [0]) )
+       Commitid_BestCount(cidszr);
       difference(){
        mirror([0,0,1]) {
          translate(concat(botleft + [test_edge,test_edge], [test_tile_th]))
@@ -191,11 +193,9 @@ module TileBase(botleft, topright){
            cube(concat(topright_post-botleft_post, [tile_th+2]));
        }
        shufflesz = max(test_edge, tile_hard_edge_hole_dist)*2;
-       hull(){ // poor man's minkowski
-         for (xs=[-1,1]) for (ys=[-1,1]) for (zs=[-1,1]) {
-           translate([xs,ys,zs] * shufflesz)
-             Machine();
-         }
+       minkowski(){
+         MachineEnvelope();
+         cube(shufflesz, center=true);
        }
       }
     }
@@ -411,7 +411,7 @@ module Machine_Profile(){
                machine_front_profile);
   skew_angle = atan2( first_front[1] - first_rear[1],
                      first_front[0] - first_rear[0] );
-  echo(below_point, pol, skew_angle);
+  //echo(below_point, pol, skew_angle);
   hull(){
     for (z=[0,-40]) {
       translate([0,z]) {
@@ -435,7 +435,7 @@ module Machine_NewRearProfile(){
   sh = -[abs(posbox[0]), abs(posbox[1])];
   rot = atan2(-sideline[0], sideline[1]);
   sc = scaleline_mm / scaleline;
-  echo("SH",sh,rot,sc);
+  //echo("SH",sh,rot,sc);
   scale(sc) rotate(rot) translate(sh){
     import("sewing-table-rear-profile.dxf", convexity=10); // spline, Pink3
   }
@@ -443,7 +443,7 @@ module Machine_NewRearProfile(){
 
 module Machine_NewRearCurve(){
   slant = atan2(4,210-10);
-  echo("SL",slant);
+  //echo("SL",slant);
   translate([0,0, rearcurve_double_inrad]) rotate([slant,0,0]){
     translate([ rearcurve_double_inrad,
                0,
@@ -531,6 +531,19 @@ module Machine(){ ////toplevel
   Machine_Curves();
 }
 
+module MachineEnvelope(){
+  // used for testing
+  p_arm_bl = [-cutout_tile11_x, -cutout_tile01_y];
+  y_arm_t  = cutout_tile11_y;
+  p_crv_fl = p_arm_bl + [rearedge_len, -frontcurve_avoid_y];
+  y_crv_b  = y_arm_t + rearcurve_avoid_y;
+
+  translate([0,0,-50]) linear_extrude(height= 100){
+    translate(p_arm_bl) square([400, y_arm_t] - p_arm_bl);
+    translate(p_crv_fl) square([400, y_crv_b] - p_crv_fl);
+  }
+}
+
 function Rectangle_corners(c0, sz) =
   // returns the corners of a rectangle from c0 to c0+sz
   // if sz is positive, the corners are anticlockwise starting with c0
@@ -757,3 +770,4 @@ module Demo(){ ////toplevel
 //Machine_Curves();
 //Machine();
 //FitTest();
+//MachineEnvelope();