CurveTest.scad 1.27 KiB
$fs = 1;
$fa = $fs;
use <WebWeaver/scad/Piping.scad>;
/* module pipe(outer=true) {
rotate([-90, 0, 0]) cornerPipe(10, 30, 10, 180, 5, 1.6, center=true, outer=outer);
}
pipe();
difference() {
for (tx=[-12, 12]) translate([tx, 0, -15]) cylinder(d=5, h=15);
pipe(false);
} */
r = 5;
w = 30;
h = 10;
_str = 1.6;
ml = 20; // mouth-piece
d0 = 10;
translate([-d0 -h, 0, 0]) rotate([90, 90, 0]) cornerPipe(h, w, d0, 90, r, _str, center=true);
_wh = 10;
l0 = 50;
translate([-l0 -d0 -h -d0/2, 0, -d0]) rotate([0, 90, 0]) helixPipe(w, h, l0, 50, 270, _wh/2, _str);
rotate([90, 0, 0]) cornerPipe(h, w, d0, 180, r, _str, center=true);
translate([d0 + h, 0, 0]) rotate([-90, 0, 0]) cornerPipe(h, w, d0, 180, r, _str, center=true);
translate([d0+h + d0+h, 0, 0]) rotate([90, -90, 0]) cornerPipe(h, w, d0, 90, r, _str, center=true);
wh = 15;
translate([d0+h + d0+h, 0, d0]) {
rotate([90, 0, 90]) adapterPipe(w, h, r, _str, wh, wh, wh/2, _str, ml);
translate([ml, 0, 0]) rotate([0, 90, 0]) straightPipe(wh, wh, 10, wh/2, _str);
}
translate([d0*2, 0, -d0 -h -d0/2]) rotate([0, 0, 90]) straightPipe(23, h, 10, r, 1);
translate([d0*6.5, 0, -d0 -h -d0/2]) rotate([0, 0, 90]) straightPipe(5, 5, 28, 5/2, 1);
for (tx=[-67, -60+25]) translate([tx, 0, -d0 -h -d0/2]) cylinder(d=10, h=1);