diff --git a/src/components.scad b/src/components.scad index 1e1a26f..cfa1160 100644 --- a/src/components.scad +++ b/src/components.scad @@ -57,6 +57,10 @@ panel_support_width = 5; neutrik_d_screw_radius = 1.6 + hole_tolerance; neutrik_d_radius = 12 + hole_tolerance; +// additional button radius for decorative panels, etc. +decorative_radius = 12; +jumbo_decorative_radius = 15; + /* PARTS */ module m4_hole() { @@ -88,6 +92,9 @@ module button_24mm_hole() { // slagcoin has screw-in nut diameter at 29.5mm, so radius+6 to leave some space // translation is to leave 3mm thickness in the plate without recentering anything translate([0, 0, -25]) cylinder(r=small_button_radius+6, h=49, $fn=50, center=true); + // space for decorative button surround stuff + translate([0, 0, 50]) cylinder(r=small_button_radius+decorative_radius, h=20, $fn=50, center=true); + translate([0, 0, 70]) cylinder(r=small_button_radius+jumbo_decorative_radius, h=20, $fn=50, center=true); } // button hole, with extra wide bits for various uses (cutting out space @@ -98,6 +105,9 @@ module button_30mm_hole() { // slagcoin has screw-in nut diameter at 36mm, so radius+6 to leave some space // translation is to leave 3mm thickness in the plate without recentering anything translate([0, 0, -25]) cylinder(r=big_button_radius+6, h=49, $fn=50, center=true); + // space for decorative button surround stuff + translate([0, 0, 50]) cylinder(r=big_button_radius+decorative_radius, h=20, $fn=50, center=true); + translate([0, 0, 70]) cylinder(r=big_button_radius+jumbo_decorative_radius, h=20, $fn=50, center=true); } module frame_hex_bolt_hole() { diff --git a/src/misc-dir_arc-plus-w-30mm-and-sega-2p-plus-one-decorative-plate.scad b/src/misc-dir_arc-plus-w-30mm-and-sega-2p-plus-one-decorative-plate.scad new file mode 100644 index 0000000..1b7758a --- /dev/null +++ b/src/misc-dir_arc-plus-w-30mm-and-sega-2p-plus-one-decorative-plate.scad @@ -0,0 +1,38 @@ +/* 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 + +module dir_arc_plus_w_30mm_and_sega_2p_plus_one_decorative_plate() { + difference() { + // get a 1mm slice of the bigger button cylinders + union() { + translate([-top_plate_x/2, 0, -65]) dir_arc_w_30mm(); + translate([top_plate_x/2, 0, -65]) sega_2p_plus_one(); + } + 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(); + } + /* // fill in some space */ + /* translate([-6, -6, 0]) cube([23, 23, 1], center=true); */ +} + +dir_arc_plus_w_30mm_and_sega_2p_plus_one_decorative_plate(); diff --git a/src/misc-dir_arc-plus-w-30mm-decorative-plate.scad b/src/misc-dir_arc-plus-w-30mm-decorative-plate.scad new file mode 100644 index 0000000..3038e2a --- /dev/null +++ b/src/misc-dir_arc-plus-w-30mm-decorative-plate.scad @@ -0,0 +1,32 @@ +/* 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 + +module dir_arc_plus_w_30mm_decorative_plate() { + difference() { + // get a 1mm slice of the bigger button cylinders + translate([0, 0, -45]) dir_arc_w_30mm(); + translate([0, 0, -50]) cube([500, 500, 98], center=true); + translate([0, 0, 50]) cube([500, 500, 98], center=true); + // cut out the normal holes + translate([0, 0, -1]) dir_arc_w_30mm(); + } +} + +dir_arc_plus_w_30mm_decorative_plate(); diff --git a/src/misc-sega-2p-plus-one-decorative-plate.scad b/src/misc-sega-2p-plus-one-decorative-plate.scad new file mode 100644 index 0000000..cf99fa6 --- /dev/null +++ b/src/misc-sega-2p-plus-one-decorative-plate.scad @@ -0,0 +1,33 @@ +/* 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 + +module sega_2p_plus_one_decorative_plate() { + difference() { + decorative_add=10; + // get a 1mm slice of the bigger button cylinders + translate([0, 0, -45]) sega_2p_plus_one(); + translate([0, 0, -50]) cube([500, 500, 98], center=true); + translate([0, 0, 50]) cube([500, 500, 98], center=true); + // cut out the normal holes + translate([0, 0, -1]) sega_2p_plus_one(); + } +} + +sega_2p_plus_one_decorative_plate();