cleanup + case keyboard60

This commit is contained in:
2026-03-27 08:52:27 +01:00
parent 3e14070557
commit 3f20aee70d
2 changed files with 204 additions and 7 deletions
+3 -7
View File
@@ -98,7 +98,6 @@ module support_pillars() {
col_gaps = [3, 6, 8, 11];
row_gaps = [1, 2, 3];
// Plate start positions in case coordinates
plate_start_x = (case_w - plate_w)/2 - 2;
plate_start_y = (case_h - (plate_h * cos(case_angle)))/2 - 2 * cos(case_angle);
@@ -106,10 +105,9 @@ module support_pillars() {
union() {
for (c = col_gaps) {
for (r = row_gaps) {
// X is simple: plate offset + margin + (gap index * spacing)
x_pos = plate_start_x + margin + (c * switch_spacing);
// Y must account for the tilt contraction (cos)
y_pos_flat = margin + (r * switch_spacing);
y_pos = plate_start_y + (y_pos_flat * cos(case_angle));
@@ -119,11 +117,9 @@ module support_pillars() {
}
}
// Clipping volume: Vertical space from floor up to the underside of the tilted plate
// This ensures the pillars are vertical but have an angled top surface
translate([0, plate_start_y, front_height - recess_depth])
rotate([case_angle, 0, 0])
translate([-50, 0, -500]) // Big volume below the plate
translate([-50, 0, -500])
cube([case_w + 100, plate_h, 500]);
}
}
@@ -151,7 +147,7 @@ module case_full_geometry() {
translate([wall_thickness, wall_thickness, floor_thickness])
cube([case_w - (wall_thickness * 2), case_h - (wall_thickness * 2), back_height + 20]);
// 3. The Plate Recess (Hardcode removed, now using plate_slack)
// 3. Plate Recess
translate([(case_w - recess_w)/2, (case_h - (recess_h * cos(case_angle)))/2, front_height - recess_depth])
rotate([case_angle, 0, 0])
cube([recess_w, recess_h, 20]);