4 black_ring_d = 18.5 + 0.5;
5 yellow_ring_d = 19.5 + 1;
16 body_h = wall + lens_overhang + black_ring_h + yellow_ring_h;
17 body_d = 2*wall + yellow_ring_d2;
21 cylinder(r = body_d/2, h = body_h);
22 translate([0, 0, wall])
23 cylinder(r = black_ring_d/2-wall, h = lens_overhang+eps);
24 translate([0, 0, wall + lens_overhang])
25 cylinder(r = black_ring_d/2, h = black_ring_h+eps);
26 translate([0, 0, wall + lens_overhang + black_ring_h]) difference() {
27 cylinder(r = yellow_ring_d/2, h = yellow_ring_h+eps);
28 for (angle = [0:90:360]) rotate ([0, 0, angle])
29 translate([yellow_ring_d/2 - clip_w, -yellow_ring_d/2,
30 yellow_ring_h - clip_h])
31 cube([clip_w + eps, yellow_ring_d, clip_h + 2*eps]);