// SPE Press-Contact Jig spe_length = 31.0; spe_width = 12.0; spe_thick = 0.35; strip_count = 3; strip_y = [3.1, 6.05, 9.0]; strip_length = 18.0; wire_dia = 0.65; wall = 1.8; floor_t = 1.2; rim = 1.5; tol = 0.15; nest = 0.8; lid_coverage = strip_length - 1.0; tray_inner_l = spe_length + 2*tol; tray_inner_w = spe_width + 2*tol; tray_outer_l = tray_inner_l + 2*wall; tray_outer_w = tray_inner_w + 2*wall; lid_inner_l = lid_coverage + 2*tol; lid_outer_l = lid_inner_l + 2*wall; lid_outer_w = tray_outer_w; blade_w = 1.2; blade_drop = rim + 0.3; module bottom() { difference() { cube([tray_outer_l, tray_outer_w, floor_t + rim]); translate([wall, wall, floor_t]) cube([tray_inner_l + wall + 1, tray_inner_w, rim + 0.1]); for (i = [0:strip_count-1]) { wy = wall + tol + strip_y[i]; translate([-0.1, wy - (wire_dia + tol)/2, floor_t]) cube([wall + 0.2, wire_dia + tol, rim + 0.1]); } } } module top() { lip_inset = tol; difference() { cube([lid_outer_l, lid_outer_w, floor_t]); for (i = [0:strip_count-1]) { wy = wall + tol + strip_y[i]; translate([-0.1, wy - (wire_dia + tol)/2, -0.1]) cube([wall + 0.2, wire_dia + tol, floor_t + 0.2]); } } translate([wall + lip_inset, wall + lip_inset, -nest]) difference() { cube([lid_inner_l - 2*lip_inset, tray_inner_w - 2*lip_inset, nest]); translate([tol, tol, -0.1]) cube([lid_inner_l - 2*lip_inset - 2*tol, tray_inner_w - 2*lip_inset - 2*tol, nest + 0.2]); } for (i = [0:strip_count-1]) { wy = wall + tol + strip_y[i]; translate([wall, wy - blade_w/2, -blade_drop]) cube([lid_inner_l, blade_w, blade_drop]); } } bottom(); translate([tray_outer_l + 8, 0, blade_drop]) top();