uilleann

3d printable Uilleann bagpipes
git clone https://git.woozle.org/neale/uilleann.git

Neale Pickett  ·  2026-04-05

blowpipe.scad

 1include <BOSL2/std.scad>
 2include <BOSL2/threading.scad>
 3
 4$fn = 180;
 5$slop = 0.2;
 6
 7module top() {
 8  id = 12;
 9  diff() tube(h=45, od=5/8*INCH, id=id, anchor=BOTTOM) {
10    // Cross through the inside
11    for (spin = [0, 90]) {
12      attach(BOTTOM, BOTTOM, spin=spin, inside=true) tag("") cuboid([1.6, 13, 45]);
13    }
14
15    // Fat base
16    attach(BOTTOM, BOTTOM, inside=true) tag("") tube(h=15, od=25, id=id+2, $fn=12);
17
18    // Screw threads, and nubbin in the middle for attaching the diaphragm
19    attach(BOTTOM, BOTTOM, inside=true) {
20      threaded_rod(d=20, height=9, pitch=2, internal=true) {
21        // This is the height of the nubbin and the depth of the diaphragm chamber
22        attach(TOP, BOTTOM) tube(h=4, od=20, id=2);
23      }
24    }
25
26    // Cutout for securing the tubing
27    tag("remove") up(7) tube(h=15, id=5/8*INCH-1, wall=2, chamfer=1);
28  }
29}
30
31module bottom() {
32  diff() cyl(h=45, d=5/8*INCH, anchor=BOTTOM) {
33    hole_d = 4.2;
34    tag("remove") cyl(h=50, d=hole_d);
35    for (spin = [0 : 360/6: 360]) {
36      tag("remove") zrot(spin) right(5) cyl(h=50, d=hole_d);
37    }
38
39    // Screw threads
40    attach(BOTTOM, BOTTOM, inside=true) {
41      tag("") threaded_rod(d=20, height=10, pitch=2) {
42        // Fat base
43        attach(TOP, BOTTOM) cyl(h=5, d=25, $fn=12);
44      }
45    }
46  }
47}
48
49top();
50//up(10) zflip() bottom();
51right(30) bottom();