From 6ca57615e4e3449dc7df3ef4795276d0ed61fd03 Mon Sep 17 00:00:00 2001 From: "Brian S. Stephan" Date: Fri, 25 Aug 2023 14:59:37 -0500 Subject: [PATCH] solve for 24mm/30mm snap-ins --- README.md | 1 - TODO.md | 2 -- src/components.scad | 24 ++++++++++++++++++++---- 3 files changed, 20 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 0ef3879..7153549 100644 --- a/README.md +++ b/README.md @@ -45,7 +45,6 @@ What you'll need beyond these objects: This is a living repository, and as such, there are likely issues with the objects, known or otherwise. Be aware: -* The top panel is 5mm tall and doesn't have an inset; snap-in buttons likely do not fit. * A composition error made the frame 5mm shorter than intended and wasn't noticed until I printed everything: * Some levers don't have enough clearance in the case. * Buttons with traditional quick connects are a *very* tight fit, you will probably need to bend pins. diff --git a/TODO.md b/TODO.md index ed2bd40..15d56bc 100644 --- a/TODO.md +++ b/TODO.md @@ -7,8 +7,6 @@ Notes for "next time". * I need at least 5mm, maybe 10mm, more height, to fit some of my levers like the Nobi Bullet * I couldn't even fit a JLF without the compensations in v1 on the bottom panel * I had to bend the pins a bit on Crown SDB-202s, too -* Top plates are 1-2mm too thick for snap-ins, maybe have a variant with a couple shaved off like with the bottom plate - workaround * The plates bow a bit on the top when pressure is applied, because there's no support from the frame up there --- adding 5mm to the frame should leave a couple mm for support to get added back * PCB mount on `top-panel-dir_arc-plus-w-30mm-plus-one-with-mount.scad` doesn't leave room for a USB cable on the right diff --git a/src/components.scad b/src/components.scad index 3747e07..8e3ed99 100644 --- a/src/components.scad +++ b/src/components.scad @@ -68,10 +68,26 @@ module button_24mm_hole() { cylinder(r=small_button_radius, h=100, $fn=50, center=true); } +module button_24mm_hole_for_snapins() { + button_24mm_hole(); + // carve out space for snap-ins, leave 3mm + // slagcoin has screw-in nut diameter at 35mm, so radius+3 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+3, h=49, $fn=50, center=true); +} + module button_30mm_hole() { cylinder(r=big_button_radius, h=100, $fn=50, center=true); } +module button_30mm_hole_for_snapins() { + button_30mm_hole(); + // carve out space for snap-ins, leave 3mm + // slagcoin has screw-in nut diameter at 36mm, so radius+4 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+4, h=49, $fn=50, center=true); +} + module frame_hex_bolt_hole() { scale([1, 1, 2]) cylinder(r=m4_bolt_hex_exterior_radius, h=frame_z, $fn=6, center=true); } @@ -236,7 +252,7 @@ module frame() { /* LAYOUTS */ module dir_arc_30mm_button_l() { - translate([68, 132, 0]) button_30mm_hole(); + translate([68, 132, 0]) button_30mm_hole_for_snapins(); } module dir_arc_w_30mm() { @@ -245,7 +261,7 @@ module dir_arc_w_30mm() { translate([35+33.5, -12.9, 0]) dir_arc_30mm_button_l(); translate([35+7, 34.5, 0]) dir_arc_30mm_button_l(); // just my guesstimate on this one, but note that this is the same position as sega 2p (just mirrored) - translate([top_plate_x-33.06, 145-19-9-11-19-9-11, 0]) button_30mm_hole(); + translate([top_plate_x-33.06, 145-19-9-11-19-9-11, 0]) button_30mm_hole_for_snapins(); } module dir_arc_w_30mm_plus_one() { @@ -254,7 +270,7 @@ module dir_arc_w_30mm_plus_one() { } module noir_button_p1() { - translate([40, 145, 0]) button_30mm_hole(); + translate([40, 145, 0]) button_30mm_hole_for_snapins(); } module noir_plus_one() { @@ -273,7 +289,7 @@ module noir_plus_one() { } module sega_2p_p1() { - translate([33.06, 145, 0]) button_30mm_hole(); + translate([33.06, 145, 0]) button_30mm_hole_for_snapins(); } module sega_2p_plus_one() {