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