Add feather mounting points and OLED cutout
This commit is contained in:
@@ -1,3 +1,5 @@
|
||||
$fn = 200;
|
||||
|
||||
plate_width = 70;
|
||||
plate_depth = 140;
|
||||
plate_height = 2;
|
||||
@@ -18,21 +20,84 @@ oem_pcb_lower_mount_y_outer_dimension = 26;
|
||||
oem_pcb_lower_mount_center_x = plate_width - oem_pcb_lower_mount_x_outer_dimension + (oem_pcb_mount_post_diameter/2);
|
||||
oem_pcb_lower_mount_center_y = plate_depth - oem_pcb_lower_mount_y_outer_dimension + (oem_pcb_mount_post_diameter/2);
|
||||
|
||||
oem_pcb_mount_post_height = 40;
|
||||
oem_pcb_mount_post_height = 60;
|
||||
oem_pcb_mount_new_post_diameter = 6;
|
||||
|
||||
$fn = 200;
|
||||
function in(inches) = inches * 25.4;
|
||||
|
||||
oled_width = 33;
|
||||
oled_depth = 18;
|
||||
feather_mount_screw_hole_diameter = 2.2;
|
||||
feather_width = 51;
|
||||
feather_depth = 23;
|
||||
|
||||
featherWidth = in(2);
|
||||
featherDepth = in(0.9);
|
||||
|
||||
feather_position_x = plate_width/2 - featherWidth/2;
|
||||
feather_position_y = 30;
|
||||
|
||||
module featherPosts(height=4) {
|
||||
hole_center_offset = in(0.1);
|
||||
mount_post_diameter = feather_mount_screw_hole_diameter+2;
|
||||
|
||||
translate([hole_center_offset, hole_center_offset, 0]) {
|
||||
cylinder(h = height, d = mount_post_diameter);
|
||||
}
|
||||
translate([featherWidth - hole_center_offset, hole_center_offset, 0]) {
|
||||
cylinder(h = height, d = mount_post_diameter);
|
||||
}
|
||||
translate([featherWidth - hole_center_offset, featherDepth - hole_center_offset, 0]) {
|
||||
cylinder(h = height, d = mount_post_diameter);
|
||||
}
|
||||
translate([hole_center_offset, featherDepth - hole_center_offset, 0]) {
|
||||
cylinder(h = height, d = mount_post_diameter);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
module featherHoles(height=4) {
|
||||
hole_center_offset = in(0.1);
|
||||
mount_post_diameter = feather_mount_screw_hole_diameter+2;
|
||||
|
||||
translate([hole_center_offset, hole_center_offset, 0]) {
|
||||
cylinder(h = height, d = feather_mount_screw_hole_diameter);
|
||||
}
|
||||
translate([featherWidth - hole_center_offset, hole_center_offset, 0]) {
|
||||
cylinder(h = height, d = feather_mount_screw_hole_diameter);
|
||||
}
|
||||
translate([featherWidth - hole_center_offset, featherDepth - hole_center_offset, 0]) {
|
||||
cylinder(h = height, d = feather_mount_screw_hole_diameter);
|
||||
}
|
||||
translate([hole_center_offset, featherDepth - hole_center_offset, 0]) {
|
||||
cylinder(h = height, d = feather_mount_screw_hole_diameter);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
difference() {
|
||||
cube([plate_width, plate_depth, plate_height]);
|
||||
union(){
|
||||
cube([plate_width, plate_depth, plate_height]);
|
||||
translate([feather_position_x, feather_position_y, 0]){
|
||||
featherPosts(5);
|
||||
}
|
||||
}
|
||||
translate([plate_width/2, mounting_hole_true_offset, -0.05]) {
|
||||
cylinder(h= plate_height + 0.1, d = mounting_hole_diameter);
|
||||
translate([0, plate_depth - (mounting_hole_true_offset * 2), 0]) {
|
||||
cylinder(h= plate_height + 0.1, d = mounting_hole_diameter);
|
||||
}
|
||||
}
|
||||
translate([feather_position_x, feather_position_y, -0.05]) {
|
||||
featherHoles(5.1);
|
||||
translate([10,featherDepth/2-oled_depth/2,0]) {
|
||||
cube([oled_width, oled_depth, plate_height + 0.1]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
translate([oem_pcb_upper_mount_center_x, oem_pcb_upper_mount_center_y, 0]) {
|
||||
cylinder(h = oem_pcb_mount_post_height, d = oem_pcb_mount_new_post_diameter);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user