update files with threaded inserts
This commit is contained in:
parent
22f9a10831
commit
463df615e5
7 changed files with 30335 additions and 13 deletions
|
|
@ -14,6 +14,10 @@ make 3mf
|
|||
|
||||
You can also find the CAD files on [printables.com](https://www.printables.com/model/531838-noisy-cricket-mini-gaming-keyboard).
|
||||
|
||||
- Threaded inserts for the plate are M2, height 2mm, outer diameter 3.2
|
||||
- Screws for the plate mounting are M2, length 3-3.5mm
|
||||
- Screws for the PCB mounting are M2, length 3.5-4.6mm
|
||||
|
||||
---
|
||||
|
||||
<a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by-sa/4.0/88x31.png" /></a><br />This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/4.0/">Creative Commons Attribution-ShareAlike 4.0 International License</a>.
|
||||
|
|
|
|||
|
|
@ -27,10 +27,10 @@ color("SaddleBrown") difference() {
|
|||
translate([20, -pcb_radius-1, case_thickness+standoff_height+pcb_thickness+5-plate_thickness]) lug(north_facing=false, hole=false);
|
||||
translate([pcb_width-2*pcb_radius - 20, -pcb_radius-1, case_thickness+standoff_height+pcb_thickness+5-plate_thickness]) lug(north_facing=false, hole=false);
|
||||
// screw holes
|
||||
translate([20, pcb_depth - pcb_radius+1 + 2, case_thickness+standoff_height+pcb_thickness+5-plate_thickness-3]) cylinder(h=3, d=2);
|
||||
translate([pcb_width-2*pcb_radius - 20, pcb_depth - pcb_radius+1 + 2, case_thickness+standoff_height+pcb_thickness+5-plate_thickness-3]) cylinder(h=3, d=2);
|
||||
translate([20, -pcb_radius-1 - 2, case_thickness+standoff_height+pcb_thickness+5-plate_thickness-3]) cylinder(h=3, d=2);
|
||||
translate([pcb_width-2*pcb_radius - 20, -pcb_radius-1 - 2, case_thickness+standoff_height+pcb_thickness+5-plate_thickness-3]) cylinder(h=3, d=2);
|
||||
translate([20, pcb_depth - pcb_radius+3, case_thickness+standoff_height+pcb_thickness+5-plate_thickness-threaded_insert_height]) cylinder(h=threaded_insert_height, d=3); // top-left
|
||||
translate([pcb_width-2*pcb_radius - 20, pcb_depth - pcb_radius+3, case_thickness+standoff_height+pcb_thickness+5-plate_thickness-threaded_insert_height]) cylinder(h=threaded_insert_height, d=3); // top-right
|
||||
translate([20, -pcb_radius-3, case_thickness+standoff_height+pcb_thickness+5-plate_thickness-threaded_insert_height]) cylinder(h=threaded_insert_height, d=3); // bottom-left
|
||||
translate([pcb_width-2*pcb_radius - 20, -pcb_radius-3, case_thickness+standoff_height+pcb_thickness+5-plate_thickness-threaded_insert_height]) cylinder(h=threaded_insert_height, d=3); // bottom-right
|
||||
|
||||
// USB-C daughter board
|
||||
translate([pcb_width/2-pcb_radius, pcb_depth-pcb_radius+1-pololu_depth/2, case_bottom_thickness - pcb_thickness/2]) {
|
||||
|
|
@ -60,6 +60,18 @@ color("SaddleBrown") difference() {
|
|||
translate([pcb_width-2*pcb_radius+case_thickness, -case_thickness, 0]) cylinder(h=case_thickness+standoff_height+pcb_thickness+5, d=2);
|
||||
translate([-case_thickness, pcb_depth-2*pcb_radius+case_thickness, 0]) cylinder(h=case_thickness+standoff_height+pcb_thickness+5, d=2);
|
||||
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, d=2);
|
||||
|
||||
// hole for weight
|
||||
difference() {
|
||||
hull() {
|
||||
translate([5,5,0]) cylinder(h=2, d=10);
|
||||
translate([pcb_width-2*pcb_radius-5,5,0]) cylinder(h=2, d=10);
|
||||
translate([5,pcb_depth-2*pcb_radius-5,0]) cylinder(h=2, d=10);
|
||||
translate([pcb_width-2*pcb_radius-5,pcb_depth-2*pcb_radius-5,0]) cylinder(h=2, d=10);
|
||||
}
|
||||
translate([pcb_width/2,pcb_depth/2+1,1.8]) mirror([1,0,0]) linear_extrude(0.2) text(text="noisy cricket", size=10, font="Liberation Sans:style=Bold", halign="center");
|
||||
translate([pcb_width/2,pcb_depth/2-11,1.8]) mirror([1,0,0]) linear_extrude(0.2) text(text="© XenGi 2023", size=6, font="Liberation Sans:style=Bold", halign="center");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -70,3 +82,4 @@ color("SaddleBrown") for(i = [0 : len(mounting_holes)-1]) {
|
|||
cylinder(h=standoff_height, d=2);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
4788
lower_case.step
Normal file
4788
lower_case.step
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -56,6 +56,6 @@ color("Gold") difference() {
|
|||
};
|
||||
};
|
||||
// potentiometer
|
||||
translate([127-pcb_radius, 12.45-pcb_radius, plate_thickness/2]) cube([13, 13, plate_thickness], center=true);
|
||||
translate([127-pcb_radius, 12-pcb_radius, plate_thickness/2]) cube([13, 14, plate_thickness], center=true);
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -22,10 +22,10 @@ color("SaddleBrown") difference() {
|
|||
}
|
||||
|
||||
// threaded inserts
|
||||
translate([-case_thickness, -case_thickness, 0]) cylinder(h=3, d=3);
|
||||
translate([pcb_width-2*pcb_radius+case_thickness, -case_thickness, 0]) cylinder(h=3, d=3);
|
||||
translate([-case_thickness, pcb_depth-2*pcb_radius+case_thickness, 0]) cylinder(h=3, d=3);
|
||||
translate([pcb_width-2*pcb_radius+case_thickness, pcb_depth-2*pcb_radius+case_thickness, 0]) cylinder(h=3, d=3);
|
||||
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);
|
||||
|
|
|
|||
25516
upper_case.step
Normal file
25516
upper_case.step
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -8,6 +8,7 @@ pcb_radius = 3.175;
|
|||
pcb_thickness = 1.6;
|
||||
|
||||
plate_thickness = 1.5;
|
||||
threaded_insert_height = 2.5;
|
||||
|
||||
case_thickness = 5;
|
||||
case_bottom_thickness = 5; // TODO: doesn't respect height of PCB plus switches etc
|
||||
|
|
@ -39,7 +40,7 @@ module lug(north_facing=true, hole=true) {
|
|||
translate([5, 0, 0]) cylinder(h=plate_thickness, d=2);
|
||||
}
|
||||
if (hole) {
|
||||
translate([0, north_facing ? 2 : -2, 0]) cylinder(h=plate_thickness, d=2.2);
|
||||
translate([0, north_facing ? 2 : -2, 0]) cylinder(h=plate_thickness, d=2.1); // M2
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue