Compare commits
No commits in common. "2960151d9816e2777f4c17c45ef8a6085e85923d" and "7a71c8cd81ee5f6d63e529764bc31ac96d5b34ac" have entirely different histories.
2960151d98
...
7a71c8cd81
@ -43,28 +43,13 @@ lever_mount_y = 95;
|
|||||||
lever_mount_z = 2;
|
lever_mount_z = 2;
|
||||||
|
|
||||||
// case dimensions
|
// case dimensions
|
||||||
// base frame box. reminder: top of inside (including mounts) is chopped by top_plate_z for plates
|
|
||||||
frame_x = 183;
|
frame_x = 183;
|
||||||
frame_y = 208;
|
frame_y = 208;
|
||||||
frame_z = 50;
|
frame_z = 50; // reminder: inside (including mounts) is chopped by top_plate_z for plates
|
||||||
|
top_plate_x = 175;
|
||||||
// depth of the "lip" of the frame that the top plate sets into/supports the overhang
|
top_plate_y = 200;
|
||||||
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;
|
|
||||||
top_plate_z = 5;
|
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
|
// frame interior that supports the top plates
|
||||||
panel_support_width = 5;
|
panel_support_width = 5;
|
||||||
|
|
||||||
@ -88,15 +73,15 @@ module m4_hole_countersink() {
|
|||||||
|
|
||||||
module top_plate_holes() {
|
module top_plate_holes() {
|
||||||
// holes for mount bolts
|
// holes for mount bolts
|
||||||
translate([plate_to_frame_point_x, plate_to_frame_point_y, 0]) m4_hole();
|
translate([77.5, 90, 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([-plate_to_frame_point_x, plate_to_frame_point_y, 0]) m4_hole();
|
translate([-77.5, 90, 0]) m4_hole();
|
||||||
translate([-plate_to_frame_point_x, -plate_to_frame_point_y, 0]) m4_hole();
|
translate([-77.5, -90, 0]) m4_hole();
|
||||||
// holes for mount bolt countersinks
|
// holes for mount bolt countersinks
|
||||||
translate([plate_to_frame_point_x, plate_to_frame_point_y, 2]) m4_hole_countersink();
|
translate([77.5, 90, 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([-plate_to_frame_point_x, plate_to_frame_point_y, 2]) m4_hole_countersink();
|
translate([-77.5, 90, 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();
|
||||||
}
|
}
|
||||||
|
|
||||||
// button hole, with extra wide bits for various uses (cutting out space
|
// button hole, with extra wide bits for various uses (cutting out space
|
||||||
@ -203,7 +188,7 @@ module base_topplate() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
module overhang_plate() {
|
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
|
// 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();
|
base_topplate();
|
||||||
cube([top_plate_x-(panel_support_width*2), top_plate_y-(panel_support_width*2), 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([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([-(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([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([-(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();
|
||||||
overhang_plate();
|
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() {
|
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);
|
||||||
@ -278,20 +259,28 @@ module frame_cable_routing_hole() {
|
|||||||
|
|
||||||
module base_frame() {
|
module base_frame() {
|
||||||
frame_box();
|
frame_box();
|
||||||
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])
|
||||||
translate([-plate_to_frame_point_x, plate_to_frame_point_y, 0]) frame_mount_column();
|
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])
|
||||||
translate([-plate_to_frame_point_x, -(plate_to_frame_point_y), 0]) frame_mount_column();
|
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() {
|
module frame() {
|
||||||
difference() {
|
difference() {
|
||||||
base_frame();
|
base_frame();
|
||||||
translate([0, 0, frame_z/2]) scale([1, 1, 2]) base_topplate();
|
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([(top_plate_x/2)-10, (top_plate_y/2)-10, 0])
|
||||||
translate([-plate_to_frame_point_x, plate_to_frame_point_y, 0]) frame_hex_bolt_hole();
|
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])
|
||||||
translate([-plate_to_frame_point_x, -plate_to_frame_point_y, 0]) frame_hex_bolt_hole();
|
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();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -20,7 +20,7 @@ include <components.scad>
|
|||||||
|
|
||||||
module dir_arc_24mm_6_button_panel() {
|
module dir_arc_24mm_6_button_panel() {
|
||||||
difference() {
|
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();
|
translate([-top_plate_x+105, -top_plate_y/2+135, 0]) dir_arc_24mm_6_button();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -17,10 +17,11 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
include <components.scad>
|
include <components.scad>
|
||||||
|
use <top-panel-solo-dir_arc-24mm-6-button.scad>
|
||||||
|
|
||||||
module dir_arc_plus_w_24mm_8_button_panel() {
|
module dir_arc_plus_w_24mm_8_button_panel() {
|
||||||
difference() {
|
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([-top_plate_x+105, -top_plate_y/2+123, 0]) dir_arc_24mm_8_button_compressed();
|
||||||
translate([-34.5, 51, 0]) button_24mm_hole();
|
translate([-34.5, 51, 0]) button_24mm_hole();
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user