From ee081160b79e9731cd928ce36879afee94b5e2f1 Mon Sep 17 00:00:00 2001 From: mmcw-dev Date: Wed, 27 Dec 2017 22:23:37 -0500 Subject: [PATCH] V1 of the jk connector, split into 2 parts to be assembled and attached. --- scad/common.scad | 15 +++++++++ scad/connectors.scad | 80 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 95 insertions(+) create mode 100644 scad/common.scad create mode 100644 scad/connectors.scad diff --git a/scad/common.scad b/scad/common.scad new file mode 100644 index 0000000..06a15a6 --- /dev/null +++ b/scad/common.scad @@ -0,0 +1,15 @@ + +echo("common.scad - rounded_cube()"); +module rounded_cube (cube_arr = [1, 1, 1], d = 0, center = false) { + off_x = 0; + off_y = 0; + r = d/2; + union () { + cube([cube_arr[0] - d, cube_arr[1], cube_arr[2]], center = center); + cube([cube_arr[0], cube_arr[1] - d, cube_arr[2]], center = center); + translate ([1 * (cube_arr[0] / 2) - r , 1 * (cube_arr[1] / 2)- r, 0]) cylinder(r = r, h = cube_arr[2], center = center); + translate ([-1 * (cube_arr[0] / 2) + r, -1 * (cube_arr[1] / 2) + r, 0]) cylinder(r = r, h = cube_arr[2], center = center); + translate ([1 * (cube_arr[0] / 2) - r, -1 * (cube_arr[1] / 2) + r, 0]) cylinder(r = r, h = cube_arr[2], center = center); + translate ([-1 * (cube_arr[0] / 2) + r, 1 * (cube_arr[1] / 2)- r, 0]) cylinder(r = r, h = cube_arr[2], center = center); + } +} \ No newline at end of file diff --git a/scad/connectors.scad b/scad/connectors.scad new file mode 100644 index 0000000..39ba5bf --- /dev/null +++ b/scad/connectors.scad @@ -0,0 +1,80 @@ +include <./common.scad>; + +//PINS +PIN_A = [-(18 / 2) + (1 / 2) + 4.5, 2 + (3.5 / 2)]; +PIN_B = [(18 / 2) - (3.5 / 2) - 3 - 1.5, 2 + (3.5 / 2)]; +PIN_C = [(18 / 2) - (3.5 / 2) - 3 - 1.5, - 2 - (3.5 / 2)]; +PIN_D = [-(18 / 2) + (1 / 2) + 4.5, - 2 - (3.5 / 2)]; + +module pin (ROTATE = false, PAD = 0, HEIGHT = 10) { + if (ROTATE == false) { + cube([1 + PAD, 3.5 + PAD, HEIGHT], center = true); + } else { + rotate([0, 0, 90]) cube([1 + PAD, 3.5 + PAD, HEIGHT], center = true); + } +} + +module pins (PAD = 0, HEIGHT = 10) { + Z = 24 / 2 + 10 / 2; + translate([PIN_A[0], PIN_A[1], Z]) pin(false, PAD, HEIGHT); + translate([PIN_D[0], PIN_D[1], Z]) pin(false, PAD, HEIGHT); + + translate([PIN_B[0], PIN_B[1], Z]) pin(true, PAD, HEIGHT); + translate([PIN_C[0], PIN_C[1], Z]) pin(true, PAD, HEIGHT); +} + +module body () { + rounded_cube([17, 18, 24], d = 2, center = true, $fn = 60); +} + +module male_jk103_neg () { + union (){ + difference() { + color("red") cube([20, 20, 24], center = true); + rounded_cube([17 - 5, 18 - 5, 24 + 2], d = 2, center = true, $fn = 60); + } + translate([0, 0, -12]) cube([20, 20, 24], center = true); + //access + translate([3.5, 6.2, 0]) cube([6, 6, 6], center = true); + translate([3.5, -6.2, 0]) cube([6, 6, 6], center = true); + translate([-6.5, 5, 0]) cube([6, 6, 6], center = true); + translate([-6.5, -5, 0]) cube([6, 6, 6], center = true); + } +} + +module male_jk103 () { + difference () { + body(); + translate([0, 0, -10]) pins(0, 20); + translate([0, 0, -3]) male_jk103_neg(); + } +} + +module male_jk103_back (){ + difference() { + union () { + body(); + translate([0, 0, -15]) cylinder(r = 5, h = 10, center = true, $fn = 300); + } + male_jk103(); + translate([0, 0, 3]) rounded_cube([17 - 5, 18 - 5, 24], d = 2, center = true, $fn = 60); + cylinder(r = 3, h = 24 * 2, center = true, $fn = 300); + } + +} + +module pin_inserts () { + color("red") pins(0, 24); +} + +module female_jk103 () { + difference () { + body(); + translate([0, 0, 25]) rotate([0, 180, 0]) pins(0.5, 20); + } +} + +//translate([20, 0, 0]) male_jk103(); +translate([40, 0, 0]) male_jk103_back(); +//translate([20, 0, -7]) pin_inserts(); +//female_jk103(); \ No newline at end of file