eps = 0.01; // Q6 lens dimensions yellow_ring_d = 19.5 + 0.5; yellow_ring_h = 3.5; view_angle = 95; hood_h = 20; hood_top_d = 30; lens_d = 15; wall = 1.5; rectangle_h = 80; rectangle_w2h = 1.777; rect_d2 = rectangle_h * tan(view_angle/2); rect_x = 2*rect_d2/sqrt(1+rectangle_w2h*rectangle_w2h); rect_y = rectangle_w2h * rect_x; $fn = 128; difference() { // body hull() { cylinder(r = yellow_ring_d/2 + wall, h = yellow_ring_h); translate([0, 0, hood_h-eps]) cylinder(r = hood_top_d/2 + wall, h = eps); } translate([0, 0, -eps]) cylinder(r = yellow_ring_d/2, h = yellow_ring_h+2*eps); // walls of the cone hull() { translate([0, 0, yellow_ring_h]) cylinder(r = yellow_ring_d/2, h = eps); translate([0, 0, hood_h]) cylinder(r = hood_top_d/2, h = eps); } hull() { cylinder(r = lens_d/2, h = eps); // translate([0, 0, rectangle_h]) // cylinder(r = rect_d2 - 5, h = eps); translate([-rect_x/2, -rect_y/2, rectangle_h]) cube([rect_x, rect_y, eps]); } }