PETG tuner block for Nylon
This commit is contained in:
parent
30a58fc75d
commit
afaca9a9b0
60
CFTubes.scad
60
CFTubes.scad
|
@ -4,8 +4,8 @@ include <NylonTuner.scad>
|
||||||
|
|
||||||
include <CFTubes/common.scad>
|
include <CFTubes/common.scad>
|
||||||
// Choose your material by only including one of the below
|
// Choose your material by only including one of the below
|
||||||
include <CFTubes/PLA.scad>
|
// include <CFTubes/PLA.scad>
|
||||||
// include <CFTubes/PETG.scad>
|
include <CFTubes/PETG.scad>
|
||||||
|
|
||||||
// Guitar_Scale_Length_mm = 610; // millimetres, slightly over 24inch (609.6mm) Jaguar scale, should be fine for guitar and u-bass
|
// Guitar_Scale_Length_mm = 610; // millimetres, slightly over 24inch (609.6mm) Jaguar scale, should be fine for guitar and u-bass
|
||||||
// assert(fret_scale_length(0) == 610); // Make sure the function correctly uses our changed global
|
// assert(fret_scale_length(0) == 610); // Make sure the function correctly uses our changed global
|
||||||
|
@ -390,11 +390,12 @@ module Nylon6String(render_colour_0=true, render_colour_1=true, render_colour_2=
|
||||||
colour_1 = "white"; // fret layers
|
colour_1 = "white"; // fret layers
|
||||||
colour_2 = "green"; // side markers
|
colour_2 = "green"; // side markers
|
||||||
colour_3 = "yellow"; // inlays
|
colour_3 = "yellow"; // inlays
|
||||||
id_line_0 = "PLA";
|
id_line_0 = "PETG";
|
||||||
id_line_1 = "1δ";
|
id_line_1 = "1δ.α";
|
||||||
fsl_mm = fret_scale_length(0);
|
fsl_mm = fret_scale_length(0);
|
||||||
|
|
||||||
string_diameters_thous = [28, 32, 40, 30, 36, 42];
|
// string_diameters_thous = [28, 32, 40, 30, 36, 42]; // Ernie Ball Earthwoods (seemingly counterfeit from Amazon)
|
||||||
|
string_diameters_thous = [28, 32, 40, 30, 35, 43]; // Artist CLST Classical Nylon Guitar Strings
|
||||||
string_diameters_mm = string_diameters_thous * 0.0254;
|
string_diameters_mm = string_diameters_thous * 0.0254;
|
||||||
|
|
||||||
num_frets = 21;
|
num_frets = 21;
|
||||||
|
@ -577,6 +578,7 @@ module Nylon6String(render_colour_0=true, render_colour_1=true, render_colour_2=
|
||||||
module TunerBlockCheekVolumes() {
|
module TunerBlockCheekVolumes() {
|
||||||
vw = 50;
|
vw = 50;
|
||||||
for (i=[-1,1]) translate([-vw/2 + i*58, 0, z0]) cube([vw, y0, -z0]);
|
for (i=[-1,1]) translate([-vw/2 + i*58, 0, z0]) cube([vw, y0, -z0]);
|
||||||
|
for (i=[-1,1]) translate([-vw/2 + i*46, 0, -14]) cube([vw, y0, -z0]);
|
||||||
}
|
}
|
||||||
if (tuner_block) {
|
if (tuner_block) {
|
||||||
render() difference() {
|
render() difference() {
|
||||||
|
@ -660,6 +662,50 @@ module Nylon6String(render_colour_0=true, render_colour_1=true, render_colour_2=
|
||||||
LoopOrTunerBlock(true);
|
LoopOrTunerBlock(true);
|
||||||
} else if (from_fret == -4) {
|
} else if (from_fret == -4) {
|
||||||
echo("Making a bridge");
|
echo("Making a bridge");
|
||||||
|
y_len = 9;
|
||||||
|
base_height = 7;
|
||||||
|
saddle_height = 4;
|
||||||
|
pickup_w = 3;
|
||||||
|
pickup_h = 2;
|
||||||
|
render() difference() {
|
||||||
|
union() {
|
||||||
|
// Base
|
||||||
|
translate([-neck_width/2, 0, 0]) cube([neck_width, y_len, base_height]);
|
||||||
|
// String saddles - rule of thumb: string diameter multiplied by 4
|
||||||
|
r0 = 0.85;
|
||||||
|
for (i = [0:num_strings-1]) translate([(num_strings-i-1)*string_spacing - neck_width/2 + string_margin, y_len - string_diameters_mm[i]*4, base_height]) {
|
||||||
|
step = ($preview) ? 8 : 2;
|
||||||
|
r = r0 + string_diameters_mm[i]*1.2;
|
||||||
|
translate([0, 0, saddle_height]) for (a=[90:step:270-step]) hull() {
|
||||||
|
translate([-sin(a)*r, 0, cos(a)*r]) sphere(r=r0, $fn=cyl_ld_fn);
|
||||||
|
translate([-sin(a+step)*r, 0, cos(a+step)*r]) sphere(r=r0, $fn=cyl_ld_fn);
|
||||||
|
translate([-sin(a)*r, -3.7, -saddle_height-r0]) sphere(r=r0, $fn=cyl_ld_fn);
|
||||||
|
translate([-sin(a+step)*r, -3.7, -saddle_height-r0]) sphere(r=r0, $fn=cyl_ld_fn);
|
||||||
|
translate([-sin(a)*r, 1.2, -saddle_height-r0]) sphere(r=r0, $fn=cyl_ld_fn);
|
||||||
|
translate([-sin(a+step)*r, 1.2, -saddle_height-r0]) sphere(r=r0, $fn=cyl_ld_fn);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Bridge channel notch
|
||||||
|
notch_w = bridge_channel_width - CF_Square_Width_tolerance; // Shrink a little for tolerance
|
||||||
|
notch_d = bridge_channel_depth - CF_Square_Width_tolerance/2;
|
||||||
|
translate([-notch_w/2, 0, -notch_d]) cube([notch_w, y_len, notch_d]);
|
||||||
|
}
|
||||||
|
// Pickup notch
|
||||||
|
tol = 0.25;
|
||||||
|
translate([-neck_width/2, 2, -tol]) hull() {
|
||||||
|
cube([neck_width, pickup_w, pickup_h+tol]);
|
||||||
|
translate([0, pickup_h*0.8, 0]) cube([neck_width, pickup_w, 0.01]);
|
||||||
|
}
|
||||||
|
// Version stamp
|
||||||
|
y0 = 0;
|
||||||
|
y1 = y_len;
|
||||||
|
translate([-15,y0+0.5,4]) rotate([90,0,0]) linear_extrude(10) {
|
||||||
|
text(str(id_line_0, id_line_1), size=2.9, halign="center", valign="center", $fn=100);
|
||||||
|
}
|
||||||
|
translate([-15,y1-0.5,4]) rotate([90,0,180]) linear_extrude(10) {
|
||||||
|
text(str(id_line_0, id_line_1), size=2.9, halign="center", valign="center", $fn=100);
|
||||||
|
}
|
||||||
|
}
|
||||||
} else if (from_fret == -5) {
|
} else if (from_fret == -5) {
|
||||||
echo("Making a tailpiece");
|
echo("Making a tailpiece");
|
||||||
y0 = -47;
|
y0 = -47;
|
||||||
|
@ -727,9 +773,9 @@ Guitar_Scale_Length_mm = Classical_Short_Scale_mm;
|
||||||
// translate([0, Guitar_Scale_Length_mm, 0]) rotate([0,0,180]) Nylon6String(reference=true);
|
// translate([0, Guitar_Scale_Length_mm, 0]) rotate([0,0,180]) Nylon6String(reference=true);
|
||||||
// rotate([0,0,180]) Nylon6String(from_fret=-1);
|
// rotate([0,0,180]) Nylon6String(from_fret=-1);
|
||||||
// Nylon6String(from_fret=-2);
|
// Nylon6String(from_fret=-2);
|
||||||
// %Nylon6String(from_fret=-3);
|
Nylon6String(from_fret=-3);
|
||||||
// Nylon6String(from_fret=-4);
|
// Nylon6String(from_fret=-4);
|
||||||
Nylon6String(from_fret=-5);
|
// %Nylon6String(from_fret=-5);
|
||||||
|
|
||||||
// difference() {
|
// difference() {
|
||||||
// translate([-15, -60, 0]) cube([50, 120, 8]);
|
// translate([-15, -60, 0]) cube([50, 120, 8]);
|
||||||
|
|
Loading…
Reference in New Issue