standalone frame, with tweaks to the frame as a consequence
* frame width has been reduced in order to leave more space and have sunken buttons somewhat accessible * the cutout for neutrik mounts has been reduced and moved into the holes themselves, to do this more modularly and restore some support
This commit is contained in:
		
							parent
							
								
									a8d02f9229
								
							
						
					
					
						commit
						344de2c84f
					
				@ -49,8 +49,6 @@ This is a living repository, and as such, there are likely issues with the objec
 | 
				
			|||||||
    * Some levers don't have enough clearance in the case.
 | 
					    * 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.
 | 
					    * Buttons with traditional quick connects are a *very* tight fit, you will probably need to bend pins.
 | 
				
			||||||
* The PCB mount position was very tight on the buttons panel; it will probably have to be moved.
 | 
					* The PCB mount position was very tight on the buttons panel; it will probably have to be moved.
 | 
				
			||||||
* Support for the top plate was removed from the frame due to overhang issues, and now the top plate can bow slightly
 | 
					 | 
				
			||||||
  with pressure; a new solution needs to be found.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
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.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										2
									
								
								TODO.md
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								TODO.md
									
									
									
									
									
								
							@ -11,6 +11,4 @@ Notes for "next time".
 | 
				
			|||||||
  adding 5mm to the frame should leave a couple mm for support to get added back
 | 
					  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
 | 
					* 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
 | 
				
			||||||
  hand side
 | 
					  hand side
 | 
				
			||||||
* The panels' connection points could probably be a bit thinner to accommodate more bolts. A 20mm bolt barely clears the
 | 
					 | 
				
			||||||
  two panels and I don't like that kind of bolt connection.
 | 
					 | 
				
			||||||
* Engraving some cosmetic stuff? Or maybe a place to mount other plates?
 | 
					* Engraving some cosmetic stuff? Or maybe a place to mount other plates?
 | 
				
			||||||
 | 
				
			|||||||
@ -50,6 +50,9 @@ top_plate_x = 175;
 | 
				
			|||||||
top_plate_y = 200;
 | 
					top_plate_y = 200;
 | 
				
			||||||
top_plate_z = 5;
 | 
					top_plate_z = 5;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// frame interior that supports the top plates
 | 
				
			||||||
 | 
					panel_support_width = 5;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// neutrik D screw holes
 | 
					// neutrik D screw holes
 | 
				
			||||||
neutrik_d_screw_radius = 1.6 + hole_tolerance;
 | 
					neutrik_d_screw_radius = 1.6 + hole_tolerance;
 | 
				
			||||||
neutrik_d_radius = 12 + hole_tolerance;
 | 
					neutrik_d_radius = 12 + hole_tolerance;
 | 
				
			||||||
