Compare commits

..

No commits in common. "f90fc095e04b46073f33681b6cbe94b3ac421256" and "78a43e41bce245f8d4a6f60132d2ce955bbf420d" have entirely different histories.

6 changed files with 42 additions and 72 deletions

View File

@ -31,9 +31,9 @@ module panel_holes() {
module button_24mm_hole() { module button_24mm_hole() {
cylinder(r=small_button_radius, h=100, $fn=50, center=true); cylinder(r=small_button_radius, h=100, $fn=50, center=true);
// carve out space for snap-ins, leave 3mm // carve out space for snap-ins, leave 3mm
// slagcoin has screw-in nut diameter at 29.5mm, 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);
// space for decorative button surround stuff // space for decorative button surround stuff
translate([0, 0, 50]) cylinder(r=small_button_radius*decorative_radius_scale, h=20, $fn=50, center=true); translate([0, 0, 50]) cylinder(r=small_button_radius*decorative_radius_scale, h=20, $fn=50, center=true);
translate([0, 0, 70]) cylinder(r=small_button_radius*jumbo_decorative_radius_scale, h=20, $fn=50, center=true); translate([0, 0, 70]) cylinder(r=small_button_radius*jumbo_decorative_radius_scale, h=20, $fn=50, center=true);
@ -83,14 +83,14 @@ module rocker_20mm_mount() {
// space for a neutrik D mount or 24mm button - Z is to cut the whole inside without affecting panel lip // 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([30.5, 8, frame_z-(panel_z*2)], center=true); cube([36.5, 8, frame_z-(panel_z*2)], center=true);
} }
// bank of three 24mm buttons, commonly on a frame face // bank of three 24mm buttons, commonly on a frame face
module aux_control_three_button_cluster() { module aux_control_three_button_cluster() {
translate([-37, 0, 0]) button_24mm_hole(); translate([-40, 0, 0]) button_24mm_hole();
translate([0, 0, 0]) button_24mm_hole(); translate([0, 0, 0]) button_24mm_hole();
translate([37, 0, 0]) button_24mm_hole(); translate([40, 0, 0]) button_24mm_hole();
} }
module m2_mount_post() { module m2_mount_post() {
@ -163,32 +163,15 @@ module levermountholes() {
} }
module base_panel() { module base_panel() {
difference() { cube([panel_x, panel_y, panel_z], center=true);
union() { translate([panel_to_frame_point_x, panel_to_frame_point_y, -panel_z])
cube([panel_x, panel_y, panel_z], center=true); scale([1.4, 1.4, 0.1]) frame_hex_bolt_hole();
// add posts that sink into the frame, just to give translate([-panel_to_frame_point_x, panel_to_frame_point_y, -panel_z])
// a somewhat more sturdy/tight connection scale([1.4, 1.4, 0.1]) frame_hex_bolt_hole();
translate([panel_to_frame_point_x, panel_to_frame_point_y, -panel_z]) translate([panel_to_frame_point_x, -panel_to_frame_point_y, -panel_z])
scale([1.5, 1.5, 0.1]) frame_hex_bolt_hole(); scale([1.4, 1.4, 0.1]) frame_hex_bolt_hole();
translate([-panel_to_frame_point_x, panel_to_frame_point_y, -panel_z]) translate([-panel_to_frame_point_x, -panel_to_frame_point_y, -panel_z])
scale([1.5, 1.5, 0.1]) frame_hex_bolt_hole(); scale([1.4, 1.4, 0.1]) frame_hex_bolt_hole();
translate([panel_to_frame_point_x, -panel_to_frame_point_y, -panel_z])
scale([1.5, 1.5, 0.1]) frame_hex_bolt_hole();
translate([-panel_to_frame_point_x, -panel_to_frame_point_y, -panel_z])
scale([1.5, 1.5, 0.1]) frame_hex_bolt_hole();
}
// the posts mentioned above need space for the actual hex bolts
// used in connecting to the frame
translate([panel_to_frame_point_x, panel_to_frame_point_y, -panel_z])
scale([1, 1, 0.1]) frame_hex_bolt_hole();
translate([-panel_to_frame_point_x, panel_to_frame_point_y, -panel_z])
scale([1, 1, 0.1]) frame_hex_bolt_hole();
translate([panel_to_frame_point_x, -panel_to_frame_point_y, -panel_z])
scale([1, 1, 0.1]) frame_hex_bolt_hole();
translate([-panel_to_frame_point_x, -panel_to_frame_point_y, -panel_z])
scale([1, 1, 0.1]) frame_hex_bolt_hole();
}
} }
module base_bottom_panel() { module base_bottom_panel() {
@ -240,16 +223,11 @@ module panel_with_raised_overhang() {
module frame_box() { module frame_box() {
difference() { difference() {
top_points = [ points = [ [(frame_x/2)-3, (frame_y/2)-3, 0], [-(frame_x/2)+3, (frame_y/2)-3, 0],
// top part, majority of shape [(frame_x/2)-3, -(frame_y/2)+3, 0], [-(frame_x/2)+3, -(frame_y/2)+3, 0] ];
[(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],
];
hull() { hull() {
for (p = top_points) { for (p = points) {
translate(p) cylinder(r=3, h=frame_z-panel_z, center=true); translate(p) cylinder(r=3, h=frame_z, center=true);
} }
} }
// cut out the middle to make it a box // cut out the middle to make it a box
@ -304,9 +282,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 // 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); 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 // slightly larger holes than the posts in the base_panel

View File

@ -24,13 +24,13 @@ module left_frame() {
frame_cable_routing_hole(); frame_cable_routing_hole();
// aux button holes // aux button holes
translate([-35, 101.5, panel_z/2]) rotate([270, 0, 0]) aux_control_three_button_cluster(); translate([-30, 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([-30, (frame_y/2)-neutrik_panel_thickness-4, 0]) frame_cutout();
translate([-72, (frame_y/2)-neutrik_panel_thickness-4, 0]) frame_cutout(); translate([-70, (frame_y/2)-neutrik_panel_thickness-4, 0]) frame_cutout();
translate([2, (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
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(); rotate([90, 0, 0]) neutrik_d_mount();
translate([frame_center_to_neutrik, (frame_y/2)-neutrik_panel_thickness-4, 0]) translate([frame_center_to_neutrik, (frame_y/2)-neutrik_panel_thickness-4, 0])
frame_cutout(); frame_cutout();

View File

@ -27,14 +27,11 @@ module middle_frame() {
mirror([1, 0, 0]) frame_cable_routing_hole(); mirror([1, 0, 0]) frame_cable_routing_hole();
// neutrik mounts for connector, switches // 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();
rotate([90, 0, 0]) neutrik_d_mount();
translate([0, (frame_y/2)-neutrik_panel_thickness-4, 0]) frame_cutout(); translate([0, (frame_y/2)-neutrik_panel_thickness-4, 0]) frame_cutout();
translate([-40, (frame_y/2)-neutrik_panel_thickness, panel_z/2]) translate([-40, (frame_y/2)-neutrik_panel_thickness, 0]) rotate([90, 0, 0]) neutrik_d_mount();
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-4, 0]) frame_cutout();
translate([40, (frame_y/2)-neutrik_panel_thickness, panel_z/2]) translate([40, (frame_y/2)-neutrik_panel_thickness, 0]) rotate([90, 0, 0]) neutrik_d_mount();
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-4, 0]) frame_cutout();
} }
} }

View File

@ -24,13 +24,13 @@ 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([35, 101.5, panel_z/2]) rotate([270, 0, 0]) aux_control_three_button_cluster(); translate([30, 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([30, (frame_y/2)-neutrik_panel_thickness-4, 0]) frame_cutout();
translate([72, (frame_y/2)-neutrik_panel_thickness-4, 0]) frame_cutout(); translate([70, (frame_y/2)-neutrik_panel_thickness-4, 0]) frame_cutout();
translate([-2, (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
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(); rotate([90, 0, 0]) neutrik_d_mount();
translate([-frame_center_to_neutrik, (frame_y/2)-neutrik_panel_thickness-4, 0]) translate([-frame_center_to_neutrik, (frame_y/2)-neutrik_panel_thickness-4, 0])
frame_cutout(); frame_cutout();

View File

@ -11,25 +11,23 @@ module solo_frame() {
frame(); frame();
// neutrik mounts for connector, switches // 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)-2.5, 0]) rotate([90, 0, 0]) neutrik_d_mount();
translate([0, (frame_y/2)-neutrik_panel_thickness-4, 0]) frame_cutout(); translate([0, (frame_y/2)-neutrik_panel_thickness-4, 0]) frame_cutout();
translate([-40, (frame_y/2)-2.5, panel_z/2]) 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)-neutrik_panel_thickness-4, 0]) frame_cutout();
translate([40, (frame_y/2)-2.5, panel_z/2]) 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)-neutrik_panel_thickness-4, 0]) frame_cutout();
// aux button holes // 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();
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)-neutrik_panel_thickness-4, -37, 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)-neutrik_panel_thickness-4, 37, 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, panel_z/2]) rotate([90, 0, 270]) translate([frame_x/2+2.5, 0, 0]) rotate([90, 0, 270]) aux_control_three_button_cluster();
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)+neutrik_panel_thickness+4, -37, 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)+neutrik_panel_thickness+4, 37, 0]) rotate([0, 0, 90]) frame_cutout(); translate([-(frame_x/2)+neutrik_panel_thickness+4, 40, 0]) rotate([0, 0, 90]) frame_cutout();
} }
} }

View File

@ -10,8 +10,8 @@ use <misc-neutrik-d-plate.scad>
module aux_control_three_button_cluster_decorative_plate() { module aux_control_three_button_cluster_decorative_plate() {
difference() { difference() {
hull() { hull() {
translate([-44, 0, 0]) neutrik_d_plate(); translate([-50, 0, 0]) neutrik_d_plate();
translate([44, 0, 0]) neutrik_d_plate(); translate([50, 0, 0]) neutrik_d_plate();
} }
translate([0, 0, -10]) aux_control_three_button_cluster(); translate([0, 0, -10]) aux_control_three_button_cluster();
} }