Compare commits
9 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
36231248b9
|
|||
|
62c804ed35
|
|||
|
769f184d1d
|
|||
|
f14c80d8a8
|
|||
|
ae40fd7289
|
|||
|
9a5792580c
|
|||
|
524273369b
|
|||
|
e7a8fc42ed
|
|||
|
bac99f6ea8
|
@@ -36,12 +36,12 @@ What you'll need beyond these objects:
|
|||||||
Board](https://github.com/OpenStickCommunity/Hardware/tree/main/RP2040%20Advanced%20Breakout%20Board))
|
Board](https://github.com/OpenStickCommunity/Hardware/tree/main/RP2040%20Advanced%20Breakout%20Board))
|
||||||
* 4 M3 8mm hex bolts to secure the PCB to a panel
|
* 4 M3 8mm hex bolts to secure the PCB to a panel
|
||||||
* Per frame and plate combo:
|
* Per frame and plate combo:
|
||||||
* 4 40mm M4 hex brass standoffs (or equivalent)
|
* 4 45mm M4 hex brass standoffs (or equivalent)
|
||||||
* 8 M4 countersunk hex bolts
|
* 8 M4 countersunk hex bolts
|
||||||
* Overhang plates should use 12-16mm length bolts since they are taller
|
* Overhang plates should use 12-16mm length bolts since they are taller
|
||||||
* Inset plates should probably use 8-12mm bolts --- some standoffs aren't threaded the whole way, making 16mm
|
* Inset plates should probably use 8-12mm bolts --- some standoffs aren't threaded the whole way, making 16mm
|
||||||
too long to go flush
|
too long to go flush
|
||||||
* If making the 40mm standoffs from multiple smaller ones, make sure they have enough length to take your bolts!
|
* If making the 45mm standoffs from multiple smaller ones, make sure they have enough length to take your bolts!
|
||||||
* Per frame connection point:
|
* Per frame connection point:
|
||||||
* 8 16mm M4 bolts
|
* 8 16mm M4 bolts
|
||||||
* 8 M4 flange nuts
|
* 8 M4 flange nuts
|
||||||
@@ -69,7 +69,7 @@ Filament masses from Bambu Studio estimates, using Bambu PLA Basic.
|
|||||||
of 2023-09-12)
|
of 2023-09-12)
|
||||||
* 4 M3 flange nuts to connect Neutrik D plates to frames: **$0.34 USD** (you can get a pack of 100 on Amazon for $8.50,
|
* 4 M3 flange nuts to connect Neutrik D plates to frames: **$0.34 USD** (you can get a pack of 100 on Amazon for $8.50,
|
||||||
as of 2023-09-12)
|
as of 2023-09-12)
|
||||||
* 8 40mm M4 spacers to connect panels to frames: **$2.40 USD** (you can get a pack of 10 on AliExpress for $3, as of
|
* 8 45mm M4 spacers to connect panels to frames: **$2.40 USD** (you can get a pack of 10 on AliExpress for $3, as of
|
||||||
2023-09-12)
|
2023-09-12)
|
||||||
* You could 3D print these too, but you're probably better off with brass ones as they give some weight to the
|
* You could 3D print these too, but you're probably better off with brass ones as they give some weight to the
|
||||||
stick anyway
|
stick anyway
|
||||||
|
|||||||
@@ -21,4 +21,5 @@ bss's random thoughts and notes on 3D printing materials.
|
|||||||
|
|
||||||
## Hatchbox PLA
|
## Hatchbox PLA
|
||||||
|
|
||||||
* Haven't done a lot of this yet, but my wife really likes the blue.
|
* **Blue:** very blue. Wife likes it.
|
||||||
|
* **White:** more opaque than the Bambu PLA mentioned above, makes a pretty decent (still slightly translucent) frame.
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
include <parameters.scad>
|
||||||
include <components.scad>
|
include <components.scad>
|
||||||
use <frame-left.scad>
|
use <frame-left.scad>
|
||||||
use <frame-right.scad>
|
use <frame-right.scad>
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
include <parameters.scad>
|
||||||
include <components.scad>
|
include <components.scad>
|
||||||
|
|
||||||
module bottom_panel() {
|
module bottom_panel() {
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
include <parameters.scad>
|
||||||
include <components.scad>
|
include <components.scad>
|
||||||
use <bottom-panel-solo.scad>
|
use <bottom-panel-solo.scad>
|
||||||
|
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
include <parameters.scad>
|
||||||
include <components.scad>
|
include <components.scad>
|
||||||
use <bottom-panel-left.scad>
|
use <bottom-panel-left.scad>
|
||||||
use <bottom-panel-right.scad>
|
use <bottom-panel-right.scad>
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
include <parameters.scad>
|
||||||
include <components.scad>
|
include <components.scad>
|
||||||
use <bottom-panel-left.scad>
|
use <bottom-panel-left.scad>
|
||||||
|
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
include <parameters.scad>
|
||||||
include <components.scad>
|
include <components.scad>
|
||||||
|
|
||||||
module bottom_panel_solo() {
|
module bottom_panel_solo() {
|
||||||
|
|||||||
@@ -18,72 +18,6 @@
|
|||||||
|
|
||||||
include <roundedcube.scad>
|
include <roundedcube.scad>
|
||||||
|
|
||||||
/* QUASI-CONSTANTS */
|
|
||||||
|
|
||||||
// adjustments
|
|
||||||
hole_tolerance = 0.15;
|
|
||||||
|
|
||||||
// M2
|
|
||||||
m2_screw_selftap_radius = 0.95;
|
|
||||||
|
|
||||||
// M3
|
|
||||||
m3_screw_selftap_radius = 1.3;
|
|
||||||
|
|
||||||
// M4
|
|
||||||
m4_bolt_radius = 2 + hole_tolerance;
|
|
||||||
m4_bolt_countersink_radius = 6.1 + hole_tolerance;
|
|
||||||
m4_bolt_hex_exterior_radius = 3.6 + hole_tolerance;
|
|
||||||
|
|
||||||
// 24mm button
|
|
||||||
small_button_radius = 12 + hole_tolerance;
|
|
||||||
|
|
||||||
// 30mm button
|
|
||||||
big_button_radius = 15 + hole_tolerance;
|
|
||||||
|
|
||||||
// JLF mount dimensions
|
|
||||||
lever_mount_x = 53;
|
|
||||||
lever_mount_y = 95;
|
|
||||||
lever_mount_z = 2;
|
|
||||||
|
|
||||||
// case dimensions
|
|
||||||
// base frame box. reminder: top of inside (including mounts) is chopped by top_plate_z for plates
|
|
||||||
frame_x = 233;
|
|
||||||
frame_y = 208;
|
|
||||||
frame_z = 50;
|
|
||||||
|
|
||||||
// depth of the "lip" of the frame that the top plate sets into/supports the overhang
|
|
||||||
frame_wall = 8;
|
|
||||||
|
|
||||||
// per neutrik (mm)
|
|
||||||
neutrik_panel_thickness = 3;
|
|
||||||
|
|
||||||
// top plate, which can either be the whole plate ("inset") or the mounting frame for a plate that overhangs
|
|
||||||
top_plate_x = frame_x - frame_wall;
|
|
||||||
top_plate_y = frame_y - frame_wall;
|
|
||||||
top_plate_z = 5;
|
|
||||||
|
|
||||||
// how much the top plate x/y is expanded to overhang the frame
|
|
||||||
// note that this is relative to the top plate (so the wall is added back)
|
|
||||||
top_plate_overhang_amount = frame_wall + 17;
|
|
||||||
overhang_top_plate_x = top_plate_x + top_plate_overhang_amount;
|
|
||||||
overhang_top_plate_y = top_plate_y + top_plate_overhang_amount;
|
|
||||||
|
|
||||||
plate_to_frame_point_x = (top_plate_x/2)-10;
|
|
||||||
plate_to_frame_point_y = (top_plate_y/2)-10;
|
|
||||||
|
|
||||||
// frame interior that supports the top plates
|
|
||||||
panel_support_width = 5;
|
|
||||||
|
|
||||||
// neutrik D screw holes
|
|
||||||
neutrik_d_screw_radius = 1.6 + hole_tolerance;
|
|
||||||
neutrik_d_radius = 12 + hole_tolerance;
|
|
||||||
|
|
||||||
// additional button radius for decorative panels, etc.
|
|
||||||
decorative_radius_scale = 1.75;
|
|
||||||
jumbo_decorative_radius_scale = 2;
|
|
||||||
|
|
||||||
/* PARTS */
|
|
||||||
|
|
||||||
module m4_hole() {
|
module m4_hole() {
|
||||||
cylinder(r=m4_bolt_radius, h=100, $fn=50, center=true);
|
cylinder(r=m4_bolt_radius, h=100, $fn=50, center=true);
|
||||||
}
|
}
|
||||||
@@ -153,9 +87,16 @@ module neutrik_d_mount() {
|
|||||||
translate([-9.5, -12, 0]) neutrik_d_screw_hole();
|
translate([-9.5, -12, 0]) neutrik_d_screw_hole();
|
||||||
}
|
}
|
||||||
|
|
||||||
// space for a neutrik D mount or 24mm button
|
// space for a neutrik D mount or 24mm button - Z is to cut the whole inside without affecting panel lip
|
||||||
module frame_cutout() {
|
module frame_cutout() {
|
||||||
cube([36.5, 8, 40], center=true);
|
cube([36.5, 8, frame_z-(top_plate_z*2)], center=true);
|
||||||
|
}
|
||||||
|
|
||||||
|
// bank of three 24mm buttons, commonly on a frame face
|
||||||
|
module aux_control_three_button_cluster() {
|
||||||
|
translate([-40, 0, 0]) button_24mm_hole();
|
||||||
|
translate([0, 0, 0]) button_24mm_hole();
|
||||||
|
translate([40, 0, 0]) button_24mm_hole();
|
||||||
}
|
}
|
||||||
|
|
||||||
module m2_mount_post() {
|
module m2_mount_post() {
|
||||||
@@ -206,7 +147,7 @@ module levermountbase() {
|
|||||||
// should work with JLF, JLW, LS-32, LS-33, LS-40, LS-55, LS-56
|
// should work with JLF, JLW, LS-32, LS-33, LS-40, LS-55, LS-56
|
||||||
module levermountholes() {
|
module levermountholes() {
|
||||||
// joystick hole
|
// joystick hole
|
||||||
cylinder(r=12, h=5.1, $fn=50, center=true);
|
cylinder(r=lever_plate_hole, h=5.1, $fn=50, center=true);
|
||||||
// holes for joystick bolts
|
// holes for joystick bolts
|
||||||
translate([20, 42.5, 0])
|
translate([20, 42.5, 0])
|
||||||
m4_hole();
|
m4_hole();
|
||||||
@@ -273,6 +214,7 @@ module top_plate_with_raised_overhang() {
|
|||||||
module frame_box() {
|
module frame_box() {
|
||||||
difference() {
|
difference() {
|
||||||
roundedcube([frame_x, frame_y, frame_z], center=true, radius=3);
|
roundedcube([frame_x, frame_y, frame_z], center=true, radius=3);
|
||||||
|
// cut out the middle to make it a box
|
||||||
cube([top_plate_x-(panel_support_width*2), top_plate_y-(panel_support_width*2), frame_z+5], center=true);
|
cube([top_plate_x-(panel_support_width*2), top_plate_y-(panel_support_width*2), frame_z+5], center=true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
include <parameters.scad>
|
||||||
include <components.scad>
|
include <components.scad>
|
||||||
|
|
||||||
module base_left_frame() {
|
module base_left_frame() {
|
||||||
@@ -36,11 +37,9 @@ module left_frame() {
|
|||||||
frame_cable_routing_hole();
|
frame_cable_routing_hole();
|
||||||
|
|
||||||
// aux button holes
|
// aux button holes
|
||||||
translate([-30, 101.5, 0]) rotate([270, 0, 0]) button_24mm_hole();
|
translate([-30, 101.5, 0]) rotate([270, 0, 0]) aux_control_three_button_cluster();
|
||||||
translate([-30, (frame_y/2)-neutrik_panel_thickness-4, 0]) frame_cutout();
|
translate([-30, (frame_y/2)-neutrik_panel_thickness-4, 0]) frame_cutout();
|
||||||
translate([-70, 101.5, 0]) rotate([270, 0, 0]) button_24mm_hole();
|
|
||||||
translate([-70, (frame_y/2)-neutrik_panel_thickness-4, 0]) frame_cutout();
|
translate([-70, (frame_y/2)-neutrik_panel_thickness-4, 0]) frame_cutout();
|
||||||
translate([10, 101.5, 0]) rotate([270, 0, 0]) button_24mm_hole();
|
|
||||||
translate([10, (frame_y/2)-neutrik_panel_thickness-4, 0]) frame_cutout();
|
translate([10, (frame_y/2)-neutrik_panel_thickness-4, 0]) frame_cutout();
|
||||||
|
|
||||||
// neutrix button hole
|
// neutrix button hole
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
include <parameters.scad>
|
||||||
include <components.scad>
|
include <components.scad>
|
||||||
|
|
||||||
module base_middle_frame() {
|
module base_middle_frame() {
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
include <parameters.scad>
|
||||||
include <components.scad>
|
include <components.scad>
|
||||||
|
|
||||||
module base_right_frame() {
|
module base_right_frame() {
|
||||||
@@ -36,11 +37,9 @@ module right_frame() {
|
|||||||
mirror([1, 0, 0]) frame_cable_routing_hole();
|
mirror([1, 0, 0]) frame_cable_routing_hole();
|
||||||
|
|
||||||
// aux button holes
|
// aux button holes
|
||||||
translate([30, 101.5, 0]) rotate([270, 0, 0]) button_24mm_hole();
|
translate([30, 101.5, 0]) rotate([270, 0, 0]) aux_control_three_button_cluster();
|
||||||
translate([30, (frame_y/2)-neutrik_panel_thickness-4, 0]) frame_cutout();
|
translate([30, (frame_y/2)-neutrik_panel_thickness-4, 0]) frame_cutout();
|
||||||
translate([70, 101.5, 0]) rotate([270, 0, 0]) button_24mm_hole();
|
|
||||||
translate([70, (frame_y/2)-neutrik_panel_thickness-4, 0]) frame_cutout();
|
translate([70, (frame_y/2)-neutrik_panel_thickness-4, 0]) frame_cutout();
|
||||||
translate([-10, 101.5, 0]) rotate([270, 0, 0]) button_24mm_hole();
|
|
||||||
translate([-10, (frame_y/2)-neutrik_panel_thickness-4, 0]) frame_cutout();
|
translate([-10, (frame_y/2)-neutrik_panel_thickness-4, 0]) frame_cutout();
|
||||||
|
|
||||||
// neutrix button hole
|
// neutrix button hole
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
include <parameters.scad>
|
||||||
include <components.scad>
|
include <components.scad>
|
||||||
|
|
||||||
module solo_frame() {
|
module solo_frame() {
|
||||||
@@ -31,23 +32,14 @@ module solo_frame() {
|
|||||||
translate([40, (frame_y/2)-neutrik_panel_thickness-4, 0]) frame_cutout();
|
translate([40, (frame_y/2)-neutrik_panel_thickness-4, 0]) frame_cutout();
|
||||||
|
|
||||||
// aux button holes
|
// aux button holes
|
||||||
translate([-frame_x/2+2.5, 0, 0]) rotate([0, 0, 270])
|
translate([-frame_x/2+2.5, 0, 0]) rotate([90, 0, 270]) aux_control_three_button_cluster();
|
||||||
translate([0, 0, 0]) rotate([90, 0, 0]) button_24mm_hole();
|
|
||||||
translate([(frame_x/2)-neutrik_panel_thickness-4, 0, 0]) rotate([0, 0, 90]) frame_cutout();
|
translate([(frame_x/2)-neutrik_panel_thickness-4, 0, 0]) rotate([0, 0, 90]) frame_cutout();
|
||||||
translate([-frame_x/2+2.5, 0, 0]) rotate([0, 0, 270])
|
|
||||||
translate([-40, 0, 0]) rotate([90, 0, 0]) button_24mm_hole();
|
|
||||||
translate([(frame_x/2)-neutrik_panel_thickness-4, -40, 0]) rotate([0, 0, 90]) frame_cutout();
|
translate([(frame_x/2)-neutrik_panel_thickness-4, -40, 0]) rotate([0, 0, 90]) frame_cutout();
|
||||||
translate([-frame_x/2+2.5, 0, 0]) rotate([0, 0, 270])
|
|
||||||
translate([40, 0, 0]) rotate([90, 0, 0]) button_24mm_hole();
|
|
||||||
translate([(frame_x/2)-neutrik_panel_thickness-4, 40, 0]) rotate([0, 0, 90]) frame_cutout();
|
translate([(frame_x/2)-neutrik_panel_thickness-4, 40, 0]) rotate([0, 0, 90]) frame_cutout();
|
||||||
translate([frame_x/2-2.5, 0, 0]) rotate([0, 0, 90])
|
|
||||||
translate([0, 0, 0]) rotate([90, 0, 0]) button_24mm_hole();
|
translate([frame_x/2+2.5, 0, 0]) rotate([90, 0, 270]) aux_control_three_button_cluster();
|
||||||
translate([-(frame_x/2)+neutrik_panel_thickness+4, 0, 0]) rotate([0, 0, 90]) frame_cutout();
|
translate([-(frame_x/2)+neutrik_panel_thickness+4, 0, 0]) rotate([0, 0, 90]) frame_cutout();
|
||||||
translate([frame_x/2-2.5, 0, 0]) rotate([0, 0, 90])
|
|
||||||
translate([-40, 0, 0]) rotate([90, 0, 0]) button_24mm_hole();
|
|
||||||
translate([-(frame_x/2)+neutrik_panel_thickness+4, -40, 0]) rotate([0, 0, 90]) frame_cutout();
|
translate([-(frame_x/2)+neutrik_panel_thickness+4, -40, 0]) rotate([0, 0, 90]) frame_cutout();
|
||||||
translate([frame_x/2-2.5, 0, 0]) rotate([0, 0, 90])
|
|
||||||
translate([40, 0, 0]) rotate([90, 0, 0]) button_24mm_hole();
|
|
||||||
translate([-(frame_x/2)+neutrik_panel_thickness+4, 40, 0]) rotate([0, 0, 90]) frame_cutout();
|
translate([-(frame_x/2)+neutrik_panel_thickness+4, 40, 0]) rotate([0, 0, 90]) frame_cutout();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
include <parameters.scad>
|
||||||
include <components.scad>
|
include <components.scad>
|
||||||
|
|
||||||
module button_24mm_decorative_plate() {
|
module button_24mm_decorative_plate() {
|
||||||
|
|||||||
@@ -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 <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
include <parameters.scad>
|
||||||
|
include <components.scad>
|
||||||
|
use <misc-neutrik-d-plate.scad>
|
||||||
|
|
||||||
|
module aux_control_three_button_cluster_decorative_plate() {
|
||||||
|
difference() {
|
||||||
|
hull() {
|
||||||
|
translate([-50, 0, 0]) neutrik_d_plate();
|
||||||
|
translate([50, 0, 0]) neutrik_d_plate();
|
||||||
|
}
|
||||||
|
translate([0, 0, -10]) aux_control_three_button_cluster();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
aux_control_three_button_cluster_decorative_plate();
|
||||||
@@ -16,6 +16,7 @@
|
|||||||
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
include <parameters.scad>
|
||||||
include <components.scad>
|
include <components.scad>
|
||||||
|
|
||||||
module dir_arc_plus_w_24mm_8_button_decorative_plate() {
|
module dir_arc_plus_w_24mm_8_button_decorative_plate() {
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
include <parameters.scad>
|
||||||
include <components.scad>
|
include <components.scad>
|
||||||
|
|
||||||
module dir_arc_plus_w_30mm_and_sega_2p_plus_one_decorative_plate() {
|
module dir_arc_plus_w_30mm_and_sega_2p_plus_one_decorative_plate() {
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
include <parameters.scad>
|
||||||
include <components.scad>
|
include <components.scad>
|
||||||
|
|
||||||
module dir_arc_plus_w_30mm_decorative_plate() {
|
module dir_arc_plus_w_30mm_decorative_plate() {
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
include <parameters.scad>
|
||||||
include <components.scad>
|
include <components.scad>
|
||||||
|
|
||||||
module sega_2p_6_button_decorative_plate() {
|
module sega_2p_6_button_decorative_plate() {
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
include <parameters.scad>
|
||||||
include <components.scad>
|
include <components.scad>
|
||||||
|
|
||||||
module sega_2p_plus_one_decorative_plate() {
|
module sega_2p_plus_one_decorative_plate() {
|
||||||
|
|||||||
@@ -16,11 +16,12 @@
|
|||||||
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
include <parameters.scad>
|
||||||
include <components.scad>
|
include <components.scad>
|
||||||
|
|
||||||
module jlf_dustwasher() {
|
module jlf_dustwasher() {
|
||||||
difference() {
|
difference() {
|
||||||
cylinder(r=jumbo_decorative_radius+5+hole_tolerance, h=2, $fn=50, center=true);
|
cylinder(r=lever_plate_hole*decorative_radius_scale, h=2, $fn=50, center=true);
|
||||||
// 5.25 = 4.55 (diameter of shaft is 9.10mm) + .25 to let it take an angle
|
// 5.25 = 4.55 (diameter of shaft is 9.10mm) + .25 to let it take an angle
|
||||||
cylinder(r=4.8, h=2.1, $fn=50, center=true);
|
cylinder(r=4.8, h=2.1, $fn=50, center=true);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,11 +16,12 @@
|
|||||||
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
include <parameters.scad>
|
||||||
include <components.scad>
|
include <components.scad>
|
||||||
|
|
||||||
module lsx_nobi_dustwasher() {
|
module lsx_nobi_dustwasher() {
|
||||||
difference() {
|
difference() {
|
||||||
cylinder(r=jumbo_decorative_radius+5+hole_tolerance, h=2, $fn=50, center=true);
|
cylinder(r=lever_plate_hole*decorative_radius_scale, h=2, $fn=50, center=true);
|
||||||
// 5.25 = 5 (diameter of shaft is 10mm) + .25 to let it take an angle
|
// 5.25 = 5 (diameter of shaft is 10mm) + .25 to let it take an angle
|
||||||
cylinder(r=5.25+hole_tolerance, h=2.1, $fn=50, center=true);
|
cylinder(r=5.25+hole_tolerance, h=2.1, $fn=50, center=true);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
include <parameters.scad>
|
||||||
include <components.scad>
|
include <components.scad>
|
||||||
use <misc-neutrik-d-plate.scad>
|
use <misc-neutrik-d-plate.scad>
|
||||||
|
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
include <parameters.scad>
|
||||||
include <components.scad>
|
include <components.scad>
|
||||||
use <misc-neutrik-d-plate.scad>
|
use <misc-neutrik-d-plate.scad>
|
||||||
|
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
include <parameters.scad>
|
||||||
include <components.scad>
|
include <components.scad>
|
||||||
|
|
||||||
module neutrik_d_plate() {
|
module neutrik_d_plate() {
|
||||||
|
|||||||
82
src/parameters.scad
Normal file
82
src/parameters.scad
Normal file
@@ -0,0 +1,82 @@
|
|||||||
|
/* 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 <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// adjustments
|
||||||
|
hole_tolerance = 0.15;
|
||||||
|
|
||||||
|
// M2
|
||||||
|
m2_screw_selftap_radius = 0.95;
|
||||||
|
|
||||||
|
// M3
|
||||||
|
m3_screw_selftap_radius = 1.3;
|
||||||
|
|
||||||
|
// M4
|
||||||
|
m4_bolt_radius = 2 + hole_tolerance;
|
||||||
|
m4_bolt_countersink_radius = 6.1 + hole_tolerance;
|
||||||
|
m4_bolt_hex_exterior_radius = 3.6 + hole_tolerance;
|
||||||
|
|
||||||
|
// 24mm button
|
||||||
|
small_button_radius = 12 + hole_tolerance;
|
||||||
|
|
||||||
|
// 30mm button
|
||||||
|
big_button_radius = 15 + hole_tolerance;
|
||||||
|
|
||||||
|
// JLF mount dimensions
|
||||||
|
lever_mount_x = 53;
|
||||||
|
lever_mount_y = 95;
|
||||||
|
lever_mount_z = 2;
|
||||||
|
|
||||||
|
// standard lever hole
|
||||||
|
lever_plate_hole = 12;
|
||||||
|
|
||||||
|
// case dimensions
|
||||||
|
// base frame box. reminder: top of inside (including mounts) is chopped by top_plate_z for plates
|
||||||
|
frame_x = 233;
|
||||||
|
frame_y = 208;
|
||||||
|
frame_z = 55;
|
||||||
|
|
||||||
|
// depth of the "lip" of the frame that the top plate sets into/supports the overhang
|
||||||
|
frame_wall = 4;
|
||||||
|
|
||||||
|
// per neutrik (mm)
|
||||||
|
neutrik_panel_thickness = 3;
|
||||||
|
|
||||||
|
// top plate, which can either be the whole plate ("inset") or the mounting frame for a plate that overhangs
|
||||||
|
top_plate_x = frame_x - (frame_wall * 2);
|
||||||
|
top_plate_y = frame_y - (frame_wall * 2);
|
||||||
|
top_plate_z = 5;
|
||||||
|
|
||||||
|
// how much the top plate x/y is expanded to overhang the frame
|
||||||
|
// note that this is relative to the top plate (so the wall is added back)
|
||||||
|
top_plate_overhang_amount = 8.5;
|
||||||
|
overhang_top_plate_x = top_plate_x + (frame_wall * 2) + (top_plate_overhang_amount * 2);
|
||||||
|
overhang_top_plate_y = top_plate_y + (frame_wall * 2) + (top_plate_overhang_amount * 2);
|
||||||
|
|
||||||
|
plate_to_frame_point_x = (top_plate_x/2)-10;
|
||||||
|
plate_to_frame_point_y = (top_plate_y/2)-10;
|
||||||
|
|
||||||
|
// frame interior that supports the top plates
|
||||||
|
panel_support_width = 5;
|
||||||
|
|
||||||
|
// neutrik D screw holes
|
||||||
|
neutrik_d_screw_radius = 1.6 + hole_tolerance;
|
||||||
|
neutrik_d_radius = 12 + hole_tolerance;
|
||||||
|
|
||||||
|
// additional button radius for decorative panels, etc.
|
||||||
|
decorative_radius_scale = 1.75;
|
||||||
|
jumbo_decorative_radius_scale = 2;
|
||||||
@@ -16,6 +16,7 @@
|
|||||||
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
include <parameters.scad>
|
||||||
include <components.scad>
|
include <components.scad>
|
||||||
use <top-panel-inset-dir_arc-plus-w-30mm-plus-one.scad>
|
use <top-panel-inset-dir_arc-plus-w-30mm-plus-one.scad>
|
||||||
|
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
include <parameters.scad>
|
||||||
include <components.scad>
|
include <components.scad>
|
||||||
|
|
||||||
module dir_arc_w_30mm_plus_one_panel() {
|
module dir_arc_w_30mm_plus_one_panel() {
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
include <parameters.scad>
|
||||||
include <components.scad>
|
include <components.scad>
|
||||||
|
|
||||||
module top_panel_inset_lever_and_dir_arc_w_30mm() {
|
module top_panel_inset_lever_and_dir_arc_w_30mm() {
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
include <parameters.scad>
|
||||||
include <components.scad>
|
include <components.scad>
|
||||||
use <top-panel-inset-lever.scad>
|
use <top-panel-inset-lever.scad>
|
||||||
|
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
include <parameters.scad>
|
||||||
include <components.scad>
|
include <components.scad>
|
||||||
|
|
||||||
// combine the lever mount and generic plate, with mounting holes
|
// combine the lever mount and generic plate, with mounting holes
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
include <parameters.scad>
|
||||||
include <components.scad>
|
include <components.scad>
|
||||||
|
|
||||||
module namco_noir_plus_one_panel() {
|
module namco_noir_plus_one_panel() {
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
include <parameters.scad>
|
||||||
include <components.scad>
|
include <components.scad>
|
||||||
|
|
||||||
module namco_noir_plus_two_panel() {
|
module namco_noir_plus_two_panel() {
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
include <parameters.scad>
|
||||||
include <components.scad>
|
include <components.scad>
|
||||||
use <top-panel-inset-sega-2p-plus-one-plus-control.scad>
|
use <top-panel-inset-sega-2p-plus-one-plus-control.scad>
|
||||||
|
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
include <parameters.scad>
|
||||||
include <components.scad>
|
include <components.scad>
|
||||||
|
|
||||||
module top_panel_inset_sega_2p_plus_one_plus_control() {
|
module top_panel_inset_sega_2p_plus_one_plus_control() {
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
include <parameters.scad>
|
||||||
include <components.scad>
|
include <components.scad>
|
||||||
|
|
||||||
module sega_2p_plus_one_panel() {
|
module sega_2p_plus_one_panel() {
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
include <parameters.scad>
|
||||||
include <components.scad>
|
include <components.scad>
|
||||||
|
|
||||||
module top_panel_left_lever_and_dir_arc_w_30mm() {
|
module top_panel_left_lever_and_dir_arc_w_30mm() {
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
include <parameters.scad>
|
||||||
include <components.scad>
|
include <components.scad>
|
||||||
|
|
||||||
// combine the lever mount and generic plate, with mounting holes
|
// combine the lever mount and generic plate, with mounting holes
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
include <parameters.scad>
|
||||||
include <components.scad>
|
include <components.scad>
|
||||||
use <top-panel-middle-dir_arc-plus-w-30mm.scad>
|
use <top-panel-middle-dir_arc-plus-w-30mm.scad>
|
||||||
|
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
include <parameters.scad>
|
||||||
include <components.scad>
|
include <components.scad>
|
||||||
|
|
||||||
module top_panel_middle_dir_arc_w_30mm() {
|
module top_panel_middle_dir_arc_w_30mm() {
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
include <parameters.scad>
|
||||||
include <components.scad>
|
include <components.scad>
|
||||||
use <top-panel-right-sega-2p-plus-one-plus-control-with-mount.scad>
|
use <top-panel-right-sega-2p-plus-one-plus-control-with-mount.scad>
|
||||||
|
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
include <parameters.scad>
|
||||||
include <components.scad>
|
include <components.scad>
|
||||||
use <top-panel-right-sega-2p-plus-one-plus-control.scad>
|
use <top-panel-right-sega-2p-plus-one-plus-control.scad>
|
||||||
|
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
include <parameters.scad>
|
||||||
include <components.scad>
|
include <components.scad>
|
||||||
|
|
||||||
module top_panel_right_sega_2p_plus_one_plus_control() {
|
module top_panel_right_sega_2p_plus_one_plus_control() {
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
include <parameters.scad>
|
||||||
include <components.scad>
|
include <components.scad>
|
||||||
use <top-panel-right-sega-2p-plus-one.scad>
|
use <top-panel-right-sega-2p-plus-one.scad>
|
||||||
|
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
include <parameters.scad>
|
||||||
include <components.scad>
|
include <components.scad>
|
||||||
|
|
||||||
module top_panel_right_sega_2p_plus_one() {
|
module top_panel_right_sega_2p_plus_one() {
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
include <parameters.scad>
|
||||||
include <components.scad>
|
include <components.scad>
|
||||||
|
|
||||||
module dir_arc_24mm_6_button_panel() {
|
module dir_arc_24mm_6_button_panel() {
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
include <parameters.scad>
|
||||||
include <components.scad>
|
include <components.scad>
|
||||||
|
|
||||||
module dir_arc_plus_w_24mm_8_button_panel() {
|
module dir_arc_plus_w_24mm_8_button_panel() {
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
* the Buildable Stick System. If not, see <https://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
include <parameters.scad>
|
||||||
include <components.scad>
|
include <components.scad>
|
||||||
|
|
||||||
module top_panel_solo_lever_and_sega_2p_6_button() {
|
module top_panel_solo_lever_and_sega_2p_6_button() {
|
||||||
|
|||||||
Reference in New Issue
Block a user