-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];
+ first_front = machine_front_profile[len(machine_front_profile)-1];
+ 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_Rear(){ ////toplevel
+ translate([ tile01_tr[0] - cutout_l_end_x + rearedge_len,
+ cutout_tile11_y,
+ 0 ]){
+ //%cube([20,20,20]);
+ translate([ -reartablet_x,
+ -1,
+ -reartablet_z])
+ mirror([0,0,1])
+ cube([ reartablet_x+1,
+ reartablet_y+1,
+ 20 ]);
+ }
+ translate([ tile01_tr[0] - cutout_l_end_x + rearedge_len,