Compare commits

...

3 Commits

5 changed files with 45 additions and 16 deletions

View File

@ -41,7 +41,14 @@ What you'll need beyond these objects:
* Buttons and levers as desired * Buttons and levers as desired
* Wiring as required * Wiring as required
### Issues and Limitations ## Rough Costs
This is a rough estimate of the cost to produce one of these sticks. Filament masses from Bambu Studio estimates, using
Bambu PLA Basic.
* Left/right frame: 141.84g (~$3.54 USD as of 2023-09-12)
## Issues and Limitations
This is a living repository, and as such, there are likely issues with the objects, known or otherwise. This is a living repository, and as such, there are likely issues with the objects, known or otherwise.
These issues may be fixed in the future; see `TODO.md` for details. These issues may be fixed in the future; see `TODO.md` for details.

View File

@ -148,8 +148,11 @@ module neutrik_d_mount() {
neutrik_d_hole(); neutrik_d_hole();
translate([9.5, 12, 0]) neutrik_d_screw_hole(); translate([9.5, 12, 0]) neutrik_d_screw_hole();
translate([-9.5, -12, 0]) neutrik_d_screw_hole(); translate([-9.5, -12, 0]) neutrik_d_screw_hole();
// clearance for cutting space out of e.g. frame wall }
translate([0, 0, 25]) cube([32, 40, 50], center=true);
// space for a neutrik D mount or 24mm button
module frame_cutout() {
cube([36.5, 8, 40], center=true);
} }
module m3_mount_post() { module m3_mount_post() {

View File

@ -36,9 +36,16 @@ module left_frame() {
translate([0, 0, -top_plate_z/2]) frame_cable_routing_hole(); translate([0, 0, -top_plate_z/2]) frame_cable_routing_hole();
// aux button holes // aux button holes
translate([0, 101.5, 0]) rotate([270, 0, 0]) button_24mm_hole(); translate([-30, 101.5, 0]) rotate([270, 0, 0]) button_24mm_hole();
translate([-40, 101.5, 0]) rotate([270, 0, 0]) button_24mm_hole(); translate([-30, (frame_y/2)-neutrik_panel_thickness-4, 0]) frame_cutout();
translate([40, 101.5, 0]) rotate([270, 0, 0]) button_24mm_hole(); 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([10, 101.5, 0]) rotate([270, 0, 0]) button_24mm_hole();
translate([10, (frame_y/2)-neutrik_panel_thickness-4, 0]) frame_cutout();
// neutrix button hole
translate([70, (frame_y/2)-neutrik_panel_thickness, 0]) rotate([90, 0, 0]) neutrik_d_mount();
translate([70, (frame_y/2)-neutrik_panel_thickness-4, 0]) frame_cutout();
} }
} }

View File

@ -40,8 +40,11 @@ module middle_frame() {
// neutrik mounts for connector, switches // neutrik mounts for connector, switches
translate([0, (frame_y/2)-neutrik_panel_thickness, 0]) rotate([90, 0, 0]) neutrik_d_mount(); translate([0, (frame_y/2)-neutrik_panel_thickness, 0]) rotate([90, 0, 0]) neutrik_d_mount();
translate([0, (frame_y/2)-neutrik_panel_thickness-4, 0]) frame_cutout();
translate([-40, (frame_y/2)-neutrik_panel_thickness, 0]) rotate([90, 0, 0]) neutrik_d_mount(); translate([-40, (frame_y/2)-neutrik_panel_thickness, 0]) rotate([90, 0, 0]) neutrik_d_mount();
translate([-40, (frame_y/2)-neutrik_panel_thickness-4, 0]) frame_cutout();
translate([40, (frame_y/2)-neutrik_panel_thickness, 0]) rotate([90, 0, 0]) neutrik_d_mount(); translate([40, (frame_y/2)-neutrik_panel_thickness, 0]) rotate([90, 0, 0]) neutrik_d_mount();
translate([40, (frame_y/2)-neutrik_panel_thickness-4, 0]) frame_cutout();
} }
} }

View File

@ -20,26 +20,35 @@ include <components.scad>
module solo_frame() { module solo_frame() {
difference() { difference() {
rotate([0, 0, 90]) frame(); frame();
// neutrik mounts for connector, switches // neutrik mounts for connector, switches
translate([0, (frame_x/2)-2.5, 0]) rotate([90, 0, 0]) neutrik_d_mount(); translate([0, (frame_y/2)-2.5, 0]) rotate([90, 0, 0]) neutrik_d_mount();
translate([-40, (frame_x/2)-2.5, 0]) rotate([90, 0, 0]) neutrik_d_mount(); translate([0, (frame_y/2)-neutrik_panel_thickness-4, 0]) frame_cutout();
translate([40, (frame_x/2)-2.5, 0]) rotate([90, 0, 0]) neutrik_d_mount(); translate([-40, (frame_y/2)-2.5, 0]) rotate([90, 0, 0]) neutrik_d_mount();
translate([-40, (frame_y/2)-neutrik_panel_thickness-4, 0]) frame_cutout();
translate([40, (frame_y/2)-2.5, 0]) rotate([90, 0, 0]) neutrik_d_mount();
translate([40, (frame_y/2)-neutrik_panel_thickness-4, 0]) frame_cutout();
// aux button holes // aux button holes
translate([-frame_y/2+2.5, 0, 0]) rotate([0, 0, 270]) translate([-frame_x/2+2.5, 0, 0]) rotate([0, 0, 270])
translate([0, 0, 0]) rotate([90, 0, 0]) button_24mm_hole(); translate([0, 0, 0]) rotate([90, 0, 0]) button_24mm_hole();
translate([-frame_y/2+2.5, 0, 0]) rotate([0, 0, 270]) 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([-40, 0, 0]) rotate([90, 0, 0]) button_24mm_hole();
translate([-frame_y/2+2.5, 0, 0]) rotate([0, 0, 270]) 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([40, 0, 0]) rotate([90, 0, 0]) button_24mm_hole();
translate([frame_y/2-2.5, 0, 0]) rotate([0, 0, 90]) 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([0, 0, 0]) rotate([90, 0, 0]) button_24mm_hole();
translate([frame_y/2-2.5, 0, 0]) rotate([0, 0, 90]) 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([-40, 0, 0]) rotate([90, 0, 0]) button_24mm_hole();
translate([frame_y/2-2.5, 0, 0]) rotate([0, 0, 90]) 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([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();
} }
} }