Compare commits

..

No commits in common. "2960151d9816e2777f4c17c45ef8a6085e85923d" and "7a71c8cd81ee5f6d63e529764bc31ac96d5b34ac" have entirely different histories.

3 changed files with 35 additions and 45 deletions

View File

@ -43,28 +43,13 @@ lever_mount_y = 95;
lever_mount_z = 2;
// case dimensions
// base frame box. reminder: top of inside (including mounts) is chopped by top_plate_z for plates
frame_x = 183;
frame_y = 208;
frame_z = 50;
// depth of the "lip" of the frame that the top plate sets into/supports the overhang
frame_wall = 8;
// top plate, which can either be the whole plate ("inset") or the mounting frame for a plate that overhangs
top_plate_x = frame_x - frame_wall;
top_plate_y = frame_y - frame_wall;
frame_z = 50; // reminder: inside (including mounts) is chopped by top_plate_z for plates
top_plate_x = 175;
top_plate_y = 200;
top_plate_z = 5;
// how much the top plate x/y is expanded to overhang the frame
// note that this is relative to the top plate (so the wall is added back)
top_plate_overhang_amount = frame_wall + 17;
overhang_top_plate_x = top_plate_x + top_plate_overhang_amount;
overhang_top_plate_y = top_plate_y + top_plate_overhang_amount;
plate_to_frame_point_x = (top_plate_x/2)-10;
plate_to_frame_point_y = (top_plate_y/2)-10;
// frame interior that supports the top plates
panel_support_width = 5;
@ -88,15 +73,15 @@ module m4_hole_countersink() {
module top_plate_holes() {
// holes for mount bolts
translate([plate_to_frame_point_x, plate_to_frame_point_y, 0]) m4_hole();
translate([plate_to_frame_point_x, -plate_to_frame_point_y, 0]) m4_hole();
translate([-plate_to_frame_point_x, plate_to_frame_point_y, 0]) m4_hole();
translate([-plate_to_frame_point_x, -plate_to_frame_point_y, 0]) m4_hole();
translate([77.5, 90, 0]) m4_hole();
translate([77.5, -90, 0]) m4_hole();
translate([-77.5, 90, 0]) m4_hole();
translate([-77.5, -90, 0]) m4_hole();
// holes for mount bolt countersinks
translate([plate_to_frame_point_x, plate_to_frame_point_y, 2]) m4_hole_countersink();
translate([plate_to_frame_point_x, -plate_to_frame_point_y, 2]) m4_hole_countersink();
translate([-plate_to_frame_point_x, plate_to_frame_point_y, 2]) m4_hole_countersink();
translate([-plate_to_frame_point_x, -plate_to_frame_point_y, 2]) m4_hole_countersink();
translate([77.5, 90, 2]) m4_hole_countersink();
translate([77.5, -90, 2]) m4_hole_countersink();
translate([-77.5, 90, 2]) m4_hole_countersink();
translate([-77.5, -90, 2]) m4_hole_countersink();
}
// button hole, with extra wide bits for various uses (cutting out space
@ -203,7 +188,7 @@ module base_topplate() {
}
module overhang_plate() {
roundedcube([overhang_top_plate_x, overhang_top_plate_y, top_plate_z], center=true, radius=1);
roundedcube([top_plate_x+25, top_plate_y+25, top_plate_z], center=true, radius=1);
}
// this takes the base_topplate and makes it a small frame, putting a larger top plate
@ -213,10 +198,10 @@ module base_top_plate_with_raised_overhang() {
base_topplate();
cube([top_plate_x-(panel_support_width*2), top_plate_y-(panel_support_width*2), top_plate_z*2], center=true);
}
translate([plate_to_frame_point_x, plate_to_frame_point_y, -2.5]) resize([0, 0, 10]) frame_mount_column();
translate([-(plate_to_frame_point_x), plate_to_frame_point_y, -2.5]) resize([0, 0, 10]) frame_mount_column();
translate([plate_to_frame_point_x, -(plate_to_frame_point_y), -2.5]) resize([0, 0, 10]) frame_mount_column();
translate([-(plate_to_frame_point_x), -(plate_to_frame_point_y), -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();
translate([-((top_plate_x/2)-10), -((top_plate_y/2)-10), -2.5]) resize([0, 0, 10]) frame_mount_column();
overhang_plate();
}
@ -241,10 +226,6 @@ module top_plate_with_raised_overhang() {
}
}
module top_plate_with_raised_overhang_long() {
rotate([0, 0, -90]) top_plate_with_raised_overhang();
}
module frame_box() {
difference() {
roundedcube([frame_x, frame_y, frame_z], center=true, radius=3);
@ -278,20 +259,28 @@ module frame_cable_routing_hole() {
module base_frame() {
frame_box();
translate([plate_to_frame_point_x, plate_to_frame_point_y, 0]) frame_mount_column();
translate([-plate_to_frame_point_x, plate_to_frame_point_y, 0]) frame_mount_column();
translate([plate_to_frame_point_x, -(plate_to_frame_point_y), 0]) frame_mount_column();
translate([-plate_to_frame_point_x, -(plate_to_frame_point_y), 0]) frame_mount_column();
translate([(top_plate_x/2)-10, (top_plate_y/2)-10, 0])
frame_mount_column();
translate([-((top_plate_x/2)-10), (top_plate_y/2)-10, 0])
frame_mount_column();
translate([(top_plate_x/2)-10, -((top_plate_y/2)-10), 0])
frame_mount_column();
translate([-((top_plate_x/2)-10), -((top_plate_y/2)-10), 0])
frame_mount_column();
}
module frame() {
difference() {
base_frame();
translate([0, 0, frame_z/2]) scale([1, 1, 2]) base_topplate();
translate([plate_to_frame_point_x, plate_to_frame_point_y, 0]) frame_hex_bolt_hole();
translate([-plate_to_frame_point_x, plate_to_frame_point_y, 0]) frame_hex_bolt_hole();
translate([plate_to_frame_point_x, -plate_to_frame_point_y, 0]) frame_hex_bolt_hole();
translate([-plate_to_frame_point_x, -plate_to_frame_point_y, 0]) frame_hex_bolt_hole();
translate([(top_plate_x/2)-10, (top_plate_y/2)-10, 0])
frame_hex_bolt_hole();
translate([-((top_plate_x/2)-10), (top_plate_y/2)-10, 0])
frame_hex_bolt_hole();
translate([(top_plate_x/2)-10, -((top_plate_y/2)-10), 0])
frame_hex_bolt_hole();
translate([-((top_plate_x/2)-10), -((top_plate_y/2)-10), 0])
frame_hex_bolt_hole();
}
}

View File

@ -20,7 +20,7 @@ include <components.scad>
module dir_arc_24mm_6_button_panel() {
difference() {
top_plate_with_raised_overhang_long();
rotate([0, 0, -90]) top_plate_with_raised_overhang();
translate([-top_plate_x+105, -top_plate_y/2+135, 0]) dir_arc_24mm_6_button();
}
}

View File

@ -17,10 +17,11 @@
*/
include <components.scad>
use <top-panel-solo-dir_arc-24mm-6-button.scad>
module dir_arc_plus_w_24mm_8_button_panel() {
difference() {
top_plate_with_raised_overhang_long();
rotate([0, 0, -90]) top_plate_with_raised_overhang();
translate([-top_plate_x+105, -top_plate_y/2+123, 0]) dir_arc_24mm_8_button_compressed();
translate([-34.5, 51, 0]) button_24mm_hole();
}