cad/lower_case.scad
Ricardo (XenGi) Band 1ff34e4b70
Initial commit
2023-05-14 00:02:25 +02:00

40 lines
2.6 KiB
OpenSCAD

include <util.scad>
$fn = 64;
difference() {
// case
hull() {
translate([-case_thickness, -case_thickness, 0]) cylinder(h=case_thickness+standoff_height+pcb_thickness+5, r=pcb_radius);
translate([pcb_width-2*pcb_radius+case_thickness, -case_thickness, 0]) cylinder(h=case_thickness+standoff_height+pcb_thickness+5, r=pcb_radius);
translate([-case_thickness, pcb_depth-2*pcb_radius+case_thickness, 0]) cylinder(h=case_thickness+standoff_height+pcb_thickness+5, r=pcb_radius);
translate([pcb_width-2*pcb_radius+case_thickness, pcb_depth-2*pcb_radius+case_thickness, 0]) cylinder(h=case_thickness+standoff_height+pcb_thickness+5, r=pcb_radius);
}
// pcb
translate([0, 0, case_bottom_thickness]) hull() {
cylinder(h=case_thickness+standoff_height+pcb_thickness+5, r=pcb_radius);
translate([pcb_width-2*pcb_radius, 0, 0]) cylinder(h=case_thickness+standoff_height+pcb_thickness+5, r=pcb_radius);
translate([0, pcb_depth-2*pcb_radius, 0]) cylinder(h=case_thickness+standoff_height+pcb_thickness+5, r=pcb_radius);
translate([pcb_width-2*pcb_radius, pcb_depth-2*pcb_radius, 0]) cylinder(h=case_thickness+standoff_height+pcb_thickness+5, r=pcb_radius);
}
// plate_mounting
translate([20, pcb_depth - pcb_radius, case_thickness+standoff_height+pcb_thickness+5-plate_height]) lug(hole=false);
translate([pcb_width-2*pcb_radius - 20, pcb_depth - pcb_radius, case_thickness+standoff_height+pcb_thickness+5-plate_height]) lug(hole=false);
translate([20, -pcb_radius, case_thickness+standoff_height+pcb_thickness+5-plate_height]) lug(north_facing=false, hole=false);
translate([pcb_width-2*pcb_radius - 20, -pcb_radius, case_thickness+standoff_height+pcb_thickness+5-plate_height]) lug(north_facing=false, hole=false);
// screw holes
translate([20, pcb_depth - pcb_radius + 2, case_thickness+standoff_height+pcb_thickness+5-plate_height-3]) cylinder(h=3, d=2);
translate([pcb_width-2*pcb_radius - 20, pcb_depth - pcb_radius + 2, case_thickness+standoff_height+pcb_thickness+5-plate_height-3]) cylinder(h=3, d=2);
translate([20, -pcb_radius - 2, case_thickness+standoff_height+pcb_thickness+5-plate_height-3]) cylinder(h=3, d=2);
translate([pcb_width-2*pcb_radius - 20, -pcb_radius - 2, case_thickness+standoff_height+pcb_thickness+5-plate_height-3]) cylinder(h=3, d=2);
}
// mounting standoffs
for(i = [0 : len(mounting_holes)-1]) {
translate([mounting_holes[i][0] - pcb_radius, mounting_holes[i][1] - pcb_radius, case_bottom_thickness]) difference() {
cylinder(h=standoff_height, d=4);
cylinder(h=standoff_height, d=2);
}
}
// TODO:USB daughter board