chiark / gitweb /
scaffold-clamp-cleat: sort out toplevels
[reprap-play.git] / fairphone-battery-case.scad
index 0dff82c5d584750537768e6f3dd182306f08c78a..557271d3e98d329d9982c19b574658fe7599ada0 100644 (file)
@@ -1,9 +1,11 @@
 // -*- C -*-
 
+include <utils.scad>
+
 mainwall_th = 3.0;
 smallwall_th = 2.0;
 
-seal_th = 0.3 + 0.6 + 0.6; // total gap for seal etc.
+seal_th = 0.3 + 0.6 + 0.6 - 0.4 - 0.4 + 0.2; // total gap for seal etc.
 behind_recess = 1.5;
 
 recess_gap_end = 0.4;
@@ -19,9 +21,13 @@ battery_base_indent_fromside_outside = 4;
 battery_base_indent_fromside_inside = 10;
 
 handle_height = 3.5;
-handle_inward = 5;
+handle_inward = 10;
 handle_len = 5;
 
+pushhole_ell_sz = 4.75;
+pushhole_ell_th = 1.75;
+pushhole_circle_dia = 4.0;
+
 // for testing:
 //battery_len = 3;
 //battery_wdth = 15;
@@ -114,7 +120,7 @@ module ExtrudePlan(from,to){
   rotate([0,-90,0])
   for (mj=[0,1]) {
     mirror([0,0,mj]) translate([0,0,from]){
-      linear_extrude(height= to-from){
+      linear_extrude(height= to-from, convexity=5){
        for (mi=[0,1]) {
          mirror([0,mi])
            translate([0, battery_th/2])
@@ -125,6 +131,17 @@ module ExtrudePlan(from,to){
   }
 }
 
+module PushHolePlan(){ ////toplevel
+  translate(-(pushhole_ell_th * 0.10 +
+             pushhole_ell_sz * 0.10) * [1,1]) {
+    for (r=[0,90])
+      rotate(r)
+       translate(-pushhole_ell_th * 0.5 * [1,1])
+       square([ pushhole_ell_sz, pushhole_ell_th ]);
+  }
+  circle(pushhole_circle_dia/2, $fn=40);
+}
+
 module PlanDemo(){ ////toplevel
   color("blue") BaseHalfPlan();
   color("red") LidHalfPlan();
@@ -132,7 +149,10 @@ module PlanDemo(){ ////toplevel
 }
 
 module Base(){ ////toplevel
-  ExtrudePlan(0,s1) BaseHalfPlan();
+  difference(){
+    ExtrudePlan(0,s1) BaseHalfPlan();
+    linextr(-(10+battery_len), battery_len+10, convexity=5) PushHolePlan();
+  }
   difference(){
     union(){
       ExtrudePlan(s0i, s1) SideHalfPlan();