guitar

3D printable guitar parts
git clone https://git.woozle.org/neale/guitar.git

commit
258dc05
parent
f69fa52
author
Neale Pickett
date
2025-12-28 13:00:35 -0700 MST
more readable
2 files changed,  +10, -16
M Makefile
+4, -1
1@@ -1,4 +1,7 @@
2-all: nut.tenor-guitar.3mf
3+all: nut.tenor-guitar.3mf tuner-plate.3mf
4+
5+%.3mf: %.scad
6+	openscad -o $@ $<
7 
8 nut.%.3mf: nut.scad nuts.json
9 	openscad -o $@ -p nuts.json -P $* $<
M nut.scad
+6, -15
 1@@ -1,29 +1,20 @@
 2-$fn=180;
 3-
 4-inch = 25.4;
 5-
 6 // Size of the nut
 7 size = [30, 9, 5];
 8 
 9- // Strings you're putting on it, in mils (aka thous)
10+// Strings you're putting on it, in mils (aka thous)
11 string_gauges = [11, 16, 30, 40];
12 
13-strings = string_gauges * inch / 1000;
14-
15-// tenor guitar
16-// d4 - 0.014" - 20.5.lb
17-// a3 - 0.018" - 19.0 lb
18-// d3 - 0.029" - 19.6 lb
19-// g2 - 0.044" - 19.3 lb
20-
21 difference() {
22-  intersection() {
23+  $fn=180; // 180 faces per complete circle is good enough for printing
24+  inch = 25.4; // mm per inch
25+  mil = inch / 1000; // mm per mil
26 
27+  intersection() {
28     cube(size);
29     rotate([0, 90, 0]) cylinder(h=size.x, r=size.y);
30   }
31 
32-  // string grooves
33+  strings = string_gauges * mil;
34   spacing = size.x / len(strings);
35   for (n = [0:len(strings)-1]) {
36     d = strings[n];