Finalizing Pickup onwards (bridge+tail remains)
This commit is contained in:
parent
f1c1df50de
commit
a43a86ae68
84
CFTubes.scad
84
CFTubes.scad
|
@ -14,21 +14,28 @@ include <EllipticalNeck.scad>
|
|||
|
||||
shumbucker_h = 20.3;
|
||||
shumbucker_l = 23.1;
|
||||
shumbucker_lu = 17.1; // Upper
|
||||
shumbucker_lu = 18.0; // Upper - mind the solder blob on the back
|
||||
shumbucker_lu2 = 19.4; // Upper - mind the solder blob on the back
|
||||
shumbucker_w1 = 66.4;
|
||||
shumbucker_w2 = 82.9; // 1.6mm in, a 2.0mm hole on each side
|
||||
shumbucker_cable_l = 300;
|
||||
shumbucker_cable_d = 3.4;
|
||||
|
||||
module Shumbucker(y_align="center", z_align="positive") {
|
||||
y_offset = (y_align == "center") ? -shumbucker_l/2 :
|
||||
(y_align == "negative") ? -shumbucker_l :
|
||||
module Shumbucker(y_align="center", z_align="positive", y_tolerance=0.5, z_tolerance=0.3) {
|
||||
l = shumbucker_l + y_tolerance;
|
||||
h = shumbucker_h + z_tolerance;
|
||||
y_offset = (y_align == "center") ? -l/2 :
|
||||
(y_align == "negative") ? -l :
|
||||
(y_align == "positive") ? 0 : 0;
|
||||
z_offset = (y_align == "center") ? -shumbucker_h/2 :
|
||||
(y_align == "negative") ? -shumbucker_h :
|
||||
z_offset = (y_align == "center") ? -h/2 :
|
||||
(y_align == "negative") ? -h :
|
||||
(y_align == "positive") ? 0 : 0;
|
||||
translate([-shumbucker_w1/2, y_offset, z_offset]) cube([shumbucker_w1, shumbucker_l, shumbucker_h]);
|
||||
translate([-shumbucker_w2/2, y_offset, z_offset]) cube([shumbucker_w2, shumbucker_l, 4]);
|
||||
baseplate_thick = 5; //margin applied
|
||||
hull() {
|
||||
translate([-shumbucker_w1/2, y_offset + l - shumbucker_lu, z_offset]) cube([shumbucker_w1, shumbucker_lu, h]);
|
||||
translate([-20/2, y_offset + l - shumbucker_lu2, z_offset]) cube([20, shumbucker_lu2, h]);
|
||||
}
|
||||
translate([-shumbucker_w2/2, y_offset, z_offset]) cube([shumbucker_w2, l, baseplate_thick]);
|
||||
}
|
||||
|
||||
relay_coil_housing_w = 15.2;
|
||||
|
@ -55,10 +62,12 @@ output_socket_l = 26;
|
|||
output_socket_w = 20;
|
||||
output_socket_h = 15.7 + 0.3;
|
||||
output_socket_protrude = 9.5;
|
||||
module output_socket_placeholder(rear_clearance=0) {
|
||||
module output_socket_placeholder(rear_clearance=0, outer_clearance=0, include_barrel=true) {
|
||||
translate([-output_socket_w/2, 0, 0]) cube([output_socket_w, output_socket_l+rear_clearance, output_socket_h]);
|
||||
translate([0, 0, output_socket_h/2]) rotate([90,0,0]) cylinder_outer(d=output_socket_cutout_d, h=output_socket_protrude, $fn=72);
|
||||
translate([0, -output_socket_plate_thickness, output_socket_h/2]) rotate([90,0,0]) cylinder_outer(d=output_socket_washer_d, h=output_socket_protrude-output_socket_plate_thickness, $fn=72);
|
||||
if (include_barrel) {
|
||||
translate([0, 0, output_socket_h/2]) rotate([90,0,0]) cylinder_outer(d=output_socket_cutout_d, h=output_socket_protrude, $fn=72);
|
||||
translate([0, -output_socket_plate_thickness, output_socket_h/2]) rotate([90,0,0]) cylinder_outer(d=output_socket_washer_d, h=output_socket_protrude-output_socket_plate_thickness+outer_clearance, $fn=72);
|
||||
}
|
||||
}
|
||||
|
||||
module chromatic_tuner_eq(extra_depth=10, tolerance=0.5) {
|
||||
|
@ -748,8 +757,8 @@ module Steel6String(include_colours=[0,1,4], segment=-1, reference=false) {
|
|||
fc0 = 4;
|
||||
fc1 = 1;
|
||||
$fret_colours = [
|
||||
fc0, fc1, fc1, fc0, fc1, fc0, fc1, fc0, fc1, fc0, fc1, fc1, // 0-11
|
||||
fc0, fc1, fc1, fc0, fc1, fc0, fc1, fc0, fc1, fc0, fc1, fc1, // 12-23
|
||||
fc0, fc1, fc1, fc0, fc1, fc0, fc1, fc0, fc1, fc1, fc0, fc1, // 0-11
|
||||
fc0, fc1, fc1, fc0, fc1, fc0, fc1, fc0, fc1, fc1, fc0, fc1, // 12-23
|
||||
];
|
||||
// To make it more like a Piano, let's do 10th instead of 9th fret markings
|
||||
$fret_inlays = [[3, "真"], [5, "尊"], [7, "正"], [10, "清"], [12, "評判"], [15, "愛"], [17, "徳"], [19, "賛"], [22, "良"], [24, "主イエス"], [27, "."], [29, "."], [31, "."], [34, "."]];
|
||||
|
@ -779,14 +788,16 @@ module Steel6String(include_colours=[0,1,4], segment=-1, reference=false) {
|
|||
[ 9, $segment_cuts[4], -10],
|
||||
[ -8, $segment_cuts[3], -11],
|
||||
[ 8, $segment_cuts[3], -11],
|
||||
[-38, $segment_cuts[2], -12],
|
||||
[ 38, $segment_cuts[2], -12],
|
||||
[-38, $segment_cuts[2], -11],
|
||||
[ 38, $segment_cuts[2], -11],
|
||||
[-37, $segment_cuts[2], -25],
|
||||
[ 37, $segment_cuts[2], -25],
|
||||
[-10, $segment_cuts[1], -4],
|
||||
[ 10, $segment_cuts[1], -4],
|
||||
[-17, $segment_cuts[1], -16],
|
||||
[ 17, $segment_cuts[1], -16],
|
||||
[-24, $segment_cuts[1], -4],
|
||||
// [ 24, $segment_cuts[1], -4],
|
||||
[-33, $segment_cuts[1], -16],
|
||||
// [ 33, $segment_cuts[1], -16],
|
||||
[ -8, $segment_cuts[1], -10],
|
||||
[ 36, $segment_cuts[1], -27],
|
||||
];
|
||||
$reinforcing_tube_positions = [
|
||||
[-17, y_end-25-CF_Tube_Len, -4.5],
|
||||
|
@ -945,6 +956,26 @@ module Steel6String(include_colours=[0,1,4], segment=-1, reference=false) {
|
|||
}
|
||||
}
|
||||
|
||||
module Pickup() {
|
||||
shum_v = [0, $segment_cuts[2], -0.8];
|
||||
translate(shum_v) Shumbucker(y_align="negative", z_align="negative", y_tolerance=2);
|
||||
// Cable channel
|
||||
$fn = 72;
|
||||
d = shumbucker_cable_d*1.5 + 1;
|
||||
channel_v = [12, 60, -17];
|
||||
hull() {
|
||||
translate(shum_v + [0, -shumbucker_lu, d/2 - 0.2 - shumbucker_h]) sphere(d=d);
|
||||
translate(channel_v) sphere(d=d);
|
||||
}
|
||||
// Jack
|
||||
jack_v = [body_width_tapered/2, output_socket_w/2, -18];
|
||||
translate(jack_v) rotate([0, 0, 90]) output_socket_placeholder(rear_clearance=12, outer_clearance=10);
|
||||
hull() {
|
||||
translate(jack_v) rotate([0, 0, 90]) output_socket_placeholder(rear_clearance=12, outer_clearance=10, include_barrel=false);
|
||||
translate(channel_v) sphere(d=d);
|
||||
}
|
||||
}
|
||||
|
||||
module Full() {
|
||||
render() difference() {
|
||||
union() {
|
||||
|
@ -952,7 +983,8 @@ module Steel6String(include_colours=[0,1,4], segment=-1, reference=false) {
|
|||
HeadPiece();
|
||||
}
|
||||
Reinforcements();
|
||||
BeltHole(xz_pts = [[60, -15], [-60, -15], [0, -10]], belthole_y0 = $segment_cuts[2]-100, belthole_y1 = $segment_cuts[2]-40, xy_curve_width = body_width, xy_curve_x = 32);
|
||||
Pickup();
|
||||
BeltHole(xz_pts = [[60, -12.5], [-60, -12.5], [0, -9]], belthole_y0 = $segment_cuts[2]-100, belthole_y1 = $segment_cuts[2]-40, xy_curve_width = body_width, xy_curve_x = 32);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -962,7 +994,7 @@ module Steel6String(include_colours=[0,1,4], segment=-1, reference=false) {
|
|||
if (reference) {
|
||||
c_cf = [0.4, 0.5, 0.5];
|
||||
color(c_cf) Reinforcements();
|
||||
translate([0, $segment_cuts[2], -0.8]) Shumbucker(y_align="negative", z_align="negative");
|
||||
Pickup();
|
||||
// Approximate tuner placement
|
||||
// TunerPlacement();
|
||||
// Render strings above for spacing reference
|
||||
|
@ -1092,14 +1124,14 @@ COLOURSCHEME_PETGHF_BLUE = [BAMBU_PETGHF_LAKE_BLUE, BAMBU_PETGHF_LAKE_BLUE, "",
|
|||
|
||||
colour_scheme = COLOURSCHEME_ABS_CLOWNFISH;
|
||||
// colour_scheme = COLOURSCHEME_ABS_BLUE;
|
||||
segment = -1;
|
||||
// color(colour_scheme[0]) Steel6String(segment=segment, include_colours=[0]);
|
||||
// color(colour_scheme[1]) Steel6String(segment=segment, include_colours=[1]);
|
||||
segment = 2;
|
||||
color(colour_scheme[0]) Steel6String(segment=segment, include_colours=[0]);
|
||||
color(colour_scheme[1]) Steel6String(segment=segment, include_colours=[1]);
|
||||
// color(colour_scheme[2]) Steel6String(segment=segment, include_colours=[2]);
|
||||
// color(colour_scheme[3]) Steel6String(segment=segment, include_colours=[3]);
|
||||
// color(colour_scheme[2]) Steel6String(segment=segment, include_colours=[4]);
|
||||
color(colour_scheme[2]) Steel6String(segment=segment, include_colours=[4]);
|
||||
// rotate([90,0,0])
|
||||
Steel6String(reference=true);
|
||||
// Steel6String(reference=true);
|
||||
|
||||
|
||||
module TwoBangerMk2(include_colours=[0,1], segment=-1, preview=false) {
|
||||
|
|
Loading…
Reference in New Issue