Compare commits
7 Commits
61a990ad0c
...
cdc80b3c93
Author | SHA1 | Date |
---|---|---|
|
cdc80b3c93 | |
|
479a2466a2 | |
|
473d8e99ca | |
|
29b40d4fb6 | |
|
1af2b43d36 | |
|
62b0cae3bd | |
|
5e09bd394b |
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 80 KiB |
Before Width: | Height: | Size: 29 KiB After Width: | Height: | Size: 73 KiB |
After Width: | Height: | Size: 78 KiB |
Before Width: | Height: | Size: 62 KiB After Width: | Height: | Size: 82 KiB |
Before Width: | Height: | Size: 56 KiB After Width: | Height: | Size: 69 KiB |
After Width: | Height: | Size: 132 KiB |
Before Width: | Height: | Size: 88 KiB After Width: | Height: | Size: 136 KiB |
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 118 KiB |
|
@ -0,0 +1,99 @@
|
|||
/**
|
||||
* Used to workshop the stacking screw
|
||||
* */
|
||||
|
||||
module stacking_debug () {
|
||||
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();
|
||||
|
||||
}
|
||||
|
||||
module stacking_debug2 () {
|
||||
translate([0, 0, 72 + 47]) {
|
||||
color("blue") gnal_spindle_top();
|
||||
}
|
||||
translate([0, 0, 72 + 26]) rotate([0, 180, 0]) intersection () {
|
||||
gnal_50ft_top();
|
||||
cylinder(r = 50 / 2, h = 50, center = true);
|
||||
}
|
||||
|
||||
translate([0, 0, 72 - 4]) {
|
||||
color("blue") rotate([0, 180, 0]) gnal_spindle_bottom();
|
||||
}
|
||||
|
||||
translate([0, 0, 72 + 8]) difference () {
|
||||
cylinder(r = 50 / 2, h = 16, center = true);
|
||||
cylinder(r = 22.5 / 2, h = 16 + 1, center = true);
|
||||
}
|
||||
|
||||
translate([0, 0, 36 + 8]) {
|
||||
color("green") rotate([0, 180, 0]) gnal_stacking_spindle();
|
||||
}
|
||||
|
||||
translate([0, 0, 55.5]) difference () {
|
||||
cylinder(r = 50 / 2, h = 16, center = true);
|
||||
cylinder(r = 22.5 / 2, h = 16 + 1, center = true);
|
||||
}
|
||||
|
||||
translate([0, 0, 20]) {
|
||||
color("green") rotate([0, 180, 0]) gnal_stacking_spindle();
|
||||
}
|
||||
|
||||
translate([0, 0, 32]) 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 + 5]) gnal_spacer_16();
|
||||
//#1 - bottom spiral
|
||||
translate([0, 0, 8]) 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, 11]) gnal_spiral_bottom_insert_16();
|
||||
H = 120;
|
||||
translate([0, 0, H / 2 - 2]) color("red") cube([1, 50, H], center = true);
|
||||
}
|
|
@ -3,6 +3,8 @@
|
|||
include <../libraries/gnal_v3.scad>;
|
||||
|
||||
SPOKE_COUNT = 24;
|
||||
FN = 200;
|
||||
$fn = FN;
|
||||
|
||||
module gnal_100ft_spiral (spiral_count = 60, od = 298.75, quarter = false) {
|
||||
outer_d = 299;
|
||||
|
@ -250,9 +252,6 @@ module gnal_100ft_top () {
|
|||
}
|
||||
}
|
||||
|
||||
FN = 200;
|
||||
$fn = FN;
|
||||
|
||||
module film_guide (rotations = 60, id = 45.55, spacing = 2.075, bottom = -2) {
|
||||
spiral(rotations, id, spacing, bottom, $fn);
|
||||
//reinforce outer spiral
|
||||
|
@ -278,18 +277,20 @@ if (PART == "spiral") {
|
|||
gnal_100ft_top();
|
||||
} else if (PART == "spacer") {
|
||||
gnal_spacer();
|
||||
} else if (PART == "spacer_16") {
|
||||
gnal_spacer_16();
|
||||
} else if (PART == "insert_s8") {
|
||||
gnal_spiral_bottom_insert_s8();
|
||||
} else if (PART == "insert_16") {
|
||||
gnal_spiral_bottom_insert_16();
|
||||
} else if (PART == "insert_single") {
|
||||
gnal_spiral_bottom_insert_single();
|
||||
} else if (PART == "spacer_16") {
|
||||
gnal_spacer_16();
|
||||
} else if (PART == "spindle_top") {
|
||||
gnal_spindle_top();
|
||||
} else if (PART == "spindle_bottom") {
|
||||
gnal_spindle_bottom();
|
||||
} else if (PART == "spindle_single") {
|
||||
gnal_spindle_single();
|
||||
} else if (PART == "spindle_stacking") {
|
||||
rotate([0, 180, 0]) gnal_stacking_spindle();
|
||||
}
|
|
@ -3,6 +3,8 @@
|
|||
include <../libraries/gnal_v3.scad>;
|
||||
|
||||
SPOKE_COUNT = 24;
|
||||
FN = 200;
|
||||
$fn = FN;
|
||||
|
||||
module gnal_50ft_spiral (spiral_count = 40, od = 215.75, quarter = false) {
|
||||
outer_d = 215;
|
||||
|
@ -180,9 +182,6 @@ module gnal_50ft_top () {
|
|||
}
|
||||
}
|
||||
|
||||
FN = 200;
|
||||
$fn = FN;
|
||||
|
||||
module film_guide (rotations = 40, id = 45.55 - .5, spacing = 2.075, bottom = -2) {
|
||||
spiral(rotations, id, spacing, bottom, $fn);
|
||||
//reinforce outer spiral
|
||||
|
@ -193,39 +192,6 @@ module film_guide (rotations = 40, id = 45.55 - .5, spacing = 2.075, bottom = -2
|
|||
|
||||
}
|
||||
|
||||
module gnal_stacking_spindle () {
|
||||
OD = 10.5 + .3;
|
||||
IN_LEN = 21;
|
||||
|
||||
LEN = 17.1;
|
||||
ALT_LEN = 27.1;
|
||||
difference () {
|
||||
union () {
|
||||
gnal_spindle_base();
|
||||
translate([0, 0, -23.75]) gnal_spacer_solid();
|
||||
}
|
||||
//inner screw negative
|
||||
translate([0, 0, -30]) union() {
|
||||
if (DEBUG) {
|
||||
cylinder(r = OD / 2, h = IN_LEN);
|
||||
} else {
|
||||
metric_thread (diameter=OD, pitch=PITCH, thread_size = THREAD, length = IN_LEN);
|
||||
}
|
||||
translate([0, 0, 0.2]) {
|
||||
if (DEBUG) {
|
||||
cylinder(r = OD / 2, h = IN_LEN);
|
||||
} else {
|
||||
metric_thread (diameter=OD, pitch=PITCH, thread_size = THREAD, length = IN_LEN);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
difference () {
|
||||
outer_screw(LEN - 2);
|
||||
}
|
||||
}
|
||||
|
||||
PART="spiral";
|
||||
|
||||
if (PART == "spiral") {
|
||||
|
@ -242,22 +208,21 @@ if (PART == "spiral") {
|
|||
gnal_50ft_top();
|
||||
} else if (PART == "spacer") {
|
||||
gnal_spacer();
|
||||
} else if (PART == "spacer_16") {
|
||||
gnal_spacer_16();
|
||||
} else if (PART == "insert_s8") {
|
||||
gnal_spiral_bottom_insert_s8();
|
||||
} else if (PART == "insert_16") {
|
||||
gnal_spiral_bottom_insert_16();
|
||||
} else if (PART == "insert_single") {
|
||||
gnal_spiral_bottom_insert_single();
|
||||
} else if (PART == "spacer_16") {
|
||||
gnal_spacer_16();
|
||||
} else if (PART == "spindle_top") {
|
||||
gnal_spindle_top();
|
||||
} else if (PART == "spindle_bottom") {
|
||||
gnal_spindle_bottom();
|
||||
} else if (PART == "spindle_single") {
|
||||
gnal_spindle_top();
|
||||
} else if (PART == "stacking") {
|
||||
//stacking();
|
||||
gnal_spindle_single();
|
||||
} else if (PART == "spindle_stacking") {
|
||||
rotate([0, 180, 0]) gnal_stacking_spindle();
|
||||
} else if (PART == "spiral_test") {
|
||||
difference () {
|
||||
|
@ -271,6 +236,8 @@ if (DEBUG) {
|
|||
echo("WARNING: DEBUG is enabled");
|
||||
}
|
||||
|
||||
/*
|
||||
echo($vpt);
|
||||
echo($vpr);
|
||||
echo($vpd);
|
||||
*/
|
|
@ -18,7 +18,6 @@ include <./Triangles.scad>;
|
|||
*/
|
||||
|
||||
DEBUG = false;
|
||||
|
||||
FINE = 200;
|
||||
|
||||
OD = 10 + .5;
|
||||
|
@ -238,7 +237,7 @@ module spiral_insert_void () {
|
|||
module gnal_spiral_bottom_insert_s8 () {
|
||||
$fn = 160;
|
||||
OD = 10.5 + .3;
|
||||
void_d = 18 - .3;
|
||||
void_d = 18 - .6;
|
||||
H = 17;
|
||||
D2 = INSERT_D;
|
||||
|
||||
|
@ -279,7 +278,7 @@ module gnal_spiral_bottom_insert_16 () {
|
|||
$fn = 160;
|
||||
OD = 10.5 + .3;
|
||||
|
||||
void_d = 18 - .3;
|
||||
void_d = 18 - .6;
|
||||
H = 17 + 8;
|
||||
D2 = INSERT_D;
|
||||
|
||||
|
@ -332,7 +331,7 @@ module gnal_spiral_bottom_insert_16 () {
|
|||
**/
|
||||
module gnal_spiral_bottom_insert_single () {
|
||||
$fn = 160;
|
||||
void_d = 18 - .3;
|
||||
void_d = 18 - .6;
|
||||
H = 17;
|
||||
D2 = INSERT_D;
|
||||
|
||||
|
@ -793,3 +792,36 @@ module gnal_spindle_single () {
|
|||
cylinder(r = 10 / 2, h = 21, center = true, $fn = FINE);
|
||||
}
|
||||
}
|
||||
|
||||
module gnal_stacking_spindle () {
|
||||
OD = 10.5 + .3;
|
||||
IN_LEN = 21;
|
||||
|
||||
LEN = 17.1;
|
||||
ALT_LEN = 27.1;
|
||||
difference () {
|
||||
union () {
|
||||
gnal_spindle_base();
|
||||
translate([0, 0, -23.75]) gnal_spacer_solid();
|
||||
}
|
||||
//inner screw negative
|
||||
translate([0, 0, -30]) union() {
|
||||
if (DEBUG) {
|
||||
cylinder(r = OD / 2, h = IN_LEN);
|
||||
} else {
|
||||
metric_thread (diameter=OD, pitch=PITCH, thread_size = THREAD, length = IN_LEN);
|
||||
}
|
||||
translate([0, 0, 0.2]) {
|
||||
if (DEBUG) {
|
||||
cylinder(r = OD / 2, h = IN_LEN);
|
||||
} else {
|
||||
metric_thread (diameter=OD, pitch=PITCH, thread_size = THREAD, length = IN_LEN);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
difference () {
|
||||
outer_screw(LEN - 2);
|
||||
}
|
||||
}
|
|
@ -14,7 +14,7 @@ DIST=./stl
|
|||
CSG=./csg
|
||||
IMG=./img
|
||||
NOTES=./notes/${V}.csv
|
||||
STEP=true
|
||||
STEP=false
|
||||
LOGGING=true
|
||||
|
||||
#"quarter_a" "quarter_b" "quarter_c" "quarter_d"
|
||||
|
@ -24,6 +24,7 @@ FILES=(
|
|||
"spindle_bottom"
|
||||
"spindle_top"
|
||||
"spindle_single"
|
||||
"spindle_stacking"
|
||||
"insert_s8"
|
||||
"insert_16"
|
||||
"spacer"
|
||||
|
@ -118,9 +119,9 @@ render_part () {
|
|||
fullPath=`realpath "${stl}"`
|
||||
data="import(\"${fullPath}\");"
|
||||
echo data > "${tmp}.scad"
|
||||
openscad -o "$png" --imgsize=2048,2048 --colorscheme=DeepOcean "${tmp}.scad"
|
||||
openscad -o "$png" --csglimit=2000000 --imgsize=2048,2048 --colorscheme=DeepOcean "${tmp}.scad"
|
||||
else
|
||||
openscad -o "$png" --imgsize=2048,2048 --colorscheme=DeepOcean -D "PART=\"${FILE}\"" "${scad}"
|
||||
openscad -o "$png" --csglimit=1000000 --imgsize=2048,2048 --colorscheme=DeepOcean -D "PART=\"${FILE}\"" "${scad}"
|
||||
fi
|
||||
}
|
||||
|
||||
|
|