Keycaps cutouts

This commit is contained in:
2026-01-05 00:38:01 +01:00
parent be249d2e14
commit 66d5713a10
4 changed files with 22 additions and 8 deletions

View File

@@ -20,6 +20,11 @@ module speaker_grille() {
}
}
module keycap() {
cylinder(h = 10, d = 20, $fn = 128);
}
//usb_cutout();
speaker_grille();
//speaker_grille();

View File

@@ -23,7 +23,7 @@ module fabula_enclosure_bottom() {
translate([98.4, 29, 17]) rotate([0, -90, 0]) usb_cutout();
translate([90, 5, 10]) rotate([90, 0, 0]) rotate([0, 90, 0]) switch_cutout();
translate([-65, -40, 25]) speaker_grille();
// TODO: Speaker cutout, lace hanger, switch cutout
// TODO: lace hanger
}
// Speaker grille reinforcements
@@ -35,12 +35,19 @@ module fabula_enclosure_bottom() {
}
module fabula_enclosure_top() {
box();
// Supports
// Cutouts
difference() {
union() {
box();
// Supports
}
// Cutouts
translate([20, 13.5, -30]) keycap();
translate([35.5, -12.5, -30]) keycap();
translate([44.5, 23.5, -30]) keycap();
translate([61, -2, -30]) keycap();
}
}
translate([0, -60, 0]) rotate([180, 0, 0]) fabula_enclosure_bottom();

View File

@@ -1,6 +1,7 @@
// This file contains the components used in Fabula.
// This is for test-fitting and shouldn't be printed.
/*
// 50mm speaker
module speaker_50() {
translate([0, 0, -2]) {
@@ -20,6 +21,7 @@ module speaker_50() {
}
}
}
*/
// 80mm flat speaker
module speaker_80() {

View File

@@ -2,7 +2,7 @@
distance_from_key_to_enclosure = 6;
enclosure_hole_depth = 6;
button_height_above_enclosure_surface = 3;
button_height_above_enclosure_surface = 4;
module keycap() {
stopper_flange_height = 2;