Compare commits

...

2 Commits

Author SHA1 Message Date
2b9b13aa09
add an alternative top plate for buttons
this is a crazy one since I tried to fill the corners by hand.
interesting, but I don't know if I'm actually going to use it... but it
works so committing it
2024-01-15 22:51:10 -06:00
438220466d
modularize "directional arc" buttons a bit more
just for DRY purposes that I may or may not use

Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
2024-01-07 17:00:05 -06:00
2 changed files with 53 additions and 3 deletions

View File

@ -303,15 +303,15 @@ module dir_arc_30mm_thumb_button() {
translate([(top_plate_x/2)-28.06, (-top_plate_y/2)+62, 0]) button_30mm_hole();
}
module dir_arc_30mm() {
dir_arc_30mm_thumb_button();
module dir_arc_30mm_finger_buttons() {
translate([0, 57.2, 0]) dir_arc_30mm_thumb_button();
translate([-33.8, 57.2+12.9, 0]) dir_arc_30mm_thumb_button();
translate([-33.8-34.8, 57.2+12.9, 0]) dir_arc_30mm_thumb_button();
}
module dir_arc_w_30mm() {
dir_arc_30mm();
dir_arc_30mm_thumb_button();
dir_arc_30mm_finger_buttons();
translate([-26.8, 57.2+12.9+34.5, 0]) dir_arc_30mm_thumb_button();
}

View File

@ -0,0 +1,50 @@
/*
* SPDX-FileCopyrightText: © 2024 Brian S. Stephan <bss@incorporeal.org>
* SPDX-License-Identifier: GPL-3.0-or-later
*/
include <parameters.scad>
decorative_radius_scale = 1.5;
jumbo_decorative_radius_scale = 0;
include <components.scad>
module dir_arc_plus_w_30mm_and_sega_2p_plus_one_decorative_plate_of_plates() {
difference() {
// get a 2mm slice of the bigger button cylinders
union() {
translate([-top_plate_x/2, 0, -25]) {
hull() union() {
dir_arc_30mm_finger_buttons();
translate([-26.8, 57.2+12.9+34.5, 0]) dir_arc_30mm_thumb_button();
}
}
translate([top_plate_x/2, 0, -25]) {
hull() sega_2p();
}
hull() {
translate([-top_plate_x/2, 0, -25]) dir_arc_30mm_thumb_button();
translate([top_plate_x/2, -19-9-11-19-9-11, -25]) sega_2p_p1();
}
difference() {
translate([-60, -8, 0]) cube(60, center=true);
translate([-98.35, -39.25, 0]) cylinder(h=50, r=48, $fn=50, center=true);
}
difference() {
translate([43.35, -10.30, 0]) cube(50, center=true);
translate([68.35, -35.30, 0]) cylinder(h=50, r=18, $fn=50, center=true);
}
difference() {
translate([-10, 55, 0]) cube(43, center=true);
translate([-5.15, 76.25, 0]) cylinder(h=50, r=27, $fn=50, center=true);
}
translate([-7, 0, 0]) cube(80, center=true);
}
translate([0, 0, -100]) cube([500, 500, 198], center=true);
translate([0, 0, 100]) cube([500, 500, 198], center=true);
// cut out the normal holes
translate([-top_plate_x/2, 0, -1]) dir_arc_w_30mm();
translate([top_plate_x/2, 0, -1]) sega_2p_plus_one();
}
}
dir_arc_plus_w_30mm_and_sega_2p_plus_one_decorative_plate_of_plates();