First tailpiece
This commit is contained in:
parent
175112170d
commit
30a58fc75d
44
CFTubes.scad
44
CFTubes.scad
|
@ -628,6 +628,8 @@ module Nylon6String(render_colour_0=true, render_colour_1=true, render_colour_2=
|
|||
}
|
||||
}
|
||||
}
|
||||
bridge_channel_width = 5;
|
||||
bridge_channel_depth = 7;
|
||||
|
||||
if (reference) {
|
||||
union() {
|
||||
|
@ -660,6 +662,44 @@ module Nylon6String(render_colour_0=true, render_colour_1=true, render_colour_2=
|
|||
echo("Making a bridge");
|
||||
} else if (from_fret == -5) {
|
||||
echo("Making a tailpiece");
|
||||
y0 = -47;
|
||||
y1 = 0;
|
||||
fw_len = 20;
|
||||
total_len = y1-y0;
|
||||
fw_height = 43;
|
||||
rad_diameter = 20.35; //21;
|
||||
rad_radius = rad_diameter/2;
|
||||
render() difference() {
|
||||
hull() {
|
||||
translate([-body_width/2, -fw_len, -fw_height]) cube([body_width, fw_len, fw_height]);
|
||||
translate([0, -total_len+rad_radius, -rad_radius]) rotate([0,90,0]) cylinder(h=neck_width, d=rad_diameter, center=true, $fn=cyl_hd_fn);
|
||||
}
|
||||
// Tuner cavity line up
|
||||
tw = 16;
|
||||
z0 = -43;
|
||||
for (i=[-1,1]) translate([-tw/2 + i*15, y0, z0+5]) cube([tw, total_len, -z0-25]);
|
||||
// String channels
|
||||
for (i = [0:num_strings-1]) translate([(num_strings-i-1)*string_spacing - neck_width/2 + string_margin, y0+rad_radius, -rad_radius]) {
|
||||
x = [-1,0,1,-1,0,1][i]*4/180;
|
||||
r = rad_radius + string_diameters_mm[i]*0.5;
|
||||
for (a = [0:180]) hull() {
|
||||
translate([a*x, -sin(a)*r, cos(a)*r]) sphere(r=string_diameters_mm[i], $fn=cyl_ld_fn);
|
||||
translate([a*x, -sin(a+1)*r, cos(a+1)*r]) sphere(r=string_diameters_mm[i], $fn=cyl_ld_fn);
|
||||
}
|
||||
}
|
||||
// Bridge channel
|
||||
translate([-bridge_channel_width/2, y0+rad_radius, -bridge_channel_depth]) cube([bridge_channel_width, total_len-rad_radius, bridge_channel_depth]);
|
||||
// Version stamp
|
||||
translate([-30,y0+0.5,-15]) rotate([90,0,0]) linear_extrude(10) {
|
||||
text(str(id_line_0, id_line_1), size=2.9, halign="center", valign="center", $fn=100);
|
||||
}
|
||||
translate([-30,y1-0.5,-15]) rotate([90,0,180]) linear_extrude(10) {
|
||||
text(str(id_line_0, id_line_1), size=2.9, halign="center", valign="center", $fn=100);
|
||||
}
|
||||
// CF
|
||||
for (v = reinforcing_tube_positions) CFTubeCutout2(v, y0, y1);
|
||||
for (v = reinforcing_square_positions) CFSquareCutout2(v, y0, y1);
|
||||
}
|
||||
}
|
||||
// Debug markers to aid part slicing eyeballing
|
||||
// %for (i = [150:250:1000]) {
|
||||
|
@ -687,7 +727,9 @@ Guitar_Scale_Length_mm = Classical_Short_Scale_mm;
|
|||
// translate([0, Guitar_Scale_Length_mm, 0]) rotate([0,0,180]) Nylon6String(reference=true);
|
||||
// rotate([0,0,180]) Nylon6String(from_fret=-1);
|
||||
// Nylon6String(from_fret=-2);
|
||||
Nylon6String(from_fret=-3);
|
||||
// %Nylon6String(from_fret=-3);
|
||||
// Nylon6String(from_fret=-4);
|
||||
Nylon6String(from_fret=-5);
|
||||
|
||||
// difference() {
|
||||
// translate([-15, -60, 0]) cube([50, 120, 8]);
|
||||
|
|
Loading…
Reference in New Issue