From 4ec97b9f3695c9ee1e64ea161fd7fd43df603c62 Mon Sep 17 00:00:00 2001 From: "Brian S. Stephan" Date: Wed, 4 Oct 2023 16:44:59 -0500 Subject: [PATCH] add components for an OLED cutout and panel using it --- src/components.scad | 22 ++++++++++++++ ...one-plus-control-with-mount-with-oled.scad | 30 +++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 src/top-panel-right-sega-2p-plus-one-plus-control-with-mount-with-oled.scad diff --git a/src/components.scad b/src/components.scad index 785b75c..c240c44 100644 --- a/src/components.scad +++ b/src/components.scad @@ -23,6 +23,9 @@ include // adjustments hole_tolerance = 0.15; +// M2 +m2_screw_selftap_radius = 0.95; + // M3 m3_screw_selftap_radius = 1.3; @@ -155,6 +158,25 @@ module frame_cutout() { cube([36.5, 8, 40], center=true); } +module m2_mount_post() { + difference() { + cylinder(r=m2_screw_selftap_radius*2.25, h=3, $fn=6, center=true); + cylinder(r=m2_screw_selftap_radius, h=3*2, $fn=50, center=true); + } +} + +module oled_ssd1306_mount() { + translate([11.5, 12, 0]) m2_mount_post(); + translate([11.5, -12, 0]) m2_mount_post(); + translate([-11.5, 12, 0]) m2_mount_post(); + translate([-11.5, -12, 0]) m2_mount_post(); +} + +module oled_ssd1306_mount_cutout() { + translate([0, 1.9, 0]) cube([25, 14, 5], center=true); + translate([0, 0, -1.0]) cube([35, 35, 4], center=true); +} + module m3_mount_post() { difference() { cylinder(r=m3_screw_selftap_radius*4, h=8, $fn=6, center=true); diff --git a/src/top-panel-right-sega-2p-plus-one-plus-control-with-mount-with-oled.scad b/src/top-panel-right-sega-2p-plus-one-plus-control-with-mount-with-oled.scad new file mode 100644 index 0000000..92893eb --- /dev/null +++ b/src/top-panel-right-sega-2p-plus-one-plus-control-with-mount-with-oled.scad @@ -0,0 +1,30 @@ +/* Copyright Brian Stephan 2023 + * + * This file is part of the Buildable Stick System. + * + * The Buildable Stick System is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by the + * Free Software Foundation, either version 3 of the License, or (at your + * option) any later version. + * + * The Buildable Stick System is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * the Buildable Stick System. If not, see . + */ + +include +use + +module top_panel_right_sega_2p_plus_one_plus_control_with_mount_with_oled() { + difference() { + top_panel_right_sega_2p_plus_one_plus_control_with_mount(); + translate([75, 77.5, 0]) oled_ssd1306_mount_cutout(); + } + translate([75, 77.5, 0.5]) oled_ssd1306_mount(); +} + +top_panel_right_sega_2p_plus_one_plus_control_with_mount_with_oled();