cad/upper_case.scad
2023-08-05 17:15:09 +02:00

35 lines
1.9 KiB
OpenSCAD

// This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
include <util.scad>
$fn = 64;
color("SaddleBrown") difference() {
// case
hull() {
translate([-case_thickness, -case_thickness, 0]) cylinder(h=upper_case_height, r=pcb_radius+1);
translate([pcb_width-2*pcb_radius+case_thickness, -case_thickness, 0]) cylinder(h=upper_case_height, r=pcb_radius+1);
translate([-case_thickness, pcb_depth-2*pcb_radius+case_thickness, 0]) cylinder(h=upper_case_height, r=pcb_radius+1);
translate([pcb_width-2*pcb_radius+case_thickness, pcb_depth-2*pcb_radius+case_thickness, 0]) cylinder(h=upper_case_height, r=pcb_radius+1);
}
// pcb
hull() {
cylinder(h=upper_case_height+0.1, r=pcb_radius+1);
translate([pcb_width-2*pcb_radius, 0, 0]) cylinder(h=upper_case_height+0.1, r=pcb_radius+1);
translate([0, pcb_depth-2*pcb_radius, 0]) cylinder(h=upper_case_height+0.1, r=pcb_radius+1);
translate([pcb_width-2*pcb_radius, pcb_depth-2*pcb_radius, 0]) cylinder(h=upper_case_height+0.1, r=pcb_radius+1);
}
// threaded inserts
translate([-case_thickness, -case_thickness, 0]) cylinder(h=threaded_insert_height, d=3);
translate([pcb_width-2*pcb_radius+case_thickness, -case_thickness, 0]) cylinder(h=threaded_insert_height, d=3);
translate([-case_thickness, pcb_depth-2*pcb_radius+case_thickness, 0]) cylinder(h=threaded_insert_height, d=3);
translate([pcb_width-2*pcb_radius+case_thickness, pcb_depth-2*pcb_radius+case_thickness, 0]) cylinder(h=threaded_insert_height, d=3);
translate([20, pcb_depth - pcb_radius+1+case_thickness/2, 0]) cylinder(h=2, d=4);
translate([pcb_width-2*pcb_radius - 20, pcb_depth - pcb_radius+1+case_thickness/2, 0]) cylinder(h=2, d=4);
translate([20, -pcb_radius-1-case_thickness/2, 0]) cylinder(h=2, d=4);
translate([pcb_width-2*pcb_radius - 20, -pcb_radius-1-case_thickness/2, 0]) cylinder(h=2, d=4);
}