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();
|
||
|
}
|
||
|
}
|