Start on support structures
This commit is contained in:
parent
651a39d9dc
commit
8fb65233a7
1 changed files with 43 additions and 2 deletions
|
@ -14,8 +14,8 @@ include <keyboard.scad>
|
||||||
* Ridge thickness: 1.25mm
|
* Ridge thickness: 1.25mm
|
||||||
* First horizontal ridge: Starts at keyboard X offset
|
* First horizontal ridge: Starts at keyboard X offset
|
||||||
* Ridge height: 11.5mm
|
* Ridge height: 11.5mm
|
||||||
* Ridge upper aspect: 8mm
|
* Ridge upper aspect: 12mm
|
||||||
* Ridge lower aspect: 5mm
|
* Ridge lower aspect: 3.75mm
|
||||||
* First vertical ridge Y offset: 8mm
|
* First vertical ridge Y offset: 8mm
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -79,6 +79,47 @@ module top_case(key_switch_sizes, pcb_screw_holes) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
module support(dimensions, width) {
|
||||||
|
length = dimensions[0];
|
||||||
|
height = dimensions[1];
|
||||||
|
|
||||||
|
module right_triangle(base) {
|
||||||
|
length = sqrt((base ^ 2) / 2.0);
|
||||||
|
|
||||||
|
intersection() {
|
||||||
|
rotate([0, 0, -45])
|
||||||
|
square([length*2, length*2], true);
|
||||||
|
|
||||||
|
square([length*2, length*2]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module shape() {
|
||||||
|
/* Height ratio of lower aspect to upper aspect */
|
||||||
|
aspect_ratio = 3.75 / 12.0;
|
||||||
|
|
||||||
|
aspect_upper_height = height;
|
||||||
|
aspect_lower_height = aspect_ratio * height;
|
||||||
|
|
||||||
|
/* The length of each individual support aspect */
|
||||||
|
aspect_length = 1/3 * length;
|
||||||
|
|
||||||
|
hypotenuse = sqrt(2*(aspect_length^2));
|
||||||
|
lower_x_offset = aspect_length - (hypotenuse - aspect_length);
|
||||||
|
|
||||||
|
right_triangle(aspect_length);
|
||||||
|
|
||||||
|
translate([lower_x_offset, 0, 0])
|
||||||
|
square([1.5 * hypotenuse, aspect_lower_height]);
|
||||||
|
|
||||||
|
translate([3 * aspect_length, 0, 0])
|
||||||
|
mirror([1, 0, 0])
|
||||||
|
right_triangle(aspect_length);
|
||||||
|
}
|
||||||
|
|
||||||
|
linear_extrude(width) shape();
|
||||||
|
}
|
||||||
|
|
||||||
module body() {
|
module body() {
|
||||||
translate([0, 0, wall_height - wall_width])
|
translate([0, 0, wall_height - wall_width])
|
||||||
fascia();
|
fascia();
|
||||||
|
|
Loading…
Add table
Reference in a new issue