Add the experimental "fresnel" pattern generator for laser cutting. The hypothesis is that by melting the surface of an acrylic sheet, light from the LED source will be better projected forward onto the surface of the diffuser sheet.
This commit is contained in:
parent
234b2b89dc
commit
1a42f260fe
|
@ -256,27 +256,44 @@ module flashlight_mount_cap (DEBUG = false) {
|
|||
}
|
||||
|
||||
module impromptu_mount () {
|
||||
$fn = 100;
|
||||
ROD_D = 12.6;
|
||||
$fn = 100;
|
||||
ROD_D = 12.6;
|
||||
|
||||
translate([0, -35, 0]) rotate([90, 0, 0]) {
|
||||
difference () {
|
||||
union() {
|
||||
cylinder(r = ROD_D / 2, h = 43, center = true);
|
||||
translate([0, 0, -5]) cylinder(r = (ROD_D / 2) + 2, h = 30, center = true);
|
||||
}
|
||||
//notch for cap
|
||||
translate([-10, 0, 24.5]) cube([15, 15, 15], center = true);
|
||||
translate([0, 0, -22.25]) cube([45, 45, 15], center = true);
|
||||
translate([0, -35, 0]) rotate([90, 0, 0]) {
|
||||
difference () {
|
||||
union() {
|
||||
cylinder(r = ROD_D / 2, h = 43, center = true);
|
||||
translate([0, 0, -5]) cylinder(r = (ROD_D / 2) + 2, h = 30, center = true);
|
||||
}
|
||||
translate([0, 0, -17]) cube([8, 8, 5], center = true);
|
||||
//notch for cap
|
||||
translate([-10, 0, 24.5]) cube([15, 15, 15], center = true);
|
||||
translate([0, 0, -22.25]) cube([45, 45, 15], center = true);
|
||||
}
|
||||
translate([0, -46.4, 0]) {
|
||||
difference() {
|
||||
rotate ([90, 90, 0]) cylinder(r = (ROD_D / 2) + 2, h = 3, center = true);
|
||||
translate([50 + (ROD_D / 2), 0, 0]) cube([100, 100, 100], center = true);
|
||||
translate([-50 - (ROD_D / 2), 0, 0]) cube([100, 100, 100], center = true);
|
||||
}
|
||||
translate([0, 0, -17]) cube([8, 8, 5], center = true);
|
||||
}
|
||||
translate([0, -46.4, 0]) {
|
||||
difference() {
|
||||
rotate ([90, 90, 0]) cylinder(r = (ROD_D / 2) + 2, h = 3, center = true);
|
||||
translate([50 + (ROD_D / 2), 0, 0]) cube([100, 100, 100], center = true);
|
||||
translate([-50 - (ROD_D / 2), 0, 0]) cube([100, 100, 100], center = true);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
module fresnel_laser(outer = 13, h = 3, spacing = 0.2) {
|
||||
$fn = 120;
|
||||
count = ceil(outer / spacing);
|
||||
for(i = [0 : count]) {
|
||||
if (i % 2 != 0) {
|
||||
difference() {
|
||||
cylinder(r = outer - (spacing * i), h = h);
|
||||
cylinder(r = outer - (spacing * (i + 1)), h = h + 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module fresnel_laser_outer (outer = 13, h = 3) {
|
||||
$fn = 120;
|
||||
cylinder(r = outer, h = h);
|
||||
}
|
|
@ -6,7 +6,7 @@ include <./motor.scad>;
|
|||
//translate([0, 2.5, 0]) rotate([90, 0, 0]) color("red") adafruit_pixie();
|
||||
//translate([0, 6, 0]) color("blue") pixie_mount();
|
||||
//translate([0, 0, -50]) color("red") fan();
|
||||
color("green") diffuser_mount();
|
||||
//color("green") diffuser_mount();
|
||||
//translate([0, 0, -51.2]) light_body();
|
||||
//translate([0, 0, 20]) light_vent_top();
|
||||
//translate ([0, -20, 0]) rotate([90, 90, 0]) color("red") diffuser_insert();
|
||||
|
@ -14,3 +14,6 @@ color("green") diffuser_mount();
|
|||
//rotate([0, 0, 90]) flashlight_mount();
|
||||
//translate([0, -8.5, 0]) rotate([0, 0, 90]) impromptu_mount();
|
||||
//translate([30, -8.5, 0]) rotate([0, 0, 90]) flashlight_mount_cap();
|
||||
|
||||
projection() fresnel_laser(spacing = 1);
|
||||
projection() fresnel_laser_outer();
|
|
@ -521,3 +521,4 @@ module bolex_stand () {
|
|||
//translate([0, 0, 40]) cube([35, 150, 30], center = true);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue