2023-11-13 20:19:42 -05:00
|
|
|
$fn = 72;
|
|
|
|
|
|
|
|
case_width_top = 317.5000;
|
|
|
|
case_width_bottom = 320.0000;
|
|
|
|
case_length_top = 150.0000;
|
|
|
|
case_length_bottom = 151.5000;
|
|
|
|
|
|
|
|
wall_width = 2.5000;
|
|
|
|
wall_height = 17.2500;
|
|
|
|
|
|
|
|
accent_width = 1.0000;
|
2023-11-13 21:43:43 -05:00
|
|
|
accent_height = 0.5;
|
|
|
|
accent_y_stride = 19.0500;
|
2023-11-13 20:19:42 -05:00
|
|
|
accent_y_bottom = 12.0000;
|
2023-11-13 21:43:43 -05:00
|
|
|
/* last accent is 4mm from top of case */
|
2023-11-13 20:19:42 -05:00
|
|
|
|
2023-11-13 21:43:43 -05:00
|
|
|
key_switch_width = 19.0500;
|
|
|
|
key_switch_length = 19.0500;
|
|
|
|
keyboard_width = key_switch_width * 13.5;
|
|
|
|
keyboard_length = key_switch_length * 5.0;
|
|
|
|
keyboard_x_offset = 12.2500;
|
|
|
|
keyboard_y_offset = 12.2500;
|
|
|
|
|
2023-11-13 22:09:07 -05:00
|
|
|
fin_width = 2.0000;
|
|
|
|
fin_gap_width = 2.0000;
|
|
|
|
fin_gap_length = 2.0000;
|
|
|
|
fin_gap_height = 12.0000;
|
|
|
|
fin_gap_count = 33;
|
|
|
|
fin_gap_x_first = keyboard_x_offset + keyboard_width - fin_gap_count * (fin_width + fin_gap_width);
|
|
|
|
fin_gap_y_offset = case_length_bottom - fin_gap_length;
|
|
|
|
|
2023-11-13 21:43:43 -05:00
|
|
|
difference() {
|
|
|
|
square([case_width_bottom, case_length_bottom], false);
|
|
|
|
translate([keyboard_x_offset, keyboard_y_offset, 0])
|
|
|
|
square([keyboard_width, keyboard_length], false);
|
|
|
|
|
|
|
|
for (y = [accent_y_bottom: accent_y_stride: case_width_bottom]) {
|
|
|
|
translate([0, y, 0])
|
|
|
|
square([case_width_bottom, accent_width], false);
|
|
|
|
}
|
2023-11-13 22:09:07 -05:00
|
|
|
|
|
|
|
for (i = [0:fin_gap_count]) {
|
|
|
|
x = fin_gap_x_first + (i * (fin_width + fin_gap_width));
|
|
|
|
|
|
|
|
translate([x, fin_gap_y_offset, 0])
|
|
|
|
square([fin_gap_width, fin_gap_length], false);
|
|
|
|
}
|
2023-11-13 21:43:43 -05:00
|
|
|
}
|
|
|
|
|