Span refactoring

This commit is contained in:
Luke Hubmayer-Werner 2025-01-02 01:52:19 +10:30
parent 8fd5d99c1d
commit f748946264
1 changed files with 16 additions and 13 deletions

View File

@ -106,9 +106,13 @@ module neck(string_spacing=18, string_margin=4.5, num_strings=3, target_neck_thi
render() difference() { render() difference() {
neck_stock(); neck_stock();
scallops(); scallops();
scallop(num_frets+1);
fret_inlays(); fret_inlays();
fret_side_markers(); 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]); 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() { intersection() {
fret_bumps(); fret_bumps();
@ -408,21 +412,20 @@ module Nylon6String() {
// 56mm wide neck // 56mm wide neck
string_spacing = 10; // 50mm E to e string_spacing = 10; // 50mm E to e
string_margin = 3; // +6 string_margin = 3; // +6
scallop_depth = 2; scallop_depth = 2.5;
target_neck_thickness = 22; target_neck_thickness = 22;
// neck(num_frets=num_frets, num_strings=num_strings, string_margin=string_margin, string_spacing=string_spacing); // neck(num_frets=num_frets, num_strings=num_strings, string_margin=string_margin, string_spacing=string_spacing);
module CF_Span() { module CF_Span(full_length = 700, ply=3) {
CF_Square(); for (i=[0:ply-1])
translate([0, 140, CF_Square_Width]) CF_Square(); translate([0, lerp(0, full_length-CF_Tube_Len, i/(ply-1)), CF_Square_Width*i]) CF_Square();
translate([0, 280, CF_Square_Width*2]) CF_Square();
} }
color([0.4, 0.5, 0.5]) translate([ 12, -40, -16]) CF_Span(); for (m=[0,11]) mirror([m, 0, 0]) color([0.4, 0.5, 0.5]) translate([9, -40, -16]) CF_Span();
color([0.4, 0.5, 0.5]) translate([-12, -40, -16]) CF_Span(); // CF_Tube();
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); %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 // Debug markers to aid part slicing eyeballing
for (i = [150:250:1000]) { for (i = [150:250:1000]) {
%translate([50,i,0]) union() {text(str(i, "mm")); cube([50, 1, 1], center=true);} %translate([50,i,0]) union() {text(str(i, "mm")); cube([50, 1, 1], center=true);}
@ -443,9 +446,9 @@ module Nylon6String() {
// bridge(); // bridge();
Guitar_Scale_Length_mm = Classical_Short_Scale_mm; Guitar_Scale_Length_mm = Classical_Short_Scale_mm;
// Nylon6String(); Nylon6String();
difference() { // difference() {
translate([-15, -60, 0]) cube([50, 120, 8]); // translate([-15, -60, 0]) cube([50, 120, 8]);
translate([0, 55, 3]) rotate([180,0,0]) NylonTuner(); // translate([0, 55, 3]) rotate([180,0,0]) NylonTuner();
} // }