Neale Pickett
·
2025-11-28
tonehole.scad
1module tonehole(h=10, d=10, undercut=0) {
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 = 6.25; // Marat uses 6.25mm on every hole, so we will too
10 l = goal_area / w;
11
12 union() {
13 translate([rounding_r, rounding_r, 0]) cylinder(r=rounding_r, h=20);
14 translate([rounding_r, 0, 0]) cube([w-rounding_r, l, 20]);
15 translate([0, rounding_r, 0]) cube([w, l-rounding_r, 20]);
16 }
17}
18
19tonehole($fn=60);
20