From 68c293377e15b5778e54003876e863700504f321 Mon Sep 17 00:00:00 2001 From: maride Date: Tue, 23 Jan 2018 23:05:53 +0100 Subject: [PATCH] Add bezel for Turris Omnia's LEDs --- Turris_Omnia_LED_Bezel.scad | 52 +++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 Turris_Omnia_LED_Bezel.scad diff --git a/Turris_Omnia_LED_Bezel.scad b/Turris_Omnia_LED_Bezel.scad new file mode 100644 index 0000000..c578ffe --- /dev/null +++ b/Turris_Omnia_LED_Bezel.scad @@ -0,0 +1,52 @@ +LED_HEIGHT=9; +LED_WIDTH=5; +LED_DEPTH=8; +LED_SPACING=5; +LED_AMOUNT=12; + +BEARING_SPACING=5; +BEARING_DIAMETER=3; + +THICKNESS=1; +$fn = 36; + +module led_frame() { + // left spacer + cube([LED_SPACING/2-THICKNESS, LED_DEPTH + THICKNESS, THICKNESS]); + + // the box + translate([LED_SPACING/2 - THICKNESS, 0, 0]) + difference() { + cube([LED_WIDTH + THICKNESS*2, LED_DEPTH + THICKNESS, LED_HEIGHT + THICKNESS]); + translate([THICKNESS, 0, 0]) + cube([LED_WIDTH, LED_DEPTH, LED_HEIGHT]); + } + + // right spacer + translate([LED_SPACING/2 + LED_WIDTH + THICKNESS, 0, 0]) + cube([LED_SPACING/2 - THICKNESS, LED_DEPTH + THICKNESS, THICKNESS]); +} + +module bearing() { + // the bearing "circles" + translate([0, (LED_DEPTH + THICKNESS)/2, 0]) + difference() { + cylinder(d=LED_DEPTH + THICKNESS, THICKNESS); + cylinder(d=BEARING_DIAMETER, THICKNESS); + } + + // the connection bar to the LED frames + difference() { + cube([BEARING_SPACING, LED_DEPTH + THICKNESS, THICKNESS]); + translate([0, (LED_DEPTH + THICKNESS)/2, 0]) + cylinder(d=BEARING_DIAMETER, THICKNESS); + } +} + +translate([-BEARING_SPACING, 0, 0]) +bearing(); + +for(i = [0 : LED_AMOUNT - 1]) { + translate([i * (LED_WIDTH + LED_SPACING), 0, 0]) + led_frame(); +} \ No newline at end of file