First attempt at u-bass tuner footprint

This commit is contained in:
Luke Hubmayer-Werner 2024-12-24 03:59:26 +10:30
parent 66d2f1572e
commit 7c09836c03
1 changed files with 50 additions and 3 deletions

View File

@ -187,7 +187,7 @@ module headpiece(string_spacing=18, string_margin=4.5, num_strings=3, target_nec
for (i = [0:num_strings-1]) {
string_diameter = string_thicknesses[i] + tolerance;
x = -neck_width/2 + string_margin + (i*string_spacing);
translate([x, x0+2, -target_neck_thickness+scallop_depth+fw2]) string_tube(string_diameter);
translate([x, x0+2, -bend_radius+scallop_depth]) string_tube(string_diameter);
}
}
difference() {
@ -197,14 +197,61 @@ module headpiece(string_spacing=18, string_margin=4.5, num_strings=3, target_nec
translate([i*7.5, 0, -7])
cf_square(x0+cf_square_length, x0, taper_x1=false);
// αβγδεζ
translate([0, x0+headpiece_length, -5]) rotate([90, 0, 180]) linear_extrude(0.3, center=true) text(text = "01β.α", font = "Deja Vu Sans", halign = "center", valign = "center", size = 4);
translate([0, x0+headpiece_length, -5]) rotate([90, 0, 180]) linear_extrude(0.3, center=true) text(text = "01β.γ", font = "Deja Vu Sans", halign = "center", valign = "center", size = 4);
}
}
module ubass_tuner() {
d_thread = 11.0;
d_collar = 13.8 + 0.2; // Add some tolerance
max_thread = 5.0; // thread to cover without the collar
w_tag = 19;
l_tag = 32.5;
l_tag_rect = 20.1;
d_peg_collar = 7.2;
d_peg_collar_max = 9.4;
back_of_peg_collar_to_end = 10.8;
d_screw = 2.0; // As we will screw into this, probably don't need tolerance yet
screw_tab_min_w = 1.6;
screw_tab_min_thick = 2.0;
d_screw_tab = 5.2+0.3; // Tolerance this though!
back_of_thread_to_tab_tip = 20.7 + 0.1;
middle_of_thread_to_tab_screw = back_of_thread_to_tab_tip - d_thread/2 - screw_tab_min_w;
module tuner_footprint() {
hull() {
translate([-w_tag/2, -l_tag+d_screw_tab/2]) square([w_tag, l_tag_rect]);
circle(d=d_screw_tab, $fn=72);
}
}
module holes() {
circle(d=d_screw, $fn=72);
translate([0, -middle_of_thread_to_tab_screw]) circle(d=d_thread, $fn=72);
}
linear_extrude(max_thread) difference() {
offset(4, 3) tuner_footprint();
holes();
}
translate([0,0,max_thread]) linear_extrude(10) difference() {
offset(4, 3) tuner_footprint();
tuner_footprint();
translate([0, -l_tag+d_screw_tab/2+back_of_peg_collar_to_end-d_peg_collar_max/2]) square([100, d_peg_collar_max], center=true);
}
// This segfaults for no reason
// difference() {
// linear_extrude(15) offset(4, 3) tuner_footprint();
// translate([0,0,max_thread]) linear_extrude(15) tuner_footprint();
// linear_extrude(100) holes();
// }
}
echo(fret_scale_length(0) - fret_scale_length(8)); // 225.724
echo(fret_scale_length(8) - fret_scale_length(24)); // 240.335
// fret_tube(0, 8);
// //translate([30, 0, 0])
// fret_tube(8, 24);
headpiece();
// headpiece();
ubass_tuner();