diff --git a/src/components.scad b/src/components.scad index 4a8be42..16f2153 100644 --- a/src/components.scad +++ b/src/components.scad @@ -470,6 +470,12 @@ module sega_2p_plus_one() { translate([0, -19-9-11-19-9-11, 0]) sega_2p_p1(); } +module sega_2p_eleven() { + sega_2p_plus_one(); + translate([sega_2p_column_5_offset, 0, 0]) sega_2p_p1(); + translate([sega_2p_column_5_offset, -19-9-11, 0]) sega_2p_p1(); +} + module shiokenstar() { translate([-172, 32, 0]) dir_arc_24mm_directionals(); sega_2p(); diff --git a/src/misc/decorative-plate-sega-2p-eleven-plate.scad b/src/misc/decorative-plate-sega-2p-eleven-plate.scad new file mode 100644 index 0000000..ab5bbb5 --- /dev/null +++ b/src/misc/decorative-plate-sega-2p-eleven-plate.scad @@ -0,0 +1,23 @@ +/* Decorative plate for directional buttons. + * + * 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 sega_2p_eleven_plate_decorative_plate() { + difference() { + // get a 2mm slice of the bigger button cylinders + translate([panel_x/2, 0, -25]) hull() sega_2p_eleven(); + 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]) sega_2p_eleven(); + } +} + +sega_2p_eleven_plate_decorative_plate(); diff --git a/src/panels/inset/sega-2p-eleven-panel-with-mount.scad b/src/panels/inset/sega-2p-eleven-panel-with-mount.scad new file mode 100644 index 0000000..18f8bee --- /dev/null +++ b/src/panels/inset/sega-2p-eleven-panel-with-mount.scad @@ -0,0 +1,16 @@ +/* 11-button Sega 2P panel with PCB mount + * + * SPDX-FileCopyrightText: © 2023 Brian S. Stephan + * SPDX-License-Identifier: GPL-3.0-or-later + */ + +include +include +use + +module sega_2p_eleven_panel_with_mount() { + sega_2p_eleven_panel(); + translate([30, -50, -(panel_z/2) - 3]) pcb_mount(); +} + +sega_2p_eleven_panel_with_mount(); diff --git a/src/panels/inset/sega-2p-eleven-panel.scad b/src/panels/inset/sega-2p-eleven-panel.scad new file mode 100644 index 0000000..7b9dcc0 --- /dev/null +++ b/src/panels/inset/sega-2p-eleven-panel.scad @@ -0,0 +1,17 @@ +/* A panel with the Sega 2P button layout plus three extra buttons for whatever purpose. + * + * SPDX-FileCopyrightText: © 2024 Brian S. Stephan + * SPDX-License-Identifier: GPL-3.0-or-later + */ + +include +include + +module sega_2p_eleven_panel() { + difference() { + panel(); + sega_2p_eleven(); + } +} + +sega_2p_eleven_panel(); diff --git a/src/parameters.scad b/src/parameters.scad index d8a4c2a..fa4a61b 100644 --- a/src/parameters.scad +++ b/src/parameters.scad @@ -114,6 +114,7 @@ slash_height = frame_z-panel_z*3; sega_2p_column_2_offset = 30.5; sega_2p_column_3_offset = sega_2p_column_2_offset + 36; sega_2p_column_4_offset = sega_2p_column_3_offset + 36; +sega_2p_column_5_offset = sega_2p_column_4_offset + 36; // this offset is from the left edge of the panel sega_2p_column_1_left_panel_edge_offset = 28.06;