summaryrefslogtreecommitdiff
path: root/multimixer.scad
authorMichael Krelin <hacker@klever.net>2018-07-25 21:24:06 (UTC)
committer Michael Krelin <hacker@klever.net>2018-07-25 21:39:03 (UTC)
commitcd3c9592b1b26ed98eda97fbf5b098bdcf4c1abd (patch) (unidiff)
tree03feb0efc71bc9a063c481f65ab6a4cada31ed05 /multimixer.scad
parenta24158645c0156f5b55c9adce15e16a8eb908ba1 (diff)
downloadextrudery-cd3c9592b1b26ed98eda97fbf5b098bdcf4c1abd.zip
extrudery-cd3c9592b1b26ed98eda97fbf5b098bdcf4c1abd.tar.gz
extrudery-cd3c9592b1b26ed98eda97fbf5b098bdcf4c1abd.tar.bz2
more flexible debug cutout
Diffstat (limited to 'multimixer.scad') (more/less context) (ignore whitespace changes)
-rw-r--r--multimixer.scad6
1 files changed, 3 insertions, 3 deletions
diff --git a/multimixer.scad b/multimixer.scad
index 0893457..21f71e4 100644
--- a/multimixer.scad
+++ b/multimixer.scad
@@ -3,25 +3,25 @@ epsilon=.01;
3 3
4use <pushfittery.scad>; 4use <pushfittery.scad>;
5include <pushfit_data.scad>; 5include <pushfit_data.scad>;
6 6
7module multimixer( 7module multimixer(
8 filament_d = 1.75, 8 filament_d = 1.75,
9 liner_od = 4, liner_id = 2, 9 liner_od = 4, liner_id = 2,
10 angle = 15, // to the vertical (output) axis 10 angle = 15, // to the vertical (output) axis
11 inputs = 4, 11 inputs = 4,
12 minshell = 2*extrusion_width, 12 minshell = 2*extrusion_width,
13 shell = 5*extrusion_width, 13 shell = 5*extrusion_width,
14 pf = pushfit_embeddest, 14 pf = pushfit_embeddest,
15 debug = true 15 debug = 0, // how many inputs -1 the debug cutout spans
16) { 16) {
17 fnd = 4*PI; fnr = 2*fnd; 17 fnd = 4*PI; fnr = 2*fnd;
18 18
19 pushfit_d = pf_d(pf); 19 pushfit_d = pf_d(pf);
20 pushfit_h = pf_h(pf); 20 pushfit_h = pf_h(pf);
21 21
22 angular_step = 360/inputs; 22 angular_step = 360/inputs;
23 inputogon_angle = 180*(inputs-2)/inputs; 23 inputogon_angle = 180*(inputs-2)/inputs;
24 24
25 sinsin = sin(angle)*sin(angular_step/2); 25 sinsin = sin(angle)*sin(angular_step/2);
26 function l_to(d) = d*cos(asin(sinsin))/sinsin; 26 function l_to(d) = d*cos(asin(sinsin))/sinsin;
27 l_output = liner_od; 27 l_output = liner_od;
@@ -81,20 +81,20 @@ module multimixer(
81 foroutput() { 81 foroutput() {
82 translate([0,0,l_output]) pushfit(pf); 82 translate([0,0,l_output]) pushfit(pf);
83 cylinder(d=liner_od,h=l_input+1,$fn=liner_od*fnd); 83 cylinder(d=liner_od,h=l_input+1,$fn=liner_od*fnd);
84 } 84 }
85 hull() { 85 hull() {
86 forinputs() 86 forinputs()
87 translate([0,0,l_fork]) cylinder(d=liner_id,h=epsilon,$fn=liner_id*fnd); 87 translate([0,0,l_fork]) cylinder(d=liner_id,h=epsilon,$fn=liner_id*fnd);
88 foroutput() 88 foroutput()
89 cylinder(d=liner_id,h=epsilon,$fn=liner_id*fnd); 89 cylinder(d=liner_id,h=epsilon,$fn=liner_id*fnd);
90 } 90 }
91 if(debug) { 91 if(debug) {
92 translate([0,0,-20/*TODO:*/]) 92 translate([0,0,-20/*TODO:*/])
93 rotate_extrude(angle=angular_step) 93 rotate_extrude(angle=angular_step*debug)
94 square([50,100]/*TODO:*/); 94 square([50,100]/*TODO:*/);
95 } 95 }
96 } 96 }
97 97
98} 98}
99 99
100multimixer(debug=true); 100multimixer(debug=2);