Experimenting with "body"
This commit is contained in:
parent
f8352515ab
commit
3cbd3990a1
69
CFTubes.scad
69
CFTubes.scad
|
@ -1103,13 +1103,70 @@ COLOURSCHEME_PETGHF_BLUE = [BAMBU_PETGHF_LAKE_BLUE, BAMBU_PETGHF_LAKE_BLUE, "",
|
|||
// TrussRodSingleAction(taper_points=[-extra, l], extra=true, tolerance = 0.24);
|
||||
// }
|
||||
|
||||
module TwoBangerMk2(include_colours=[0,1]) {
|
||||
TaperNeck(string_spacing_bridge=20, string_spacing_nut=20, num_strings=2, extra_height=6, fret_widths=concat([3.6], [ for (i=[0:50]) 2.4 ]), num_frets=34, fret_side_marker_x_angle=-23, fret_side_marker_y_angle=5, include_colours=include_colours);
|
||||
module TwoBangerMk2(include_colours=[0,1], preview=false) {
|
||||
module MyNeck() {
|
||||
TaperNeck(
|
||||
string_spacing_bridge=20,
|
||||
string_spacing_nut=20,
|
||||
num_strings=2,
|
||||
string_margin=5,
|
||||
target_neck_thickness=15,
|
||||
scallop_depth=2.5,
|
||||
extra_height=6,
|
||||
fret_widths=concat([3.6], [ for (i=[0:50]) 2.4 ]),
|
||||
num_frets=34,
|
||||
fret_side_marker_x_angle=-23,
|
||||
fret_side_marker_y_angle=5,
|
||||
include_colours=include_colours,
|
||||
) {
|
||||
body_height = 30;
|
||||
behind_bridge = 100;
|
||||
epsilon = 0.000001;
|
||||
radius = 4;
|
||||
w = 30 - radius*2;
|
||||
hull() {
|
||||
// translate([-w/2, 475-behind_bridge-epsilon, -epsilon]) cube([30, epsilon, epsilon]);
|
||||
// translate([-w/2, -behind_bridge, -body_height]) cube([30, 460, body_height]);
|
||||
$fn = 64;
|
||||
translate([-w/2, radius-behind_bridge, radius-body_height]) sphere(radius);
|
||||
translate([+w/2, radius-behind_bridge, radius-body_height]) sphere(radius);
|
||||
translate([+w/2, radius-behind_bridge, 0]) sphere(radius);
|
||||
translate([-w/2, radius-behind_bridge, 0]) sphere(radius);
|
||||
translate([-w/2, 440-behind_bridge, radius-body_height]) sphere(radius);
|
||||
translate([+w/2, 440-behind_bridge, radius-body_height]) sphere(radius);
|
||||
translate([+w/2, 495-behind_bridge, 0]) sphere(radius);
|
||||
translate([-w/2, 495-behind_bridge, 0]) sphere(radius);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module TrussRods() {
|
||||
translate([0, 630+270, -4]) rotate([0, 0, 180]) TrussRod();
|
||||
translate([0, -100, -14]) TrussRodSingleAction();
|
||||
}
|
||||
|
||||
// reinforcing_tube_positions = [
|
||||
// [-10, 125, 0],
|
||||
// [ 10, 125, 0],
|
||||
// [ 0, 125, -10],
|
||||
// ];
|
||||
// module CFs(x0=-1000, x1=-1000) {
|
||||
// for (v = reinforcing_tube_positions) CFTubeCutout2(v, x0, x1);
|
||||
// }
|
||||
|
||||
if (preview) {
|
||||
TrussRods();
|
||||
// CFs();
|
||||
color("#FF000080") MyNeck();
|
||||
} else {
|
||||
MyNeck();
|
||||
}
|
||||
}
|
||||
Guitar_Scale_Length_mm = PBass_Scale_mm;
|
||||
|
||||
colour_scheme = COLOURSCHEME_ABS_BLUE;
|
||||
color(colour_scheme[0]) TwoBangerMk2([0]);
|
||||
color(colour_scheme[1]) TwoBangerMk2([1]);
|
||||
color(colour_scheme[2]) TwoBangerMk2([2]);
|
||||
color(colour_scheme[3]) TwoBangerMk2([3]);
|
||||
TwoBangerMk2(preview=true);
|
||||
// color(colour_scheme[0]) TwoBangerMk2([0]);
|
||||
// color(colour_scheme[1]) TwoBangerMk2([1]);
|
||||
// color(colour_scheme[2]) TwoBangerMk2([2]);
|
||||
// color(colour_scheme[3]) TwoBangerMk2([3]);
|
||||
|
|
|
@ -187,6 +187,8 @@ module TaperNeck(
|
|||
}
|
||||
}
|
||||
}
|
||||
// Add any children to this so other functions will difference from the additions
|
||||
children();
|
||||
}
|
||||
module scallop(fret) {
|
||||
x0 = fret_scale_length(fret-1) - get_fret_width(fret-1)/2;
|
||||
|
@ -276,7 +278,7 @@ module TaperNeck(
|
|||
|
||||
module carved_stock() {
|
||||
render() difference() {
|
||||
neck_stock();
|
||||
neck_stock() children();
|
||||
scallops();
|
||||
scallop(num_frets+1);
|
||||
// Chop off anything above the frets
|
||||
|
@ -304,14 +306,14 @@ module TaperNeck(
|
|||
has3 = list_has(include_colours, 3);
|
||||
if (has0) {
|
||||
render() difference() {
|
||||
carved_stock();
|
||||
carved_stock() children();
|
||||
if (!has1) intersect_fret_layers();
|
||||
if (!has2) fret_inlays();
|
||||
if (!has3) fret_side_markers();
|
||||
}
|
||||
} else render() intersection() {
|
||||
difference() {
|
||||
carved_stock();
|
||||
carved_stock() children();
|
||||
if (!has1) intersect_fret_layers();
|
||||
if (!has2) fret_inlays();
|
||||
if (!has3) fret_side_markers();
|
||||
|
|
Loading…
Reference in New Issue