add weight
This commit is contained in:
parent
463df615e5
commit
c67faa5b31
6 changed files with 53 additions and 51651 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
|
@ -1,5 +1,7 @@
|
||||||
*.stl
|
*.stl
|
||||||
*.3mf
|
*.3mf
|
||||||
|
*.dxf
|
||||||
|
*.gcode
|
||||||
|
|
||||||
# Created by https://www.toptal.com/developers/gitignore/api/linux,windows,macos,vim
|
# Created by https://www.toptal.com/developers/gitignore/api/linux,windows,macos,vim
|
||||||
# Edit at https://www.toptal.com/developers/gitignore?templates=linux,windows,macos,vim
|
# Edit at https://www.toptal.com/developers/gitignore?templates=linux,windows,macos,vim
|
||||||
|
|
|
||||||
6
Makefile
6
Makefile
|
|
@ -1,4 +1,4 @@
|
||||||
.PHONY: stl 3mf
|
.PHONY: stl 3mf dxf
|
||||||
|
|
||||||
stl:
|
stl:
|
||||||
openscad --export-format binstl -o upper_case.stl upper_case.scad
|
openscad --export-format binstl -o upper_case.stl upper_case.scad
|
||||||
|
|
@ -10,3 +10,7 @@ stl:
|
||||||
openscad --export-format 3mf -o lower_case.3mf lower_case.scad
|
openscad --export-format 3mf -o lower_case.3mf lower_case.scad
|
||||||
openscad --export-format 3mf -o plate.3mf plate.scad
|
openscad --export-format 3mf -o plate.3mf plate.scad
|
||||||
|
|
||||||
|
dxf:
|
||||||
|
sed -i 's/\/\/ projection/projection/' plate.scad; openscad --export-format dxf -o plate.dxf plate.scad; sed -i 's/projection/\/\/ projection/' plate.scad
|
||||||
|
openscad --export-format dxf -o weight.dxf weight.scad
|
||||||
|
|
||||||
|
|
|
||||||
21
README.md
21
README.md
|
|
@ -2,21 +2,30 @@
|
||||||

|

|
||||||

|

