Experimenting with "body"

This commit is contained in:
Luke Hubmayer-Werner 2025-02-09 19:09:39 +10:30
parent f8352515ab
commit 3cbd3990a1
2 changed files with 68 additions and 9 deletions

View File

@ -1103,13 +1103,70 @@ COLOURSCHEME_PETGHF_BLUE = [BAMBU_PETGHF_LAKE_BLUE, BAMBU_PETGHF_LAKE_BLUE, "",
// TrussRodSingleAction(taper_points=[-extra, l], extra=true, tolerance = 0.24);
// }
module TwoBangerMk2(include_colours=[0,1]) {
TaperNeck(string_spacing_bridge=20, string_spacing_nut=20, num_strings=2, extra_height=6, fret_widths=concat([3.6], [ for (i=[0:50]) 2.4 ]), num_frets=34, fret_side_marker_x_angle=-23, fret_side_marker_y_angle=5, include_colours=include_colours);
module TwoBangerMk2(include_colours=[0,1], preview=false) {
module MyNeck() {
TaperNeck(
string_spacing_bridge=20,
string_spacing_nut=20,
num_strings=2,
string_margin=5,
target_neck_thickness=15,
scallop_depth=2.5,
extra_height=6,
fret_widths=concat([3.6], [ for (i=[0:50]) 2.4 ]),
num_frets=34,
fret_side_marker_x_angle=-23,
fret_side_marker_y_angle=5,
include_colours=include_colours,
) {
body_height = 30;
behind_bridge = 100;
epsilon = 0.000001;
radius = 4;
w = 30 - radius*2;
hull() {
// translate([-w/2, 475-behind_bridge-epsilon, -epsilon]) cube([30, epsilon, epsilon]);
// translate([-w/2, -behind_bridge, -body_height]) cube([30, 460, body_height]);
$fn = 64;
translate([-w/2, radius-behind_bridge, radius-body_height]) sphere(radius);
translate([+w/2, radius-behind_bridge, radius-body_height]) sphere(radius);
translate([+w/2, radius-behind_bridge, 0]) sphere(radius);
translate([-w/2, radius-behind_bridge, 0]) sphere(radius);
translate([-w/2, 440-behind_bridge, radius-body_height]) sphere(radius);
translate([+w/2, 440-behind_bridge, radius-body_height]) sphere(radius);
translate([+w/2, 495-behind_bridge, 0]) sphere(radius);
translate([-w/2, 495-behind_bridge, 0]) sphere(radius);
}
}
}
module TrussRods() {
translate([0, 630+270, -4]) rotate([0, 0, 180]) TrussRod();
translate([0, -100, -14]) TrussRodSingleAction();
}
// reinforcing_tube_positions = [
// [-10, 125, 0],
// [ 10, 125, 0],
// [ 0, 125, -10],
// ];
// module CFs(x0=-1000, x1=-1000) {
// for (v = reinforcing_tube_positions) CFTubeCutout2(v, x0, x1);
// }
if (preview) {
TrussRods();
// CFs();
color("#FF000080") MyNeck();
} else {
MyNeck();
}
}
Guitar_Scale_Length_mm = PBass_Scale_mm;
colour_scheme = COLOURSCHEME_ABS_BLUE;
color(colour_scheme[0]) TwoBangerMk2([0]);
color(colour_scheme[1]) TwoBangerMk2([1]);
color(colour_scheme[2]) TwoBangerMk2([2]);
color(colour_scheme[3]) TwoBangerMk2([3]);
TwoBangerMk2(preview=true);
// color(colour_scheme[0]) TwoBangerMk2([0]);
// color(colour_scheme[1]) TwoBangerMk2([1]);
// color(colour_scheme[2]) TwoBangerMk2([2]);
// color(colour_scheme[3]) TwoBangerMk2([3]);

View File

@ -187,6 +187,8 @@ module TaperNeck(
}
}
}
// Add any children to this so other functions will difference from the additions
children();
}
module scallop(fret) {
x0 = fret_scale_length(fret-1) - get_fret_width(fret-1)/2;
@ -276,7 +278,7 @@ module TaperNeck(
module carved_stock() {
render() difference() {
neck_stock();
neck_stock() children();
scallops();
scallop(num_frets+1);
// Chop off anything above the frets
@ -304,14 +306,14 @@ module TaperNeck(
has3 = list_has(include_colours, 3);
if (has0) {
render() difference() {
carved_stock();
carved_stock() children();
if (!has1) intersect_fret_layers();
if (!has2) fret_inlays();
if (!has3) fret_side_markers();
}
} else render() intersection() {
difference() {
carved_stock();
carved_stock() children();
if (!has1) intersect_fret_layers();
if (!has2) fret_inlays();
if (!has3) fret_side_markers();