CAD/hab/battery_holder.scad
Michael Hope 93d98a10ca + ‘.gitignore’
+ ‘hab/’
+ ‘hab/18650.scad’
+ ‘hab/battery_holder.scad’
+ ‘hab/cr18650.scad’
+ ‘hab/debug.log’
+ ‘hab/libjuju.scad’
+ ‘hab/pigateway.scad’
+ ‘hab/sensemicro.scad’
+ ‘hab/thermo.scad’
...
2017-09-17 21:40:21 +02:00

57 lines
1.1 KiB
OpenSCAD

include <libjuju.scad>;
module battery_holder(battery) {
wall = 2.5;
space = 4;
m = 3.5;
module clips(dim, wall) {
l = dim[0];
module clip() {
cylinder2([l/4, dim[1]+wall*2, dim[2]+wall*2]);
}
difference() {
union() {
translate([l*1/8, 0, 0])
clip();
translate([l*5/8, 0, 0])
clip();
}
translate([0, wall, wall])
cylinder2(dim);
translate([0, 0, dim[2]*0.7+wall])
cube(dim + [0, wall*2, 0]);
}
}
module cap() {
difference() {
union() {
translate([0, 0, wall])
cylinder2([wall, battery[1], battery[2]]);
translate([0, 0, 0])
cube([wall, battery[1], battery[2]/2+wall]);
}
// Hole for the wire.
translate([-1, battery[1]/2 - m/2, battery[2]/2+wall/2])
cylinder2([wall+2, m, m]);
}
}
module plate() {
union() {
cap();
translate([battery[0]+wall+space, 0, 0])
cap();
cube([battery[0]+wall*2+space, battery[1], wall]);
}
}
translate([0, wall, 0])
plate();
translate([(space+wall)/2, 0, 0])
clips(battery, wall);
}