takeup/examples/JK_projector_takeup.scad

53 lines
1.3 KiB
OpenSCAD

include <../takeup.scad>;
PART="none";
ARM_LENGTH = 130;
ARM_WIDTH = 15;
ARM_HEIGHT = 7;
ARM_CUTOFF = 101.25;
ARMS_ANGLE = 40;
module original_takeup () {
module block () {
cube([105, 26.8, 5.9], center = true);
cube([105, 36.6, 5.9], center = true);
}
block();
}
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);
}
translate([-8.5, 0, 12]) rotate([0, 0, 180]) geared_motor();
//translate([0, 0, -34]) rotate([180, 0, 0]) daylight_spool_insert();
}
module projector_arm () {
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);
}
}
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();
}
rotate([0, 0, -ARMS_ANGLE]) {
translate([ARM_LENGTH/2, 0, 2.75]) projector_arm();
translate([ARM_LENGTH, 0, 5.5]) projector_mount();
}
color("red") original_takeup();