Files
@ 16d8fef75aa7
Branch filter:
Location: Wearables/Neopixel-Respirator/3D_Models/Holder.scad - annotation
16d8fef75aa7
2.4 KiB
text/plain
Added tag h0.5v0.1 for changeset b7b7c4d94bc2
9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 441c600a664e 441c600a664e 9b1a5d5af6f4 441c600a664e 441c600a664e 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 b7b7c4d94bc2 b7b7c4d94bc2 b7b7c4d94bc2 b7b7c4d94bc2 b7b7c4d94bc2 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 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 = 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;
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();
|