Files
@ de26204a47cd
Branch filter:
Location: Wearables/Neopixel-Respirator/3D_Models/Holder.scad - annotation
de26204a47cd
2.1 KiB
text/plain
Add version 0.2 changes
9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 de26204a47cd 9b1a5d5af6f4 de26204a47cd 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 de26204a47cd de26204a47cd 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 de26204a47cd de26204a47cd de26204a47cd de26204a47cd de26204a47cd de26204a47cd 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 de26204a47cd de26204a47cd de26204a47cd de26204a47cd de26204a47cd de26204a47cd de26204a47cd de26204a47cd de26204a47cd de26204a47cd de26204a47cd 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 de26204a47cd | overall_outer_diameter = 75;
overall_thickness = 15;
neopixel_holder_thickness = 7.5;
translucent_disk_thickness = overall_thickness - neopixel_holder_thickness;
ring_24_outer_diameter = 65.6;
ring_24_inner_diameter = 52.3;
ring_12_outer_diameter = 36.8;
ring_12_inner_diameter = 23.3;
ring_thickness = 6.7;
ring_z_offset = neopixel_holder_thickness - ring_thickness;
channel_length = overall_outer_diameter-3;
alignment_pin_position = (-overall_outer_diameter/2) + 1.5;
$fn = 200;
module ring(h, od, id) {
difference() {
cylinder(h=h, d=od);
cylinder(h=h, d=id);
}
};
module channel() {
translate([-(channel_length/2), -2, ring_z_offset]) cube([channel_length, 4, ring_thickness+1]);
translate([0, 0, -1]) cylinder(h=neopixel_holder_thickness+2, d=10);
};
module neopixel_holder() {
difference () {
cylinder(h=neopixel_holder_thickness, d=overall_outer_diameter);
for (d=[[ring_24_outer_diameter, ring_24_inner_diameter], [ring_12_outer_diameter, ring_12_inner_diameter]])
translate([0, 0, ring_z_offset])
ring(h=ring_thickness+1, od=d[0], id=d[1]);
channel();
for (y=[0, 1])
mirror([0, y, 0])
mirror([1, 1, 0])
translate([alignment_pin_position, -2, ring_z_offset])
cube([5, 4, ring_thickness+1]);
};
};
module translucent_disk() {
cylinder(h=translucent_disk_thickness, d=overall_outer_diameter);
for (y=[0, 1])
mirror([0, y, 0])
mirror([1, 1, 0])
translate([alignment_pin_position, -(4-0.2)/2, translucent_disk_thickness])
cube([3, 4-0.2, neopixel_holder_thickness -ring_z_offset]);
for (x=[0, 1])
mirror([x, 0, 0])
translate([alignment_pin_position, -(4-0.2)/2, translucent_disk_thickness])
cube([3, 4-0.2, neopixel_holder_thickness -ring_z_offset]);
};
translate([-(overall_outer_diameter/2+1), 0, 0]) neopixel_holder();
translate([(overall_outer_diameter/2+1), 0, 0]) translucent_disk();
|