]> www.fi.muni.cz Git - things.git/commitdiff
horn for pull-pull system
authorJan "Yenya" Kasprzak <kas@fi.muni.cz>
Fri, 4 May 2018 09:57:06 +0000 (11:57 +0200)
committerJan "Yenya" Kasprzak <kas@fi.muni.cz>
Fri, 4 May 2018 09:57:06 +0000 (11:57 +0200)
dual-horn.scad [new file with mode: 0644]

diff --git a/dual-horn.scad b/dual-horn.scad
new file mode 100644 (file)
index 0000000..62d1181
--- /dev/null
@@ -0,0 +1,41 @@
+eps = 0.01;
+infty = 200;
+
+wall = 1;
+
+horn_w = 10;
+horn_l = 15;
+tip_hole = 2;
+tip_d = tip_hole+2*wall;
+tube_d = 2.0 + 0.5;
+tube_off = 1;
+
+foam_w = 3;
+side_w = 0.5;
+side_l = horn_l - 7;
+side_h = 8;
+
+
+module body() {
+       hull() {
+               for (x = [-1, 1]) scale([x, 1, 1])
+               translate([horn_w, 0, 0])
+                       cylinder(r = tip_d/2, h = wall);
+               translate([-foam_w/2, -horn_l+tip_d/2, 0])
+                       cube([foam_w, horn_l, wall]);
+       }
+       // side
+       translate([foam_w/2-side_w, -horn_l+tip_d/2, 0])
+               cube([side_w, side_l, side_h]);
+}
+
+difference() {
+       body();
+       for (x = [-1, 1]) scale([x, 1, 1])
+               translate([horn_w, 0, -eps])
+                       cylinder(r = tip_hole/2, h = wall+2*eps);
+       // tube hole
+       translate([0, tube_off, -eps])
+               cylinder(r = tube_d/2, h = wall+2*eps, $fn = 6);
+}
+