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 = 3; stem_w = 7; stem_h = stem_w; plunger_w = 20; plunger_h = 25; plunger_d = 3; minkowski(){ cube([base_w, base_h, eps], center=true); cylinder(base_d, base_d, 0, $fn=32); }; translate([0, 0, height/2]) cube([stem_w, stem_h, height], center=true); translate([0, 0, height-plunger_d]) translate([0, 0, plunger_d/2]) cube([plunger_w, plunger_h, plunger_d], center=true);