module pcb_jig(width, height) { difference() { color("green") translate([0, 0, 5]) cube([width + 50, height + 15, 10], center = true); color("red") translate([0, 0, 10]) cube([width + 1, height + 1, 5], center = true); color("blue") translate([0, height / 2 + 5, 2.5]) cube([15, 20, 20], center = true); color("blue") translate([0, -height / 2 - 5, 2.5]) cube([15, 20, 20], center = true); translate([2.5, 0, -1]) { spacing = max(1, floor(height / 45)) * 45; translate([width / 2 + 10, 0, 0]) { translate([0, spacing / 2, 0]) cylinder(h = 20, d = 6.5); translate([0, -spacing / 2, 0]) cylinder(h = 20, d = 6.5); } translate([-width / 2 - 15, 0, 0]) { translate([0, spacing / 2, 0]) cylinder(h = 20, d = 6.5); translate([0, -spacing / 2, 0]) cylinder(h = 20, d = 6.5); } } } }