93d98a10ca
+ ‘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’ ...
54 lines
1.1 KiB
OpenSCAD
54 lines
1.1 KiB
OpenSCAD
include <libjuju.scad>
|
|
|
|
module redmi4a() {
|
|
w = 140;
|
|
d = 70.2+1;
|
|
h = 8.6+0.5;
|
|
e = 0.1;
|
|
b = 2;
|
|
b2 = 8;
|
|
|
|
module top() {
|
|
bevel = b2;
|
|
translate([bevel, bevel, 0])
|
|
hull() {
|
|
translate([0, 0, 0])
|
|
cylinder(h-b, bevel, bevel);
|
|
translate([w-bevel*2, 0, 0])
|
|
cylinder(h-b, bevel, bevel);
|
|
translate([w-bevel*2, d-bevel*2, 0])
|
|
cylinder(h-b, bevel, bevel);
|
|
translate([0, d-bevel*2, 0])
|
|
cylinder(h-b, bevel, bevel);
|
|
}
|
|
}
|
|
|
|
module buttons() {
|
|
pad = 1;
|
|
r = 0.5;
|
|
hull() {
|
|
translate([22.5-pad/2, d-e, h-3-2-pad/2])
|
|
cube([21+pad, r+pad, 2+pad]);
|
|
translate([51-pad/2, d-e, h-3-2-pad/2])
|
|
cube([9+pad, r+pad, 2+pad]);
|
|
}
|
|
translate([40-pad/2, d-e-2, h-3-3.5-pad/2])
|
|
rcube([9+51-40+pad, r+pad+10, 5+pad], 1.5, 1.5);
|
|
}
|
|
|
|
module camera() {
|
|
dd = 7;
|
|
translate([7, d-20+dd/2, 0])
|
|
cylinder(0.1, dd/2, dd/2);
|
|
}
|
|
|
|
union() {
|
|
rcube([w, d, b], b, 0);
|
|
translate([0, 0, b])
|
|
top();
|
|
buttons();
|
|
color("grey")
|
|
camera();
|
|
}
|
|
}
|