summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (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
@@ -1,39 +1,39 @@
layer_height=.2; extrusion_width=.5;
epsilon=.01;
use <pushfittery.scad>;
include <pushfit_data.scad>;
module multimixer(
filament_d = 1.75,
liner_od = 4, liner_id = 2,
angle = 15, // to the vertical (output) axis
inputs = 4,
minshell = 2*extrusion_width,
shell = 5*extrusion_width,
pf = pushfit_embeddest,
- debug = true
+ debug = 0, // how many inputs -1 the debug cutout spans
) {
fnd = 4*PI; fnr = 2*fnd;
pushfit_d = pf_d(pf);
pushfit_h = pf_h(pf);
angular_step = 360/inputs;
inputogon_angle = 180*(inputs-2)/inputs;
sinsin = sin(angle)*sin(angular_step/2);
function l_to(d) = d*cos(asin(sinsin))/sinsin;
l_output = liner_od;
l_input = l_to(pushfit_d/2+minshell);
l_fork = l_to(liner_id/2);
l_narrow = l_to(liner_od/2+minshell);
module forinputs() {
for(zr=[0:angular_step:359]) rotate([0,0,zr]) rotate([0,angle,0]) children();
}//forinputs module
module foroutput() {
rotate([180,0,0]) children();
}
//translate([pf_d(pf)/2+shell,0,0])
@@ -69,32 +69,32 @@ module multimixer(
cylinder(d=pushfit_d+shell*2,h=epsilon,$fn=pushfit_d*fnd);
}
}
forinputs() {
translate([0,0,l_input]) pushfit(pf);
translate([0,0,l_narrow]) {
cylinder(d=liner_od,h=l_input+1-l_narrow,$fn=liner_od*fnd);
mirror([0,0,1]) translate([0,0,-epsilon])
cylinder(d1=(liner_id+liner_od)/2,d2=liner_id,h=liner_id,$fn=liner_od*fnd);
}
cylinder(d=liner_id,h=l_input+epsilon,$fn=liner_id*fnd);
}
foroutput() {
translate([0,0,l_output]) pushfit(pf);
cylinder(d=liner_od,h=l_input+1,$fn=liner_od*fnd);
}
hull() {
forinputs()
translate([0,0,l_fork]) cylinder(d=liner_id,h=epsilon,$fn=liner_id*fnd);
foroutput()
cylinder(d=liner_id,h=epsilon,$fn=liner_id*fnd);
}
if(debug) {
translate([0,0,-20/*TODO:*/])
- rotate_extrude(angle=angular_step)
+ rotate_extrude(angle=angular_step*debug)
square([50,100]/*TODO:*/);
}
}
}
-multimixer(debug=true);
+multimixer(debug=2);