summaryrefslogtreecommitdiff
path: root/body/m12_connectors.scad
blob: 3916b9660faacb776a61f033f5f654dd078f141e (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
97
98
99
100
101
102
include <helpers.scad>

// m12 female body connector for soldering

// female
// inner thick part length includes rubber o-ring,
// outer does not
m12_female_conn_body_thick_part_length = 3.6;
m12_female_conn_body_thick_part_d = 18;

m12_female_conn_body_outer_part_length = 16;
m12_female_conn_body_outer_part_d = 15.1;
m12_female_conn_body_outer_part_flat_w = 13.4;

m12_female_conn_body_wires_length = 20;
m12_female_conn_body_wires_d = 8;

// male
m12_male_conn_body_thick_part_length = 3.6;
m12_male_conn_body_thick_part_d = 18;

m12_male_conn_body_outer_part_length = 16;
m12_male_conn_body_outer_part_d = 12;
m12_male_conn_body_outer_part_flat_w = 10.6;

m12_male_conn_body_wires_length = 20;
m12_male_conn_body_wires_d = 8;

// wl - wires length
// wd - wires diameter
// tcl - inner (thick) part length
// tcd - inner (thick) part diameter
// ocl - outer connector length
// ocd - outer connector diameter
// ocfw - outer connector flat width
module m12_connector(
    wl,
    wd,
    tcl,
    tcd,
    ocl,
    ocd,
    ocfw,
)
{
    rotate([90, 0, 0])
    {
        // thick connector part inside scanner body
        translate([0, 0, -tcl])
        cylinder($fn = dToFn(tcd), d = tcd, h = tcl);
        
        // outer connector part going outside through
        // scanned body
        intersection()
        {
            cylinder($fn = dToFn(ocd), d = ocd, h = ocl);
                    
            // cutter for flat part of outer connector
            translate([0, 0, ocl / 2])
            cube([ocd * 1.1, ocfw, ocl * 2], center = true);
        }
        
        // soldered wires
        translate([0, 0, -wl - tcl + wd / 2])
        cylinder($fn = dToFn(wd), d = wd, h = wl);
        
        translate([0, 0, -wl -tcl + wd / 2])
        sphere($fn = dToFn(wd), d = wd);
    }
}

module m12_female_connector()
{
    m12_connector(
        m12_female_conn_body_wires_length,
        m12_female_conn_body_wires_d,
        
        m12_female_conn_body_thick_part_length,
        m12_female_conn_body_thick_part_d,
        
        m12_female_conn_body_outer_part_length,
        m12_female_conn_body_outer_part_d,
        m12_female_conn_body_outer_part_flat_w
    );
}

module m12_male_connector()
{
    m12_connector(
        m12_male_conn_body_wires_length,
        m12_male_conn_body_wires_d,
        
        m12_male_conn_body_thick_part_length,
        m12_male_conn_body_thick_part_d,
        
        m12_male_conn_body_outer_part_length,
        m12_male_conn_body_outer_part_d,
        m12_male_conn_body_outer_part_flat_w
    );
}

//m12_male_connector();