--- /dev/null
+// -*- C -*-
+
+mainwall_th = 2.5;
+smallwall_th = 1.5;
+
+seal_th = 0.3 + 0.6; // total gap for seal etc.
+behind_recess = 1.0;
+
+recess_gap_end = 0.2;
+
+lid_edge_th = 0.5;
+
+battery_len = 66.55 + 0.75;
+battery_th = 6.55 + 0.75;
+battery_wdth = 44.38 + 0.75;
+
+// calculated
+
+bpp0 = [0,0];
+bpp1 = bpp0 + [ 0, mainwall_th - behind_recess ];
+lppA = bpp1 + [ seal_th, -recess_gap_end ];
+lppB = lppA + [ lid_edge_th, 0 ];
+bpp2 = [ lppB[0], bpp1[0] ];
+bpp3 = [ bpp2 + [ bpp1[1] - bpp0[1] ], bpp[0] ];
+lppC = bpp3 + [ 0, -recess_gap_end ];
+
+bpp8 = bpp0 + [ -battery_len,0 ];
+bpp5 = [ bpp8[0] - smallwall_th, bpp4[0] ];
+bpp9 = [ bpp0[0], bpp[1] - battery_wdth/2 - 1.0 ];
+bpp7 = [ bpp8[0], bpp9[1] ];
+bpp6 = [ bpp5[0], bpp9[1] ];
+lppE = [ lppA[0], bpp9[1] ];
+lppD = [ lppC[0], bpp9[1] ];
+
+module BaseHalfPlan(){
+ polygon([ bpp0,
+ bpp1,
+ bpp2,
+ bpp3,
+ bpp4,
+ bpp5,
+ bpp6,
+ bpp7,
+ bpp8
+ ]);
+}
+
+module LidHalfPlan(){
+ polygon([ lppA,
+ lppE,
+ lppD,
+ lppC,
+ lppB
+ ]);
+}
+
+module PlanDemo(){
+ color("blue") BaseHalfPlan();
+ color("red") LidHalfPlan();
+}
+
+PlanDemo();