X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=reprap-play.git;a=blobdiff_plain;f=sewing-table.scad.m4;h=472aacf382e756d1fc9d0a4d8fb541f12700a077;hp=8e59b4aa9d92a60b16aa0ee441748a7360dca618;hb=8d45ee4624d7cf2bcd80cbe724dc3b286ebaa866;hpb=82d8e8f5a83f2823a8f35b7280a2c4dc09697042 diff --git a/sewing-table.scad.m4 b/sewing-table.scad.m4 index 8e59b4a..472aacf 100644 --- a/sewing-table.scad.m4 +++ b/sewing-table.scad.m4 @@ -30,12 +30,43 @@ demo_slop = 0.1; // cutout +machine_rear_to_front = 85; + +machine_rear_profile = [ + [ - 0, -0.00 ], + [ - 2, -0.10 ], + [ - 4, -0.25 ], + [ - 6, -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.80, ], + [ 120, -2.50, ], + [ 116, -2.00, ], + [ 112, -1.80, ], + [ 108, -1.60, ], + [ 104, -1.30, ], + [ 100, -1.00, ], + [ 96, -0.80, ], + [ 92, -0.70, ], + [ 88, -0.50, ], + [ 84, -0.50, ] + ]; + cutout_l_end_y_front_slop = 0.5; cutout_l_end_y_rear_slop = 0.5; cutout_l_end_x_slop = 0.25; cutout_l_end_x = 22; -cutout_l_end_y = 85; +cutout_l_end_y = machine_rear_to_front; cutout_l_end_curve = 1; cutout_l_end_y_total = cutout_l_end_y + cutout_l_end_y_front_slop + cutout_l_end_y_rear_slop; @@ -352,6 +383,21 @@ 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 ]; + 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); + } +} + module Machine_Rear(){ ////toplevel big_rad = rearcurve_total_len - rearcurve_strt_len + rearcurve_rad; small_rad = rearcurve_rad + rearcurve_rad_slop; @@ -565,3 +611,5 @@ module Demo(){ ////toplevel //TestPiece1(); //TestPiece2(); //Demo(); + +Machine_Profile();