// 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;
}
}
+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;
//TestPiece1();
//TestPiece2();
//Demo();
+
+Machine_Profile();