Scuffed electronics placement

This commit is contained in:
Luke Hubmayer-Werner 2025-02-20 02:28:56 +10:30
parent 7be1cc1bf9
commit 04f5d32236
1 changed files with 23 additions and 34 deletions

View File

@ -769,11 +769,13 @@ module Steel6String(include_colours=[0,1,4], segment=-1, reference=false) {
// Artist Strat has about 18cm of headstock and 10cm past bridge on body
y0 = -175;
y_battery = y0 - 50;
z_battery = 60 - body_thickness;
headstock_length = 36;
y_end = behind_fret(0) + headstock_length;
y_fretboard_end = get_end_of_fretboard();
$segment_cuts = [y0, 0, get_end_of_fretboard(), after_fret(8), behind_fret(0), y_end];
$segment_cuts = [y_battery, 0, get_end_of_fretboard(), after_fret(8), behind_fret(0), y_end];
echo("Segment cuts:", $segment_cuts, "have lengths", [ for (i=[1:len($segment_cuts)-1]) $segment_cuts[i]-$segment_cuts[i-1]]);
target_neck_thickness_additional_points = [];
@ -834,6 +836,16 @@ module Steel6String(include_colours=[0,1,4], segment=-1, reference=false) {
translate([0, y0, 0]) rotate([-90,0,0]) linear_extrude(body_y_end-y0) polygon(pts);
}
}
hull() {
r = 3;
$fn=72;
for (m=[0:1]) mirror([m,0,0]) {
translate([0, y0, 0]) rotate([-90,0,0]) linear_extrude(1) polygon(pts);
translate([r-30, y0-r, z_battery-r]) sphere(r);
translate([r-30, r+y_battery, z_battery-r]) sphere(r);
translate([r-30, r+y_battery, r-body_thickness]) sphere(r);
}
}
}
module MyNeck() {
render() TaperNeck(target_neck_thickness_additional_points = target_neck_thickness_additional_points) MyBody();
@ -926,34 +938,6 @@ module Steel6String(include_colours=[0,1,4], segment=-1, reference=false) {
text(str(id_line_0, id_line_1), size=2.9, halign="center", valign="center", $fn=100);
}
}
} else {
render() difference() {
hull() {
translate([-neck_width/2, y1-hull_epsilon, z1]) cube([neck_width, hull_epsilon, -z1]);
translate([-body_width/2, y0, z0]) cube([body_width, hull_epsilon, -z0]);
}
// Belt loop slot
hull() {
translate([0, y1-loop_slot_thick, z1+loop_thick]) rotate([0,90,0]) cylinder(d=loop_slot_thick, h=body_width, center=true, $fn=cyl_hd_fn);
translate([0, y0+loop_slot_thick, z0+loop_thick]) rotate([0,90,0]) cylinder(d=loop_slot_thick, h=body_width, center=true, $fn=cyl_hd_fn);
}
// Angled belt loop slot
hull() {
extend_factor = 0.8;
translate([body_width/2, y1-loop_slot_thick + (y1-y0-loop_slot_thick*2)*extend_factor, z1+loop_thick + (z1-z0)*extend_factor]) rotate([0,90,0]) cylinder(d=loop_slot_thick, h=hull_epsilon, $fn=cyl_hd_fn);
translate([0, y0+loop_slot_thick, z0+loop_thick]) rotate([0,90,0]) cylinder(d=loop_slot_thick, h=body_width, center=true, $fn=cyl_hd_fn);
}
// Version stamp
translate([-10,y0+0.5,-30]) rotate([90,0,0]) linear_extrude(10) {
text(str(id_line_0, id_line_1), size=2.9, halign="center", valign="center", $fn=100);
}
translate([-10,y1-0.5,-30]) rotate([90,0,180]) linear_extrude(10) {
text(str(id_line_0, id_line_1), size=2.9, halign="center", valign="center", $fn=100);
}
// CF
for (v = reinforcing_tube_positions) CFTubeCutout2(v, y0, y1);
for (v = reinforcing_square_positions) CFSquareCutout2(v, y0, y1);
}
}
}
@ -986,6 +970,11 @@ module Steel6String(include_colours=[0,1,4], segment=-1, reference=false) {
Reinforcements();
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);
// Tailpiece stuff
// Electronics past tuners (extra length forced by CF reinforcements)
translate([0, -145, 0]) rotate([0, 0, 90]) chromatic_tuner_eq();
translate([0, -200, z_battery]) rotate([0, 0, 90]) chromatic_tuner_battery_jack(extra_depth=0);
}
}
@ -1125,14 +1114,14 @@ COLOURSCHEME_PETGHF_BLUE = [BAMBU_PETGHF_LAKE_BLUE, BAMBU_PETGHF_LAKE_BLUE, "",
colour_scheme = COLOURSCHEME_ABS_CLOWNFISH;
// colour_scheme = COLOURSCHEME_ABS_BLUE;
segment = 2;
color(colour_scheme[0]) Steel6String(segment=segment, include_colours=[0]);
color(colour_scheme[1]) Steel6String(segment=segment, include_colours=[1]);
segment = 0;
// 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) {