Files
@ 49d2eb88f835
Branch filter:
Location: Wearables/Neopixel-Respirator/3D_Models/Holder.scad - annotation
49d2eb88f835
2.4 KiB
text/plain
Update tolerances
9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 49d2eb88f835 49d2eb88f835 9b1a5d5af6f4 49d2eb88f835 49d2eb88f835 9b1a5d5af6f4 49d2eb88f835 9b1a5d5af6f4 9b1a5d5af6f4 b7b7c4d94bc2 b7b7c4d94bc2 b7b7c4d94bc2 49d2eb88f835 9b1a5d5af6f4 de26204a47cd b7b7c4d94bc2 b7b7c4d94bc2 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 b7b7c4d94bc2 b7b7c4d94bc2 b7b7c4d94bc2 b7b7c4d94bc2 b7b7c4d94bc2 b7b7c4d94bc2 b7b7c4d94bc2 b7b7c4d94bc2 b7b7c4d94bc2 b7b7c4d94bc2 9b1a5d5af6f4 9b1a5d5af6f4 be58095e6635 be58095e6635 be58095e6635 b7b7c4d94bc2 b7b7c4d94bc2 be58095e6635 be58095e6635 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 49d2eb88f835 49d2eb88f835 49d2eb88f835 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.7;
ring_24_inner_diameter = 52.3 - 0.7;
ring_12_outer_diameter = 36.8 + 0.7;
ring_12_inner_diameter = 23.3 - 0.7;
ring_thickness = 6.7 + 0.2;
ring_z_offset = neopixel_holder_thickness - ring_thickness;
channel_length = ring_24_inner_diameter/2;
channel_width = 4;
channel_angle = 32.5;
main_channel_diameter = 12;
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;
module ring(h, od, id) {
difference() {
cylinder(h=h, d=od);
cylinder(h=h, d=id);
}
};
module channel() {
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, -(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() {
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();
|