$fn = 64; /* [Dimensions] */ // Total length of the channel length = 100.0; // Inner width of the LED channel (standard strips are 10mm or 12mm) led_width = 12.5; // Inner depth of the LED channel led_depth = 5.0; // Thickness of the baseplate to clip onto (tune for friction fit) plate_thickness = 3.2; // How deep the clip grips onto the baseplate clip_depth = 12.0; // Thickness of the plastic walls wall = 2.0; /* [Model] */ // Extrude the 2D profile to create the 3D channel linear_extrude(height = length) { profile(); } module profile() { difference() { // Main solid shape union() { // Clip section square([clip_depth + wall, plate_thickness + 2 * wall + 0.01]); // LED channel section translate([0, plate_thickness + 2 * wall]) square([led_width + 2 * wall, led_depth + wall]); } // Cutout for the baseplate with flared opening for easy insertion translate([wall, wall]) polygon([ [0, 0], [clip_depth - 1.5, 0], [clip_depth + 1, -1.5], [clip_depth + 1, plate_thickness + 1.5], [clip_depth - 1.5, plate_thickness], [0, plate_thickness] ]); // Cutout for the LED strip (open to the top) translate([wall, plate_thickness + 3 * wall]) square([led_width, led_depth + wall]); } }