From 7c09836c038f60005a2fbb4024f507f091269013 Mon Sep 17 00:00:00 2001 From: Luke Hubmayer-Werner Date: Tue, 24 Dec 2024 03:59:26 +1030 Subject: [PATCH] First attempt at u-bass tuner footprint --- CFTubes.scad | 53 +++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 50 insertions(+), 3 deletions(-) diff --git a/CFTubes.scad b/CFTubes.scad index d601356..f481ca0 100644 --- a/CFTubes.scad +++ b/CFTubes.scad @@ -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();