9 translate([-lens_size/2-wall, 0, 0])
10 cube([lens_size+2*wall, 2*wall+lens_depth, wall+lens_size]);
12 translate([-lens_size/2, wall, wall])
13 cube([lens_size, lens_depth, lens_size + eps]);
15 translate([-lens_size/2+wall, wall, -eps])
16 cube([lens_size-2*wall, lens_depth+wall+eps, lens_size + wall + 2*eps]);
23 translate([-base_d/2, -rear_l, 0])
24 cube([base_d, base_d, wall]);
28 translate([-wall/2, -rear_l+base_d/2, 0])
29 cube([wall, base_d/2, wall]);
30 translate([-wall/2, 0, 0])
31 cube([wall, eps, 3*wall]);
35 for (i=[-1, 1]) scale([i, 1, 1]) {
37 translate([side_l-base_d, -base_d, 0])
38 cube([base_d, base_d, wall]);
42 translate([side_l-base_d/2, -base_d/2, 0])
43 cylinder(r = wall, h = wall, $fn = 32);
44 translate([lens_size/2+wall-eps, 0, 0])
45 cube([eps, wall, 3*wall]);
50 translate([side_l-base_d/2, -base_d/2, 0])
51 cylinder(r = wall/2, h = wall, $fn = 32);
52 translate([0, -rear_l+base_d/2, 0])
53 cylinder(r = wall, h = wall, $fn = 32);