|
||||||
|
|
||||||
CAD files for noisy cricket
|
# CAD files for noisy cricket
|
||||||
===========================
|
|
||||||
|
|
||||||
Create files for 3D printing or CNC by running this (needs openscad):
|
Create files for 3D printing or CNC by running this (needs openscad):
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
make stl
|
make stl
|
||||||
make 3mf
|
make 3mf
|
||||||
|
make dxf
|
||||||
```
|
```
|
||||||
|
|
||||||
You can also find the CAD files on [printables.com](https://www.printables.com/model/531838-noisy-cricket-mini-gaming-keyboard).
|
_You only need the DXF files if you want to CNC the plate or weight._
|
||||||
|
|
||||||
- Threaded inserts for the plate are M2, height 2mm, outer diameter 3.2
|
## Hardware:
|
||||||
- Screws for the plate mounting are M2, length 3-3.5mm
|
|
||||||
- Screws for the PCB mounting are M2, length 3.5-4.6mm
|
- Threaded inserts for the plate, USB C daughter board and standoffs are M2, height 2mm, outer diameter 3.2 (10x)
|
||||||
|
- Screws for the plate and USB-C daughter board are M2, length 3-3.5mm (6x)
|
||||||
|
- Screws for the PCB mounting are M2, length 3.5-4.6mm (4x)
|
||||||
|
- Standoffs are M2, length 3mm (4x)
|
||||||
|
|
||||||
|
Threaded inserts from [AliExpress](https://www.aliexpress.com/item/1005004873154281.html).
|
||||||
|
Screws from [AliExpress](https://www.aliexpress.com/item/32810852732.html).
|
||||||
|
Standoffs from [AliExpress](https://www.aliexpress.com/item/1005003328519584.html).
|
||||||
|
|
||||||
|
You can also find the CAD files on [printables.com](https://www.printables.com/model/531838-noisy-cricket-mini-gaming-keyboard).
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -40,14 +40,15 @@ color("SaddleBrown") difference() {
|
||||||
}
|
}
|
||||||
cube([pololu_width, pololu_depth, pcb_thickness+0.1], center=true);
|
cube([pololu_width, pololu_depth, pcb_thickness+0.1], center=true);
|
||||||
// screw holes
|
// screw holes
|
||||||
translate([-pololu_width/2+pololu_hole_spacing, pololu_depth/2-pololu_hole_spacing, -pcb_thickness/2-2]) cylinder(h=2, r=pololu_holes_radius);
|
translate([-pololu_width/2+pololu_hole_spacing, pololu_depth/2-pololu_hole_spacing, -pcb_thickness/2-threaded_insert_height]) cylinder(h=threaded_insert_height, d=3);
|
||||||
translate([pololu_width/2-pololu_hole_spacing, pololu_depth/2-pololu_hole_spacing, -pcb_thickness/2-2]) cylinder(h=2, r=pololu_holes_radius);
|
translate([pololu_width/2-pololu_hole_spacing, pololu_depth/2-pololu_hole_spacing, -pcb_thickness/2-threaded_insert_height]) cylinder(h=threaded_insert_height, d=3);
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: make dependent on case size
|
// TODO: make dependent on case size
|
||||||
translate([65, 26.75, case_bottom_thickness/2]) {
|
translate([65, 26, case_bottom_thickness/2]) {
|
||||||
cube([10, 40, case_bottom_thickness/2+1]);
|
translate([-7.5,30,0]) linear_extrude(case_bottom_thickness/2+1) polygon([[7.5,0], [7.5,10.75], [0,10.75]]);
|
||||||
cube([72, 10, case_bottom_thickness/2+1]);
|
cube([10, 40.75, case_bottom_thickness/2+1]);
|
||||||
|
cube([72, 11, case_bottom_thickness/2+1]);
|
||||||
}
|
}
|
||||||
|
|
||||||
// screw holes for upper case
|
// screw holes for upper case
|
||||||
|
|
@ -61,25 +62,21 @@ color("SaddleBrown") difference() {
|
||||||
translate([-case_thickness, pcb_depth-2*pcb_radius+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);
|
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
|
// mounting standoffs
|
||||||
difference() {
|
for(i = [0 : len(mounting_holes)-1]) {
|
||||||
hull() {
|
translate([mounting_holes[i][0] - pcb_radius, mounting_holes[i][1] - pcb_radius, case_bottom_thickness - 3]) union() {
|
||||||
translate([5,5,0]) cylinder(h=2, d=10);
|
translate([0,0,1]) cylinder(h=2, d=3);
|
||||||
translate([pcb_width-2*pcb_radius-5,5,0]) cylinder(h=2, d=10);
|
cylinder(h=3, d=2);
|
||||||
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");
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
|
// hole for weight
|
||||||
// mounting standoffs
|
hull() {
|
||||||
color("SaddleBrown") for(i = [0 : len(mounting_holes)-1]) {
|
translate([5,5,0]) cylinder(h=1.5, d=10);
|
||||||
translate([mounting_holes[i][0] - pcb_radius, mounting_holes[i][1] - pcb_radius, case_bottom_thickness]) difference() {
|
translate([pcb_width-2*pcb_radius-5,5,0]) cylinder(h=1.5, d=10);
|
||||||
cylinder(h=standoff_height, d=4);
|
translate([5,pcb_depth-2*pcb_radius-5,0]) cylinder(h=1.5, d=10);
|
||||||
cylinder(h=standoff_height, d=2);
|
translate([pcb_width-2*pcb_radius-5,pcb_depth-2*pcb_radius-5,0]) cylinder(h=1.5, d=10);
|
||||||
}
|
}
|
||||||
|
translate([pcb_width/2,pcb_depth/2+1,1.5]) 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.5]) mirror([1,0,0]) linear_extrude(0.2) text(text="© XenGi 2023", size=6, font="Liberation Sans:style=Bold", halign="center");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
12
weight.scad
Normal file
12
weight.scad
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
// This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
|
||||||
|
|
||||||
|
include <util.scad>
|
||||||
|
|
||||||
|
$fn = 64;
|
||||||
|
|
||||||
|
projection(cut=true) hull() {
|
||||||
|
translate([5,5,0]) cylinder(h=1.5, d=10);
|
||||||
|
translate([pcb_width-2*pcb_radius-5,5,0]) cylinder(h=1.5, d=10);
|
||||||
|
translate([5,pcb_depth-2*pcb_radius-5,0]) cylinder(h=1.5, d=10);
|
||||||
|
translate([pcb_width-2*pcb_radius-5,pcb_depth-2*pcb_radius-5,0]) cylinder(h=1.5, d=10);
|
||||||
|
}
|
||||||
Loading…
Reference in a new issue