key_interface_thickness = 1.484;
// Chosen to let board fit inside
-housing_inner_h = 8;
+housing_inner_h = 6;
housing_inner_w = 21;
+housing_flat = 8;
thickness = 1.7;
pico_board_l = 51.0;
pico_board_w = 21.0;
+pico_board_h = 1.0;
pico_total_h = 3.7;
$fs = .1;
}
module pico_board(gap = 0) {
- board_h = 1.0;
translate([-gap, -gap, -gap])
- cube([pico_board_l + 2*gap, pico_board_w + 2*gap, board_h + 2*gap]);
+ cube([pico_board_l + 2*gap, pico_board_w + 2*gap, pico_board_h + 2*gap]);
}
module pico_w(hole_d = 2.1) {
}
module housing_shape(outline = thickness) {
- inner_squish = housing_inner_h / housing_inner_w;
housing_w = housing_inner_w + 2 * outline;
housing_h = housing_inner_h + 2 * outline;
- squish = housing_h / housing_w;
+ squish = housing_h / (housing_w - housing_flat);
scale([1, squish])
- circle(d = housing_w);
+ minkowski() {
+ circle(d = housing_w - housing_flat);
+ square([housing_flat, epsilon], center=true);
+ }
}
module housing(length = pico_board_l - extra_flare) {
}
module at_board() {
- translate([0, -pico_board_w/2, -1])
+ translate([0, -pico_board_w/2, -pico_board_h])
children();
}