/* * SPDX-FileCopyrightText: © 2024 Brian S. Stephan * SPDX-License-Identifier: GPL-3.0-or-later */ include decorative_radius_scale = 1.5; jumbo_decorative_radius_scale = 0; include 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([-panel_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([panel_x/2, 0, -25]) { hull() sega_2p(); } hull() { translate([-panel_x/2, 0, -25]) dir_arc_30mm_thumb_button(); translate([panel_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([-panel_x/2, 0, -1]) dir_arc_w_30mm(); translate([panel_x/2, 0, -1]) sega_2p_plus_one(); } } dir_arc_plus_w_30mm_and_sega_2p_plus_one_decorative_plate_of_plates();