2022-10-11 23:40:04 +00:00
|
|
|
include <../takeup.scad>;
|
|
|
|
|
|
|
|
PART="none";
|
|
|
|
|
|
|
|
ARM_LENGTH = 130;
|
|
|
|
ARM_WIDTH = 15;
|
|
|
|
ARM_HEIGHT = 7;
|
|
|
|
ARM_CUTOFF = 101.25;
|
|
|
|
|
2022-11-20 23:24:38 +00:00
|
|
|
ARM_REINFORCEMENT_OFFSET_X = 20;
|
|
|
|
ARM_REINFORCEMENT_Y = 5;
|
|
|
|
ARM_REINFORCEMENT_Z = 4.1;
|
|
|
|
|
2022-10-11 23:40:04 +00:00
|
|
|
ARMS_ANGLE = 40;
|
|
|
|
|
2022-11-20 23:24:38 +00:00
|
|
|
AX = 105;
|
|
|
|
AY = 26.85;
|
|
|
|
AZ = 6.1;
|
2022-11-16 02:39:31 +00:00
|
|
|
|
2022-11-20 23:24:38 +00:00
|
|
|
BX = 105;
|
|
|
|
BY = 34.4;
|
|
|
|
BZ = 5;
|
|
|
|
|
|
|
|
BOLTSX = 77;
|
|
|
|
|
2022-11-28 18:01:26 +00:00
|
|
|
M5 = 5;
|
|
|
|
|
|
|
|
FILTER_X = 55.4;
|
|
|
|
FILTER_Y = 6.5;
|
2022-11-20 23:24:38 +00:00
|
|
|
|
|
|
|
module block () {
|
|
|
|
cube([AX, AY, AZ], center = true);
|
|
|
|
translate([0, -(AY - BY) / 2, (AZ / 2) + (BZ / 2)]) {
|
|
|
|
difference () {
|
|
|
|
cube([BX, BY, BZ], center = true);
|
|
|
|
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);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
module original_takeup () {
|
2022-11-16 02:39:31 +00:00
|
|
|
block();
|
|
|
|
}
|
|
|
|
|
2022-10-11 23:40:04 +00:00
|
|
|
module projector_mount () {
|
|
|
|
//intersection () {}
|
|
|
|
$fn = 60;
|
|
|
|
intersection () {
|
|
|
|
rotate([0, 180, 0]) minimal_mount();
|
|
|
|
translate([-10, 0, 0]) rounded_cube([50, 30, 20], d = 12, center = true);
|
|
|
|
}
|
2022-11-20 23:24:38 +00:00
|
|
|
//translate([-8.5, 0, 12]) rotate([0, 0, 180]) geared_motor();
|
2022-10-11 23:40:04 +00:00
|
|
|
//translate([0, 0, -34]) rotate([180, 0, 0]) daylight_spool_insert();
|
|
|
|
}
|
|
|
|
|
|
|
|
module projector_arm () {
|
2022-11-20 23:24:38 +00:00
|
|
|
|
2022-10-11 23:40:04 +00:00
|
|
|
difference () {
|
|
|
|
union () {
|
|
|
|
cube([ARM_LENGTH, ARM_WIDTH, ARM_HEIGHT], center = true);
|
|
|
|
translate([(ARM_CUTOFF/2) - 2.1, 0, 0]) scale([2, 1, 1]) rotate([0, 0, 45]) cube([30, 30, ARM_HEIGHT], center = true);
|
|
|
|
}
|
|
|
|
translate([ARM_CUTOFF, 0, 0]) cube([ARM_LENGTH, 52, ARM_HEIGHT + 1], center = true);
|
|
|
|
}
|
2022-11-20 23:24:38 +00:00
|
|
|
translate([-ARM_REINFORCEMENT_OFFSET_X / 2, 0, -ARM_REINFORCEMENT_Z / 2]) difference() {
|
|
|
|
cube([ARM_LENGTH - ARM_REINFORCEMENT_OFFSET_X, ARM_REINFORCEMENT_Y, ARM_HEIGHT + ARM_REINFORCEMENT_Z], center = true);
|
|
|
|
translate([0, 0, -ARM_HEIGHT - ARM_REINFORCEMENT_Z + 2]) rotate([0, -5, 0]) cube([ARM_LENGTH - ARM_REINFORCEMENT_OFFSET_X + 20, ARM_REINFORCEMENT_Y + 1, ARM_HEIGHT + ARM_REINFORCEMENT_Z], center = true);
|
|
|
|
}
|
2022-10-11 23:40:04 +00:00
|
|
|
}
|
|
|
|
|
2022-11-28 18:01:26 +00:00
|
|
|
module filter_holder () {
|
|
|
|
|
|
|
|
}
|
|
|
|
|
2022-11-20 23:24:38 +00:00
|
|
|
module jk_takeup () {
|
|
|
|
block();
|
|
|
|
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();
|
|
|
|
translate([-ARM_LENGTH, 0, 5.5]) rotate([0, 0, 180]) projector_mount();
|
|
|
|
}
|
|
|
|
translate([30, 0, 0]) rotate([0, 0, -ARMS_ANGLE]) {
|
|
|
|
translate([ARM_LENGTH/2, 0, 2.75]) projector_arm();
|
|
|
|
translate([ARM_LENGTH, 0, 5.5]) projector_mount();
|
|
|
|
}
|
|
|
|
}
|
2022-10-11 23:40:04 +00:00
|
|
|
}
|
|
|
|
|
2022-11-20 23:24:38 +00:00
|
|
|
module jk_takeup_halves (HALF = "A") {
|
|
|
|
difference () {
|
|
|
|
jk_takeup();
|
|
|
|
translate([0, 7, 0]) cylinder(r = R(M5), h = 40, center = true, $fn = 60);
|
|
|
|
translate([0, -7, 0]) cylinder(r = R(M5), h = 40, center = true, $fn = 60);
|
|
|
|
if (HALF == "A") {
|
|
|
|
translate([(ARM_LENGTH) + 10, 0, 0]) cube([ARM_LENGTH * 2, ARM_LENGTH * 2, ARM_LENGTH], center = true);
|
|
|
|
translate([0, 0, 10 + 2]) cube([20, BY + 1, 20], center = true);
|
|
|
|
} else if (HALF == "B") {
|
|
|
|
translate([-(ARM_LENGTH) - 10, 0, 0]) cube([ARM_LENGTH * 2, ARM_LENGTH * 2, ARM_LENGTH], center = true);
|
|
|
|
translate([0, 0, -10 + 2]) cube([20, BY + 1, 20], center = true);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
2022-11-16 02:39:31 +00:00
|
|
|
|
2022-11-20 23:24:38 +00:00
|
|
|
//translate([0, 0, 40]) color("red") original_takeup();
|
2022-11-28 18:01:26 +00:00
|
|
|
jk_takeup();
|
|
|
|
//jk_takeup_halves();
|
2022-11-20 23:24:38 +00:00
|
|
|
//color("blue") jk_takeup_halves("B");
|