// ============================================ // SaltyLab — LED Diffuser Ring // Ø120×15mm Clear PETG 30% infill // Wraps around frame, holds WS2812B strip // Print in clear/natural PETG for diffusion // ============================================ include ring_od = 120; ring_id = 110; // Inner diameter (strip sits inside) ring_h = 15; strip_channel_w = led_strip_w + 1; // Strip channel strip_channel_d = 3; // Depth for strip module led_diffuser_ring() { difference() { // Outer ring cylinder(d=ring_od, h=ring_h, $fn=80); // Inner hollow translate([0, 0, -1]) cylinder(d=ring_id, h=ring_h + 2, $fn=80); // LED strip channel (groove on inner wall) translate([0, 0, (ring_h - strip_channel_w)/2]) difference() { cylinder(d=ring_id + 2, h=strip_channel_w, $fn=80); cylinder(d=ring_id - strip_channel_d*2, h=strip_channel_w, $fn=80); } // Wire entry slot translate([ring_od/2 - 5, -3, ring_h/2 - 3]) cube([10, 6, 6]); // 2020 extrusion clearance (center) translate([-extrusion_w/2 - 5, -extrusion_w/2 - 5, -1]) cube([extrusion_w + 10, extrusion_w + 10, ring_h + 2]); } // Mounting tabs (clip onto extrusion, 4x) for (angle = [0, 90, 180, 270]) { rotate([0, 0, angle]) translate([extrusion_w/2 + 1, -5, 0]) difference() { cube([3, 10, ring_h]); translate([-1, 2, ring_h/2]) rotate([0, 90, 0]) cylinder(d=m3_clear, h=5, $fn=20); } } } led_diffuser_ring();