summaryrefslogtreecommitdiff
path: root/body/m12_lense_holder.scad
blob: 05ff757606510219edc0d0b740009c0fcad5fde0 (plain)
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
94
95
96
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()
{
    rotate([-90, 0, 0])
    {
        // 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();