diff options
Diffstat (limited to 'case')
-rw-r--r-- | case/top.scad | 32 |
1 files changed, 18 insertions, 14 deletions
diff --git a/case/top.scad b/case/top.scad index eb19477..1e4aa45 100644 --- a/case/top.scad +++ b/case/top.scad @@ -2,19 +2,6 @@ $fn = 72; include <keyboard.scad> -/* - * Top screw holes are 15mm from top of case - * Side screws are 6.5mm from side of case - * Top middle screw post is 29.3mm long - * Other screw posts are 12mm long - * Screw post outer diameter 6.25mm - * Screw post inner diameter 3mm - * Horizontal ridge interval: 55.5mm - * Vertical ridge interval: 31.3mm - * Ridge thickness: 1.25mm - * First horizontal ridge: Starts at keyboard X offset - */ - module top_case(key_switch_sizes, pcb_screw_holes) { case_width_top = 317.5000; case_width_bottom = 320.0000; @@ -45,6 +32,13 @@ module top_case(key_switch_sizes, pcb_screw_holes) { support_width = 1.2500; + screw_post_diameter_inner = 3.00; + screw_post_diameter_outer = 6.25; + screw_post_corner_height = 12.00; + screw_post_middle_height = 29.30; + screw_post_upper_y_offset = case_length_bottom - wall_width - 15.00; + screw_post_x_offset = wall_width + 6.50; + module fascia() { linear_extrude(wall_width) difference() { @@ -79,6 +73,16 @@ module top_case(key_switch_sizes, pcb_screw_holes) { } } + module screw_post(h) { + diameter_inner = 3.00; + diameter_outer = 6.25; + + difference() { + cylinder(h, d=diameter_inner); + cylinder(h, d=diameter_outer); + } + } + module support(dimensions, width) { length = dimensions[0]; height = dimensions[1]; @@ -179,7 +183,7 @@ module top_case(key_switch_sizes, pcb_screw_holes) { wall_height - wall_width]) rotate([0, 0, -90]) support([right_support_length, keyboard_switch_height], support_width); - + translate([left_support_x_offset, support_y_offset + y - wall_width + support_width, wall_height - wall_width]) |