CAD/hab/pigateway.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

78 lines
1.3 KiB
OpenSCAD

include <libjuju.scad>;
wall = 1.2;
pi_d = [65, 30, 2];
box_d = [pi_d[0] + wall*2 + 6, 48, 30];
e = 0.01;
module pigateway() {
module standoffs() {
r = 3.5;
n = 2.4;
translate([r, r, 0]) {
// Hole pads.
for (x = [0, 58]) {
for (y = [0, 23]) {
translate([x, y, 0]) {
cylinder(h, r, r);
// Nubs
translate([0, 0, h])
cylinder(h, n/2, n/2);
}
}
}
// Mid holdoffs.
for (x = [1, 2, 3]) {
y = 23/2;
translate([x*58/4, y, 0])
cylinder(h, r, r);
}
}
}
translate([wall+2, wall*2, wall])
standoffs();
// Hole for the USB cables.
usb_d = [(54-41)*2 + 3, 10, 9+2];
// The main box.
difference() {
rbox(box_d, wall, 3);
translate([6, box_d[1] + wall*2, wall+h/2])
rotate(90, [1, 0, 0])
rcube(usb_d);
}
}
module lid() {
dim = [box_d[0], box_d[1], wall];
rim = 2;
r = 9;
module main() {
rcube(dim);
translate([wall, wall, 0])
rbox(dim - [2*wall, 2*wall, 0] + [0, 0, wall + rim], wall, 3);
}
module holes() {
for (x = [1, 2, 3, 4, 5]) {
for (y = [1, 2, 3]) {
translate([x*dim[0]/6, y*dim[1]/4, -e])
cylinder(rim*2, r/2, r/2);
}
}
}
difference() {
main();
holes();
}
}
$fn = 50;
lid();