]> www.fi.muni.cz Git - things.git/blob - dual-horn.scad
horn for pull-pull system
[things.git] / dual-horn.scad
1 eps = 0.01;
2 infty = 200;
3
4 wall = 1;
5
6 horn_w = 10;
7 horn_l = 15;
8 tip_hole = 2;
9 tip_d = tip_hole+2*wall;
10 tube_d = 2.0 + 0.5;
11 tube_off = 1;
12
13 foam_w = 3;
14 side_w = 0.5;
15 side_l = horn_l - 7;
16 side_h = 8;
17
18
19 module body() {
20         hull() {
21                 for (x = [-1, 1]) scale([x, 1, 1])
22                 translate([horn_w, 0, 0])
23                         cylinder(r = tip_d/2, h = wall);
24                 translate([-foam_w/2, -horn_l+tip_d/2, 0])
25                         cube([foam_w, horn_l, wall]);
26         }
27         // side
28         translate([foam_w/2-side_w, -horn_l+tip_d/2, 0])
29                 cube([side_w, side_l, side_h]);
30 }
31
32 difference() {
33         body();
34         for (x = [-1, 1]) scale([x, 1, 1])
35                 translate([horn_w, 0, -eps])
36                         cylinder(r = tip_hole/2, h = wall+2*eps);
37         // tube hole
38         translate([0, tube_off, -eps])
39                 cylinder(r = tube_d/2, h = wall+2*eps, $fn = 6);
40 }
41