whistles

3d printable Irish whistles
git clone https://git.woozle.org/neale/whistles.git

Neale Pickett  ·  2025-05-03

tonehole.scad

 1module tonehole(d=10, h=50) {
 2  r = d/2;
 3  area = PI*r*r;
 4
 5  rounding_r = 2;
 6  rounding_area = (1 - PI/4) * (rounding_r^2); // area lost to rounding
 7  goal_area = area + rounding_area;
 8
 9  w = max(6.25, d-4); // Marat uses 6.25mm on every hole, so we will too
10  l = goal_area / w;
11
12  translate([-w/2, -l/2, 0]) {
13    union() {
14      translate([rounding_r, rounding_r, 0]) cylinder(r=rounding_r, h=h);
15      translate([rounding_r, 0, 0]) cube([w-rounding_r, l, h]);
16      translate([0, rounding_r, 0]) cube([w, l-rounding_r, h]);
17    }
18  }
19}