include // 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();