First 2banger bridge+tuner segment test

This commit is contained in:
Luke Hubmayer-Werner 2025-02-13 21:39:50 +10:30
parent 08aa45ea54
commit d47153eaf5
1 changed files with 26 additions and 5 deletions

View File

@ -1116,7 +1116,7 @@ COLOURSCHEME_PETGHF_BLUE = [BAMBU_PETGHF_LAKE_BLUE, BAMBU_PETGHF_LAKE_BLUE, "",
module TwoBangerMk2(include_colours=[0,1], segment=-1, preview=false) { module TwoBangerMk2(include_colours=[0,1], segment=-1, preview=false) {
$include_colours = include_colours; $include_colours = include_colours;
$guitar_scale_length_mm = PBass_Scale_mm; $guitar_scale_length_mm = PBass_Scale_mm;
$id_lines = ["Zweisaiten", "250212"]; $id_lines = ["Zweisaiten", "250213"];
$fsl_mm = fret_scale_length(0); $fsl_mm = fret_scale_length(0);
$string_diameters_thous = [80, 105]; // Artist BST45130 $string_diameters_thous = [80, 105]; // Artist BST45130
@ -1156,6 +1156,16 @@ module TwoBangerMk2(include_colours=[0,1], segment=-1, preview=false) {
translate([output_socket_l/2 - 100, output_socket_y + output_socket_w/2 - 2, -10-1]) cube([100, 9, 2]); translate([output_socket_l/2 - 100, output_socket_y + output_socket_w/2 - 2, -10-1]) cube([100, 9, 2]);
} }
module Tuners() {
// Tuners to the side, knobs on top
// for (i=[0:1])
// mirror([i,0,0]) translate([15, (i*32)-66, -26]) rotate([0, -90, 0]) UBassTuner(from_side=false, from_below=true);
// Tuners to the top, knobs pointing out the back
for (i=[0:1])
mirror([i,0,0]) translate([-3.5, -78, -32]) rotate([0, 0, -90]) UBassTuner(from_side=false, from_below=true);
// rotate([180, -90, 0]) UBassTuner(from_side=false, from_below=true);
}
module MyBodySegment() { module MyBodySegment() {
body_height = 24; body_height = 24;
epsilon = 0.000001; epsilon = 0.000001;
@ -1165,14 +1175,14 @@ module TwoBangerMk2(include_colours=[0,1], segment=-1, preview=false) {
step = 0.08; step = 0.08;
steps = curve_dist/step; steps = curve_dist/step;
slope_start = 425; slope_start = 425;
translate([-neck_width()/2, y0, -body_height]) round_cube([neck_width(), slope_start, body_height+radius], radius); translate([-neck_width()/2, y0, -body_height]) round_cube([neck_width(), slope_start, body_height], radius);
hull() { hull() {
// translate([-w/2, 475+y0-epsilon, -epsilon]) cube([30, epsilon, epsilon]); // translate([-w/2, 475+y0-epsilon, -epsilon]) cube([30, epsilon, epsilon]);
// translate([-w/2, +y0, -body_height]) cube([30, 460, body_height]); // translate([-w/2, +y0, -body_height]) cube([30, 460, body_height]);
$fn = 64; $fn = 64;
for (i = [0,1]) mirror([i, 0, 0]) { for (i = [0,1]) mirror([i, 0, 0]) {
translate([w/2, radius+y0, radius-body_height]) sphere(radius); translate([w/2, radius+y0, radius-body_height]) sphere(radius);
translate([w/2, radius+y0, 0]) sphere(radius); translate([w/2, radius+y0, -radius]) sphere(radius);
translate([w/2, slope_start+y0, radius-body_height]) sphere(radius); translate([w/2, slope_start+y0, radius-body_height]) sphere(radius);
} }
// translate([+w/2, 495+y0, 0]) sphere(radius); // translate([+w/2, 495+y0, 0]) sphere(radius);
@ -1183,6 +1193,15 @@ module TwoBangerMk2(include_colours=[0,1], segment=-1, preview=false) {
} }
} }
// Tuner bulge
tuner_bulge_w = 54;
tuner_bulge_l = 45;
tuner_bulge_taper = 15;
hull() {
translate([-tuner_bulge_w/2, y0, -body_height]) round_cube([tuner_bulge_w, tuner_bulge_l, body_height], r = radius);
translate([-neck_width()/2, y0, -body_height]) round_cube([neck_width(), tuner_bulge_l+tuner_bulge_taper, body_height], r = radius);
}
// Electronics bulge // Electronics bulge
hull() { hull() {
bulge_w = 42.5; bulge_w = 42.5;
@ -1277,6 +1296,7 @@ module TwoBangerMk2(include_colours=[0,1], segment=-1, preview=false) {
Dowels(); Dowels();
ElectronicsCavities(diff=true); ElectronicsCavities(diff=true);
Tuners();
// Add a belt hole // Add a belt hole
arc = arc_points([[23, -13], [-23, -13], [0, -3]], 1); arc = arc_points([[23, -13], [-23, -13], [0, -3]], 1);
@ -1320,8 +1340,9 @@ module TwoBangerMk2(include_colours=[0,1], segment=-1, preview=false) {
// TrussRods(); // TrussRods();
// CFs(); // CFs();
ElectronicsCavities(); ElectronicsCavities();
Tuners();
color("#FF000080") MyBody(); color("#FF000080") MyBody();
strings_reference(); strings_reference(30);
} else render() { } else render() {
if (segment < 0) { if (segment < 0) {
MyBody(); MyBody();
@ -1342,7 +1363,7 @@ module TwoBangerMk2(include_colours=[0,1], segment=-1, preview=false) {
colour_scheme = COLOURSCHEME_ABS_BLUE; colour_scheme = COLOURSCHEME_ABS_BLUE;
// TwoBangerMk2(preview=true); // TwoBangerMk2(preview=true);
segment = 1; segment = 0;
color(colour_scheme[0]) TwoBangerMk2([0], segment); color(colour_scheme[0]) TwoBangerMk2([0], segment);
color(colour_scheme[1]) TwoBangerMk2([1], segment); color(colour_scheme[1]) TwoBangerMk2([1], segment);
color(colour_scheme[2]) TwoBangerMk2([2], segment); color(colour_scheme[2]) TwoBangerMk2([2], segment);