add model of pcb

This commit is contained in:
Ricardo (XenGi) Band 2022-08-10 16:56:10 +02:00
commit f8cf9837a5
Signed by: xengi
GPG key ID: 56376B6BA63CC9F7

54
pcb.scad Normal file
View file

@ -0,0 +1,54 @@
$fn = 64;
pcb_thickness = 1.6;
pcb_width = 81;
pcb_length = 119;
pcb_corner_radius = 5;
kailh_height=2;
module kailh () {
kailh_height=2;
kailh_corner_radius=2;
kailh_width=10.8;
kailh_length=6;
translate([0,0,-kailh_height]) color("grey") difference() {
hull() {
cube([kailh_corner_radius,kailh_corner_radius,kailh_height]);
translate([kailh_corner_radius,4,0]) cylinder(h=kailh_height,r=kailh_corner_radius);
translate([kailh_width-kailh_corner_radius,0,0]) cube([kailh_corner_radius,kailh_corner_radius,kailh_height]);
translate([kailh_width-kailh_corner_radius,kailh_length-kailh_corner_radius,0]) cube([kailh_corner_radius,kailh_corner_radius,kailh_height]);
}
translate([3.7+kailh_corner_radius,0,0]) cylinder(h=kailh_height, r=kailh_corner_radius);
translate([3.7+kailh_corner_radius,0,0]) cube([kailh_width,kailh_corner_radius,kailh_height]);
}
}
translate([pcb_corner_radius,pcb_corner_radius,0]) hull() {
cylinder(h=pcb_thickness, r=pcb_corner_radius);
translate([pcb_width-2*pcb_corner_radius,0,0]) cylinder(h=pcb_thickness, r=pcb_corner_radius);
translate([0,pcb_length-2*pcb_corner_radius,0]) cylinder(h=pcb_thickness, r=pcb_corner_radius);
translate([pcb_width-2*pcb_corner_radius,pcb_length-2*pcb_corner_radius,0]) cylinder(h=pcb_thickness, r=pcb_corner_radius);
}
translate([15.5,12.8,0]) kailh(); // 0
translate([44,12.8,0]) kailh(); // .
translate([63,22.3,0]) kailh(); // enter
translate([44,31.8,0]) kailh(); // 3
translate([25,31.8,0]) kailh(); // 2
translate([6,31.8,0]) kailh(); // 1
translate([44,50.8,0]) kailh(); // 6
translate([25,50.8,0]) kailh(); // 5
translate([6,50.8,0]) kailh(); // 4
translate([63,60.3,0]) kailh(); // +
translate([44,69.8,0]) kailh(); // 9
translate([25,69.8,0]) kailh(); // 8
translate([6,69.8,0]) kailh(); // 7
translate([63,88.8,0]) kailh(); // -
translate([44,88.8,0]) kailh(); // *
translate([25,88.8,0]) kailh(); // /
translate([6,88.8,0]) kailh(); // Num
translate([63,107.8,0]) kailh(); // Next
translate([44,107.8,0]) kailh(); // Stop
translate([25,107.8,0]) kailh(); // Play/Pause
translate([6,107.8,0]) kailh(); // Prev