diff --git a/CFTubes.scad b/CFTubes.scad index 34df7a0..242066e 100644 --- a/CFTubes.scad +++ b/CFTubes.scad @@ -99,7 +99,7 @@ module chromatic_tuner_battery_jack(extra_depth=10, tolerance=0.5) { // ShinKaiYaku65 最後に、兄弟たち。すべての真実なこと、すべての誉れあること、すべての正しいこと、すべてのきよいこと、すべての愛すべきこと、すべての評判の良いこと、そのほか徳と言われること、称賛に値することがあるならば、そのようなことに心を留めなさい。 // 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 -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 // 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_angle = 50; $target_neck_thickness = 16; + bridge_height = 10; // Clownfish idea: make inlay-marked frets a different colour // 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, // 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 $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 string_excess = 80; for (i = [0:$num_strings-1]) { + d = $string_diameters_mm[i]; hull() { - translate([string_x(i, -string_excess), -string_excess, 5]) sphere(d=$string_diameters_mm[i], $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, -string_excess), -string_excess, bridge_height]) sphere(d=d, $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(); + translate([0, -20, 0]) FlatBridge(saddle_height=bridge_height-6, base_height=6); } else if (segment >= 0) { intersection() { Full(); diff --git a/EllipticalNeck.scad b/EllipticalNeck.scad index 1f9ef69..d6477c2 100644 --- a/EllipticalNeck.scad +++ b/EllipticalNeck.scad @@ -96,7 +96,7 @@ module neck(string_spacing=18, string_margin=4.5, num_strings=3, target_neck_thi cube([1000, fret_width, 1000]); } module fret_inlays() { - for (num_text = fret_inlays) { + for (num_text = $fret_inlays) { fret = num_text[0]; if (fret <= num_frets) { 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() { - for (num_text = fret_inlays) { + for (num_text = $fret_inlays) { fret = num_text[0]; if (fret <= num_frets) { x0 = fret_scale_length(fret-1); @@ -267,7 +267,7 @@ module TaperNeck( cube([1000, get_fret_width(0), 1000]); } module fret_inlays() { - for (num_text = fret_inlays) { + for (num_text = $fret_inlays) { fret = num_text[0]; if (fret <= $num_frets) { y0 = behind_fret(fret); @@ -294,7 +294,7 @@ module TaperNeck( } } module fret_side_markers() { - for (num_text = fret_inlays) { + for (num_text = $fret_inlays) { fret = num_text[0]; 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;