Remove triangular voids from v3 and move the improved triangular voids into v2 to consolidate the best attempt at this design to that version.

This commit is contained in:
mmcwilliams 2020-08-24 17:41:05 -04:00
parent 5e12838006
commit 2760cf5fee
6 changed files with 35 additions and 138 deletions

View File

@ -105,23 +105,23 @@ module gnal_100ft_spiral (spiral_count = 60, od = 298.75) {
translate([0, 0, -.1]) { translate([0, 0, -.1]) {
rotate([0, 0, -90]) { rotate([0, 0, -90]) {
difference () { difference () {
film_guide(spiral_count, od); film_guide(spiral_count);
for (i = [0 : SPOKE_COUNT]) { for (i = [0 : SPOKE_COUNT - 1]) {
rotate([0, 0, (i + 0.5) * (360 / SPOKE_COUNT) ]) { rotate([0, 0, (i + 0.5) * (360 / SPOKE_COUNT) ]) {
translate([(83 / 4) + (48 / 2), 0, -3.6]) triangle_void(); translate([(83 / 4) + (48 / 2), 0, -3.6]) triangle_void();
} }
} }
for (i = [0 : SPOKE_COUNT * 2]) { for (i = [0 : (SPOKE_COUNT * 2) - 1]) {
rotate([0, 0, (i + 0.5) * (360 / (SPOKE_COUNT * 2)) ]) { rotate([0, 0, (i + 0.5) * (360 / (SPOKE_COUNT * 2)) ]) {
translate([(258 / 2) - (spoke_2_len / 2) + 1 , 0, -3.6]) triangle_void_2(); translate([(258 / 2) - (spoke_2_len / 2) + 1 , 0, -3.6 ]) triangle_void_2(i);
} }
} }
for (i = [0 : SPOKE_COUNT * 4]) { for (i = [0 : (SPOKE_COUNT * 4) - 1]) {
rotate([0, 0, (i + 0.5) * (360 / (SPOKE_COUNT * 4)) ]) { rotate([0, 0, (i + 0.5) * (360 / (SPOKE_COUNT * 4)) ]) {
if (i % 2 == 0) { if (i % 2 == 0) {
translate([(outer_d / 2) - (spoke_3_len / 2) + 1 , 0.3, -3.6]) triangle_void_3(); translate([(outer_d / 2) - (spoke_3_len / 2) + 1 , 0.3, -3.6]) triangle_void_3(i);
} else { } else {
translate([(outer_d / 2) - (spoke_3_len / 2) + 1, -0.3, -3.6]) triangle_void_3(); translate([(outer_d / 2) - (spoke_3_len / 2) + 1 , -0.3, -3.6]) triangle_void_3(i);
} }
} }
} }

View File

@ -101,35 +101,6 @@ module gnal_100ft_spiral (spiral_count = 60, od = 298.75, quarter = false) {
} }
} }
//Triangular voids
/*
translate([0, 0, -.1]) {
rotate([0, 0, -90]) {
difference () {
film_guide(spiral_count);
for (i = [0 : SPOKE_COUNT - 1]) {
rotate([0, 0, (i + 0.5) * (360 / SPOKE_COUNT) ]) {
translate([(83 / 4) + (48 / 2), 0, -3.6]) triangle_void();
}
}
for (i = [0 : (SPOKE_COUNT * 2) - 1]) {
rotate([0, 0, (i + 0.5) * (360 / (SPOKE_COUNT * 2)) ]) {
translate([(258 / 2) - (spoke_2_len / 2) + 1 , 0, -3.6 ]) triangle_void_2(i);
}
}
for (i = [0 : (SPOKE_COUNT * 4) - 1]) {
rotate([0, 0, (i + 0.5) * (360 / (SPOKE_COUNT * 4)) ]) {
if (i % 2 == 0) {
translate([(outer_d / 2) - (spoke_3_len / 2) + 1 , 0.3, -3.6]) triangle_void_3(i);
} else {
translate([(outer_d / 2) - (spoke_3_len / 2) + 1 , -0.3, -3.6]) triangle_void_3(i);
}
}
}
}
}
}
*/
translate([0, 0, -.1]) { translate([0, 0, -.1]) {
rotate([0, 0, -90]) { rotate([0, 0, -90]) {
film_guide2(spiral_count); film_guide2(spiral_count);

View File

@ -65,7 +65,7 @@ module gnal_50ft_spiral (spiral_count = 40, od = 215.75) {
translate([0, 0, -.1]) { translate([0, 0, -.1]) {
rotate([0, 0, -90]) { rotate([0, 0, -90]) {
difference () { difference () {
film_guide(spiral_count, od); film_guide(spiral_count);
for (i = [0 : SPOKE_COUNT]) { for (i = [0 : SPOKE_COUNT]) {
rotate([0, 0, (i + 0.5) * (360 / SPOKE_COUNT) ]) { rotate([0, 0, (i + 0.5) * (360 / SPOKE_COUNT) ]) {
translate([(spoke_len / 4) + (48 / 2), 0, -3.6]) triangle_void(); translate([(spoke_len / 4) + (48 / 2), 0, -3.6]) triangle_void();
@ -73,7 +73,7 @@ module gnal_50ft_spiral (spiral_count = 40, od = 215.75) {
} }
for (i = [0 : SPOKE_COUNT * 2]) { for (i = [0 : SPOKE_COUNT * 2]) {
rotate([0, 0, (i + 0.5) * (360 / (SPOKE_COUNT * 2)) ]) { rotate([0, 0, (i + 0.5) * (360 / (SPOKE_COUNT * 2)) ]) {
translate([(outer_d / 2) - (spoke_2_len / 2) + 1 , 0, -3.6]) triangle_void_2(); translate([(outer_d / 2) - (spoke_2_len / 2) + 1 , 0, -3.6]) triangle_void_2(i);
} }
} }
} }

View File

@ -62,26 +62,6 @@ module gnal_50ft_spiral (spiral_count = 40, od = 215.75, quarter = false) {
} }
} }
//Triangular voids
/*
translate([0, 0, -.1]) {
rotate([0, 0, -90]) {
difference () {
film_guide(spiral_count);
for (i = [0 : SPOKE_COUNT]) {
rotate([0, 0, (i + 0.5) * (360 / SPOKE_COUNT) ]) {
translate([(spoke_len / 4) + (48 / 2), 0, -3.6]) triangle_void();
}
}
for (i = [0 : SPOKE_COUNT * 2]) {
rotate([0, 0, (i + 0.5) * (360 / (SPOKE_COUNT * 2)) ]) {
translate([(outer_d / 2) - (spoke_2_len / 2) + 1 , 0, -3.6]) triangle_void_2(i);
}
}
}
}
}
*/
translate([0, 0, -.1]) { translate([0, 0, -.1]) {
rotate([0, 0, -90]) { rotate([0, 0, -90]) {
film_guide2(spiral_count); film_guide2(spiral_count);

View File

@ -308,11 +308,12 @@ module gnal_spacer_16 () {
**/ **/
module triangle_void () { module triangle_void () {
length = (81 / 2) - 9; length = (81 / 2) - 9 + 10;
width = 12; width = 12;
height = 4.5 + 2.7; height = 4.5 + 2.7;
ANGLE_A = 34.8; ANGLE_A = 34.8;
ANGLE_B = 180 / SPOKE_COUNT; ANGLE_B = 180 / SPOKE_COUNT;
ANGLE_C = 20;
difference () { difference () {
translate([-1, 0, 0]) cube([length, width, height], center = true); translate([-1, 0, 0]) cube([length, width, height], center = true);
translate([0, 10.3, 0]) rotate([0, 0, ANGLE_B]) cube([length * 2, width, height + 1], center = true); translate([0, 10.3, 0]) rotate([0, 0, ANGLE_B]) cube([length * 2, width, height + 1], center = true);
@ -320,40 +321,57 @@ module triangle_void () {
translate([0, 10.3, -.7]) rotate([ANGLE_A, 0, 0]) cube([length *2, width, height * 10], center = true); translate([0, 10.3, -.7]) rotate([ANGLE_A, 0, 0]) cube([length *2, width, height * 10], center = true);
translate([0, -10.3, -.7]) rotate([-ANGLE_A, 0, 0]) cube([length *2, width, height * 10], center = true); translate([0, -10.3, -.7]) rotate([-ANGLE_A, 0, 0]) cube([length *2, width, height * 10], center = true);
translate([(length / 2) + 2, 0, 0]) rotate([0, 0, ANGLE_C]) cube([10, width * 2, height + 1], center = true);
} }
} }
module triangle_void_2 () { module triangle_void_2 (i) {
length = 43 - 8; length = 43 - 8 + 12;
width = 12; width = 12;
height = 4.5 + 2.7; height = 4.5 + 2.7;
ANGLE_A = 34.8; ANGLE_A = 34.8;
ANGLE_B = 90 / SPOKE_COUNT; ANGLE_B = 90 / SPOKE_COUNT;
ANGLE_C = 20;
angle_w = 10.2; angle_w = 10.2;
difference () { difference () {
translate([-1, 0, 0]) cube([length, width, height], center = true); translate([-3, 0, 0]) cube([length, width, height], center = true);
translate([0, angle_w, 0]) rotate([0, 0, ANGLE_B]) cube([length *2, width, height * 10], center = true); translate([0, angle_w, 0]) rotate([0, 0, ANGLE_B]) cube([length *2, width, height * 10], center = true);
translate([0, -angle_w, 0]) rotate([0, 0, -ANGLE_B]) cube([length *2, width, height * 10], center = true); translate([0, -angle_w, 0]) rotate([0, 0, -ANGLE_B]) cube([length *2, width, height * 10], center = true);
translate([0, angle_w, -.7]) rotate([ANGLE_A, 0, 0]) cube([length *2, width, height * 10], center = true); translate([0, angle_w, -.7]) rotate([ANGLE_A, 0, 0]) cube([length *2, width, height * 10], center = true);
translate([0, -angle_w, -.7]) rotate([-ANGLE_A, 0, 0]) cube([length *2, width, height * 10], center = true); translate([0, -angle_w, -.7]) rotate([-ANGLE_A, 0, 0]) cube([length *2, width, height * 10], center = true);
if (i % 2 == 0) {
translate([-(length / 2) - 5, 0, 0]) rotate([0, 0, ANGLE_C]) cube([10, width * 2, height + 1], center = true);
} else {
translate([-(length / 2) - 7, 0, 0]) rotate([0, 0, ANGLE_C]) cube([10, width * 2, height + 1], center = true);
}
translate([(length / 2) + 1, 0, 0]) rotate([0, 0, -ANGLE_C]) cube([10, width * 2, height + 1], center = true);;
} }
} }
module triangle_void_3 () { module triangle_void_3 (i) {
length = 32; length = 32 + 10;
width = 10; width = 10;
height = 4.5 + 2.7; height = 4.5 + 2.7;
ANGLE_A = 31; ANGLE_A = 31;
ANGLE_B = 45 / SPOKE_COUNT; ANGLE_B = 45 / SPOKE_COUNT;
ANGLE_C = 20;
angle_w = 7.8; angle_w = 7.8;
difference () { difference () {
translate([-1, 0, 0]) cube([length, width, height], center = true); translate([-3, 0, 0]) cube([length, width, height], center = true);
translate([0, angle_w, 0]) rotate([0, 0, ANGLE_B]) cube([length *2, width, height * 10], center = true); translate([0, angle_w, 0]) rotate([0, 0, ANGLE_B]) cube([length *2, width, height * 10], center = true);
translate([0, -angle_w, 0]) rotate([0, 0, -ANGLE_B]) cube([length *2, width, height * 10], center = true); translate([0, -angle_w, 0]) rotate([0, 0, -ANGLE_B]) cube([length *2, width, height * 10], center = true);
translate([0, angle_w, -.7]) rotate([ANGLE_A, 0, 0]) cube([length *2, width, height * 10], center = true); translate([0, angle_w, -.7]) rotate([ANGLE_A, 0, 0]) cube([length *2, width, height * 10], center = true);
translate([0, -angle_w, -.7]) rotate([-ANGLE_A, 0, 0]) cube([length *2, width, height * 10], center = true); translate([0, -angle_w, -.7]) rotate([-ANGLE_A, 0, 0]) cube([length *2, width, height * 10], center = true);
if (i % 2 == 0) {
translate([-(length / 2) - 7, 0, 0]) rotate([0, 0, -ANGLE_C]) cube([10, width * 2, height + 1], center = true);
} else {
translate([-(length / 2) - 5, 0, 0]) rotate([0, 0, -ANGLE_C]) cube([10, width * 2, height + 1], center = true);
}
} }
} }

View File

@ -359,78 +359,6 @@ module gnal_spacer_16 () {
} }
} }
/**
* Spokes
**/
module triangle_void () {
length = (81 / 2) - 9 + 10;
width = 12;
height = 4.5 + 2.7;
ANGLE_A = 34.8;
ANGLE_B = 180 / SPOKE_COUNT;
ANGLE_C = 20;
difference () {
translate([-1, 0, 0]) cube([length, width, height], center = true);
translate([0, 10.3, 0]) rotate([0, 0, ANGLE_B]) cube([length * 2, width, height + 1], center = true);
translate([0, -10.3, 0]) rotate([0, 0, -ANGLE_B]) cube([length * 2, width, height + 1], center = true);
translate([0, 10.3, -.7]) rotate([ANGLE_A, 0, 0]) cube([length *2, width, height * 10], center = true);
translate([0, -10.3, -.7]) rotate([-ANGLE_A, 0, 0]) cube([length *2, width, height * 10], center = true);
translate([(length / 2) + 2, 0, 0]) rotate([0, 0, ANGLE_C]) cube([10, width * 2, height + 1], center = true);
}
}
module triangle_void_2 (i) {
length = 43 - 8 + 12;
width = 12;
height = 4.5 + 2.7;
ANGLE_A = 34.8;
ANGLE_B = 90 / SPOKE_COUNT;
ANGLE_C = 20;
angle_w = 10.2;
difference () {
translate([-3, 0, 0]) cube([length, width, height], center = true);
translate([0, angle_w, 0]) rotate([0, 0, ANGLE_B]) cube([length *2, width, height * 10], center = true);
translate([0, -angle_w, 0]) rotate([0, 0, -ANGLE_B]) cube([length *2, width, height * 10], center = true);
translate([0, angle_w, -.7]) rotate([ANGLE_A, 0, 0]) cube([length *2, width, height * 10], center = true);
translate([0, -angle_w, -.7]) rotate([-ANGLE_A, 0, 0]) cube([length *2, width, height * 10], center = true);
if (i % 2 == 0) {
translate([-(length / 2) - 5, 0, 0]) rotate([0, 0, ANGLE_C]) cube([10, width * 2, height + 1], center = true);
} else {
translate([-(length / 2) - 7, 0, 0]) rotate([0, 0, ANGLE_C]) cube([10, width * 2, height + 1], center = true);
}
translate([(length / 2) + 1, 0, 0]) rotate([0, 0, -ANGLE_C]) cube([10, width * 2, height + 1], center = true);;
}
}
module triangle_void_3 (i) {
length = 32 + 10;
width = 10;
height = 4.5 + 2.7;
ANGLE_A = 31;
ANGLE_B = 45 / SPOKE_COUNT;
ANGLE_C = 20;
angle_w = 7.8;
difference () {
translate([-3, 0, 0]) cube([length, width, height], center = true);
translate([0, angle_w, 0]) rotate([0, 0, ANGLE_B]) cube([length *2, width, height * 10], center = true);
translate([0, -angle_w, 0]) rotate([0, 0, -ANGLE_B]) cube([length *2, width, height * 10], center = true);
translate([0, angle_w, -.7]) rotate([ANGLE_A, 0, 0]) cube([length *2, width, height * 10], center = true);
translate([0, -angle_w, -.7]) rotate([-ANGLE_A, 0, 0]) cube([length *2, width, height * 10], center = true);
if (i % 2 == 0) {
translate([-(length / 2) - 7, 0, 0]) rotate([0, 0, -ANGLE_C]) cube([10, width * 2, height + 1], center = true);
} else {
translate([-(length / 2) - 5, 0, 0]) rotate([0, 0, -ANGLE_C]) cube([10, width * 2, height + 1], center = true);
}
}
}
/** /**
* Spindles * Spindles
**/ **/