// Holder for two Fraen FHS-HEB1-LB01-x lenses for Luxeon LEDs. eps = 0.01; infty = 100; wall = 1.5; screw_zoff = 5.5; screw_d = 4; screw_head = 10; lens_dist = 45; base_w = 45; base_l = 30; base_l2 = 3; screw_wall = 3; translate([-base_w/2, -base_l2, 0]) cube([base_w, base_l/2+base_l2, wall]); translate([0, base_l/2, 0]) scale([-base_w/base_l, 1, 1]) cylinder(r = base_l/2, h = wall, $fn = 128); hull() { // sides translate([-screw_head/2-wall, 0, 0]) cube([screw_head+2*wall, screw_wall, wall+2]); for (x = [-1, 1]) scale([x, 1,1]) translate([base_w*0.4, 0, 0]) cube([wall, screw_wall, wall]); } difference() { hull() { translate([-screw_head/2-wall, 0, 0]) cube([screw_head+2*wall, screw_wall, wall+screw_head/2+screw_zoff]); translate([-screw_head/2-wall, base_l-2*wall, 0]) cube([screw_head+2*wall, wall, wall]); } translate([-screw_head/2, screw_wall, wall]) cube([screw_head, infty, screw_head/2+screw_zoff+eps]); translate([0, -eps, wall+screw_zoff]) rotate([-90, 0, 0]) cylinder(r = screw_d/2, h = screw_wall+2*eps, $fn = 6); }