// Jig for assembling mini IR boards // Board lower right corner is at 0,0 diodeClear=0.0; capClear=0.00; boardClear=0.0; connClear=0.00; connOverlap=4.7; overlap=0.05; pcbX=24.0; pcbY=17.5; pcbZ=1.0; margin=5; releaseWidth=5; module Capacitor() { cylinder(r=6.4/2+capClear,h=7.7+pcbZ, $fn=64); } // Diode facing right module Diode() { translate([-2.2/2-diodeClear+0.2, -3/2-diodeClear, 0]) cube([2.2+2*diodeClear,3+2*diodeClear,5.5+pcbZ]); translate([1.3,0,0]) cylinder(r=0.7+diodeClear,h=5.5+pcbZ, $fn=16); } module Board() { difference() { union() { translate([-boardClear,-boardClear, 0]) cube([pcbX+2*boardClear,pcbY+2*boardClear,pcbZ]); // PCB translate([0,2,0]) cube([22.5,10,1.6+pcbZ]); // SMD components and diode shoulders translate([14.5,2,0]) cube([4.6,14.8,1.6+pcbZ]); // SMD components and diode shoulders translate([10.16,3.4925,0]) Capacitor(); translate([4.92125,2.2225,0]) rotate([0,0,-45]) Diode(); // phototransistor translate([15.875,2.69875,0]) rotate([0,0,-135]) Diode(); translate([19.52625,2.2225,0]) rotate([0,0,-135]) Diode(); translate([9.84250,14.92250,5]) cube([7.0+2*connClear,1.0+2*connClear,10], center=true); // straight connector } translate([2.70,14.92,-overlap]) cylinder(r=1.4,h=20,$fn=20); translate([21.11,14.92,-overlap]) cylinder(r=1.4,h=20,$fn=20); } } Board();