Piano markers :)

This commit is contained in:
Luke Hubmayer-Werner 2025-02-18 22:27:22 +10:30
parent f4ac0b373d
commit 0e5f1322c8
2 changed files with 12 additions and 7 deletions

View File

@ -99,7 +99,7 @@ module chromatic_tuner_battery_jack(extra_depth=10, tolerance=0.5) {
// ShinKaiYaku65 // ShinKaiYaku65
// I swapped and because 12th fret should be the biggest marker, and having only 15 as a 2char marker would be too disorienting // I swapped and because 12th fret should be the biggest marker, and having only 15 as a 2char marker would be too disorienting
// going with for 21 // going with for 21
fret_inlays = [[3, "真"], [5, "尊"], [7, "正"], [9, "清"], [12, "評判"], [15, "愛"], [17, "徳"], [19, "賛"], [21, "良"], [24, "主イエス"], [27, "."], [29, "."], [31, "."], [33, "."]]; $fret_inlays = [[3, "真"], [5, "尊"], [7, "正"], [9, "清"], [12, "評判"], [15, "愛"], [17, "徳"], [19, "賛"], [21, "良"], [24, "主イエス"], [27, "."], [29, "."], [31, "."], [33, "."]];
// Galatians 5:22-23 // Galatians 5:22-23
// ShinKaiYaku65 22 23 // ShinKaiYaku65 22 23
// //
@ -741,6 +741,7 @@ module Steel6String(include_colours=[0,1,4], segment=-1, reference=false) {
$fret_widths = default_fret_widths(3.6, 2.4); $fret_widths = default_fret_widths(3.6, 2.4);
$fret_angle = 50; $fret_angle = 50;
$target_neck_thickness = 16; $target_neck_thickness = 16;
bridge_height = 10;
// Clownfish idea: make inlay-marked frets a different colour // Clownfish idea: make inlay-marked frets a different colour
// Clownfish scheme is 0 Orange/1 White/2-4 Black // Clownfish scheme is 0 Orange/1 White/2-4 Black
@ -750,6 +751,8 @@ module Steel6String(include_colours=[0,1,4], segment=-1, reference=false) {
fc0, fc1, fc1, fc0, fc1, fc0, fc1, fc0, fc1, fc0, fc1, fc1, // 0-11 fc0, fc1, fc1, fc0, fc1, fc0, fc1, fc0, fc1, fc0, fc1, fc1, // 0-11
fc0, fc1, fc1, fc0, fc1, fc0, fc1, fc0, fc1, fc0, fc1, fc1, // 12-23 fc0, fc1, fc1, fc0, fc1, fc0, fc1, fc0, fc1, fc0, fc1, fc1, // 12-23
]; ];
// To make it more like a Piano, let's do 10th instead of 9th fret markings
$fret_inlays = [[3, "真"], [5, "尊"], [7, "正"], [10, "清"], [12, "評判"], [15, "愛"], [17, "徳"], [19, "賛"], [22, "良"], [24, "主イエス"], [27, "."], [29, "."], [31, "."], [34, "."]];
// Neck joining the body makes for annoying fret markers, so we'll add a variable to suppress side markers beyond a certain point // Neck joining the body makes for annoying fret markers, so we'll add a variable to suppress side markers beyond a certain point
$last_fret_side_marker = 15; $last_fret_side_marker = 15;
@ -965,12 +968,14 @@ module Steel6String(include_colours=[0,1,4], segment=-1, reference=false) {
// Render strings above for spacing reference // Render strings above for spacing reference
string_excess = 80; string_excess = 80;
for (i = [0:$num_strings-1]) { for (i = [0:$num_strings-1]) {
d = $string_diameters_mm[i];
hull() { hull() {
translate([string_x(i, -string_excess), -string_excess, 5]) sphere(d=$string_diameters_mm[i], $fn=cyl_ld_fn); translate([string_x(i, -string_excess), -string_excess, bridge_height]) sphere(d=d, $fn=cyl_ld_fn);
translate([string_x(i, $fsl_mm+5), $fsl_mm+5, 5]) sphere(d=$string_diameters_mm[i], $fn=cyl_ld_fn); translate([string_x(i, $fsl_mm+5), $fsl_mm+5, $scallop_depth + get_max_fret_height() + d/2]) sphere(d=d, $fn=cyl_ld_fn);
} }
} }
%HeadPiece(); %HeadPiece();
translate([0, -20, 0]) FlatBridge(saddle_height=bridge_height-6, base_height=6);
} else if (segment >= 0) { } else if (segment >= 0) {
intersection() { intersection() {
Full(); Full();

View File

@ -96,7 +96,7 @@ module neck(string_spacing=18, string_margin=4.5, num_strings=3, target_neck_thi
cube([1000, fret_width, 1000]); cube([1000, fret_width, 1000]);
} }
module fret_inlays() { module fret_inlays() {
for (num_text = fret_inlays) { for (num_text = $fret_inlays) {
fret = num_text[0]; fret = num_text[0];
if (fret <= num_frets) { if (fret <= num_frets) {
x0 = fret_scale_length(fret-1); x0 = fret_scale_length(fret-1);
@ -109,7 +109,7 @@ module neck(string_spacing=18, string_margin=4.5, num_strings=3, target_neck_thi
} }
} }
module fret_side_markers() { module fret_side_markers() {
for (num_text = fret_inlays) { for (num_text = $fret_inlays) {
fret = num_text[0]; fret = num_text[0];
if (fret <= num_frets) { if (fret <= num_frets) {
x0 = fret_scale_length(fret-1); x0 = fret_scale_length(fret-1);
@ -267,7 +267,7 @@ module TaperNeck(
cube([1000, get_fret_width(0), 1000]); cube([1000, get_fret_width(0), 1000]);
} }
module fret_inlays() { module fret_inlays() {
for (num_text = fret_inlays) { for (num_text = $fret_inlays) {
fret = num_text[0]; fret = num_text[0];
if (fret <= $num_frets) { if (fret <= $num_frets) {
y0 = behind_fret(fret); y0 = behind_fret(fret);
@ -294,7 +294,7 @@ module TaperNeck(
} }
} }
module fret_side_markers() { module fret_side_markers() {
for (num_text = fret_inlays) { for (num_text = $fret_inlays) {
fret = num_text[0]; fret = num_text[0];
if (fret <= (is_undef($last_fret_side_marker) ? $num_frets : $last_fret_side_marker)) { if (fret <= (is_undef($last_fret_side_marker) ? $num_frets : $last_fret_side_marker)) {
x0 = fret_scale_length(fret-1)-get_fret_width(fret-1)/2; x0 = fret_scale_length(fret-1)-get_fret_width(fret-1)/2;