uilleann

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

commit
c5881de
parent
4bf72bb
author
Neale Pickett
date
2025-02-01 08:27:42 -0700 MST
start work on chanter reed
1 files changed,  +49, -0
A daye/chanter/reed.scad
+49, -0
 1@@ -0,0 +1,49 @@
 2+include <../common.scad>
 3+
 4+// Evertjan 't Hart's guide was super helpful:
 5+// https://www.hartdd.com/reedmaking/reed1.html
 6+//
 7+// Using those dimensions (base thickness = 2, cane_d = 24),
 8+// the width comes out to 13.2mm,
 9+// which is what the page says it should be.
10+
11+length = 50;
12+thickness = 0.55;
13+cane_d = 24;
14+base_thickness = 2;
15+
16+scrape_angle = atan((base_thickness-thickness)/length)*2.6;
17+
18+difference() {
19+  translate([0, 0, -cane_d/2+base_thickness]) {
20+    difference() {
21+      // Start with a solid piece of cane.
22+      rotate([-90, 0, 0]) cylinder(d=cane_d, h=length);
23+
24+      // Chisel out reed
25+      translate([-cane_d/2, -length, -cane_d/2-base_thickness]) cube([cane_d, length*3, cane_d]);
26+    }
27+  }
28+
29+  // Cut the tails
30+  // I totally guessed at all of these
31+  #translate([0, 10, 0]) rotate([0, 0, -30]) cube(20);
32+  
33+
34+  // Sand inside to 1.5mm thickness
35+  sander_d = 82;
36+  translate([0, 0, base_thickness - 1.5 - sander_d/2]) rotate([-90, 0, 0]) cylinder(d=sander_d, h=length);
37+
38+  // Scrape reed
39+  translate([0, length, d/2-base_thickness+thickness]) rotate([-scrape_angle, 0, 0]) translate([-d/2, -length, 0]) cube([d, length, d]);
40+
41+  // Reed chopper
42+  translate([0, length, 0]) {
43+    translate([0, -d/2, 0]) {
44+      difference() {
45+        translate([-d/2, 0, 0]) cube([d, d/2, d]);
46+        cylinder(d=d, h=d);
47+      }
48+    }
49+  }
50+}