First tuner block
This commit is contained in:
parent
00d09e2b33
commit
175112170d
35
CFTubes.scad
35
CFTubes.scad
|
@ -562,6 +562,10 @@ module Nylon6String(render_colour_0=true, render_colour_1=true, render_colour_2=
|
|||
// StringHoles();
|
||||
}
|
||||
|
||||
module TunerPlacement(cutout = false, ear_extra_diameter = 0, ear_extra_height = 0, plate_clearance = 0, shaft_clearance = 0, shaft_tolerance = 0) {
|
||||
for (m=[0,1]) mirror([m, 0, 0]) translate([29,3,-32]) rotate([0,-90,0]) NylonTuner(cutout, ear_extra_diameter, ear_extra_height, plate_clearance, shaft_clearance, shaft_tolerance);
|
||||
}
|
||||
|
||||
module LoopOrTunerBlock(tuner_block) {
|
||||
y0 = 116;
|
||||
y1 = fret_scale_length(22);
|
||||
|
@ -570,8 +574,30 @@ module Nylon6String(render_colour_0=true, render_colour_1=true, render_colour_2=
|
|||
loop_thick = 8;
|
||||
loop_slot_thick = 6;
|
||||
z1 = z0 + z_drop;
|
||||
module TunerBlockCheekVolumes() {
|
||||
vw = 50;
|
||||
for (i=[-1,1]) translate([-vw/2 + i*58, 0, z0]) cube([vw, y0, -z0]);
|
||||
}
|
||||
if (tuner_block) {
|
||||
translate([-body_width/2, 0, z0]) cube([body_width, y0, -z0]);
|
||||
render() difference() {
|
||||
translate([-body_width/2, 0, z0]) cube([body_width, y0, -z0]);
|
||||
// Tuner cutouts
|
||||
TunerPlacement(true, 4, 10, 10, 10, 0.4);
|
||||
tw = 16;
|
||||
for (i=[-1,1]) translate([-tw/2 + i*15, 0, z0]) cube([tw, y0, -z0-20]);
|
||||
// Cheek Volumes
|
||||
TunerBlockCheekVolumes();
|
||||
// CF
|
||||
for (v = reinforcing_tube_positions) CFTubeCutout2(v, y0, y1);
|
||||
for (v = reinforcing_square_positions) CFSquareCutout2(v, y0, y1);
|
||||
// Version stamp
|
||||
translate([0,0.5,-5]) 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([0,y0-0.5,-5]) rotate([90,0,180]) linear_extrude(10) {
|
||||
text(str(id_line_0, id_line_1), size=2.9, halign="center", valign="center", $fn=100);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
render() difference() {
|
||||
hull() {
|
||||
|
@ -611,8 +637,7 @@ module Nylon6String(render_colour_0=true, render_colour_1=true, render_colour_2=
|
|||
for (v = reinforcing_tube_positions) color(c_cf) translate(v) CFTube();
|
||||
for (v = reinforcing_square_positions) color(c_cf) translate(v) CFSquare();
|
||||
// Approximate tuner placement
|
||||
for (m=[0,1]) mirror([m, 0, 0]) translate([29,3,-32]) rotate([0,-90,0]) NylonTuner();
|
||||
|
||||
TunerPlacement();
|
||||
// Render strings above for spacing reference
|
||||
string_excess = 80;
|
||||
for (i = [0:num_strings-1]) {
|
||||
|
@ -661,8 +686,8 @@ Guitar_Scale_Length_mm = Classical_Short_Scale_mm;
|
|||
// translate([0, fret_scale_length(22), 0]) Nylon6String(from_fret=0, to_fret=22);
|
||||
// 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=-2);
|
||||
Nylon6String(from_fret=-3);
|
||||
|
||||
// difference() {
|
||||
// translate([-15, -60, 0]) cube([50, 120, 8]);
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
// Classical Guitar style headstock tuners, comes in a mirrored pair of 3 machine heads with a metal plate
|
||||
|
||||
module NylonTuner(ear_extra_diameter = 0, ear_extra_height = 0) {
|
||||
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;
|
||||
|
@ -14,16 +14,18 @@ module NylonTuner(ear_extra_diameter = 0, ear_extra_height = 0) {
|
|||
plate_width = 16.6 + 3.0;
|
||||
plate_length = 112;
|
||||
plate_thickness = 1.1; // Not really used for our purposes
|
||||
outer_thickness = 10;
|
||||
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, d=peg_diameter, $fn=cyl_hd_fn);
|
||||
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);
|
||||
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() {
|
||||
|
|
Loading…
Reference in New Issue