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() {
cylinder(r=small_button_radius, h=100, $fn=50, center=true);
// 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
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
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);
@ -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
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
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([37, 0, 0]) button_24mm_hole();
translate([40, 0, 0]) button_24mm_hole();
}
module m2_mount_post() {
@ -163,32 +163,15 @@ module levermountholes() {
}
module base_panel() {
difference() {
union() {
cube([panel_x, panel_y, panel_z], center=true);
// add posts that sink into the frame, just to give
// a somewhat more sturdy/tight connection
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();
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();
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();
}
// 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();
}
scale([1.4, 1.4, 0.1]) frame_hex_bolt_hole();
}
module base_bottom_panel() {
@ -240,16 +223,11 @@ 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],
];
points = [ [(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, 0], [-(frame_x/2)+3, -(frame_y/2)+3, 0] ];
hull() {
for (p = top_points) {
translate(p) cylinder(r=3, h=frame_z-panel_z, center=true);
for (p = points) {
translate(p) cylinder(r=3, h=frame_z, center=true);
}
}
// 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();
// 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

View File

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

View File

@ -27,14 +27,11 @@ 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])
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, panel_z/2])
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, panel_z/2])
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

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

View File

@ -11,25 +11,23 @@ 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)-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, 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)-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();
// aux button holes
translate([-frame_x/2+2.5, 0, panel_z/2]) rotate([90, 0, 270])
aux_control_three_button_cluster();
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, 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)-neutrik_panel_thickness-4, -40, 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])
aux_control_three_button_cluster();
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, 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)+neutrik_panel_thickness+4, -40, 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() {
difference() {
hull() {
translate([-44, 0, 0]) neutrik_d_plate();
translate([44, 0, 0]) neutrik_d_plate();
translate([-50, 0, 0]) neutrik_d_plate();
translate([50, 0, 0]) neutrik_d_plate();
}
translate([0, 0, -10]) aux_control_three_button_cluster();
}