summaryrefslogtreecommitdiffstats
path: root/case
diff options
context:
space:
mode:
Diffstat (limited to 'case')
-rw-r--r--case/case.scad50
1 files changed, 25 insertions, 25 deletions
diff --git a/case/case.scad b/case/case.scad
index 2e9827d..78f4b69 100644
--- a/case/case.scad
+++ b/case/case.scad
@@ -6,11 +6,11 @@ pcb_length = 95.250;
module keyboard_base_plate(pcb_width, pcb_length) {
pcb_clearance_edge = 1.0;
pcb_clearance_bottom = 2.0;
-
+
pcb_screw_hole_diameter = 1.5;
-
+
thickness = 1.75;
- corner_radius = thickness / 4;
+ corner_radius = 1.25;
case_color = [0.5, 0.5, 0.5, 1.0];
@@ -57,14 +57,14 @@ module keyboard_base_plate(pcb_width, pcb_length) {
square(corner_radius*2);
}
}
-
+
module side(translation, dimensions) {
color(case_color)
translate(translation)
linear_extrude(dimensions[2])
square([dimensions[0], dimensions[1]], false);
}
-
+
module wall_corner(translation, rotation, radius, length) {
color(case_color)
translate(translation)
@@ -75,7 +75,7 @@ module keyboard_base_plate(pcb_width, pcb_length) {
square([radius, radius], false);
}
}
-
+
module screw_post(translation, h, d1, d2) {
color(case_color)
translate(translation)
@@ -84,23 +84,23 @@ module keyboard_base_plate(pcb_width, pcb_length) {
cylinder(h=h, r=d2/2.0);
}
}
-
+
module ridges(width, height) {
horizontal = [
(bottom_length / 3),
(bottom_length / 3) * 2
];
-
+
vertical = [
(bottom_width / 3),
(bottom_width / 3) * 2
];
-
+
for (y = horizontal) {
side([0 - pcb_clearance_edge, y, 0],
[bottom_width, width, height]);
}
-
+
for (x = vertical) {
side([x, 0 - pcb_clearance_edge, 0],
[width, bottom_length, height]);
@@ -112,19 +112,19 @@ module keyboard_base_plate(pcb_width, pcb_length) {
pcb_clearance_edge + pcb_length,
-thickness + corner_radius],
[wall_width, thickness, wall_height + thickness - corner_radius]);
-
+
/* Right wall */
side([ pcb_clearance_edge + pcb_width,
-pcb_clearance_edge - thickness + corner_radius,
-thickness + corner_radius],
[thickness, wall_length, wall_height + thickness - corner_radius]);
-
+
/* Lower wall */
side([-pcb_clearance_edge - thickness + corner_radius,
-pcb_clearance_edge - thickness,
-thickness + corner_radius],
[wall_width, thickness, wall_height + thickness - corner_radius]);
-
+
/* Left wall */
side([-pcb_clearance_edge - thickness,
-pcb_clearance_edge - thickness + corner_radius,
@@ -138,7 +138,7 @@ module keyboard_base_plate(pcb_width, pcb_length) {
[0, 0, 0],
corner_radius,
wall_height + thickness - corner_radius);
-
+
/* Lower right wall corner */
wall_corner([ thickness + pcb_clearance_edge + pcb_width - corner_radius,
0 - thickness - pcb_clearance_edge + corner_radius,
@@ -154,7 +154,7 @@ module keyboard_base_plate(pcb_width, pcb_length) {
[0, 0, 180],
corner_radius,
wall_height + thickness - corner_radius);
-
+
/* Upper left wall corner */
wall_corner([-pcb_clearance_edge - thickness + corner_radius,
pcb_clearance_edge + pcb_length + thickness - corner_radius,
@@ -162,7 +162,7 @@ module keyboard_base_plate(pcb_width, pcb_length) {
[0, 0, 90],
corner_radius,
wall_height + thickness - corner_radius);
-
+
/* Bottom plate */
side([-pcb_clearance_edge - thickness + corner_radius,
-pcb_clearance_edge - thickness + corner_radius,
@@ -170,34 +170,34 @@ module keyboard_base_plate(pcb_width, pcb_length) {
[bottom_width + 2 * thickness - 2 * corner_radius,
bottom_length + 2 * thickness - 2 * corner_radius,
thickness]);
-
+
/* Upper edge */
round_edge([-pcb_clearance_edge - thickness + corner_radius,
pcb_clearance_edge + thickness + pcb_length - corner_radius,
-thickness + corner_radius],
[0, 90, 0],
- bottom_width + thickness + 2 * corner_radius);
-
+ wall_width);
+
/* Right edge */
round_edge([ pcb_clearance_edge + thickness + pcb_width - corner_radius,
-pcb_clearance_edge - thickness + corner_radius,
-thickness + corner_radius],
[270, 0, 0],
- bottom_length + thickness + 2 * corner_radius);
-
+ wall_length);
+
/* Lower edge */
round_edge([-pcb_clearance_edge - thickness + corner_radius,
-pcb_clearance_edge - thickness + corner_radius,
-thickness + corner_radius],
[90, 180, 90],
- bottom_width + thickness + 2 * corner_radius);
-
+ wall_width);
+
/* Left edge */
round_edge([-pcb_clearance_edge - thickness + corner_radius,
-pcb_clearance_edge - thickness + corner_radius,
-thickness + corner_radius],
[270, 90, 0],
- bottom_length + thickness + 2 * corner_radius);
+ wall_length);
/* Upper right corner */
round_corner([pcb_clearance_edge + thickness + pcb_width - corner_radius,
@@ -230,7 +230,7 @@ module keyboard_base_plate(pcb_width, pcb_length) {
pcb_screw_hole_diameter * 2,
pcb_screw_hole_diameter);
}
-
+
/* Ridges (for rigidity!) */
ridges(thickness * 2, pcb_clearance_bottom / 2);
}