mirror of
https://github.com/nophead/NopSCADlib.git
synced 2025-08-24 16:13:07 +02:00
Merge branch 'mmuman-rect-leds'
This commit is contained in:
BIN
libtest.png
BIN
libtest.png
Binary file not shown.
Before Width: | Height: | Size: 1015 KiB After Width: | Height: | Size: 1016 KiB |
10
libtest.scad
10
libtest.scad
@@ -157,7 +157,7 @@ cable_grommets_y = 0;
|
||||
translate([x5, cable_grommets_y])
|
||||
cable_grommets();
|
||||
|
||||
translate([x5, cable_grommets_y + 30])
|
||||
translate([x5, cable_grommets_y + 45])
|
||||
led_bezels();
|
||||
|
||||
translate([x5 + 50, cable_grommets_y])
|
||||
@@ -366,9 +366,12 @@ components_y = toggles_y + 40;
|
||||
translate([x2, leds_y])
|
||||
leds();
|
||||
|
||||
translate([x2 + 35, leds_y])
|
||||
translate([x2 + 55, leds_y])
|
||||
ldrs();
|
||||
|
||||
translate([x2 + 87, leds_y])
|
||||
fuseholders();
|
||||
|
||||
translate([x2 + 8, carriers_y])
|
||||
carriers();
|
||||
|
||||
@@ -378,9 +381,6 @@ translate([x2, magnets_y])
|
||||
translate([x2 + 20, carriers_y])
|
||||
led_meters();
|
||||
|
||||
translate([x2 + 70, leds_y])
|
||||
fuseholders();
|
||||
|
||||
translate([x2, spades_y])
|
||||
spades();
|
||||
|
||||
|
@@ -40,32 +40,72 @@ function led_bezel_hole_r(type) = //! Panel hole radius
|
||||
module led_bezel(type) { //! Makes the STL for the bezel
|
||||
led = led_bezel_led(type);
|
||||
stl(str(led[0],"_bezel")) {
|
||||
rl = led_diameter(led) / 2;
|
||||
rr = led_rim_dia(led) / 2;
|
||||
wall = led_bezel_wall(type);
|
||||
poly_tube(or = rr + wall + led_bezel_flange(type), ir = rl, h = led_bezel_flange_t(type)); // Flange
|
||||
poly_tube(or = rl + wall, ir = rl, h = led_height(led) - rl - led_rim_t(led)); // Tube up to LED flange
|
||||
poly_tube(or = corrected_radius(rr) + wall, ir = rr, h = led_bezel_height(type)); // Tube beyond the flange
|
||||
if(is_num(led_diameter(led))) {
|
||||
rl = led_diameter(led) / 2;
|
||||
rr = led_rim_dia(led) / 2;
|
||||
poly_tube(or = rr + wall + led_bezel_flange(type), ir = rl, h = led_bezel_flange_t(type)); // Flange
|
||||
poly_tube(or = rl + wall, ir = rl, h = led_height(led) - rl - led_rim_t(led)); // Tube up to LED flange
|
||||
poly_tube(or = corrected_radius(rr) + wall, ir = rr, h = led_bezel_height(type)); // Tube beyond the flange
|
||||
}
|
||||
else {
|
||||
linear_extrude(led_bezel_flange_t(type)) // Flange
|
||||
difference() {
|
||||
offset(wall + led_bezel_flange(type))
|
||||
square(led_rim_dia(led), true);
|
||||
|
||||
square(led_diameter(led), true);
|
||||
}
|
||||
|
||||
linear_extrude(led_height(led) - led_rim_t(led)) // Tube up to the LED flange
|
||||
difference() {
|
||||
offset(wall)
|
||||
square(led_diameter(led), true);
|
||||
|
||||
square(led_diameter(led), true);
|
||||
}
|
||||
|
||||
linear_extrude(led_bezel_height(type)) // Tube beyond the LED flange
|
||||
difference() {
|
||||
offset(wall)
|
||||
square(led_rim_dia(led), true);
|
||||
|
||||
square(led_rim_dia(led), true);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module led_bezel_retainer(type) { //! Makes the STL for the retaining ring
|
||||
led = led_bezel_led(type);
|
||||
stl(str(led[0],"_bezel_retainer")) {
|
||||
ir = led_bezel_r(type);
|
||||
poly_tube(or = ir + led_bezel_wall(type), ir = ir, h = 4);
|
||||
wall = led_bezel_wall(type);
|
||||
if(is_num(led_diameter(led))) {
|
||||
ir = led_bezel_r(type);
|
||||
poly_tube(or = ir + wall, ir = ir, h = 4);
|
||||
}
|
||||
else
|
||||
linear_extrude(4)
|
||||
difference() {
|
||||
offset(2 * wall)
|
||||
square(led_rim_dia(led), true);
|
||||
|
||||
offset(wall)
|
||||
square(led_rim_dia(led), true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module led_bezel_assembly(type, colour = "red") {//! Led bezel with LED
|
||||
led = led_bezel_led(type);
|
||||
d = led_diameter(led);
|
||||
assembly(str(led[0], "_", colour, "_bezel")) {
|
||||
translate_z(led_bezel_flange_t(type)) {
|
||||
vflip()
|
||||
stl_colour(pp1_colour)
|
||||
led_bezel(type);
|
||||
|
||||
translate_z(-led_height(led) + led_diameter(led) / 2)
|
||||
translate_z(-led_height(led) + (is_num(d) ? d / 2 : 0))
|
||||
explode(-20)
|
||||
led(led, colour);
|
||||
}
|
||||
|
@@ -2112,6 +2112,7 @@ Standard domed through hole LEDs. Can specify colour and lead length.
|
||||
| 1 | `led(LED3mm, "green")` | LED 3 mm green |
|
||||
| 1 | `led(LED5mm, "blue")` | LED 5 mm blue |
|
||||
| 1 | `led(LED8mm)` | LED 8 mm red |
|
||||
| 1 | `led(LED5x2mm, "green")` | LED [5, 2] mm green |
|
||||
|
||||
|
||||
<a href="#top">Top</a>
|
||||
@@ -6432,6 +6433,7 @@ Printed LED bezels for panel mounting
|
||||
| 1 | `led(LED3mm, "yellow")` | LED 3 mm yellow |
|
||||
| 1 | `led(LED5mm, "blue")` | LED 5 mm blue |
|
||||
| 1 | `led(LED8mm)` | LED 8 mm red |
|
||||
| 1 | `led(LED5x2mm, "yellow")` | LED [5, 2] mm yellow |
|
||||
|
||||
### Printed
|
||||
| Qty | Filename |
|
||||
@@ -6442,6 +6444,8 @@ Printed LED bezels for panel mounting
|
||||
| 1 | LED3mm_bezel_retainer.stl |
|
||||
| 1 | LED5mm_bezel.stl |
|
||||
| 1 | LED5mm_bezel_retainer.stl |
|
||||
| 1 | LED5x2mm_bezel.stl |
|
||||
| 1 | LED5x2mm_bezel_retainer.stl |
|
||||
| 1 | LED8mm_bezel.stl |
|
||||
| 1 | LED8mm_bezel_retainer.stl |
|
||||
|
||||
@@ -6451,6 +6455,7 @@ Printed LED bezels for panel mounting
|
||||
| 1 | LED10mm_orange_bezel_assembly |
|
||||
| 1 | LED3mm_yellow_bezel_assembly |
|
||||
| 1 | LED5mm_blue_bezel_assembly |
|
||||
| 1 | LED5x2mm_yellow_bezel_assembly |
|
||||
| 1 | LED8mm_red_bezel_assembly |
|
||||
|
||||
|
||||
|
@@ -23,7 +23,7 @@ include <../vitamins/leds.scad>
|
||||
use <../printed/led_bezel.scad>
|
||||
|
||||
module led_bezels()
|
||||
layout([for(l = LEDs) led_diameter(l)], 6) let(l = LEDs[$i], b = led_bezel(l))
|
||||
layout([for(l = LEDs) max(led_diameter(l))], 6) let(l = LEDs[$i], b = led_bezel(l))
|
||||
if($preview)
|
||||
led_bezel_fastened_assembly(b, 3, ["yellow", "blue", "red", "orange"][$i % 4]);
|
||||
else {
|
||||
|
@@ -22,7 +22,7 @@ use <../utils/layout.scad>
|
||||
include <../vitamins/leds.scad>
|
||||
|
||||
module leds()
|
||||
layout([for(l = LEDs) led_diameter(l)], 5)
|
||||
layout(echoit([for(l = LEDs) max(led_diameter(l))]), 5)
|
||||
led(LEDs[$i], ["green", "blue", "red", "orange"][$i % 4]);
|
||||
|
||||
if($preview)
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 113 KiB After Width: | Height: | Size: 110 KiB |
Binary file not shown.
Before Width: | Height: | Size: 75 KiB After Width: | Height: | Size: 82 KiB |
@@ -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);
|
||||
|
@@ -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 <led.scad>
|
||||
|
Reference in New Issue
Block a user