diff --git a/examples/JK_projector_takeup.scad b/examples/JK_projector_takeup.scad index 35db56b..4164269 100644 --- a/examples/JK_projector_takeup.scad +++ b/examples/JK_projector_takeup.scad @@ -27,6 +27,11 @@ M5 = 5; FILTER_X = 55.4; FILTER_Y = 6.5; +FILTER_VOID_X = FILTER_X - 9 + ((4.5 - 2.34) * 2); + +module m5_nut () { + cylinder(r = R(9.4), h = 4, center = true, $fn = 6); +} module block () { cube([AX, AY, AZ], center = true); @@ -36,8 +41,14 @@ module block () { translate([0, BY - 5.44, 0]) cube([53.2, BY, BZ + 1], center = true); //bolts translate([0, (BY / 2) - 3.5, 0]) { - translate([BOLTSX / 2, 0, 0]) cylinder(r = 4 / 2, h = BZ + 1, center = true, $fn = 50); - translate([-BOLTSX / 2, 0, 0]) cylinder(r = 4 / 2, h = BZ + 1, center = true, $fn = 50); + translate([BOLTSX / 2, 0, 0]) { + cylinder(r = 4 / 2, h = BZ + 1, center = true, $fn = 50); + translate([0, 0, 3]) m5_nut(); + } + translate([-BOLTSX / 2, 0, 0]) { + cylinder(r = 4 / 2, h = BZ + 1, center = true, $fn = 50); + translate([0, 0, 3]) m5_nut(); + } } } } @@ -74,11 +85,39 @@ module projector_arm () { } module filter_holder () { - + difference () { + cube([FILTER_X, 13.25, 50.5], center = true); + //center void + cube([42.4, 13.25 + 1, 50.5 + 1], center = true); + translate([0, (13.25/2) - (3.25/2) - 1, 0]) cube([FILTER_VOID_X, 3.25, 50.5 + 1], center = true); + translate([0, (13.25/2) - (3.25/2) - 1 - 3.25 - 1, 0]) cube([FILTER_VOID_X, 3.25, 50.5 + 1], center = true); + } +} + +module filter_reinforcement () { + Z = 19.5 + 7.83; + X = AX; + difference () { + cube([X, 15.5, Z], center = true); + cube([FILTER_X - 0.1, 15.5 + 1, Z + 1], center = true); + translate([X - 19.5, -9, 0]) cube([X, 15.5, Z + 1], center = true); + translate([-X + 19.5, -9, 0]) cube([X, 15.5, Z + 1], center = true); + } +} + +module roller_bolts () { + } module jk_takeup () { - block(); + difference () { + union () { + block(); + translate([0, 0, -27.5]) filter_holder(); + translate([0, -1.1, -16]) filter_reinforcement(); + } + roller_bolts(); + } translate([0, 0, 1.8]) { translate([-30, 0, 0]) rotate([0, 0, ARMS_ANGLE]) { translate([-ARM_LENGTH/2, 0, 2.75]) rotate([0, 0, 180]) projector_arm(); @@ -110,4 +149,5 @@ module jk_takeup_halves (HALF = "A") { //translate([0, 0, 40]) color("red") original_takeup(); jk_takeup(); //jk_takeup_halves(); -//color("blue") jk_takeup_halves("B"); \ No newline at end of file +//color("blue") jk_takeup_halves("B"); +//m5_nut(); \ No newline at end of file