summaryrefslogtreecommitdiffstats
path: root/case
diff options
context:
space:
mode:
Diffstat (limited to 'case')
-rw-r--r--case/top.scad152
1 files changed, 78 insertions, 74 deletions
diff --git a/case/top.scad b/case/top.scad
index bf622f5..eeb21eb 100644
--- a/case/top.scad
+++ b/case/top.scad
@@ -1,90 +1,94 @@
$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;
-
-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;
-
-accent_width = 1.0000;
-accent_depth = 0.5;
-accent_y_stride = (keyboard_length - accent_width) / 5.0;
-accent_y_bottom = keyboard_y_offset;
-
-fin_width = 2.0000;
-fin_gap_width = 2.0000;
-fin_gap_length = 2.0000;
-fin_gap_height = 12.0000;
-fin_gap_count = 32;
-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;
-
-module fascia() {
- linear_extrude(wall_width)
- difference() {
- square([case_width_bottom, case_length_bottom], false);
- translate([keyboard_x_offset, keyboard_y_offset, 0])
- square([keyboard_width, keyboard_length], false);
+module top_case() {
+ 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;
+
+ 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;
+
+ accent_width = 1.0000;
+ accent_depth = 0.5;
+ accent_y_stride = (keyboard_length - accent_width) / 5.0;
+ accent_y_bottom = keyboard_y_offset;
+
+ fin_width = 2.0000;
+ fin_gap_width = 2.0000;
+ fin_gap_length = 2.0000;
+ fin_gap_height = 12.0000;
+ fin_gap_count = 32;
+ 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;
+
+ module fascia() {
+ linear_extrude(wall_width)
+ difference() {
+ square([case_width_bottom, case_length_bottom], false);
+ translate([keyboard_x_offset, keyboard_y_offset, 0])
+ square([keyboard_width, keyboard_length], false);
+ }
}
-}
-module fin_gaps() {
- for (i = [0:fin_gap_count]) {
- x = fin_gap_x_first + (i * (fin_width + fin_gap_width));
+ module fin_gaps() {
+ for (i = [0:fin_gap_count]) {
+ x = fin_gap_x_first + (i * (fin_width + fin_gap_width));
- translate([x, fin_gap_y_offset, wall_height - fin_gap_height])
- cube([fin_gap_width, fin_gap_length, fin_gap_height], false);
- }
-}
+ translate([x, fin_gap_y_offset, wall_height - fin_gap_height])
+ cube([fin_gap_width, fin_gap_length, fin_gap_height], false);
+ }
+ }
-module accents() {
- for (y = [accent_y_bottom: accent_y_stride: case_length_bottom]) {
- /* Top */
- translate([0, y, wall_height - accent_depth])
- cube([case_width_bottom, accent_width, accent_depth], false);
+ module accents() {
+ for (y = [accent_y_bottom: accent_y_stride: case_length_bottom]) {
+ /* Top */
+ translate([0, y, wall_height - accent_depth])
+ cube([case_width_bottom, accent_width, accent_depth], false);
- /* Right */
- translate([case_width_bottom - accent_depth, y, 0])
- cube([accent_depth, accent_width, wall_height], false);
+ /* Right */
+ translate([case_width_bottom - accent_depth, y, 0])
+ cube([accent_depth, accent_width, wall_height], false);
- /* Left */
- translate([0, y, 0])
- cube([accent_depth, accent_width, wall_height], false);
+ /* Left */
+ translate([0, y, 0])
+ cube([accent_depth, accent_width, wall_height], false);
+ }
}
-}
-module top_case() {
- translate([0, 0, wall_height - wall_width])
- fascia();
+ module body() {
+ translate([0, 0, wall_height - wall_width])
+ fascia();
- /* Upper */
- translate([0, case_length_bottom - wall_width, 0])
- cube([case_width_bottom,
- wall_width,
- wall_height], false);
+ /* Upper */
+ translate([0, case_length_bottom - wall_width, 0])
+ cube([case_width_bottom,
+ wall_width,
+ wall_height], false);
- /* Right */
- translate([case_width_bottom - wall_width, 0, 0])
- cube([wall_width, case_length_bottom, wall_height], false);
+ /* Right */
+ translate([case_width_bottom - wall_width, 0, 0])
+ cube([wall_width, case_length_bottom, wall_height], false);
- /* Lower */
- cube([case_width_bottom, wall_width, wall_height], false);
+ /* Lower */
+ cube([case_width_bottom, wall_width, wall_height], false);
- /* Left */
- cube([wall_width, case_length_bottom, wall_height - wall_width], false);
-}
+ /* Left */
+ cube([wall_width, case_length_bottom, wall_height - wall_width], false);
+ }
-difference() {
- top_case();
- accents();
- fin_gaps();
+ difference() {
+ body();
+ accents();
+ fin_gaps();
+ }
}
+
+top_case();