Modeled and test-fitted keycaps
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
// Global dimensions, change here
|
||||
width = 180;
|
||||
height = 90;
|
||||
depth = 40;
|
||||
depth = 45;
|
||||
screw_diameter = 3;
|
||||
|
||||
// Internal global variables
|
||||
|
||||
@@ -21,6 +21,7 @@ module fabula_enclosure_bottom() {
|
||||
|
||||
// Cutouts
|
||||
translate([98.4, 29, 17]) rotate([0, -90, 0]) usb_cutout();
|
||||
// TODO: Speaker cutout, lace hanger, switch cutout
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,6 +31,7 @@ module fabula_enclosure_top() {
|
||||
// Supports
|
||||
|
||||
// Cutouts
|
||||
|
||||
}
|
||||
|
||||
translate([0, -60, 0]) rotate([180, 0, 0]) fabula_enclosure_bottom();
|
||||
|
||||
37
enclosure/keys.scad
Normal file
37
enclosure/keys.scad
Normal file
@@ -0,0 +1,37 @@
|
||||
// Contains the keycaps
|
||||
|
||||
distance_from_key_to_enclosure = 6;
|
||||
enclosure_hole_depth = 6;
|
||||
button_height_above_enclosure_surface = 3;
|
||||
|
||||
module keycap() {
|
||||
stopper_flange_height = 2;
|
||||
// Keycap
|
||||
cylinder(h = enclosure_hole_depth + stopper_flange_height + button_height_above_enclosure_surface, d = 18, $fn = 128);
|
||||
// Stopper flange
|
||||
cylinder(h = stopper_flange_height, d = 24);
|
||||
// Stem
|
||||
stem_height = distance_from_key_to_enclosure - stopper_flange_height;
|
||||
translate([0, 0, -stem_height / 2]){
|
||||
difference() {
|
||||
cube([5, 3.89, stem_height], true);
|
||||
cube([1, 3.9, stem_height + 0.1], true);
|
||||
cube([3.9, 1, stem_height + 0.1], true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module next_keycap() {
|
||||
keycap();
|
||||
}
|
||||
module prev_keycap() {
|
||||
keycap();
|
||||
}
|
||||
module vol_up_keycap() {
|
||||
keycap();
|
||||
}
|
||||
module vol_down_keycap() {
|
||||
keycap();
|
||||
}
|
||||
|
||||
keycap();
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
use <internal_components.scad>
|
||||
use <fabula_enclosure.scad>
|
||||
use <keys.scad>
|
||||
|
||||
|
||||
module test_fit_components() {
|
||||
@@ -13,6 +14,10 @@ module test_fit_components() {
|
||||
// Components that require cutout on external shell
|
||||
translate([-29, -71.5, 1]) rotate([0, 0, 90]) li_ion_4056_charger_module();
|
||||
translate([-5, -92, 10]) rotate([90, 0, 0]) switch();
|
||||
translate([-13.4, -20.1, 43]) vol_up_keycap();
|
||||
translate([12.6, -35.6, 43]) next_keycap();
|
||||
translate([-23.4, -44.6, 43]) prev_keycap();
|
||||
translate([2.05, -61.05, 43]) vol_down_keycap();
|
||||
}
|
||||
|
||||
test_fit_components();
|
||||
|
||||
Reference in New Issue
Block a user