Files
traegerController/Traeger Controller Mounting Plate.scad

109 lines
3.8 KiB
OpenSCAD

$fn = 200;
plate_width = 70;
plate_depth = 140;
plate_height = 2;
mounting_hole_diameter = 5;
mounting_hole_outer_offset = 5.5;
mounting_hole_true_offset = mounting_hole_outer_offset + (mounting_hole_diameter/2);
power_switch_hole_width = 13.5;
power_switch_hole_depth = 19.9;
oem_pcb_mount_post_diameter = 5;
oem_pcb_upper_mount_x_outer_dimension = 13;
oem_pcb_upper_mount_y_outer_dimension = 22.5;
oem_pcb_upper_mount_center_x = plate_width - oem_pcb_upper_mount_x_outer_dimension + (oem_pcb_mount_post_diameter/2);
oem_pcb_upper_mount_center_y = oem_pcb_upper_mount_y_outer_dimension - (oem_pcb_mount_post_diameter/2);
oem_pcb_lower_mount_x_outer_dimension = 36.25;
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 = 60;
oem_pcb_mount_new_post_diameter = 6;
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() {
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([plate_width/2 - power_switch_hole_depth/2, plate_depth - 50, -0.05]) {
cube([power_switch_hole_depth, power_switch_hole_width, 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);
}
translate([oem_pcb_lower_mount_center_x, oem_pcb_lower_mount_center_y, 0]) {
cylinder(h = oem_pcb_mount_post_height, d = oem_pcb_mount_new_post_diameter);
}