62 lines
1.7 KiB
OpenSCAD
62 lines
1.7 KiB
OpenSCAD
// The cutouts to allow external components (such as buttons and connectors) to be mounted on the box
|
|
|
|
// 4056-based li-ion charging module
|
|
module usb_cutout() {
|
|
hull() {
|
|
translate([0, -3, 0]) cylinder(h=11, d=8);
|
|
translate([0, 3, 0]) cylinder(h=11, d=8);
|
|
translate([0, 0, 15]) cube([3, 8.9, 2], true);
|
|
}
|
|
}
|
|
|
|
// 19x13mm rocker switch with 21x15mm flange
|
|
module switch_cutout() {
|
|
cube([19.2, 13.2, 50], true);
|
|
}
|
|
|
|
module speaker_grille() {
|
|
linear_extrude(height = 10, center = true) {
|
|
import("speaker_grille.svg");
|
|
}
|
|
}
|
|
|
|
module keycap() {
|
|
cylinder(h = 10, d = 20, $fn = 128);
|
|
}
|
|
|
|
module character_retainer_cutout() {
|
|
$fn = 128;
|
|
screw_hole_diameter = 3;
|
|
// Ring cutout
|
|
cylinder(d = 60, h = 5);
|
|
// Led diffuser cutout
|
|
translate([-28, -15, 0]) cylinder(d = 15, h = 5);
|
|
// Led housing cutout
|
|
translate([-28, -15, 3]) cylinder(d = 5.2, h = 15);
|
|
|
|
|
|
// Screw holes
|
|
translate([0, -25, 10]) cylinder(d = screw_hole_diameter, h = 15, center = true);
|
|
rotate([0, 0, 120]) translate([0, -25, 10]) cylinder(d = screw_hole_diameter, h = 15, center = true);
|
|
rotate([0, 0, 240]) translate([0, -25, 10]) cylinder(d = screw_hole_diameter, h = 15, center = true);
|
|
}
|
|
|
|
module sdcard_access_port_cutout() {
|
|
$fn = 32;
|
|
union() {
|
|
translate([-13, -8.5, 0]) cube([26, 17, 8]);
|
|
// Flange
|
|
hull() {
|
|
translate([15, 0, 0]) cylinder(d = 21, h = 2);
|
|
translate([-15, 0, 0]) cylinder(d = 21, h = 2);
|
|
}
|
|
// Screw holes
|
|
translate([16, 0, -1]) cylinder(d = 2, h = 10);
|
|
translate([-16, 0, -1]) cylinder(d = 2, h = 10);
|
|
}
|
|
}
|
|
|
|
//usb_cutout();
|
|
//speaker_grille();
|
|
character_retainer_cutout();
|
|
//sdcard_access_port_cutout(); |