|
@@ -13,10 +13,15 @@ ring_12_inner_diameter = 23.3 - 0.5;
|
|
|
ring_thickness = 6.7;
|
|
|
ring_z_offset = neopixel_holder_thickness - ring_thickness;
|
|
|
|
|
|
//channel_length = overall_outer_diameter-3;
|
|
|
channel_length = ring_12_outer_diameter;
|
|
|
channel_length = ring_24_inner_diameter/2;
|
|
|
channel_width = 4;
|
|
|
channel_angle = 32.5;
|
|
|
main_channel_diameter = 10;
|
|
|
|
|
|
|
|
|
alignment_pin_position = (-overall_outer_diameter/2) + 1.5;
|
|
|
alignment_pin_width = 4;
|
|
|
alignment_pin_length = ((overall_outer_diameter/2 - ring_24_outer_diameter/2)/2) + 1.5;
|
|
|
|
|
|
$fn = 200;
|
|
|
|
|
@@ -28,17 +33,23 @@ module ring(h, od, id) {
|
|
|
};
|
|
|
|
|
|
module channel() {
|
|
|
translate([-(channel_length/2)-8, -2, ring_z_offset]) cube([channel_length+2, 4, ring_thickness+1]);
|
|
|
rotate([0, 0, 37.5]) translate([15, -2, ring_z_offset]) cube([15, 4, ring_thickness+1]);
|
|
|
rotate([0, 0, -37.5]) translate([15, -2, ring_z_offset]) cube([15, 4, ring_thickness+1]);
|
|
|
translate([0, 0, -1]) cylinder(h=neopixel_holder_thickness+2, d=10);
|
|
|
translate([-(channel_length), -(channel_width/2), ring_z_offset])
|
|
|
cube([channel_length, channel_width, ring_thickness+1]);
|
|
|
|
|
|
for (angle=[channel_angle, -channel_angle])
|
|
|
rotate([0, 0, angle])
|
|
|
translate([0, -(channel_width/2), ring_z_offset])
|
|
|
cube([channel_length, channel_width, ring_thickness+1]);
|
|
|
|
|
|
translate([0, 0, -1])
|
|
|
cylinder(h=neopixel_holder_thickness+2, d=main_channel_diameter);
|
|
|
};
|
|
|
|
|
|
module alignment_pin() {
|
|
|
for (x=[0, 1])
|
|
|
mirror([x, 0, 0])
|
|
|
translate([alignment_pin_position, -(4-0.2)/2, ring_z_offset])
|
|
|
cube([3, 4-0.2, neopixel_holder_thickness - ring_z_offset + 0.1]);
|
|
|
translate([alignment_pin_position, -(alignment_pin_width-0.2)/2, ring_z_offset])
|
|
|
cube([alignment_pin_length, alignment_pin_width-0.2, neopixel_holder_thickness - ring_z_offset + 0.1]);
|
|
|
}
|
|
|
|
|
|
module neopixel_holder() {
|