50 lines
1.8 KiB
OpenSCAD
50 lines
1.8 KiB
OpenSCAD
// Classical Guitar style headstock tuners, comes in a mirrored pair of 3 machine heads with a metal plate
|
|
|
|
module NylonTuner(cutout = false, ear_extra_diameter = 0, ear_extra_height = 0, plate_clearance = 0, shaft_clearance = 0, shaft_tolerance = 0) {
|
|
cyl_hd_fn = $preview ? 32 : 512;
|
|
cyl_ld_fn = $preview ? 24 : 72;
|
|
earshaft_diameter = 6.3;
|
|
ear_total_height = 22.5;
|
|
ear_height = 13+3;
|
|
ear_diameter = 22.1 + ear_extra_diameter;
|
|
peg_diameter = 6.0; // Closer to 5.7mm
|
|
peg_length = 28;
|
|
peg_spacing = 35.0;
|
|
peg_string_diameter = 2.2+0.1;
|
|
plate_width = 16.6 + 3.0;
|
|
plate_length = 112;
|
|
plate_thickness = 1.1; // Not really used for our purposes
|
|
outer_thickness = 10 + plate_clearance;
|
|
// screwhole_diameter = 3;
|
|
screwtap_diameter = 1.7;
|
|
screw_length = 7.1 - plate_thickness;
|
|
|
|
module peg() {
|
|
render() difference() {
|
|
cylinder(h=peg_length+shaft_clearance, d=peg_diameter+shaft_tolerance, $fn=cyl_hd_fn);
|
|
if (!cutout) {
|
|
translate([0, 0, 14.1]) rotate([90, 0, 0]) cylinder(h=peg_diameter, d=peg_string_diameter, $fn=cyl_ld_fn, center=true);
|
|
translate([0, 0, 22.7]) rotate([90, 0, 0]) cylinder(h=peg_diameter, d=peg_string_diameter, $fn=cyl_ld_fn, center=true);
|
|
}
|
|
}
|
|
}
|
|
module ear() {
|
|
rotate([0, 90, 0]) cylinder(h=ear_total_height, d=earshaft_diameter, $fn=cyl_ld_fn);
|
|
rotate([0, 90, 0]) translate([0,0,ear_total_height-ear_height]) cylinder(h=ear_height+ear_extra_height, d=ear_diameter, $fn=cyl_hd_fn);
|
|
}
|
|
|
|
// Plate and clearance
|
|
translate([-plate_width/2, 0, -outer_thickness]) cube([plate_width, plate_length, outer_thickness]);
|
|
// Pegs
|
|
for (i = [0:2]) {
|
|
// Peg
|
|
translate([0, i*peg_spacing + 16, 0]) peg();
|
|
// Ear
|
|
translate([plate_width/2-1, i*peg_spacing + 22.45, -earshaft_diameter/2-1.5]) ear();
|
|
}
|
|
// Mounting holes
|
|
for (i = [6, 39, 75, 105]) {
|
|
translate([0, i, 0]) cylinder(h=screw_length, d=screwtap_diameter, $fn=cyl_ld_fn);
|
|
}
|
|
}
|