Use new module style by creating block_bolt_voids()

This commit is contained in:
Matt McWilliams 2023-04-15 22:43:33 -04:00
parent 60caecaaf0
commit a374ea3909
1 changed files with 48 additions and 39 deletions

View File

@ -14,7 +14,7 @@ ARM_REINFORCEMENT_Z = 4.1;
ARMS_ANGLE = 40;
AX = 105;
AY = 26.85;
AY = 26.85 - 2;
AZ = 6.1;
BX = 105;
@ -35,6 +35,19 @@ module m5_nut (pos = [0, 0, 0]) {
translate(pos) hex(9.4, 4);
}
module block_bolt_voids (pos = [0, 0, 0]) {
translate(pos) {
translate([BOLTSX / 2, 0, 0]) {
cylinder(r = 4.95 / 2, h = BZ + 1, center = true, $fn = 50);
m5_nut([0, 0, 3]);
}
translate([-BOLTSX / 2, 0, 0]) {
cylinder(r = 4.95 / 2, h = BZ + 1, center = true, $fn = 50);
m5_nut([0, 0, 3]);
}
}
}
module block () {
cube([AX, AY, AZ], center = true);
translate([0, -(AY - BY) / 2, (AZ / 2) + (BZ / 2)]) {
@ -48,18 +61,10 @@ module block () {
cylinder(r= R(13), h = BZ, center = true, $fn = 60);
}
}
//void for motor parts
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.95 / 2, h = BZ + 1, center = true, $fn = 50);
m5_nut([0, 0, 3]);
}
translate([-BOLTSX / 2, 0, 0]) {
cylinder(r = 4.95 / 2, h = BZ + 1, center = true, $fn = 50);
m5_nut([0, 0, 3]);
}
}
block_bolt_voids([0, (BY / 2) - 3.5, 0]);
}
}
}
@ -68,18 +73,21 @@ module original_takeup () {
block();
}
module projector_mount () {
module projector_mount (pos = [0, 0, 0], rot = [0, 0, 0]) {
//intersection () {}
$fn = 60;
translate(pos) rotate(rot) {
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 () {
module projector_arm (pos = [0, 0, 0], rot = [0, 0, 0]) {
translate(pos) rotate(rot) {
difference () {
union () {
cube([ARM_LENGTH, ARM_WIDTH, ARM_HEIGHT], center = true);
@ -91,10 +99,11 @@ module projector_arm () {
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);
}
}
}
module filter_holder () {
difference () {
module filter_holder (pos = [0, 0, 0]) {
translate(pos) difference () {
cube([FILTER_X, 13.25, 50.5], center = true);
//center void
cube([42.4, 13.25 + 1, 50.5 + 1], center = true);
@ -103,10 +112,10 @@ module filter_holder () {
}
}
module filter_reinforcement () {
module filter_reinforcement (pos = [0, 0, 0]) {
Z = 19.5 + 7.83-5.75;
X = AX;
difference () {
translate(pos) 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);
@ -129,19 +138,19 @@ module jk_takeup () {
difference () {
union () {
block();
translate([0, 0, -27.5]) filter_holder();
translate([0, -1.1, -16+(5.75/2)]) filter_reinforcement();
filter_holder([0, 0, -27.5]);
filter_reinforcement([0, -1.1, -16+(5.75/2)]);
}
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();
translate([-ARM_LENGTH, 0, 5.5]) rotate([0, 0, 180]) projector_mount();
projector_arm([-ARM_LENGTH/2, 0, 2.75], [0, 0, 180]);
projector_mount([-ARM_LENGTH, 0, 5.5], [0, 0, 180]);
}
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();
projector_arm([ARM_LENGTH/2, 0, 2.75]);
projector_mount([ARM_LENGTH, 0, 5.5]);
}
}
}
@ -200,8 +209,8 @@ module idle_roller_cap () {
//translate([0, 0, 40]) color("red") original_takeup();
//jk_takeup();
//jk_takeup_halves();
jk_takeup_halves();
//color("blue") jk_takeup_halves("B");
//m5_nut();
idle_roller();
//idle_roller();
//translate([0, 0, (20.2 / 2) - (5 / 2)]) idle_roller_cap();