chiark / gitweb /
digispark-with-cable: midbot_registration wrong
[reprap-play.git] / digispark-with-cable.scad
index a6890fbd4fef0251dc38001b127781da8315db85..c294ec0772d14b43bf44057e6fbd0a7dc8456959 100644 (file)
@@ -1,4 +1,10 @@
 // -*- C -*-
+//
+// Print (fine detail settings):
+//
+//   * Bottom
+//   * MiddlePrint
+//   * CoverPrint
 
 include <utils.scad>
 
@@ -83,6 +89,13 @@ total_side_wall_x = middle_side_wall_x + side_wall_th + side_x_gap;
 cover_registration_c_dy = -cover_strap_c_d_y - strap_w/2
   - side_wall_th - cover_registration_sz_y/2;
 
+midbot_registration_sz_y = cover_registration_sz_y;
+midbot_registration_y_min = total_y_min + side_wall_th*2;
+midbot_registration_y_max = midbot_registration_y_min
+  + midbot_registration_sz_y;
+midbot_registration_y_around_max = midbot_registration_y_max
+  + side_wall_th*2;
+
 module BothSides(){
   for (m=[0,1]) {
     mirror([m,0,0]) {
@@ -200,6 +213,9 @@ module Middle(){ ////toplevel
       circle(strain_groove_w/2, $fn = 8);
   }
 }
+module MiddlePrint(){ ////toplevel
+  rotate([180,0,0]) Middle();
+}
 
 module MiddleElevationForCutout(){
     rectfromto([ -(middle_side_wall_x + side_x_gap), middle_base_z ],
@@ -213,11 +229,22 @@ module BottomMainElevation(){
     MiddleElevationForCutout();
   }
 }
+module BottomByRegistrationElevation(){
+  difference(){
+    rectfromto([ -total_side_wall_x, bottom_base_z ],
+              [ +total_side_wall_x, bottom_wall_top_z ]);
+    MiddleElevationForCutout();
+  }
+}
 module Bottom(){ ////toplevel
   difference(){
     union(){
       linextr_y_xz(total_y_min, front_y_max)
        BottomMainElevation();
+
+      linextr_y_xz(total_y_min,
+                  midbot_registration_y_around_max)
+       BottomByRegistrationElevation();
     }
 
     linextr_y_xz(total_y_min + side_wall_th,
@@ -235,6 +262,7 @@ module Bottom(){ ////toplevel
        }
       }
     }
+
     minkowski(){
       CoverRegistrations();
       cube([ 1, fit_gap_y*2, fit_gap_z*2 ], center=true);
@@ -261,6 +289,9 @@ module Cover(){ ////toplevel
     CoverStrapCutouts();
   }
 }
+module CoverPrint(){ ////toplevel
+  rotate([180,0,0]) Cover();
+}
 
 module BottomDemo(){ ////toplevel
   translate([0, 0, -0.25]) Bottom();