From f4a7065e1f1198add4e50754343fd0d97954e239 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Revol?= Date: Thu, 17 Oct 2024 02:19:39 +0200 Subject: [PATCH] Add rectangular LEDs As per https://www.futurlec.com/LED/Red_2x5mm_LED.shtml --- vitamins/led.scad | 21 +++++++++++++-------- vitamins/leds.scad | 24 +++++++++++++----------- 2 files changed, 26 insertions(+), 19 deletions(-) diff --git a/vitamins/led.scad b/vitamins/led.scad index 9a2ed43..77d8477 100644 --- a/vitamins/led.scad +++ b/vitamins/led.scad @@ -41,16 +41,21 @@ module led(type, colour = "red", lead = 5, right_angle = 0) { //! Draw specified rotate([right_angle ? 90 : 0, 0, 0]) translate_z(right_angle ? right_angle - led_rim_t(type) : 0) color(colour) { - rotate_extrude() - rounded_corner(r = d / 2, h = led_height(type), r2 = d / 2); + if (is_num(d)) { + rotate_extrude() + rounded_corner(r = d / 2, h = led_height(type), r2 = d / 2); - linear_extrude(led_rim_t(type)) - difference() { - circle(d = led_rim_dia(type)); + linear_extrude(led_rim_t(type)) + difference() { + circle(d = led_rim_dia(type)); - translate([d / 2 + eps, -5]) - square(10); - } + translate([d / 2 + eps, -5]) + square(10); + } + } else { + translate_z(led_height(type)/2) cube([d.x, d.y, led_height(type)], center = true); + translate_z(led_rim_t(type)/2) cube([led_rim_dia(type).x, led_rim_dia(type).y, led_rim_t(type)], center = true); + } } t = led_lead_t(type); len = lead - (right_angle ? t : 0); diff --git a/vitamins/leds.scad b/vitamins/leds.scad index 34527cf..7a3c805 100644 --- a/vitamins/leds.scad +++ b/vitamins/leds.scad @@ -18,18 +18,20 @@ // // -// d r r h p l -// i i i e i e -// a m m i t a -// g c d -// d t h h -// t t +// d r r h p l +// i i i e i e +// a m m i t a +// g c d +// d t h h +// t t // -LED3mm = ["LED3mm", 3, 3.15, 1.15, 4.6, 2.54, 0.4]; -LED5mm = ["LED5mm", 5, 5.9, 1.1, 9.0, 2.54, 0.4]; -LED8mm = ["LED8mm", 8, 9.2, 1.95,11.0, 2.54, 0.4]; -LED10mm = ["LED10mm", 10, 11.0, 2.0, 13.5, 2.54, 0.4]; +LED3mm = ["LED3mm", 3, 3.15, 1.15, 4.6, 2.54, 0.4]; +LED5mm = ["LED5mm", 5, 5.9, 1.1, 9.0, 2.54, 0.4]; +LED8mm = ["LED8mm", 8, 9.2, 1.95, 11.0, 2.54, 0.4]; +LED10mm = ["LED10mm", 10, 11.0, 2.0, 13.5, 2.54, 0.4]; -LEDs = [LED3mm, LED5mm, LED8mm, LED10mm]; +LED5x2mm = ["LED5x2mm", [5,2], [5,2.7], 0.7, 7.0, 2.54, 0.5]; + +LEDs = [LED3mm, LED5mm, LED8mm, LED10mm, LED5x2mm]; use