- hull() {
- rotate([lens_angle, 0, 0])
- translate([-lens_size/2-wall, 0, 0])
- cube([lens_size+2*wall, 2*wall+lens_depth, wall+lens_size/2]);
- rotate([0, 0, slot_angle])
- translate([-stem_w-wall-slot_x_off, -slot_l, 0])
- cube([stem_w + 2*wall, slot_l, wall + lens_size/2]);
+ intersection() {
+ hull() {
+ // lens outer body
+ rotate([lens_up_angle, 0, 0])
+ translate([-lens_size/2-wall, 0, 0])
+ cube([lens_size+2*wall, 2*wall+lens_depth, wall+lens_size/2]);
+ // stem outer body
+ rotate([0, 0, slot_angle])
+ translate([-stem_w-wall-slot_x_off, -slot_l, 0])
+ cube([stem_w + 2*wall, slot_l, wall + lens_size/2]);
+ }
+ translate([-infty/2, -infty/2, 0])
+ cube([infty, infty, wall+lens_size/2]);