summaryrefslogtreecommitdiff
path: root/body/m12_lense_holder.scad
blob: 55c33094b50065ea741a320824236fb48dc60f78 (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
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();