tuner tailpiece attempt 3

This commit is contained in:
Luke Hubmayer-Werner 2024-12-27 19:10:13 +10:30
parent 3258d40fb3
commit a8db683b62
2 changed files with 15 additions and 6 deletions

View File

@ -129,16 +129,17 @@ module tailpiece(string_spacing=18, string_margin=4.5, num_strings=3, target_nec
fn=72; fn=72;
rotate([90, -90, 90]) UBassTuner(from_below=true, from_side=true); rotate([90, -90, 90]) UBassTuner(from_below=true, from_side=true);
// translate([35,16,0]) cylinder(h=10-t_z, d=7, $fn=72); // translate([35,16,0]) cylinder(h=10-t_z, d=7, $fn=72);
translate([36-7,17,1]) for (a = [10:89]) { translate([36-7,7,1]) for (a = [10:89]) {
hull() { hull() {
translate([a/9, bend_r-bend_r*sin(a), bend_r*cos(a)]) sphere(hole_r, $fn=fn); 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([(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);
} }
} }
} }
mirror([1,0,0]) translate([t_offset, 57, t_z]) tuner(); translate([t_offset, 57, t_z]) tuner();
translate([t_offset, 31, t_z]) tuner(); mirror([1,0,0]) translate([t_offset, 31, t_z]) tuner();
mirror([1,0,0]) translate([t_offset, 5, t_z]) tuner(); translate([t_offset, 5, t_z]) tuner();
for (i = [-1:2:1]) for (i = [-1:2:1])
translate([i*15, 0, -4]) translate([i*15, 0, -4])
cf_tube(neck_length, 0, tolerance=0.4); cf_tube(neck_length, 0, tolerance=0.4);

View File

@ -4,14 +4,14 @@ module UBassTuner(from_below=false, from_side=true) {
d_thread = 11.0 + 0.25; d_thread = 11.0 + 0.25;
d_collar = 13.8 + 0.2; // Add some tolerance d_collar = 13.8 + 0.2; // Add some tolerance
l_collar = 8; // doesn't include hex l_collar = 8; // doesn't include hex
l_collarnut_to_top_of_peg = 22; l_collarnut_to_top_of_peg = 19; //22;
d_top_of_peg = 16; d_top_of_peg = 16;
max_thread = 5.0; // thread to cover without the collar max_thread = 5.0; // thread to cover without the collar
w_tag = 19; w_tag = 19;
l_tag = 32.5; l_tag = 32.5;
l_tag_rect = 20.1; l_tag_rect = 20.1;
back_of_peg_collar_to_end = 10.8; back_of_peg_collar_to_end = 10.8;
d_screw = 2.0; // As we will screw into this, probably don't need tolerance yet d_screw = 1.85; //2.0; // As we will screw into this, probably don't need tolerance yet
screw_tab_min_w = 1.6; screw_tab_min_w = 1.6;
screw_tab_min_thick = 2.0; screw_tab_min_thick = 2.0;
d_screw_tab = 5.2+0.9; // Tolerance this though! d_screw_tab = 5.2+0.9; // Tolerance this though!
@ -63,6 +63,14 @@ module UBassTuner(from_below=false, from_side=true) {
translate([0, -middle_of_thread_to_tab_screw, t_base]) cylinder(h=max_thread, d=d_thread, $fn=72); translate([0, -middle_of_thread_to_tab_screw, t_base]) cylinder(h=max_thread, d=d_thread, $fn=72);
translate([0, -middle_of_thread_to_tab_screw, t_base+max_thread]) cylinder(h=l_collar, d=d_collar, $fn=72); translate([0, -middle_of_thread_to_tab_screw, t_base+max_thread]) cylinder(h=l_collar, d=d_collar, $fn=72);
translate([0, -middle_of_thread_to_tab_screw, t_base+max_thread+l_collar]) cylinder(h=l_collarnut_to_top_of_peg, d=d_top_of_peg, $fn=72); translate([0, -middle_of_thread_to_tab_screw, t_base+max_thread+l_collar]) cylinder(h=l_collarnut_to_top_of_peg, d=d_top_of_peg, $fn=72);
// string clearance
string_z0 = 5;
string_z = 6;
string_extra_d = 5;
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);
}
if (from_side) { if (from_side) {
translate([-side_clearance, -middle_of_thread_to_tab_screw-d_thread/2, t_base]) cube([side_clearance, d_thread, max_thread]); translate([-side_clearance, -middle_of_thread_to_tab_screw-d_thread/2, t_base]) cube([side_clearance, d_thread, max_thread]);
translate([-side_clearance, -middle_of_thread_to_tab_screw-d_collar/2, t_base+max_thread]) cube([side_clearance, d_collar, l_collar]); translate([-side_clearance, -middle_of_thread_to_tab_screw-d_collar/2, t_base+max_thread]) cube([side_clearance, d_collar, l_collar]);