Another tailpiece attempt
This commit is contained in:
parent
a8db683b62
commit
5548408077
18
CFTubes.scad
18
CFTubes.scad
|
@ -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();
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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";
|
||||
|
|
Loading…
Reference in New Issue