summaryrefslogtreecommitdiff
path: root/gm_platform/platform/lid_switch_plunger.scad
blob: 65235fc09bc4535a4fadce92f4248e9735087483 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
case_inside_h = 54.5;
case_standoff_h = 6.0;
pcb_h = 1.6;
switch_h = 12.2;
glue_h = 0.2;
tolerance = 0.7;
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 = 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([w-2*d, h-2*d, eps], center=true);
        cylinder(1, d, d, $fn=32);
    };
}

rotate ([0, 180, 0]) {
    narf(base_w, base_h, base_d);

    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);
}