1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
include <design.scad>
include <helpers.scad>
default_laser_d = 14;
default_laser_l = 45;
// create a body of laser with diameter `d` and
// length `l`.
// the ray starts at the origin
module laser_body(d = default_laser_d, l = default_laser_l)
{
rotate([-90, 0, 0])
translate([0, 0, -l])
cylinder($fn = diameterToFn(d), d = d, h = l);
// visible ray
zBase = $actualZBaseMm;
farZ = zBase + $actualZRangeMm;
// non-valid
color("red", 0.15)
*polygon(
[[0, 0],
[$actualXStartMm / 2, zBase],
[-$actualXStartMm / 2, zBase]]);
// non-valid, should ignore laser pos
// TODO: visualize laser beam
color("red", 0.3)
*polygon(
[[$actualXStartMm / 2, zBase],
[-$actualXStartMm / 2, zBase],
[-$actualXEndMm / 2, farZ],
[$actualXEndMm / 2, farZ],]);
}
*laser_body();
|