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) {
|
module TwoBangerMk2(include_colours=[0,1], segment=-1, preview=false) {
|
||||||
$include_colours = include_colours;
|
$include_colours = include_colours;
|
||||||
$guitar_scale_length_mm = PBass_Scale_mm;
|
$guitar_scale_length_mm = PBass_Scale_mm;
|
||||||
$id_line_0 = "ABS";
|
$id_lines = ["Zweisaiten", "250210"];
|
||||||
$id_line_1 = "2";
|
|
||||||
$fsl_mm = fret_scale_length(0);
|
$fsl_mm = fret_scale_length(0);
|
||||||
|
|
||||||
$string_diameters_thous = [80, 105]; // Artist BST45130
|
$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_spacing_bridge = 20;
|
||||||
$string_margin = 6;
|
$string_margin = 6;
|
||||||
|
|
||||||
$num_frets = 30;
|
$num_frets = 29;
|
||||||
$fret_widths = default_fret_widths(3.6, 2.4);
|
$fret_widths = default_fret_widths(3.6, 2.4);
|
||||||
$fret_angle = 60;
|
$fret_angle = 60;
|
||||||
$scallop_depth = 2.5;
|
$scallop_depth = 2.5;
|
||||||
$extra_thickness_above_center = 6;
|
$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(segment_cuts);
|
||||||
echo([ for (i=[1:len(segment_cuts)-1]) segment_cuts[i]-segment_cuts[i-1]]);
|
echo([ for (i=[1:len(segment_cuts)-1]) segment_cuts[i]-segment_cuts[i-1]]);
|
||||||
|
|
||||||
module MyBodySegment() {
|
module MyBodySegment() {
|
||||||
body_height = 24;
|
body_height = 24;
|
||||||
behind_bridge = 100;
|
|
||||||
epsilon = 0.000001;
|
epsilon = 0.000001;
|
||||||
radius = 4;
|
radius = 4;
|
||||||
|
w = neck_width() - radius*2;
|
||||||
curve_dist = 40;
|
curve_dist = 40;
|
||||||
step = 0.08;
|
step = 0.08;
|
||||||
steps = curve_dist/step;
|
steps = curve_dist/step;
|
||||||
slope_start = 425;
|
slope_start = 425;
|
||||||
translate([-w/2, -behind_bridge, -body_height]) round_cube([w, slope_start, body_height], radius);
|
translate([-neck_width()/2, y0, -body_height]) round_cube([neck_width(), slope_start, body_height+radius], radius);
|
||||||
w = 30 - radius*2;
|
|
||||||
hull() {
|
hull() {
|
||||||
// translate([-w/2, 475-behind_bridge-epsilon, -epsilon]) cube([30, epsilon, epsilon]);
|
// translate([-w/2, 475+y0-epsilon, -epsilon]) cube([30, epsilon, epsilon]);
|
||||||
// translate([-w/2, -behind_bridge, -body_height]) cube([30, 460, body_height]);
|
// translate([-w/2, +y0, -body_height]) cube([30, 460, body_height]);
|
||||||
$fn = 64;
|
$fn = 64;
|
||||||
for (i = [0,1]) mirror([i, 0, 0]) {
|
for (i = [0,1]) mirror([i, 0, 0]) {
|
||||||
translate([w/2, radius-behind_bridge, radius-body_height]) sphere(radius);
|
translate([w/2, radius+y0, radius-body_height]) sphere(radius);
|
||||||
translate([w/2, radius-behind_bridge, 0]) sphere(radius);
|
translate([w/2, radius+y0, 0]) sphere(radius);
|
||||||
translate([w/2, slope_start-behind_bridge, radius-body_height]) 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+y0, 0]) sphere(radius);
|
||||||
// translate([-w/2, 495-behind_bridge, 0]) sphere(radius);
|
// translate([-w/2, 495+y0, 0]) sphere(radius);
|
||||||
difference() {
|
difference() {
|
||||||
translate([0, 490-behind_bridge, 0]) sphere(15, $fn=360);
|
translate([0, 490+y0, 0]) sphere(d=neck_width(), $fn=360);
|
||||||
translate([0, 490-behind_bridge, 50]) cube([100, 100, 100], center=true);
|
translate([0, 490+y0, 50]) cube([100, 100, 100], center=true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
module HeadPiece() {
|
module HeadPiece() {
|
||||||
x0 = behind_fret(0);
|
x0 = behind_fret(0);
|
||||||
end_radius = 25;
|
end_radius = 24;
|
||||||
x2 = x0 + 30;
|
x2 = x0 + 25;
|
||||||
x1 = x2 - end_radius;
|
x1 = x2 - end_radius;
|
||||||
z0 = $scallop_depth + $extra_thickness_above_center;
|
z0 = $scallop_depth + $extra_thickness_above_center;
|
||||||
z1 = $scallop_depth + get_max_fret_height() + $extra_thickness_above_center;
|
z1 = $scallop_depth + get_max_fret_height() + $extra_thickness_above_center;
|
||||||
module StringHoles() {
|
module StringHoles() {
|
||||||
$fn=360;
|
$fn=360;
|
||||||
for (i = [0:$num_strings-1]) translate([string_x(i, x0),0,0]) {
|
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() {
|
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([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);
|
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)
|
// 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)
|
// 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(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) {
|
module TrussRods(taper_points=segment_cuts, extra=0) {
|
||||||
translate([0, 630+270, -4]) rotate([0, 0, 180]) TrussRod(taper_points=taper_points, extra=extra);
|
y1 = 270;
|
||||||
translate([0, -100, -16]) TrussRodSingleAction(taper_points=taper_points, extra=extra);
|
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() {
|
module Dowels() {
|
||||||
translate([-10, segment_cuts[3], 0]) Dowel();
|
for (v=dowel_positions) translate(v) 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();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
module MyBody() {
|
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);
|
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) {
|
if (preview) {
|
||||||
// TrussRods();
|
// TrussRods();
|
||||||
// CFs();
|
// CFs();
|
||||||
|
@ -1244,20 +1260,25 @@ module TwoBangerMk2(include_colours=[0,1], segment=-1, preview=false) {
|
||||||
if (segment < 0) {
|
if (segment < 0) {
|
||||||
MyBody();
|
MyBody();
|
||||||
} else {
|
} else {
|
||||||
|
difference() {
|
||||||
intersection() {
|
intersection() {
|
||||||
MyBody();
|
MyBody();
|
||||||
y0 = segment_cuts[segment];
|
y0 = segment_cuts[segment];
|
||||||
y1 = segment_cuts[segment+1];
|
y1 = segment_cuts[segment+1];
|
||||||
translate([-500, y0, -500]) cube([1000, y1-y0, 1000]);
|
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;
|
colour_scheme = COLOURSCHEME_ABS_BLUE;
|
||||||
// TwoBangerMk2(preview=true);
|
// TwoBangerMk2(preview=true);
|
||||||
segment = -1;
|
segment = 4;
|
||||||
color(colour_scheme[0]) TwoBangerMk2([0], segment);
|
color(colour_scheme[0]) TwoBangerMk2([0], segment);
|
||||||
color(colour_scheme[1]) TwoBangerMk2([1], segment);
|
color(colour_scheme[1]) TwoBangerMk2([1], segment);
|
||||||
color(colour_scheme[2]) TwoBangerMk2([2], segment);
|
color(colour_scheme[2]) TwoBangerMk2([2], segment);
|
||||||
color(colour_scheme[3]) TwoBangerMk2([3], segment);
|
color(colour_scheme[3]) TwoBangerMk2([3], segment);
|
||||||
|
color("red") TwoBangerMk2([4], segment);
|
||||||
|
|
Loading…
Reference in New Issue