From d47153eaf51b5ad12e3541ca7d9869ffedb6eeca Mon Sep 17 00:00:00 2001 From: Luke Hubmayer-Werner Date: Thu, 13 Feb 2025 21:39:50 +1030 Subject: [PATCH] First 2banger bridge+tuner segment test --- CFTubes.scad | 31 ++++++++++++++++++++++++++----- 1 file changed, 26 insertions(+), 5 deletions(-) diff --git a/CFTubes.scad b/CFTubes.scad index fa4b021..f3d36d4 100644 --- a/CFTubes.scad +++ b/CFTubes.scad @@ -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) { $include_colours = include_colours; $guitar_scale_length_mm = PBass_Scale_mm; - $id_lines = ["Zweisaiten", "250212"]; + $id_lines = ["Zweisaiten", "250213"]; $fsl_mm = fret_scale_length(0); $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]); } + 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() { body_height = 24; epsilon = 0.000001; @@ -1165,14 +1175,14 @@ module TwoBangerMk2(include_colours=[0,1], segment=-1, preview=false) { step = 0.08; steps = curve_dist/step; 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() { // translate([-w/2, 475+y0-epsilon, -epsilon]) cube([30, epsilon, epsilon]); // translate([-w/2, +y0, -body_height]) cube([30, 460, body_height]); $fn = 64; for (i = [0,1]) mirror([i, 0, 0]) { 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, 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 hull() { bulge_w = 42.5; @@ -1277,6 +1296,7 @@ module TwoBangerMk2(include_colours=[0,1], segment=-1, preview=false) { Dowels(); ElectronicsCavities(diff=true); + Tuners(); // Add a belt hole 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(); // CFs(); ElectronicsCavities(); + Tuners(); color("#FF000080") MyBody(); - strings_reference(); + strings_reference(30); } else render() { if (segment < 0) { MyBody(); @@ -1342,7 +1363,7 @@ module TwoBangerMk2(include_colours=[0,1], segment=-1, preview=false) { colour_scheme = COLOURSCHEME_ABS_BLUE; // TwoBangerMk2(preview=true); -segment = 1; +segment = 0; color(colour_scheme[0]) TwoBangerMk2([0], segment); color(colour_scheme[1]) TwoBangerMk2([1], segment); color(colour_scheme[2]) TwoBangerMk2([2], segment);