--- /dev/null
+infty = 1000;
+eps = 0.01;
+
+wall = 1.5;
+
+// distance between the centers of both strips
+strip_dist = 25;
+
+body_h = 6;
+
+al_bar_w = 15 + 0.5;
+al_bar_h = 1.5;
+
+led_strip_w = 10 + 0.5;
+led_strip_h = 2 * 2.0;
+
+screw_hole = 3.5;
+screw_l = 2;
+
+module body() {
+ cube([strip_dist/2 + al_bar_w/2 + wall, al_bar_h + wall, body_h]);
+ translate([strip_dist/2, al_bar_h, 0])
+ scale([1, (led_strip_h/2 + wall)/(led_strip_w/2 + wall), 1])
+ cylinder(r = led_strip_w/2 + wall, h = body_h);
+
+}
+
+for (x = [-1, 1]) scale([x, 1, 1])
+difference() {
+ body();
+ // aluminium bars
+ translate([strip_dist/2-al_bar_w/2, -eps, -eps])
+ cube([al_bar_w, al_bar_h + eps, body_h + 2*eps]);
+
+ // LED strip
+ translate([strip_dist/2, al_bar_h, -eps])
+ scale([1, led_strip_h/led_strip_w, 1])
+ cylinder(r = led_strip_w/2, h = body_h + 2*eps);
+
+ // rear half of the cylinder
+ translate([strip_dist/2-led_strip_w/2 - wall - eps, -led_strip_h-wall, -eps])
+ cube([led_strip_w + 2*wall + 2*eps, led_strip_h +wall + 2*eps, body_h + 2*eps]);
+
+ // screw hole
+ translate([0, 0, body_h/2]) rotate([-90, 0, 0]) {
+ translate([screw_l/2, 0, -infty/2])
+ cylinder(r = screw_hole/2, h = infty, $fn = 6);
+ translate([0, 0, -infty/2])
+ cylinder(r = screw_hole/2, h = infty, $fn = 6);
+ }
+}