diff --git a/50ft_v3/gnal_50ft.scad b/50ft_v3/gnal_50ft.scad index b4672a4..dc29519 100644 --- a/50ft_v3/gnal_50ft.scad +++ b/50ft_v3/gnal_50ft.scad @@ -3,7 +3,6 @@ include <../libraries/gnal_v3.scad>; SPOKE_COUNT = 24; -PART=""; module gnal_50ft_spiral (spiral_count = 40, od = 215.75) { outer_d = 215; @@ -70,7 +69,7 @@ module gnal_50ft_spiral (spiral_count = 40, od = 215.75) { } 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(); + translate([(outer_d / 2) - (spoke_2_len / 2) + 1 , 0, -3.6]) triangle_void_2(i); } } } @@ -157,9 +156,11 @@ module gnal_50ft_top () { module film_guide (rotations = 40, id = 45.55, spacing = 2.075) { $fn = 200; - //spiral(rotations, id, spacing, $fn); + spiral(rotations, id, spacing, $fn); } +PART="spiral"; + if (PART == "spiral") { gnal_50ft_spiral(); } else if (PART == "top") { diff --git a/libraries/gnal_v3.scad b/libraries/gnal_v3.scad index 411e255..07f8898 100644 --- a/libraries/gnal_v3.scad +++ b/libraries/gnal_v3.scad @@ -361,11 +361,12 @@ module gnal_spacer_16 () { **/ module triangle_void () { - length = (81 / 2) - 9; + 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); @@ -373,23 +374,33 @@ 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([(length / 2) + 2, 0, 0]) rotate([0, 0, ANGLE_C]) cube([10, width * 2, height + 1], center = true); } + } -module triangle_void_2 () { - length = 43 - 8; +module triangle_void_2 (i) { + length = 43 - 8 + 10; 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([-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, -.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); + } } }