Files
@ 4868e9ab1dc4
Branch filter:
Location: Wearables/Neopixel-Respirator/3D_Models/Holder.scad - annotation
4868e9ab1dc4
2.1 KiB
text/plain
Added tag h0.4v0.1 for changeset be58095e6635
9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 441c600a664e 441c600a664e 9b1a5d5af6f4 441c600a664e 441c600a664e 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 be58095e6635 be58095e6635 9b1a5d5af6f4 de26204a47cd 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 be58095e6635 be58095e6635 be58095e6635 de26204a47cd 9b1a5d5af6f4 9b1a5d5af6f4 be58095e6635 be58095e6635 be58095e6635 be58095e6635 be58095e6635 be58095e6635 be58095e6635 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 be58095e6635 441c600a664e 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 de26204a47cd de26204a47cd de26204a47cd de26204a47cd 9b1a5d5af6f4 9b1a5d5af6f4 be58095e6635 be58095e6635 be58095e6635 | 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 + 0.5;
ring_24_inner_diameter = 52.3 - 0.5;
ring_12_outer_diameter = 36.8 + 0.5;
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;
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)-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);
};
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]);
}
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();
alignment_pin();
}
};
module translucent_disk() {
cylinder(h=translucent_disk_thickness, d=overall_outer_diameter);
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]);
};
neopixel_holder();
// translate([-(overall_outer_diameter/2+1), 0, 0]) neopixel_holder();
//translate([(overall_outer_diameter/2+1), 0, 0]) translucent_disk();
|