chiark / gitweb /
fairphone-battery-case: rounded sides
[reprap-play.git] / fairphone-battery-case.scad
index d7dc9722b3f366f05cdf9ad77d89d7f403fdae41..4306e3d1b764bd1ddeaefc0b9ab73fea7c971af9 100644 (file)
@@ -1,27 +1,27 @@
 // -*- C -*-
 
-mainwall_th = 2.5;
-smallwall_th = 1.5;
+mainwall_th = 3.0;
+smallwall_th = 2.0;
 
-seal_th = 0.3 + 0.6; // total gap for seal etc.
-behind_recess = 1.0;
+seal_th = 0.3 + 0.6 + 0.6; // total gap for seal etc.
+behind_recess = 1.5;
 
-recess_gap_end = 0.2;
+recess_gap_end = 0.4;
 
 lid_edge_th = 0.5;
 
-battery_len = 66.55 + 1.25;
-battery_th = 6.55 + 0.75;
-battery_wdth = 44.38 + 0.75;
+battery_len = 66.55 + 1.25 -.55;
+battery_th = 6.55 + 0.75 - .60;
+battery_wdth = 44.38 + 0.75 -.55;
 
 battery_base_indent = 0.94 + 0.50;
 battery_base_indent_fromside_outside = 4;
 battery_base_indent_fromside_inside = 10;
 
 // for testing:
-battery_len = 3;
-battery_wdth = 15;
-battery_base_indent_fromside_inside = 6;
+//battery_len = 3;
+//battery_wdth = 15;
+//battery_base_indent_fromside_inside = 6;
 
 // calculated
 
@@ -35,6 +35,7 @@ bpp4 = [ bpp3[0], bpp0[1] + mainwall_th ];
 lppC = bpp3 + [ 0, -recess_gap_end ];
 
 s0 = battery_wdth/2;
+s0i = s0 - battery_th/2;
 s1 = s0 + smallwall_th;
 
 echo(
@@ -118,10 +119,26 @@ module PlanDemo(){ ////toplevel
 
 module Base(){ ////toplevel
   ExtrudePlan(0,s1) BaseHalfPlan();
-  ExtrudePlan(s0,s1) SideHalfPlan();
-  ExtrudePlan(s0 - battery_base_indent_fromside_inside,
-             s0 - battery_base_indent_fromside_outside
-             ) SideHalfPlan(indent = battery_base_indent);
+  difference(){
+    union(){
+      ExtrudePlan(s0i, s1) SideHalfPlan();
+      ExtrudePlan(s0 - battery_base_indent_fromside_inside,
+                 s0 - battery_base_indent_fromside_outside
+                 ) BaseHalfPlan(indent = battery_base_indent);
+    }
+    for (m=[0,1])
+      mirror([m,0,0])
+       translate([s0i, 0, bpp7[0] - 0.1])
+       cylinder(r= battery_th/2, h=100, $fs=0.5);
+  }
+}
+
+module BaseHalfTest(){ ////toplevel
+  intersection(){
+    Base();
+    translate([-100,0,-100])
+      cube([200,200,200]);
+  }
 }
 
 module Lid(){ ////toplevel