Belt loop piece
This commit is contained in:
parent
8480bba739
commit
00d09e2b33
60
CFTubes.scad
60
CFTubes.scad
|
@ -403,6 +403,7 @@ module Nylon6String(render_colour_0=true, render_colour_1=true, render_colour_2=
|
||||||
string_spacing = 10; // 50mm E to e
|
string_spacing = 10; // 50mm E to e
|
||||||
string_margin = 3; // +6
|
string_margin = 3; // +6
|
||||||
neck_width = string_spacing*(num_strings-1) + string_margin*2;
|
neck_width = string_spacing*(num_strings-1) + string_margin*2;
|
||||||
|
body_width = 96;
|
||||||
scallop_depth = 2.5;
|
scallop_depth = 2.5;
|
||||||
fret_width=2.4;
|
fret_width=2.4;
|
||||||
target_neck_thickness = 16; //22;
|
target_neck_thickness = 16; //22;
|
||||||
|
@ -561,6 +562,47 @@ module Nylon6String(render_colour_0=true, render_colour_1=true, render_colour_2=
|
||||||
// StringHoles();
|
// StringHoles();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
module LoopOrTunerBlock(tuner_block) {
|
||||||
|
y0 = 116;
|
||||||
|
y1 = fret_scale_length(22);
|
||||||
|
z0 = -43;
|
||||||
|
z_drop = 6;
|
||||||
|
loop_thick = 8;
|
||||||
|
loop_slot_thick = 6;
|
||||||
|
z1 = z0 + z_drop;
|
||||||
|
if (tuner_block) {
|
||||||
|
translate([-body_width/2, 0, z0]) cube([body_width, y0, -z0]);
|
||||||
|
} else {
|
||||||
|
render() difference() {
|
||||||
|
hull() {
|
||||||
|
translate([-neck_width/2, y1-hull_epsilon, z1]) cube([neck_width, hull_epsilon, -z1]);
|
||||||
|
translate([-body_width/2, y0, z0]) cube([body_width, hull_epsilon, -z0]);
|
||||||
|
}
|
||||||
|
// Belt loop slot
|
||||||
|
hull() {
|
||||||
|
translate([0, y1-loop_slot_thick, z1+loop_thick]) rotate([0,90,0]) cylinder(d=loop_slot_thick, h=body_width, center=true, $fn=cyl_hd_fn);
|
||||||
|
translate([0, y0+loop_slot_thick, z0+loop_thick]) rotate([0,90,0]) cylinder(d=loop_slot_thick, h=body_width, center=true, $fn=cyl_hd_fn);
|
||||||
|
}
|
||||||
|
// Angled belt loop slot
|
||||||
|
hull() {
|
||||||
|
extend_factor = 0.8;
|
||||||
|
translate([body_width/2, y1-loop_slot_thick + (y1-y0-loop_slot_thick*2)*extend_factor, z1+loop_thick + (z1-z0)*extend_factor]) rotate([0,90,0]) cylinder(d=loop_slot_thick, h=hull_epsilon, $fn=cyl_hd_fn);
|
||||||
|
translate([0, y0+loop_slot_thick, z0+loop_thick]) rotate([0,90,0]) cylinder(d=loop_slot_thick, h=body_width, center=true, $fn=cyl_hd_fn);
|
||||||
|
}
|
||||||
|
// Version stamp
|
||||||
|
translate([-10,y0+0.5,-30]) 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([-10,y1-0.5,-30]) 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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (reference) {
|
if (reference) {
|
||||||
union() {
|
union() {
|
||||||
c_cf = [0.4, 0.5, 0.5];
|
c_cf = [0.4, 0.5, 0.5];
|
||||||
|
@ -569,7 +611,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_tube_positions) color(c_cf) translate(v) CFTube();
|
||||||
for (v = reinforcing_square_positions) color(c_cf) translate(v) CFSquare();
|
for (v = reinforcing_square_positions) color(c_cf) translate(v) CFSquare();
|
||||||
// Approximate tuner placement
|
// Approximate tuner placement
|
||||||
for (m=[0,1]) mirror([m, 0, 0]) translate([29,10,-32]) rotate([0,-90,0]) NylonTuner();
|
for (m=[0,1]) mirror([m, 0, 0]) translate([29,3,-32]) rotate([0,-90,0]) NylonTuner();
|
||||||
|
|
||||||
// Render strings above for spacing reference
|
// Render strings above for spacing reference
|
||||||
string_excess = 80;
|
string_excess = 80;
|
||||||
|
@ -583,6 +625,16 @@ module Nylon6String(render_colour_0=true, render_colour_1=true, render_colour_2=
|
||||||
// String holding headpiece
|
// String holding headpiece
|
||||||
echo("Making a headpiece");
|
echo("Making a headpiece");
|
||||||
HeadPiece();
|
HeadPiece();
|
||||||
|
} else if (from_fret == -2) {
|
||||||
|
echo("Making a filler belt loop");
|
||||||
|
LoopOrTunerBlock(false);
|
||||||
|
} else if (from_fret == -3) {
|
||||||
|
echo("Making a tuner block");
|
||||||
|
LoopOrTunerBlock(true);
|
||||||
|
} else if (from_fret == -4) {
|
||||||
|
echo("Making a bridge");
|
||||||
|
} else if (from_fret == -5) {
|
||||||
|
echo("Making a tailpiece");
|
||||||
}
|
}
|
||||||
// Debug markers to aid part slicing eyeballing
|
// Debug markers to aid part slicing eyeballing
|
||||||
// %for (i = [150:250:1000]) {
|
// %for (i = [150:250:1000]) {
|
||||||
|
@ -605,8 +657,12 @@ module Nylon6String(render_colour_0=true, render_colour_1=true, render_colour_2=
|
||||||
// bridge();
|
// bridge();
|
||||||
|
|
||||||
Guitar_Scale_Length_mm = Classical_Short_Scale_mm;
|
Guitar_Scale_Length_mm = Classical_Short_Scale_mm;
|
||||||
|
// Nylon6String(reference=true);
|
||||||
|
// 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);
|
// translate([0, Guitar_Scale_Length_mm, 0]) rotate([0,0,180]) Nylon6String(reference=true);
|
||||||
rotate([0,0,180]) Nylon6String(from_fret=-1);
|
// rotate([0,0,180]) Nylon6String(from_fret=-1);
|
||||||
|
Nylon6String(from_fret=-2);
|
||||||
|
%Nylon6String(from_fret=-3);
|
||||||
|
|
||||||
// difference() {
|
// difference() {
|
||||||
// translate([-15, -60, 0]) cube([50, 120, 8]);
|
// translate([-15, -60, 0]) cube([50, 120, 8]);
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
// Classical Guitar style headstock tuners, comes in a mirrored pair of 3 machine heads with a metal plate
|
// Classical Guitar style headstock tuners, comes in a mirrored pair of 3 machine heads with a metal plate
|
||||||
|
|
||||||
module NylonTuner() {
|
module NylonTuner(ear_extra_diameter = 0, ear_extra_height = 0) {
|
||||||
cyl_hd_fn = $preview ? 32 : 512;
|
cyl_hd_fn = $preview ? 32 : 512;
|
||||||
cyl_ld_fn = $preview ? 24 : 72;
|
cyl_ld_fn = $preview ? 24 : 72;
|
||||||
earshaft_diameter = 6.3;
|
earshaft_diameter = 6.3;
|
||||||
ear_total_height = 22.5;
|
ear_total_height = 22.5;
|
||||||
ear_height = 13+3;
|
ear_height = 13+3;
|
||||||
ear_diameter = 22.1;
|
ear_diameter = 22.1 + ear_extra_diameter;
|
||||||
peg_diameter = 6.0; // Closer to 5.7mm
|
peg_diameter = 6.0; // Closer to 5.7mm
|
||||||
peg_length = 28;
|
peg_length = 28;
|
||||||
peg_spacing = 35.0;
|
peg_spacing = 35.0;
|
||||||
|
@ -28,7 +28,7 @@ module NylonTuner() {
|
||||||
}
|
}
|
||||||
module ear() {
|
module ear() {
|
||||||
rotate([0, 90, 0]) cylinder(h=ear_total_height, d=earshaft_diameter, $fn=cyl_ld_fn);
|
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, d=ear_diameter, $fn=cyl_hd_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
|
// Plate and clearance
|
||||||
|
|
Loading…
Reference in New Issue