frames: re-bevel the bottom and top, center buttons
this undoes my work to simplify the bottom of the frame and move button holes in the frames accordingly. the top and bottom are now symmetrical in terms of their bevel, and the buttons are centered. this will make the print of the frame difficult again, but I have an upcoming change to modularize the frame walls and that will print far better, so I'm thinking this is what I want. testing ongoing This reverts commited031b9308
. This reverts commitf90fc095e0
. Signed-off-by: Brian S. Stephan <bss@incorporeal.org>
This commit is contained in:
parent
365faebfcb
commit
390df34f2b
@ -83,7 +83,7 @@ module rocker_20mm_mount() {
|
||||
|
||||
// space for a neutrik D mount or 24mm button - Z is to cut the whole inside without affecting panel lip
|
||||
module frame_cutout() {
|
||||
cube([30.5, 8, frame_z-(panel_z*2)-2], center=true);
|
||||
cube([30.5, 8, frame_z-(panel_z*2)], center=true);
|
||||
}
|
||||
|
||||
// bank of three 24mm buttons, commonly on a frame face
|
||||
@ -244,15 +244,35 @@ module panel_with_raised_overhang() {
|
||||
module frame_box() {
|
||||
difference() {
|
||||
top_points = [
|
||||
// top part, majority of shape
|
||||
[(frame_x/2)-3, (frame_y/2)-3, panel_z/2],
|
||||
[-(frame_x/2)+3, (frame_y/2)-3, panel_z/2],
|
||||
[(frame_x/2)-3, -(frame_y/2)+3, panel_z/2],
|
||||
[-(frame_x/2)+3, -(frame_y/2)+3, panel_z/2],
|
||||
// top bevel
|
||||
[(frame_x/2)-4, (frame_y/2)-4, frame_z/2-frame_bottom_bevel_height/2],
|
||||
[-(frame_x/2)+4, (frame_y/2)-4, frame_z/2-frame_bottom_bevel_height/2],
|
||||
[(frame_x/2)-4, -(frame_y/2)+4, frame_z/2-frame_bottom_bevel_height/2],
|
||||
[-(frame_x/2)+4, -(frame_y/2)+4, frame_z/2-frame_bottom_bevel_height/2],
|
||||
];
|
||||
base_points = [
|
||||
// majority of shape
|
||||
[(frame_x/2)-2, (frame_y/2)-2, 0],
|
||||
[-(frame_x/2)+2, (frame_y/2)-2, 0],
|
||||
[(frame_x/2)-2, -(frame_y/2)+2, 0],
|
||||
[-(frame_x/2)+2, -(frame_y/2)+2, 0],
|
||||
];
|
||||
bottom_points = [
|
||||
// bottom bevel
|
||||
[(frame_x/2)-4, (frame_y/2)-4, -frame_z/2+frame_bottom_bevel_height/2],
|
||||
[-(frame_x/2)+4, (frame_y/2)-4, -frame_z/2+frame_bottom_bevel_height/2],
|
||||
[(frame_x/2)-4, -(frame_y/2)+4, -frame_z/2+frame_bottom_bevel_height/2],
|
||||
[-(frame_x/2)+4, -(frame_y/2)+4, -frame_z/2+frame_bottom_bevel_height/2],
|
||||
];
|
||||
hull() {
|
||||
for (p = top_points) {
|
||||
translate(p) cylinder(r=3, h=frame_z-panel_z, center=true);
|
||||
translate(p) cylinder(r=2, h=frame_bottom_bevel_height, center=true);
|
||||
}
|
||||
for (p = base_points) {
|
||||
translate(p) cylinder(r=2, h=frame_z-(frame_bottom_bevel_height*2), center=true);
|
||||
}
|
||||
for (p = bottom_points) {
|
||||
translate(p) cylinder(r=2, h=frame_bottom_bevel_height, center=true);
|
||||
}
|
||||
}
|
||||
// cut out the middle to make it a box
|
||||
@ -306,12 +326,6 @@ module frame() {
|
||||
translate([panel_to_frame_point_x, -panel_to_frame_point_y, 0]) frame_hex_bolt_hole();
|
||||
translate([-panel_to_frame_point_x, -panel_to_frame_point_y, 0]) frame_hex_bolt_hole();
|
||||
|
||||
// comfort bevel
|
||||
translate([frame_x/2, 0, frame_z/2]) rotate([0, 45, 0]) cube([4, frame_y+0.01, 4], center=true);
|
||||
translate([-frame_x/2, 0, frame_z/2]) rotate([0, 45, 0]) cube([4, frame_y+0.01, 4], center=true);
|
||||
translate([0, frame_y/2, frame_z/2]) rotate([45, 0, 0]) cube([frame_x+0.01, 4, 4], center=true);
|
||||
translate([0, -frame_y/2, frame_z/2]) rotate([45, 0, 0]) cube([frame_x+0.01, 4, 4], center=true);
|
||||
|
||||
// slightly larger holes than the posts in the base_panel
|
||||
translate([panel_to_frame_point_x, panel_to_frame_point_y, frame_z/2-panel_z-5])
|
||||
scale([1.55, 1.55, 0.2]) frame_hex_bolt_hole();
|
||||
|
@ -24,15 +24,15 @@ module left_frame() {
|
||||
frame_cable_routing_hole();
|
||||
|
||||
// aux button holes
|
||||
translate([-35, 101.5, panel_z/2]) rotate([270, 0, 0]) aux_control_three_button_cluster();
|
||||
translate([-35, (frame_y/2)-neutrik_panel_thickness-4, 1]) frame_cutout();
|
||||
translate([-72, (frame_y/2)-neutrik_panel_thickness-4, 1]) frame_cutout();
|
||||
translate([2, (frame_y/2)-neutrik_panel_thickness-4, 1]) frame_cutout();
|
||||
translate([-35, 101.5, 0]) rotate([270, 0, 0]) aux_control_three_button_cluster();
|
||||
translate([-35, (frame_y/2)-neutrik_panel_thickness-4, 0]) frame_cutout();
|
||||
translate([-72, (frame_y/2)-neutrik_panel_thickness-4, 0]) frame_cutout();
|
||||
translate([2, (frame_y/2)-neutrik_panel_thickness-4, 0]) frame_cutout();
|
||||
|
||||
// neutrix button hole
|
||||
translate([frame_center_to_neutrik, (frame_y/2)-neutrik_panel_thickness, panel_z/2])
|
||||
translate([frame_center_to_neutrik, (frame_y/2)-neutrik_panel_thickness, 0])
|
||||
rotate([90, 0, 0]) neutrik_d_mount();
|
||||
translate([frame_center_to_neutrik, (frame_y/2)-neutrik_panel_thickness-4, 1])
|
||||
translate([frame_center_to_neutrik, (frame_y/2)-neutrik_panel_thickness-4, 0])
|
||||
frame_cutout();
|
||||
}
|
||||
}
|
||||
|
@ -27,15 +27,15 @@ module middle_frame() {
|
||||
mirror([1, 0, 0]) frame_cable_routing_hole();
|
||||
|
||||
// neutrik mounts for connector, switches
|
||||
translate([0, (frame_y/2)-neutrik_panel_thickness, panel_z/2])
|
||||
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, 1]) frame_cutout();
|
||||
translate([-40, (frame_y/2)-neutrik_panel_thickness, panel_z/2])
|
||||
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-4, 1]) frame_cutout();
|
||||
translate([40, (frame_y/2)-neutrik_panel_thickness, panel_z/2])
|
||||
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-4, 1]) frame_cutout();
|
||||
translate([40, (frame_y/2)-neutrik_panel_thickness-4, 0]) frame_cutout();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -24,15 +24,15 @@ module right_frame() {
|
||||
mirror([1, 0, 0]) frame_cable_routing_hole();
|
||||
|
||||
// aux button holes
|
||||
translate([35, 101.5, panel_z/2]) rotate([270, 0, 0]) aux_control_three_button_cluster();
|
||||
translate([35, (frame_y/2)-neutrik_panel_thickness-4, 1]) frame_cutout();
|
||||
translate([72, (frame_y/2)-neutrik_panel_thickness-4, 1]) frame_cutout();
|
||||
translate([-2, (frame_y/2)-neutrik_panel_thickness-4, 1]) frame_cutout();
|
||||
translate([35, 101.5, 0]) rotate([270, 0, 0]) aux_control_three_button_cluster();
|
||||
translate([35, (frame_y/2)-neutrik_panel_thickness-4, 0]) frame_cutout();
|
||||
translate([72, (frame_y/2)-neutrik_panel_thickness-4, 0]) frame_cutout();
|
||||
translate([-2, (frame_y/2)-neutrik_panel_thickness-4, 0]) frame_cutout();
|
||||
|
||||
// neutrix button hole
|
||||
translate([-frame_center_to_neutrik, (frame_y/2)-neutrik_panel_thickness, panel_z/2])
|
||||
translate([-frame_center_to_neutrik, (frame_y/2)-neutrik_panel_thickness, 0])
|
||||
rotate([90, 0, 0]) neutrik_d_mount();
|
||||
translate([-frame_center_to_neutrik, (frame_y/2)-neutrik_panel_thickness-4, 1])
|
||||
translate([-frame_center_to_neutrik, (frame_y/2)-neutrik_panel_thickness-4, 0])
|
||||
frame_cutout();
|
||||
}
|
||||
}
|
||||
|
@ -11,25 +11,25 @@ module solo_frame() {
|
||||
frame();
|
||||
|
||||
// neutrik mounts for connector, switches
|
||||
translate([0, (frame_y/2)-2.5, panel_z/2]) rotate([90, 0, 0]) neutrik_d_mount();
|
||||
translate([0, (frame_y/2)-neutrik_panel_thickness-4, 1]) frame_cutout();
|
||||
translate([-40, (frame_y/2)-2.5, panel_z/2]) rotate([90, 0, 0]) neutrik_d_mount();
|
||||
translate([-40, (frame_y/2)-neutrik_panel_thickness-4, 1]) frame_cutout();
|
||||
translate([40, (frame_y/2)-2.5, panel_z/2]) rotate([90, 0, 0]) neutrik_d_mount();
|
||||
translate([40, (frame_y/2)-neutrik_panel_thickness-4, 1]) frame_cutout();
|
||||
translate([0, (frame_y/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_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
|
||||
translate([-frame_x/2+2.5, 0, panel_z/2]) rotate([90, 0, 270])
|
||||
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, 1]) rotate([0, 0, 90]) frame_cutout();
|
||||
translate([(frame_x/2)-neutrik_panel_thickness-4, -37, 1]) rotate([0, 0, 90]) frame_cutout();
|
||||
translate([(frame_x/2)-neutrik_panel_thickness-4, 37, 1]) 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)-neutrik_panel_thickness-4, -37, 0]) rotate([0, 0, 90]) frame_cutout();
|
||||
translate([(frame_x/2)-neutrik_panel_thickness-4, 37, 0]) rotate([0, 0, 90]) frame_cutout();
|
||||
|
||||
translate([frame_x/2+2.5, 0, panel_z/2]) rotate([90, 0, 270])
|
||||
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, 1]) rotate([0, 0, 90]) frame_cutout();
|
||||
translate([-(frame_x/2)+neutrik_panel_thickness+4, -37, 1]) rotate([0, 0, 90]) frame_cutout();
|
||||
translate([-(frame_x/2)+neutrik_panel_thickness+4, 37, 1]) 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)+neutrik_panel_thickness+4, -37, 0]) rotate([0, 0, 90]) frame_cutout();
|
||||
translate([-(frame_x/2)+neutrik_panel_thickness+4, 37, 0]) rotate([0, 0, 90]) frame_cutout();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -37,6 +37,10 @@ frame_x = 233;
|
||||
frame_y = 208;
|
||||
frame_z = 57;
|
||||
|
||||
// this sinks the bottom of the frame inward a bit, and is used to math out two shapes
|
||||
// when creating the frame box
|
||||
frame_bottom_bevel_height = 6;
|
||||
|
||||
frame_center_to_neutrik = 70;
|
||||
|
||||
// depth of the "lip" of the frame that the top plate sets into/supports the overhang
|
||||
|
Loading…
Reference in New Issue
Block a user