Add side clearance form of tuners

This commit is contained in:
Luke Hubmayer-Werner 2024-12-26 19:05:49 +10:30
parent cc35d4d924
commit 5e902d4fe4
2 changed files with 29 additions and 26 deletions

View File

@ -119,30 +119,21 @@ module bridge(string_spacing=18, string_margin=4.5, num_strings=3, target_neck_t
translate([0, neck_length-fw2, scallop_depth]) rotate([0, 90]) cylinder(d=fret_width, h=neck_width, center = true, $fn=200);
}
// render() difference() {
// neck_stock();
// translate([-neck_width, 0, scallop_depth]) cube([neck_width*2, Guitar_Scale_Length_mm*3, target_neck_thickness*3]);
// translate([0, 40, 0]) rotate([90, 90, 90]) UBassTuner();
// }
// intersection() {
// fret_bumps();
// neck_stock();
// }
module differences() {
t_offset = 2.7;
t_z = -23;
mirror([1,0,0]) translate([t_offset, 80, t_z]) rotate([90, -90, 90]) UBassTuner();
translate([t_offset, 45, t_z]) rotate([90, -90, 90]) UBassTuner();
mirror([1,0,0]) translate([t_offset, 10, t_z]) rotate([90, -90, 90]) UBassTuner();
mirror([1,0,0]) translate([t_offset, 80, t_z]) rotate([90, -90, 90]) UBassTuner(from_below=false, from_side=true);
translate([t_offset, 45, t_z]) rotate([90, -90, 90]) UBassTuner(from_below=false, from_side=true);
mirror([1,0,0]) translate([t_offset, 10, t_z]) rotate([90, -90, 90]) UBassTuner(from_below=false, from_side=true);
for (i = [-1:2:1])
translate([i*15, 0, -4])
cf_tube(neck_length, 0, tolerance=0.4);
translate([0, 0, -10])
cf_tube(neck_length, 0, tolerance=0.4);
}
difference() {
color([1,1,1,0.3]) translate([-neck_width/2, 0, -25+scallop_depth]) cube([neck_width, neck_length, 25]);
thick = 45;
render() difference() {
color([1,1,1,0.3]) translate([-neck_width/2, 0, -thick+scallop_depth]) cube([neck_width, neck_length, thick]);
differences();
}
// color([1,1,1,0.3]) neck_stock();
@ -314,5 +305,5 @@ echo(fret_scale_length(8) - fret_scale_length(24)); // 240.335
// headpiece();
// UBassTuner();
fret_tube_filler(24, 100);
// bridge();
// fret_tube_filler(24, 100);
bridge();

View File

@ -1,5 +1,5 @@
module UBassTuner() {
module UBassTuner(from_below=false, from_side=true) {
t_base = 11;
d_thread = 11.0 + 0.25;
d_collar = 13.8 + 0.2; // Add some tolerance
@ -45,12 +45,17 @@ module UBassTuner() {
translate([0, -middle_of_thread_to_tab_screw]) circle(d=d_thread, $fn=72);
}
module tuner_clearance(clearance=11) {
module tuner_clearance(clearance=11, side_clearance=30) {
clear_color = [1,0,0,0.6];
// 21mm is roughly the height of the disassembled tuner from body to top of thread, 22mm should be safe
// translate([0,0,-clearance]) tuner_footprint_extrude(t_base+clearance);
color("grey") tuner_footprint_extrude(t_base);
if (from_below) {
color(clear_color) translate([0,0,-clearance]) tuner_footprint_extrude(clearance);
}
if (from_side) {
color(clear_color) translate([-side_clearance,-l_tag+d_screw_tab/2,0]) cube([side_clearance, l_tag, t_base]);
}
// screw
color(clear_color)
translate([0,0,t_base]) cylinder(h=6, d=d_screw, $fn=72);
@ -58,6 +63,11 @@ module UBassTuner() {
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+l_collar]) cylinder(h=l_collarnut_to_top_of_peg, d=d_top_of_peg, $fn=72);
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_collar/2, t_base+max_thread]) cube([side_clearance, d_collar, l_collar]);
translate([-side_clearance, -middle_of_thread_to_tab_screw-d_top_of_peg/2, t_base+max_thread+l_collar]) cube([side_clearance, d_top_of_peg, l_collarnut_to_top_of_peg]);
}
// wormshaft and ear
translate([w_tag/2, middle_of_tab_screw_to_wormshaft, t_base/2]) {
hull() {
@ -66,6 +76,7 @@ module UBassTuner() {
}
rotate([0, 90, 0]) cylinder(h=l_wormshaft_collar, d=d_wormshaft_collar, $fn=72);
// shaft clearance
if (from_below){
shaft_clear = t_base/2 + clearance;
color(clear_color) union() {
hull() {
@ -74,6 +85,7 @@ module UBassTuner() {
}
translate([0, -d_wormshaft_collar/2, -shaft_clear]) cube([l_wormshaft_ear, d_wormshaft_collar, shaft_clear]);
}
}
// ear clearance
color(clear_color) hull() {
translate([l_wormshaft_collar, 0, 0]) rotate([0, 90, 0]) cylinder(h=0.1, d=d_wormshaft_collar, $fn=72);