uilleann

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

commit
a846c7a
parent
f5c5523
author
Neale Pickett
date
2026-03-28 14:17:42 -0600 MDT
Work on chanter stock
52 files changed,  +64, -22
A Makefile
+9, -0
 1@@ -0,0 +1,9 @@
 2+stocks: stock-chanter.3mf
 3+stocks: stock-blowpipe.3mf
 4+stocks: stock-main.3mf
 5+
 6+%.3mf: %.scad
 7+	openscad -o $@ $<
 8+
 9+clean:
10+	rm -f *.3mf
R daye/misc/adapter-bellows-tube.scad => adapter-bellows-tube.scad
+0, -0
R coyne-colgan-b/chanter.scad => attic/coyne-colgan-b/chanter.scad
+0, -0
R coyne-colgan-b/measurements.jpeg => attic/coyne-colgan-b/measurements.jpeg
+0, -0
R daye/Makefile => attic/daye/Makefile
+0, -0
R daye/chanter.quiet/Makefile => attic/daye/chanter.quiet/Makefile
+0, -0
R daye/chanter.quiet/bore.py => attic/daye/chanter.quiet/bore.py
+0, -0
R daye/chanter.quiet/bottom.scad => attic/daye/chanter.quiet/bottom.scad
+0, -0
R daye/chanter.quiet/chanter.quiet.scad => attic/daye/chanter.quiet/chanter.quiet.scad
+0, -0
R daye/chanter.quiet/complete.scad => attic/daye/chanter.quiet/complete.scad
+0, -0
R daye/chanter.quiet/ruby.svg => attic/daye/chanter.quiet/ruby.svg
+0, -0
R daye/chanter.quiet/tonehole.scad => attic/daye/chanter.quiet/tonehole.scad
+0, -0
R daye/chanter.quiet/top.scad => attic/daye/chanter.quiet/top.scad
+0, -0
R daye/chanter/bottom.scad => attic/daye/chanter/bottom.scad
+0, -0
A attic/daye/chanter/cap.scad
+33, -0
 1@@ -0,0 +1,33 @@
 2+include <BOSL2/std.scad>
 3+
 4+$fa = 1;
 5+$fs = $preview ? 2 : 0.5;
 6+
 7+module rings(id) {
 8+  tag("remove") {
 9+    for (z = [-2, 2]) {
10+      up(z) tube(id=id-1, od=id+1, h=1);
11+    }
12+  }
13+}
14+
15+angle = 45;
16+
17+diff() cyl(h=150, d=20, anchor=BOTTOM) {
18+  position(TOP) down(15) rings(20);
19+  position(BOTTOM) up(15) rings(20);
20+  position(TOP) {
21+    cyl(h=10, d=24);
22+    down(20) yrot(90+angle) {
23+      cyl(h=60, d=12, anchor=BOTTOM) {
24+        position(TOP) down(10) rings(12);
25+      }
26+    }
27+  }
28+
29+  tag("remove") cyl(h=150, d=18) {
30+    position(TOP) {
31+      down(20) yrot(90+angle) cyl(h=60, d=10, anchor=BOTTOM);
32+    }
33+  }
34+}
R daye/chanter/complete.scad => attic/daye/chanter/complete.scad
+0, -0
R daye/chanter/reed.scad => attic/daye/chanter/reed.scad
+0, -0
R daye/chanter/sander.scad => attic/daye/chanter/sander.scad
+0, -0
R daye/chanter/tonehole.scad => attic/daye/chanter/tonehole.scad
+0, -0
R daye/chanter/top.scad => attic/daye/chanter/top.scad
+0, -0
R daye/common.scad => attic/daye/common.scad
+0, -0
R daye/drones/assembly.scad => attic/daye/drones/assembly.scad
+0, -0
R daye/drones/baritone/assembly.scad => attic/daye/drones/baritone/assembly.scad
+0, -0
R daye/drones/baritone/reed-body.scad => attic/daye/drones/baritone/reed-body.scad
+0, -0
R daye/drones/baritone/tongue.scad => attic/daye/drones/baritone/tongue.scad
+0, -0
R daye/drones/baritone/tuner-barrel.scad => attic/daye/drones/baritone/tuner-barrel.scad
+0, -0
R daye/drones/baritone/tuner-end.scad => attic/daye/drones/baritone/tuner-end.scad
+0, -0
R daye/drones/bass/assembly.scad => attic/daye/drones/bass/assembly.scad
+0, -0
R daye/drones/tenor/assembly.scad => attic/daye/drones/tenor/assembly.scad
+0, -0
R daye/drones/tenor/tuner-barrel.scad => attic/daye/drones/tenor/tuner-barrel.scad
+0, -0
R daye/drones/tenor/tuner-end.scad => attic/daye/drones/tenor/tuner-end.scad
+0, -0
R daye/misc/Makefile => attic/daye/misc/Makefile
+0, -0
R harrington-rowsome-c\342\231\257/Makefile => attic/harrington-rowsome-c\342\231\257/Makefile
+0, -0
R harrington-rowsome-c\342\231\257/bottom.scad => attic/harrington-rowsome-c\342\231\257/bottom.scad
+0, -0
R harrington-rowsome-c\342\231\257/chanter.b\342\231\256.scad => attic/harrington-rowsome-c\342\231\257/chanter.b\342\231\256.scad
+0, -0
R harrington-rowsome-c\342\231\257/chanter.scad => attic/harrington-rowsome-c\342\231\257/chanter.scad
+0, -0
R harrington-rowsome-c\342\231\257/measurements.txt => attic/harrington-rowsome-c\342\231\257/measurements.txt
+0, -0
R harrington-rowsome-c\342\231\257/top.scad => attic/harrington-rowsome-c\342\231\257/top.scad
+0, -0
R kenna-reck-b/README.md => attic/kenna-reck-b/README.md
+0, -0
R kenna-reck-b/chanter.pdf => attic/kenna-reck-b/chanter.pdf
+0, -0
R kenna-reck-b/chanter.scad => attic/kenna-reck-b/chanter.scad
+0, -0
R lyons-rowsome-c/chanter.scad => attic/lyons-rowsome-c/chanter.scad
+0, -0
R rowsome/Makefile => attic/rowsome/Makefile
+0, -0
R rowsome/chanter-full.scad => attic/rowsome/chanter-full.scad
+0, -0
R rowsome/chanter.scad => attic/rowsome/chanter.scad
+0, -0
R daye/misc/blowpipe.scad => blowpipe.scad
+0, -0
D daye/chanter/cap.scad
+0, -17
 1@@ -1,17 +0,0 @@
 2-include <BOSL2/std.scad>
 3-
 4-difference() {
 5-  cyl(h=150, d=20, anchor=BOTTOM) {
 6-    position(TOP) {
 7-      cyl(h=10, d=24);
 8-      down(20) yrot(40) xcyl(h=60, d=12, anchor=LEFT);
 9-    }
10-  }
11-
12-  down(1)
13-  cyl(h=150+1, d=18, anchor=BOTTOM) {
14-    position(TOP) {
15-      down(20) yrot(40) xcyl(h=61, d=10, anchor=LEFT);
16-    }
17-  }
18-}
D daye/misc/chanter-stock.scad
+0, -5
1@@ -1,5 +0,0 @@
2-use <stock.scad>
3-
4-$fn = $preview ? 0 : 180;
5-
6-stock(h=50, id=12.5);
R daye/misc/blowpipe-stock.scad => stock-blowpipe.scad
+0, -0
A stock-chanter.scad
+22, -0
 1@@ -0,0 +1,22 @@
 2+include <BOSL2/std.scad>
 3+
 4+$fn = $preview ? 0 : 180;
 5+
 6+h = 50;
 7+id = 12.5;
 8+od = 33;
 9+head_h = 30;
10+head_d = od+5;
11+
12+diff()
13+cyl(h=h-head_h, d=od, rounding=1/2, anchor=BOTTOM) {
14+  for (z = [5, 10, 15]) {
15+    tag("remove") up(z) attach(BOTTOM) tube(h=2, id=od-1, od=od+1, chamfer=0.2);
16+  }
17+  attach(TOP) cyl(d=head_d, h=10, anchor=BOTTOM) {
18+    attach(TOP) cyl(h=head_h-10, d1=head_d, d2=id+10, anchor=BOTTOM);
19+  }
20+  tag("remove") attach(BOTTOM) cyl(h=h, d=id, chamfer=-1, anchor=TOP);
21+}
22+
23+
R daye/misc/main-stock.scad => stock-main.scad
+0, -0
R daye/misc/stock.scad => stock.scad
+0, -0