diff options
Diffstat (limited to 'gm_platform/platform/lid_switch_plunger.scad')
-rw-r--r-- | gm_platform/platform/lid_switch_plunger.scad | 33 |
1 files changed, 22 insertions, 11 deletions
diff --git a/gm_platform/platform/lid_switch_plunger.scad b/gm_platform/platform/lid_switch_plunger.scad index 9102a35..65235fc 100644 --- a/gm_platform/platform/lid_switch_plunger.scad +++ b/gm_platform/platform/lid_switch_plunger.scad @@ -10,22 +10,33 @@ height = case_inside_h - case_standoff_h - pcb_h - switch_h - glue_h - tolerance eps = 0.01; base_w = 20; base_h = base_w; -base_d = 3; -stem_w = 7; +base_d = 5; +stem_w = 10; stem_h = stem_w; plunger_w = 20; plunger_h = 25; plunger_d = 3; +module narf(w, h, d) { + translate([0, 0, 1]) + minkowski(){ + cube([w-2*d, h-2*d, eps], center=true); + cylinder(d, d, 0, $fn=32); + }; -minkowski(){ - cube([base_w, base_h, eps], center=true); - cylinder(base_d, base_d, 0, $fn=32); -}; + minkowski(){ + cube([w-2*d, h-2*d, eps], center=true); + cylinder(1, d, d, $fn=32); + }; +} -translate([0, 0, height/2]) -cube([stem_w, stem_h, height], center=true); +rotate ([0, 180, 0]) { + narf(base_w, base_h, base_d); -translate([0, 0, height-plunger_d]) -translate([0, 0, plunger_d/2]) -cube([plunger_w, plunger_h, plunger_d], center=true);
\ No newline at end of file + translate([0, 0, height/2]) + cube([stem_w, stem_h, height], center=true); + + translate([0, 0, height]) + mirror([0, 0, 1]) + narf(plunger_w, plunger_h, plunger_d); +}
\ No newline at end of file |