@ -84,9 +87,9 @@ module button_24mm_hole() {
 | 
				
			|||||||
module button_24mm_hole_for_snapins() {
 | 
					module button_24mm_hole_for_snapins() {
 | 
				
			||||||
	button_24mm_hole();
 | 
						button_24mm_hole();
 | 
				
			||||||
	// carve out space for snap-ins, leave 3mm
 | 
						// carve out space for snap-ins, leave 3mm
 | 
				
			||||||
	// slagcoin has screw-in nut diameter at 35mm, so radius+3 to leave some space
 | 
						// 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
 | 
						// 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);
 | 
						translate([0, 0, -25]) cylinder(r=small_button_radius+6, h=49, $fn=50, center=true);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
module button_30mm_hole() {
 | 
					module button_30mm_hole() {
 | 
				
			||||||
@ -96,9 +99,9 @@ module button_30mm_hole() {
 | 
				
			|||||||
module button_30mm_hole_for_snapins() {
 | 
					module button_30mm_hole_for_snapins() {
 | 
				
			||||||
	button_30mm_hole();
 | 
						button_30mm_hole();
 | 
				
			||||||
	// carve out space for snap-ins, leave 3mm
 | 
						// carve out space for snap-ins, leave 3mm
 | 
				
			||||||
	// slagcoin has screw-in nut diameter at 36mm, so radius+4 to leave some space
 | 
						// 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
 | 
						// 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);
 | 
						translate([0, 0, -25]) cylinder(r=big_button_radius+6, h=49, $fn=50, center=true);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
module frame_hex_bolt_hole() {
 | 
					module frame_hex_bolt_hole() {
 | 
				
			||||||
@ -121,6 +124,7 @@ 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();
 | 
				
			||||||
 | 
						translate([0, 0, 25]) cube([32, 37, 50], center=true);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
module m3_mount_post() {
 | 
					module m3_mount_post() {
 | 
				
			||||||
@ -182,7 +186,7 @@ module base_topplate_with_raised_overhang() {
 | 
				
			|||||||
	// make a frame out of the top plate (and keep the main plate on the center plane)
 | 
						// make a frame out of the top plate (and keep the main plate on the center plane)
 | 
				
			||||||
	translate([0, 0, -5]) difference() {
 | 
						translate([0, 0, -5]) difference() {
 | 
				
			||||||
		base_topplate();
 | 
							base_topplate();
 | 
				
			||||||
		cube([top_plate_x-10, top_plate_y-10, top_plate_z*2], center=true);
 | 
							cube([top_plate_x-(panel_support_width*2), top_plate_y-(panel_support_width*2), top_plate_z*2], center=true);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	translate([(top_plate_x/2)-10, (top_plate_y/2)-10, -2.5]) resize([0, 0, 10]) frame_mount_column();
 | 
						translate([(top_plate_x/2)-10, (top_plate_y/2)-10, -2.5]) resize([0, 0, 10]) frame_mount_column();
 | 
				
			||||||
	translate([-((top_plate_x/2)-10), (top_plate_y/2)-10, -2.5]) resize([0, 0, 10]) frame_mount_column();
 | 
						translate([-((top_plate_x/2)-10), (top_plate_y/2)-10, -2.5]) resize([0, 0, 10]) frame_mount_column();
 | 
				
			||||||
@ -210,7 +214,7 @@ module topplate_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);
 | 
				
			||||||
		cube([frame_x-26, frame_y-26, frame_z+5], center=true);
 | 
							cube([frame_x-(panel_support_width*2), frame_y-(panel_support_width*2), frame_z+5], center=true);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -262,9 +266,6 @@ module frame() {
 | 
				
			|||||||
			frame_hex_bolt_hole();
 | 
								frame_hex_bolt_hole();
 | 
				
			||||||
		translate([-((top_plate_x/2)-10), -((top_plate_y/2)-10), 0])
 | 
							translate([-((top_plate_x/2)-10), -((top_plate_y/2)-10), 0])
 | 
				
			||||||
			frame_hex_bolt_hole();
 | 
								frame_hex_bolt_hole();
 | 
				
			||||||
 | 
					 | 
				
			||||||
		// thin up the mount point to accommodate snap-ins, ethercon adapter
 | 
					 | 
				
			||||||
		translate([0, 10, 10]) cube([120, 180, 60], center=true);
 | 
					 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										46
									
								
								src/frame-solo.scad
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										46
									
								
								src/frame-solo.scad
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,46 @@
 | 
				
			|||||||
 | 
					/* 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 <components.scad>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					module solo_frame() {
 | 
				
			||||||
 | 
						difference() {
 | 
				
			||||||
 | 
							rotate([0, 0, 90]) frame();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							// neutrik mounts for connector, switches
 | 
				
			||||||
 | 
							translate([0, (frame_x/2)-2.5, 0]) rotate([90, 0, 0]) neutrik_d_mount();
 | 
				
			||||||
 | 
							translate([-40, (frame_x/2)-2.5, 0]) rotate([270, 0, 0]) button_24mm_hole_for_snapins();
 | 
				
			||||||
 | 
							translate([40, (frame_x/2)-2.5, 0]) rotate([270, 0, 0]) button_24mm_hole_for_snapins();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							// aux button holes
 | 
				
			||||||
 | 
							translate([-frame_y/2+2.5, 0, 0]) rotate([0, 0, 270])
 | 
				
			||||||
 | 
								translate([0, 0, 0]) rotate([90, 0, 0]) button_24mm_hole_for_snapins();
 | 
				
			||||||
 | 
							translate([-frame_y/2+2.5, 0, 0]) rotate([0, 0, 270])
 | 
				
			||||||
 | 
								translate([-40, 0, 0]) rotate([90, 0, 0]) button_24mm_hole_for_snapins();
 | 
				
			||||||
 | 
							translate([-frame_y/2+2.5, 0, 0]) rotate([0, 0, 270])
 | 
				
			||||||
 | 
								translate([40, 0, 0]) rotate([90, 0, 0]) button_24mm_hole_for_snapins();
 | 
				
			||||||
 | 
							translate([frame_y/2-2.5, 0, 0]) rotate([0, 0, 90])
 | 
				
			||||||
 | 
								translate([0, 0, 0]) rotate([90, 0, 0]) button_24mm_hole_for_snapins();
 | 
				
			||||||
 | 
							translate([frame_y/2-2.5, 0, 0]) rotate([0, 0, 90])
 | 
				
			||||||
 | 
								translate([-40, 0, 0]) rotate([90, 0, 0]) button_24mm_hole_for_snapins();
 | 
				
			||||||
 | 
							translate([frame_y/2-2.5, 0, 0]) rotate([0, 0, 90])
 | 
				
			||||||
 | 
								translate([40, 0, 0]) rotate([90, 0, 0]) button_24mm_hole_for_snapins();
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					solo_frame();
 | 
				
			||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user