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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
|
use <helpers.scad>
// m12 cam holder size
$m12_lense_holder_size = 13;
// bottom part height
$m12_lense_holder_bottom_h = 3.5;
// top part height
$m12_lense_holder_top_h = 3.5;
// distance between holes centers
$m12_lense_holder_d_btw_holes = 18;
// screw holes outer diameter
$m12_lense_holder_sh_outer_d = 4;
// screw holes inner diameter
$m12_lense_holder_sh_inner_d = 1.5;
// left hole offset
$m12_lense_holder_l_hole_offset = [-$m12_lense_holder_d_btw_holes / 2, 0, 0];
// right hole offset
$m12_lense_holder_r_hole_offset = [$m12_lense_holder_d_btw_holes / 2, 0, 0];
// lense hole diameter
$m12_lense_holder_lense_hole_diameter = 12;
// m12 lense holder without holes
module m12_lense_holder_wo_holes()
{
$S = $m12_lense_holder_size;
$cube_size = [$S, $S, $m12_lense_holder_bottom_h];
rotate([-90, 0, 0])
{
// bottom cube
translate([0, 0, $cube_size[2] / 2])
cube($cube_size, center = true);
// top cylinder
translate([0, 0, $cube_size[2]])
cylinder($fn=diameterToFn($S), h = $m12_lense_holder_top_h, d = $S);
// screw holes, outer body to cut from
hull()
{
translate($m12_lense_holder_l_hole_offset)
cylinder(
$fn = diameterToFn($m12_lense_holder_sh_outer_d),
h = $m12_lense_holder_bottom_h,
d = $m12_lense_holder_sh_outer_d);
translate($m12_lense_holder_r_hole_offset)
cylinder(
$fn = diameterToFn($m12_lense_holder_sh_outer_d),
h = $m12_lense_holder_bottom_h,
d = $m12_lense_holder_sh_outer_d);
}
}
}
module m12_lense_holder_holes()
{
// left screw hole
translate($m12_lense_holder_l_hole_offset)
cylinder(
$fn = diameterToFn($m12_lense_holder_sh_inner_d),
h = $m12_lense_holder_bottom_h * 3,
d = $m12_lense_holder_sh_inner_d,
center = true);
// right screw hole
translate($m12_lense_holder_r_hole_offset)
cylinder(
$fn = diameterToFn($m12_lense_holder_sh_inner_d),
h = $m12_lense_holder_bottom_h * 3,
d = $m12_lense_holder_sh_inner_d,
center = true);
// lense hole
cylinder(
$fn = diameterToFn($m12_lense_holder_lense_hole_diameter),
d = $m12_lense_holder_lense_hole_diameter,
h = ($m12_lense_holder_bottom_h + $m12_lense_holder_top_h) * 3,
center = true);
}
module m12_lense_holder()
{
difference()
{
m12_lense_holder_wo_holes();
m12_lense_holder_holes();
}
}
//m12_lense_holder();
m12_lense_holder_wo_holes();
|