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_h = 20.3;
|
||||||
shumbucker_l = 23.1;
|
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_w1 = 66.4;
|
||||||
shumbucker_w2 = 82.9; // 1.6mm in, a 2.0mm hole on each side
|
shumbucker_w2 = 82.9; // 1.6mm in, a 2.0mm hole on each side
|
||||||
shumbucker_cable_l = 300;
|
shumbucker_cable_l = 300;
|
||||||
shumbucker_cable_d = 3.4;
|
shumbucker_cable_d = 3.4;
|
||||||
|
|
||||||
module Shumbucker(y_align="center", z_align="positive") {
|
module Shumbucker(y_align="center", z_align="positive", y_tolerance=0.5, z_tolerance=0.3) {
|
||||||
y_offset = (y_align == "center") ? -shumbucker_l/2 :
|
l = shumbucker_l + y_tolerance;
|
||||||
(y_align == "negative") ? -shumbucker_l :
|
h = shumbucker_h + z_tolerance;
|
||||||
|
y_offset = (y_align == "center") ? -l/2 :
|
||||||
|
(y_align == "negative") ? -l :
|
||||||
(y_align == "positive") ? 0 : 0;
|
(y_align == "positive") ? 0 : 0;
|
||||||
z_offset = (y_align == "center") ? -shumbucker_h/2 :
|
z_offset = (y_align == "center") ? -h/2 :
|
||||||
(y_align == "negative") ? -shumbucker_h :
|
(y_align == "negative") ? -h :
|
||||||
(y_align == "positive") ? 0 : 0;
|
(y_align == "positive") ? 0 : 0;
|
||||||
translate([-shumbucker_w1/2, y_offset, z_offset]) cube([shumbucker_w1, shumbucker_l, shumbucker_h]);
|
baseplate_thick = 5; //margin applied
|
||||||
translate([-shumbucker_w2/2, y_offset, z_offset]) cube([shumbucker_w2, shumbucker_l, 4]);
|
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;
|
relay_coil_housing_w = 15.2;
|
||||||
|
@ -55,10 +62,12 @@ output_socket_l = 26;
|
||||||
output_socket_w = 20;
|
output_socket_w = 20;
|
||||||
output_socket_h = 15.7 + 0.3;
|
output_socket_h = 15.7 + 0.3;
|
||||||
output_socket_protrude = 9.5;
|
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([-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);
|
if (include_barrel) {
|
||||||
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);
|
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) {
|
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;
|
fc0 = 4;
|
||||||
fc1 = 1;
|
fc1 = 1;
|
||||||
$fret_colours = [
|
$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, fc1, fc0, 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, // 12-23
|
||||||
];
|
];
|
||||||
// To make it more like a Piano, let's do 10th instead of 9th fret markings
|
// 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, "."]];
|
$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],
|
[ 9, $segment_cuts[4], -10],
|
||||||
[ -8, $segment_cuts[3], -11],
|
[ -8, $segment_cuts[3], -11],
|
||||||
[ 8, $segment_cuts[3], -11],
|
[ 8, $segment_cuts[3], -11],
|
||||||
[-38, $segment_cuts[2], -12],
|
[-38, $segment_cuts[2], -11],
|
||||||
[ 38, $segment_cuts[2], -12],
|
[ 38, $segment_cuts[2], -11],
|
||||||
[-37, $segment_cuts[2], -25],
|
[-37, $segment_cuts[2], -25],
|
||||||
[ 37, $segment_cuts[2], -25],
|
[ 37, $segment_cuts[2], -25],
|
||||||
[-10, $segment_cuts[1], -4],
|
[-24, $segment_cuts[1], -4],
|
||||||
[ 10, $segment_cuts[1], -4],
|
// [ 24, $segment_cuts[1], -4],
|
||||||
[-17, $segment_cuts[1], -16],
|
[-33, $segment_cuts[1], -16],
|
||||||
[ 17, $segment_cuts[1], -16],
|
// [ 33, $segment_cuts[1], -16],
|
||||||
|
[ -8, $segment_cuts[1], -10],
|
||||||
|
[ 36, $segment_cuts[1], -27],
|
||||||
];
|
];
|
||||||
$reinforcing_tube_positions = [
|
$reinforcing_tube_positions = [
|
||||||
[-17, y_end-25-CF_Tube_Len, -4.5],
|
[-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() {
|
module Full() {
|
||||||
render() difference() {
|
render() difference() {
|
||||||
union() {
|
union() {
|
||||||
|
@ -952,7 +983,8 @@ module Steel6String(include_colours=[0,1,4], segment=-1, reference=false) {
|
||||||
HeadPiece();
|
HeadPiece();
|
||||||
}
|
}
|
||||||
Reinforcements();
|
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) {
|
if (reference) {
|
||||||
c_cf = [0.4, 0.5, 0.5];
|
c_cf = [0.4, 0.5, 0.5];
|
||||||
color(c_cf) Reinforcements();
|
color(c_cf) Reinforcements();
|
||||||
translate([0, $segment_cuts[2], -0.8]) Shumbucker(y_align="negative", z_align="negative");
|
Pickup();
|
||||||
// Approximate tuner placement
|
// Approximate tuner placement
|
||||||
// TunerPlacement();
|
// TunerPlacement();
|
||||||
// Render strings above for spacing reference
|
// 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_CLOWNFISH;
|
||||||
// colour_scheme = COLOURSCHEME_ABS_BLUE;
|
// colour_scheme = COLOURSCHEME_ABS_BLUE;
|
||||||
segment = -1;
|
segment = 2;
|
||||||
// color(colour_scheme[0]) Steel6String(segment=segment, include_colours=[0]);
|
color(colour_scheme[0]) Steel6String(segment=segment, include_colours=[0]);
|
||||||
// color(colour_scheme[1]) Steel6String(segment=segment, include_colours=[1]);
|
color(colour_scheme[1]) Steel6String(segment=segment, include_colours=[1]);
|
||||||
// color(colour_scheme[2]) Steel6String(segment=segment, include_colours=[2]);
|
// color(colour_scheme[2]) Steel6String(segment=segment, include_colours=[2]);
|
||||||
// color(colour_scheme[3]) Steel6String(segment=segment, include_colours=[3]);
|
// 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])
|
// rotate([90,0,0])
|
||||||
Steel6String(reference=true);
|
// Steel6String(reference=true);
|
||||||
|
|
||||||
|
|
||||||
module TwoBangerMk2(include_colours=[0,1], segment=-1, preview=false) {
|
module TwoBangerMk2(include_colours=[0,1], segment=-1, preview=false) {
|
||||||
|
|
Loading…
Reference in New Issue