Label adjustments
This commit is contained in:
parent
f79b398518
commit
39718ebb24
79
CFTubes.scad
79
CFTubes.scad
|
@ -1090,8 +1090,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_line_0 = "ABS";
|
||||
$id_line_1 = "2";
|
||||
$id_lines = ["Zweisaiten", "250210"];
|
||||
$fsl_mm = fret_scale_length(0);
|
||||
|
||||
$string_diameters_thous = [80, 105]; // Artist BST45130
|
||||
|
@ -1106,56 +1105,57 @@ module TwoBangerMk2(include_colours=[0,1], segment=-1, preview=false) {
|
|||
$string_spacing_bridge = 20;
|
||||
$string_margin = 6;
|
||||
|
||||
$num_frets = 30;
|
||||
$num_frets = 29;
|
||||
$fret_widths = default_fret_widths(3.6, 2.4);
|
||||
$fret_angle = 60;
|
||||
$scallop_depth = 2.5;
|
||||
$extra_thickness_above_center = 6;
|
||||
|
||||
segment_cuts = [-100, after_fret($num_frets), after_fret(29), after_fret(13), after_fret(5), behind_fret(0)+35];
|
||||
y0 = -100;
|
||||
|
||||
segment_cuts = [y0, 20, after_fret(29), after_fret(13), after_fret(5), behind_fret(0)+35];
|
||||
echo(segment_cuts);
|
||||
echo([ for (i=[1:len(segment_cuts)-1]) segment_cuts[i]-segment_cuts[i-1]]);
|
||||
|
||||
module MyBodySegment() {
|
||||
body_height = 24;
|
||||
behind_bridge = 100;
|
||||
epsilon = 0.000001;
|
||||
radius = 4;
|
||||
w = neck_width() - radius*2;
|
||||
curve_dist = 40;
|
||||
step = 0.08;
|
||||
steps = curve_dist/step;
|
||||
slope_start = 425;
|
||||
translate([-w/2, -behind_bridge, -body_height]) round_cube([w, slope_start, body_height], radius);
|
||||
w = 30 - radius*2;
|
||||
translate([-neck_width()/2, y0, -body_height]) round_cube([neck_width(), slope_start, body_height+radius], radius);
|
||||
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]);
|
||||
// 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-behind_bridge, radius-body_height]) sphere(radius);
|
||||
translate([w/2, radius-behind_bridge, 0]) sphere(radius);
|
||||
translate([w/2, slope_start-behind_bridge, radius-body_height]) sphere(radius);
|
||||
translate([w/2, radius+y0, radius-body_height]) sphere(radius);
|
||||
translate([w/2, radius+y0, 0]) sphere(radius);
|
||||
translate([w/2, slope_start+y0, radius-body_height]) sphere(radius);
|
||||
}
|
||||
// translate([+w/2, 495-behind_bridge, 0]) sphere(radius);
|
||||
// translate([-w/2, 495-behind_bridge, 0]) sphere(radius);
|
||||
// translate([+w/2, 495+y0, 0]) sphere(radius);
|
||||
// translate([-w/2, 495+y0, 0]) sphere(radius);
|
||||
difference() {
|
||||
translate([0, 490-behind_bridge, 0]) sphere(15, $fn=360);
|
||||
translate([0, 490-behind_bridge, 50]) cube([100, 100, 100], center=true);
|
||||
translate([0, 490+y0, 0]) sphere(d=neck_width(), $fn=360);
|
||||
translate([0, 490+y0, 50]) cube([100, 100, 100], center=true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module HeadPiece() {
|
||||
x0 = behind_fret(0);
|
||||
end_radius = 25;
|
||||
x2 = x0 + 30;
|
||||
end_radius = 24;
|
||||
x2 = x0 + 25;
|
||||
x1 = x2 - end_radius;
|
||||
z0 = $scallop_depth + $extra_thickness_above_center;
|
||||
z1 = $scallop_depth + get_max_fret_height() + $extra_thickness_above_center;
|
||||
module StringHoles() {
|
||||
$fn=360;
|
||||
for (i = [0:$num_strings-1]) translate([string_x(i, x0),0,0]) {
|
||||
ballend_v = [0,x1+10,-3];
|
||||
ballend_v = [0,x0+15,2];
|
||||
hull() {
|
||||
translate([0,fret_scale_length(0),z1+$string_diameters_mm[i]/2]) sphere(d=min(2.6, $string_diameters_mm[i]*1.2 + 1));
|
||||
translate(ballend_v) sphere(d=2.6);
|
||||
|
@ -1164,7 +1164,7 @@ module TwoBangerMk2(include_colours=[0,1], segment=-1, preview=false) {
|
|||
// String ball ends are roughly 3mm by 4mm cylinder(d=4, h=3)
|
||||
// Bass string ball ends are roughly 3mm by 4mm cylinder(d=6, h=4.5)
|
||||
translate(ballend_v) rotate([0, 90, 0]) cylinder(d=4.5, h=3.5, center=true);
|
||||
translate([0,x2,-30]) rotate([0, 90, 0]) cylinder(d=6.5, h=5.0, center=true);
|
||||
translate([0,x2,-10]) rotate([0, 90, 0]) cylinder(d=6.5, h=5.0, center=true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1190,16 +1190,21 @@ module TwoBangerMk2(include_colours=[0,1], segment=-1, preview=false) {
|
|||
}
|
||||
|
||||
module TrussRods(taper_points=segment_cuts, extra=0) {
|
||||
translate([0, 630+270, -4]) rotate([0, 0, 180]) TrussRod(taper_points=taper_points, extra=extra);
|
||||
translate([0, -100, -16]) TrussRodSingleAction(taper_points=taper_points, extra=extra);
|
||||
y1 = 270;
|
||||
y2 = y1 + 630;
|
||||
translate([0, y2, -4]) rotate([0, 0, 180]) TrussRod(taper_points=[ for (pt=taper_points) y2-pt ], extra=extra);
|
||||
translate([0, y0, -16]) TrussRodSingleAction(taper_points=[ for (pt=taper_points) pt-y0 ], extra=extra);
|
||||
}
|
||||
dowel_positions = [
|
||||
[-10, segment_cuts[4], 0],
|
||||
[ 10, segment_cuts[4], 0],
|
||||
[-10, segment_cuts[3], 0],
|
||||
[ 10, segment_cuts[3], 0],
|
||||
[ -9, segment_cuts[2], -17],
|
||||
[ 9, segment_cuts[2], -17],
|
||||
];
|
||||
module Dowels() {
|
||||
translate([-10, segment_cuts[3], 0]) Dowel();
|
||||
translate([ 10, segment_cuts[3], 0]) Dowel();
|
||||
translate([-10, segment_cuts[2], 0]) Dowel();
|
||||
translate([ 10, segment_cuts[2], 0]) Dowel();
|
||||
translate([ -9, segment_cuts[1], 2.5]) Dowel();
|
||||
translate([ 9, segment_cuts[1], 2.5]) Dowel();
|
||||
for (v=dowel_positions) translate(v) Dowel();
|
||||
}
|
||||
|
||||
module MyBody() {
|
||||
|
@ -1236,6 +1241,17 @@ module TwoBangerMk2(include_colours=[0,1], segment=-1, preview=false) {
|
|||
for (v = reinforcing_tube_positions) CFTubeCutout2(v, x0, x1);
|
||||
}
|
||||
|
||||
module BottomLabel(depth=0.2) {
|
||||
y0 = segment_cuts[segment];
|
||||
size = 2.7;
|
||||
v_spacing = 0.3;
|
||||
z0 = [-4, -4, 4.8, -10.8, -10.8][segment];
|
||||
for (i=[0:len($id_lines)-1]) {
|
||||
z = z0 - (size+v_spacing)*i;
|
||||
translate([0, y0+depth, z]) rotate([90,0,0]) linear_extrude(depth) text($id_lines[i], halign="center", size=size, font="Droid Sans");
|
||||
}
|
||||
}
|
||||
|
||||
if (preview) {
|
||||
// TrussRods();
|
||||
// CFs();
|
||||
|
@ -1244,20 +1260,25 @@ module TwoBangerMk2(include_colours=[0,1], segment=-1, preview=false) {
|
|||
if (segment < 0) {
|
||||
MyBody();
|
||||
} else {
|
||||
difference() {
|
||||
intersection() {
|
||||
MyBody();
|
||||
y0 = segment_cuts[segment];
|
||||
y1 = segment_cuts[segment+1];
|
||||
translate([-500, y0, -500]) cube([1000, y1-y0, 1000]);
|
||||
}
|
||||
if (!list_has($include_colours, 4)) BottomLabel();
|
||||
}
|
||||
if (list_has($include_colours, 4)) BottomLabel();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
colour_scheme = COLOURSCHEME_ABS_BLUE;
|
||||
// TwoBangerMk2(preview=true);
|
||||
segment = -1;
|
||||
segment = 4;
|
||||
color(colour_scheme[0]) TwoBangerMk2([0], segment);
|
||||
color(colour_scheme[1]) TwoBangerMk2([1], segment);
|
||||
color(colour_scheme[2]) TwoBangerMk2([2], segment);
|
||||
color(colour_scheme[3]) TwoBangerMk2([3], segment);
|
||||
color("red") TwoBangerMk2([4], segment);
|
||||
|
|
Loading…
Reference in New Issue