PCB-Jig/pcb-jig.scad

31 lines
1.2 KiB
OpenSCAD
Raw Normal View History

module pcb_jig(width, height, thickness = 10, inset = 3, tolerance = 1) {
difference() {
translate([0, 0, thickness / 2])
cube([width + 50, height + 15, thickness], center = true);
2023-02-22 17:31:00 +02:00
translate([0, 0, thickness - inset + (inset + 1) / 2])
cube([width + tolerance, height + tolerance, (inset + 1)], center = true);
2023-02-22 17:31:00 +02:00
translate([0, height / 2 + 5, 2.5])
cube([15, 20, 20], center = true);
2023-02-22 17:31:00 +02:00
translate([0, -height / 2 - 5, 2.5])
cube([15, 20, 20], center = true);
2023-02-22 17:31:00 +02:00
translate([2.5, 0, -1]) {
spacing = max(1, floor(height / 45)) * 45;
2023-02-22 17:31:00 +02:00
translate([width / 2 + 10, 0, 0]) {
translate([0, spacing / 2, 0])
2023-02-22 17:31:00 +02:00
cylinder(h = 20, d = 6.5);
translate([0, -spacing / 2, 0])
2023-02-22 17:31:00 +02:00
cylinder(h = 20, d = 6.5);
}
translate([-width / 2 - 15, 0, 0]) {
translate([0, spacing / 2, 0])
2023-02-22 17:31:00 +02:00
cylinder(h = 20, d = 6.5);
translate([0, -spacing / 2, 0])
2023-02-22 17:31:00 +02:00
cylinder(h = 20, d = 6.5);
}
}
}
}