diff --git a/CFTubes.scad b/CFTubes.scad index 8a2c9f0..1796011 100644 --- a/CFTubes.scad +++ b/CFTubes.scad @@ -106,9 +106,13 @@ module neck(string_spacing=18, string_margin=4.5, num_strings=3, target_neck_thi render() difference() { neck_stock(); scallops(); + scallop(num_frets+1); fret_inlays(); fret_side_markers(); + // Chop off anything above the frets translate([-neck_width, 0, scallop_depth]) cube([neck_width*2, Guitar_Scale_Length_mm*3, target_neck_thickness*3]); + // Reduce rest of the body to 0 + translate([-neck_width, 0, 0]) cube([neck_width*2, (fret_scale_length(num_frets)+fret_scale_length(num_frets+1))/2, target_neck_thickness*3]); } intersection() { fret_bumps(); @@ -408,21 +412,20 @@ module Nylon6String() { // 56mm wide neck string_spacing = 10; // 50mm E to e string_margin = 3; // +6 - scallop_depth = 2; + scallop_depth = 2.5; target_neck_thickness = 22; // neck(num_frets=num_frets, num_strings=num_strings, string_margin=string_margin, string_spacing=string_spacing); - module CF_Span() { - CF_Square(); - translate([0, 140, CF_Square_Width]) CF_Square(); - translate([0, 280, CF_Square_Width*2]) CF_Square(); + module CF_Span(full_length = 700, ply=3) { + for (i=[0:ply-1]) + translate([0, lerp(0, full_length-CF_Tube_Len, i/(ply-1)), CF_Square_Width*i]) CF_Square(); } - color([0.4, 0.5, 0.5]) translate([ 12, -40, -16]) CF_Span(); - color([0.4, 0.5, 0.5]) translate([-12, -40, -16]) CF_Span(); - CF_Tube(); + for (m=[0,11]) mirror([m, 0, 0]) color([0.4, 0.5, 0.5]) translate([9, -40, -16]) CF_Span(); + // CF_Tube(); %neck(num_frets=num_frets, num_strings=num_strings, string_margin=string_margin, string_spacing=string_spacing, scallop_depth=scallop_depth, target_neck_thickness=target_neck_thickness); + for (m=[0,11]) mirror([m, 0, 0]) translate([29,10,-32]) rotate([0,-90,0]) NylonTuner(); // Debug markers to aid part slicing eyeballing for (i = [150:250:1000]) { %translate([50,i,0]) union() {text(str(i, "mm")); cube([50, 1, 1], center=true);} @@ -443,9 +446,9 @@ module Nylon6String() { // bridge(); Guitar_Scale_Length_mm = Classical_Short_Scale_mm; -// Nylon6String(); +Nylon6String(); -difference() { - translate([-15, -60, 0]) cube([50, 120, 8]); - translate([0, 55, 3]) rotate([180,0,0]) NylonTuner(); -} \ No newline at end of file +// difference() { +// translate([-15, -60, 0]) cube([50, 120, 8]); +// translate([0, 55, 3]) rotate([180,0,0]) NylonTuner(); +// } \ No newline at end of file