chiark / gitweb /
sewing-table: Machine_RearProfile
[reprap-play.git] / sewing-table.scad.m4
index 472aacf382e756d1fc9d0a4d8fb541f12700a077..03adc7f1cbb2d189845269f8c6a4a98e4bd0257f 100644 (file)
@@ -35,8 +35,10 @@ machine_rear_to_front = 85;
 machine_rear_profile = [
                        [ -  0,  -0.00 ],
                        [ -  2,  -0.10 ],
-                       [ -  4,  -0.25 ],
-                       [ -  6,  -0.50 ],
+                       [ -  4,  -0.20 ],
+                       [ -  5,  -0.30 ],
+                       [ -  6,  -0.40 ],
+                       [ -  7,  -0.50 ],
                        [ -  8,  -0.75 ],
                        [ - 10,  -1.50 ],
                        [ - 12,  -2.25 ],
@@ -48,16 +50,16 @@ machine_rear_profile = [
 
 machine_front_profile =  [
                          [  128,  -3.70,  ],
-                         [  124,  -2.80,  ],
-                         [  120,  -2.50,  ],
-                         [  116,  -2.00,  ],
+                         [  124,  -2.90,  ],
+                         [  120,  -2.45,  ],
+                         [  116,  -2.10,  ],
                          [  112,  -1.80,  ],
-                         [  108,  -1.60,  ],
-                         [  104,  -1.30,  ],
+                         [  108,  -1.55,  ],
+                         [  104,  -1.25,  ],
                          [  100,  -1.00,  ],
                          [   96,  -0.80,  ],
-                         [   92,  -0.70,  ],
-                         [   88,  -0.50,  ],
+                         [   92,  -0.65,  ],
+                         [   88,  -0.55,  ],
                          [   84,  -0.50,  ]
                          ];
 
@@ -386,15 +388,32 @@ module Machine_Arm(){
 module Machine_Profile(){
   first_rear = machine_rear_profile[0];
   first_front = machine_front_profile[len(machine_front_profile)-1];
-  below_point = 0.5 * ( first_rear + first_front ) + [ 0, -40 ];
+  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);
-  rotate([0,0, -skew_angle ]){
-    polygon(pol);
+  hull(){
+    for (z=[0,-40]) {
+      translate([0,z]) {
+       //scale([1,5])
+       rotate([0,0, -skew_angle ]){
+         //translate( - first_front )
+         polygon(pol);
+       }
+      }
+    }
+  }
+}
+
+module Machine_RearProfile(){
+  intersection(){
+    Machine_Profile();
+    translate([ -200 + machine_rear_to_front/2, -100 ]) {
+      square([200,200]);
+    }
   }
 }
 
@@ -612,4 +631,5 @@ module Demo(){ ////toplevel
 //TestPiece2();
 //Demo();
 
-Machine_Profile();
+//Machine_Profile();
+Machine_RearProfile();