Files
@ 9b1a5d5af6f4
Branch filter:
Location: Wearables/Neopixel-Respirator/3D_Models/Holder.scad - annotation
9b1a5d5af6f4
2.9 KiB
text/plain
Rename openscad models
9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 9b1a5d5af6f4 | 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 = (ring_12_outer_diameter - ring_12_inner_diameter);
channel_position = (-ring_12_outer_diameter - ring_12_inner_diameter)/2;
cable_channel_width = (overall_outer_diameter/2 - ring_24_outer_diameter/2)/2;
cable_channel_position = (-overall_outer_diameter/2) + cable_channel_width;
alignment_pin_diameter = 2.5;
alignment_pin_height = neopixel_holder_thickness - 2.5;
alignment_pin_position = (-overall_outer_diameter/2) + alignment_pin_diameter;
$fn = 200;
module ring(h, od, id) {
difference() {
cylinder(h=h, d=od);
cylinder(h=h, d=id);
}
};
module channel() {
translate([channel_position, -1.25, ring_z_offset])
cube([channel_length, 2.5, ring_thickness+1]);
mirror([1, 0, 0])
translate([channel_position, -1.25, ring_z_offset])
cube([channel_length, 2.5, ring_thickness+1]);
translate([cable_channel_position, 0, -1])
cylinder(h=neopixel_holder_thickness+2, d=2.5);
translate([cable_channel_position, -1.25, ring_z_offset])
cube([cable_channel_width+0.1, 2.5, ring_thickness+0.1]);
};
module neopixel_holder() {
alignment_pin_z_position = neopixel_holder_thickness - alignment_pin_height;
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();
translate([-alignment_pin_position, 0, alignment_pin_z_position])
cylinder(h=alignment_pin_height+0.1, d=alignment_pin_diameter);
for (y=[alignment_pin_position, -alignment_pin_position])
translate([0, y, alignment_pin_z_position])
cylinder(h=alignment_pin_height+0.1, d=alignment_pin_diameter);
};
};
module translucent_disk() {
alignment_pin_diameter_l = alignment_pin_diameter - 0.1;
cylinder(h=translucent_disk_thickness, d=overall_outer_diameter);
translate([-alignment_pin_position, 0, translucent_disk_thickness])
cylinder(h=alignment_pin_height, d=alignment_pin_diameter_l);
for (y=[alignment_pin_position, -cable_channel_position])
translate([0, y, translucent_disk_thickness])
cylinder(h=alignment_pin_height, d=alignment_pin_diameter_l);
};
translate([-(overall_outer_diameter/2+1), 0, 0]) neopixel_holder();
translate([(overall_outer_diameter/2+1), 0, 0]) rotate([180, 180, 0]) translucent_disk();
|