chiark / gitweb /
fairphone-battery-case: wip
[reprap-play.git] / fairphone-battery-case.scad
1 // -*- C -*-
2
3 mainwall_th = 2.5;
4 smallwall_th = 1.5;
5
6 seal_th = 0.3 + 0.6; // total gap for seal etc.
7 behind_recess = 1.0;
8
9 recess_gap_end = 0.2;
10
11 lid_edge_th = 0.5;
12
13 battery_len = 66.55 + 0.75;
14 battery_th = 6.55 + 0.75;
15 battery_wdth = 44.38 + 0.75;
16
17 // calculated
18
19 bpp0 = [0,0];
20 bpp1 = bpp0 + [ 0, mainwall_th - behind_recess ];
21 lppA = bpp1 + [ seal_th, -recess_gap_end ];
22 lppB = lppA + [ lid_edge_th, 0 ];
23 bpp2 = [ lppB[0], bpp1[0] ];
24 bpp3 = [ bpp2[0] + (bpp1 - bpp0)[1], bpp0[1] ];
25 bpp4 = [ bpp3[0], bpp0[1] + mainwall_th ];
26 lppC = bpp3 + [ 0, -recess_gap_end ];
27
28 echo(
29      bpp0,
30      bpp1,
31      bpp2,
32      bpp3,
33      bpp4,
34      bpp5,
35      bpp6,
36      bpp7,
37      bpp8
38 );
39
40 echo(
41      lppA,
42      lppB,
43      lppC,
44      lppD,
45      lppE
46 );
47
48 bpp8 = bpp0 + [ -battery_len,0 ];
49 bpp5 = [ bpp8[0] - smallwall_th, bpp4[0] ];
50 bpp9 = [ bpp0[0], bpp0[1] - battery_wdth/2 - 1.0 ];
51 bpp7 = [ bpp8[0], bpp9[1] ];
52 bpp6 = [ bpp5[0], bpp9[1] ];
53 lppE = [ lppA[0], bpp9[1] ];
54 lppD = [ lppC[0], bpp9[1] ];
55
56 module BaseHalfPlan(){
57   polygon([ bpp0,
58             bpp1,
59             bpp2,
60             bpp3,
61             bpp4,
62             bpp5,
63             bpp6,
64             bpp7,
65             bpp8
66             ]);
67 }
68
69 module LidHalfPlan(){
70   polygon([ lppA,
71             lppE,
72             lppD,
73             lppC,
74             lppB
75             ]);
76 }
77
78 module PlanDemo(){
79   color("blue") BaseHalfPlan();
80   color("red") LidHalfPlan();
81 }
82
83 PlanDemo();