diff --git a/scad/light.scad b/scad/light.scad index 6ba827d..77ee8bf 100644 --- a/scad/light.scad +++ b/scad/light.scad @@ -256,27 +256,44 @@ module flashlight_mount_cap (DEBUG = false) { } module impromptu_mount () { - $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); + $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); } - 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); } \ No newline at end of file diff --git a/scad/mcopy.scad b/scad/mcopy.scad index bf81a4a..332c7e5 100644 --- a/scad/mcopy.scad +++ b/scad/mcopy.scad @@ -6,11 +6,14 @@ 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(); //translate ([0, -20, 0]) rotate([90, 90, 0]) color("red") diffuser_spacer(); //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(); \ No newline at end of file +//translate([30, -8.5, 0]) rotate([0, 0, 90]) flashlight_mount_cap(); + +projection() fresnel_laser(spacing = 1); +projection() fresnel_laser_outer(); \ No newline at end of file diff --git a/scad/motor.scad b/scad/motor.scad index c930236..0caf0d8 100644 --- a/scad/motor.scad +++ b/scad/motor.scad @@ -520,4 +520,5 @@ module bolex_stand () { } //translate([0, 0, 40]) cube([35, 150, 30], center = true); } -} \ No newline at end of file +} +