]> www.fi.muni.cz Git - things.git/blob - dual-horn.scad
smaller baseplate, higher horn
[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 tube_h = 1.5;
13
14 foam_w = 3;
15 side_w = 0.8;
16 side_l = horn_l - 7;
17 side_h = 10;
18
19
20 module body() {
21         hull() {
22                 for (x = [-1, 1]) scale([x, 1, 1])
23                 translate([horn_w, 0, 0])
24                         cylinder(r = tip_d/2, h = wall);
25                 translate([-foam_w/2, -horn_l+tip_d/2, 0])
26                         cube([foam_w, horn_l, wall]);
27         }
28         // side
29         translate([-foam_w/2, -horn_l+tip_d/2, 0])
30                 cube([side_w, side_l, side_h]);
31         // tube
32         translate([0, tube_off, 0])
33                 cylinder(r = tube_d/2 + wall, h = tube_h);
34 }
35
36 difference() {
37         body();
38         for (x = [-1, 1]) scale([x, 1, 1])
39                 translate([horn_w, 0, -eps])
40                         cylinder(r = tip_hole/2, h = wall+2*eps);
41         // tube hole
42         translate([0, tube_off, -eps])
43                 cylinder(r = tube_d/2, h = tube_h+2*eps, $fn = 6);
44 }
45