-module Machine_Rear(){
- big_rad = rearcurve_total_len - rearcurve_strt_len + rearcurve_rad;
- small_rad = rearcurve_rad + rearcurve_rad_slop;
- translate([ 250 + rearedge_len - cutout_l_end_y + big_rad,
+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_RearProfile(){
+ 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,