Add a spiral reinforcement for the outside spiral.

This commit is contained in:
Matt McWilliams 2021-10-18 12:25:55 -04:00
parent aa520c3a2c
commit f4fbdbe614
2 changed files with 50 additions and 50 deletions

View File

@ -185,9 +185,16 @@ $fn = FN;
module film_guide (rotations = 40, id = 45.55 - .5, spacing = 2.075, bottom = -2) { module film_guide (rotations = 40, id = 45.55 - .5, spacing = 2.075, bottom = -2) {
spiral(rotations, id, spacing, bottom, $fn); spiral(rotations, id, spacing, bottom, $fn);
//reinforce outer spiral
difference () {
spiral_reinforcement(208.9, spacing, -0.1, $fn);
translate([107.35, 6, 0]) cube([5, 15, 10], center = true);
}
} }
module gnal_stacking_spindle () { module gnal_stacking_spindle () {
OD = 10.5 + .3;
IN_LEN = 21; IN_LEN = 21;
LEN = 17.1; LEN = 17.1;
@ -219,55 +226,7 @@ module gnal_stacking_spindle () {
} }
} }
module stacking () { PART="spiral";
translate([0, 0, 72 + 72 + 36]) {
color("blue") gnal_spindle_top();
}
translate([0, 0, 72 + 72]) rotate([0, 180, 0]) intersection () {
gnal_50ft_top();
cylinder(r = 50 / 2, h = 50, center = true);
}
translate([0, 0, 72 + 30]) {
color("blue") rotate([0, 180, 0]) gnal_spindle_bottom();
}
translate([0, 0, 72 + 36]) difference () {
cylinder(r = 50 / 2, h = 16, center = true);
cylinder(r = 22.5 / 2, h = 16 + 1, center = true);
}
translate([0, 0, 36 + 30]) {
color("green") rotate([0, 180, 0]) gnal_stacking_spindle();
}
translate([0, 0, 72]) difference () {
cylinder(r = 50 / 2, h = 16, center = true);
cylinder(r = 22.5 / 2, h = 16 + 1, center = true);
}
translate([0, 0, 30]) {
color("green") rotate([0, 180, 0]) gnal_stacking_spindle();
}
translate([0, 0, 36]) difference () {
cylinder(r = 50 / 2, h = 16, center = true);
cylinder(r = 22.5 / 2, h = 16 + 1, center = true);
}
color("blue") translate([0, 0, 12 + 3]) gnal_spacer_16();
//#1 - bottom spiral
difference () {
cylinder(r = 50 / 2, h = 16, center = true);
cylinder(r = 22.5 / 2, h = 16 + 1, center = true);
translate([0, 0, -8]) spiral_insert_void();
}
color("blue") translate([0, 0, -12]) gnal_spiral_bottom_insert_16();
}
PART="stacking";
if (PART == "spiral") { if (PART == "spiral") {
gnal_50ft_spiral(); gnal_50ft_spiral();

View File

@ -82,6 +82,39 @@ module spiral (rotations = 40, start_d = 48, spacing = 2.075, bottom = -7.1, fn)
path_extrude(exShape=facetProfile, exPath=spiralPath); path_extrude(exShape=facetProfile, exPath=spiralPath);
} }
module spiral_reinforcement ( start_d = 48, spacing = 2.075, bottom = -2, fn) {
rotations = 1;
w = 1;
top_w = .8;
top_offset = (w - top_w);
h = 2.2;
facetProfile = [
[w, -bottom],
[0, -bottom],
[0, 0],
[0, -h],
[w, -h],
[w, 0]
];
end_d = start_d + (spacing * 2 * rotations);
end_r = end_d / 2;
start_r = start_d / 2;
facetSize = calcFacetSize(end_d, fn);
start_fn = round(circ(start_d) / facetSize);
spiralPath = [ for (r = [0 : rotations - 1]) for (i = [0 : round(calcFn(start_d, start_fn, end_d, spacing, r )) - 1 ])
[
X(start_r, spacing, round(calcFn(start_d, start_fn, end_d, spacing, r )), r, i),
Y(start_r, spacing, round(calcFn(start_d, start_fn, end_d, spacing, r )), r, i),
0]
];
path_extrude(exShape=facetProfile, exPath=spiralPath);
}
/** /**
* Core (center of the reel) * Core (center of the reel)
**/ **/
@ -204,6 +237,7 @@ module spiral_insert_void () {
module gnal_spiral_bottom_insert_s8 () { module gnal_spiral_bottom_insert_s8 () {
$fn = 160; $fn = 160;
OD = 10.5 + .3;
void_d = 18 - .3; void_d = 18 - .3;
H = 17; H = 17;
D2 = INSERT_D; D2 = INSERT_D;
@ -231,12 +265,19 @@ module gnal_spiral_bottom_insert_s8 () {
} }
} }
} }
translate([0, 0, -LEN / 2]) metric_thread (diameter=OD, pitch=PITCH, thread_size = THREAD, length=LEN); translate([0, 0, -LEN / 2]) {
if (DEBUG) {
cylinder(r = OD / 2, h = LEN);
} else {
metric_thread (diameter=OD, pitch=PITCH, thread_size = THREAD, length=LEN);
}
}
} }
} }
module gnal_spiral_bottom_insert_16 () { module gnal_spiral_bottom_insert_16 () {
$fn = 160; $fn = 160;
OD = 10.5 + .3;
void_d = 18 - .3; void_d = 18 - .3;
H = 17 + 8; H = 17 + 8;