+ difference(){
+ union(){
+ linextr_y_xz(total_y_min, front_y_max)
+ BottomMainElevation();
+ }
+
+ linextr_y_xz(midbot_registration_y_around_max,
+ front_y_max - wall_th)
+ rectfromto([ -board_w/2, bottom_base_z + bottom_floor_th ],
+ [ +board_w/2, 20 ]);
+
+ linextr_y_xz(total_y_min + wall_th,
+ front_y_max - wall_th)
+ rectfromto([ -midbot_registration_bottom_x,
+ bottom_base_z + bottom_floor_th ],
+ [ +midbot_registration_bottom_x, 20 ]);
+
+ linextr_y_xz(total_y_min - 1,
+ total_y_min + wall_th + 1){
+ translate([ 0, middle_base_z ]){
+ hull(){
+ translate([ 0, -cable_dia/2 ])
+ circle(r = cable_dia/2, $fa = 10, $fs = 1);
+ square([ cable_dia, 0.1 ], center=true);
+ }
+ }
+ }
+ RegistrationsMinkowski()
+ CoverRegistrations();
+ RegistrationsMinkowski()
+ MidBotRegistrations();
+ BottomStrapCutouts(-cover_strap_c_d_y);
+ BottomStrapCutouts(midbot_strap_c_y);
+ }
+}
+
+module CoverMainElevation(){
+ difference(){
+ rectfromto([ -total_side_wall_x, cover_wall_bot_z ],
+ [ +total_side_wall_x, cover_top_z ]);
+
+ MiddleElevationForCutout();
+ }
+}
+module Cover(){ ////toplevel
+ difference(){
+ union(){
+ linextr_y_xz(main_y_min, front_y_max)
+ CoverMainElevation();
+ CoverRegistrations();
+ }
+ CoverStrapCutouts();
+ linextr(-20,20) {
+ minkowski(){
+ square(strain_around * 2, center=true);
+ hull() MiddleStrainHoles();
+ }
+ }
+ }
+}
+module CoverPrint(){ ////toplevel
+ rotate([180,0,0]) Cover();
+}
+
+module BottomDemo(){ ////toplevel
+ translate([0, 0, -0.25]) Bottom();
+ %Middle();
+ translate([0, 0, +0.25]) Cover();
+}
+module ImpressionDemo(){ ////toplevel
+ color("black") translate([0, 0, -0.25]) Bottom();
+ %Middle();
+ %translate([0, 0, +0.25]) Cover();