Another tailpiece attempt

This commit is contained in:
Luke Hubmayer-Werner 2024-12-28 13:43:39 +10:30
parent a8db683b62
commit 5548408077
3 changed files with 18 additions and 11 deletions

View File

@ -96,8 +96,8 @@ module neck(string_spacing=18, string_margin=4.5, num_strings=3, target_neck_thi
module tailpiece(string_spacing=18, string_margin=4.5, num_strings=3, target_neck_thickness=15, scallop_depth=3, fret_width=2.4*6) {
fw2 = fret_width/2;
neck_length = 88;
neck_width = (num_strings-1)*string_spacing + string_margin*2 + 6;
neck_length = 84;
neck_width = (num_strings-1)*string_spacing + string_margin*2 + 6 + 6;
module neck_stock() {
angle_excess = asin((scallop_depth+fw2)/target_neck_thickness);
a0 = 90-angle_excess;
@ -120,8 +120,8 @@ module tailpiece(string_spacing=18, string_margin=4.5, num_strings=3, target_nec
}
module differences() {
t_offset = -27; //2.7;
t_z = -21; //-23;
t_offset = -30; //2.7;
t_z = -25; //-23;
module tuner() {
hole_r = 3;
@ -133,12 +133,12 @@ module tailpiece(string_spacing=18, string_margin=4.5, num_strings=3, target_nec
hull() {
translate([a/9, bend_r-bend_r*sin(a), bend_r*cos(a)]) sphere(hole_r, $fn=fn);
translate([(a+1)/9, bend_r-bend_r*sin(a+1), bend_r*cos(a+1)]) sphere(hole_r, $fn=fn);
translate([6, bend_r-bend_r*sin(a+1), bend_r*cos(a+1)]) sphere(hole_r, $fn=fn);
translate([7, bend_r-bend_r*sin(a+1), bend_r*cos(a+1)]) sphere(hole_r, $fn=fn);
}
}
}
translate([t_offset, 57, t_z]) tuner();
mirror([1,0,0]) translate([t_offset, 31, t_z]) tuner();
translate([t_offset, 49, t_z]) tuner();
mirror([1,0,0]) translate([t_offset, 27, t_z]) tuner();
translate([t_offset, 5, t_z]) tuner();
for (i = [-1:2:1])
translate([i*15, 0, -4])
@ -146,9 +146,9 @@ module tailpiece(string_spacing=18, string_margin=4.5, num_strings=3, target_nec
translate([0, 0, -10])
cf_tube(neck_length, 0, tolerance=0.4);
}
thick = 32;
thick = 34;
render() difference() {
color([1,1,1,0.3]) translate([-neck_width/2, 0, -thick+scallop_depth]) cube([neck_width, neck_length, thick]);
color([1,1,1,0.7]) translate([-neck_width/2, 0, -thick]) round_cube([neck_width, neck_length, thick], 4);
differences();
}
// color([1,1,1,0.3]) neck_stock();

View File

@ -5,7 +5,7 @@ module UBassTuner(from_below=false, from_side=true) {
d_collar = 13.8 + 0.2; // Add some tolerance
l_collar = 8; // doesn't include hex
l_collarnut_to_top_of_peg = 19; //22;
d_top_of_peg = 16;
d_top_of_peg = 16+2;
max_thread = 5.0; // thread to cover without the collar
w_tag = 19;
l_tag = 32.5;
@ -66,7 +66,7 @@ module UBassTuner(from_below=false, from_side=true) {
// string clearance
string_z0 = 5;
string_z = 6;
string_extra_d = 5;
string_extra_d = 7;
color(clear_color) hull() {
translate([0, -middle_of_thread_to_tab_screw, t_base+max_thread+l_collar+string_z0]) cylinder(h=l_collarnut_to_top_of_peg-string_z0, d=d_top_of_peg, $fn=72);
translate([0, -middle_of_thread_to_tab_screw, t_base+max_thread+l_collar+string_z0+string_z/2]) cylinder(h=l_collarnut_to_top_of_peg-string_z-string_z0, d=d_top_of_peg+string_extra_d, $fn=72);

View File

@ -31,6 +31,13 @@ function arc_points(tri_points, fragments_per_mm=5) =
)
[for (i = [0:steps]) r*[cos(a_start+i*a_step), sin(a_start+i*a_step)] + cc];
module round_cube(size, r) {
translate([r, r, r]) minkowski() {
cube(size-[r*2,r*2,r*2]);
sphere(r=r, $fn=72);
}
}
// We can't use Droid Sans Japanese because the rendering library is really dumb and will pick the wrong Droid Sans. CJK fonts must be singular files.
JP_Serif_Font = "New Tegomin";
JP_Sans_Font = "Yuji Boku";