Files
@ be58095e6635
Branch filter:
Location: Wearables/Neopixel-Respirator/3D_Models/Holder.scad - annotation
be58095e6635
2.1 KiB
text/plain
Use different cable channels and move alignment pins into own module
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();
|