these clearances aren't working on bambu PLAs with VLH
This commit is contained in:
parent
c23715d3c5
commit
5ff4eca9f1
68
CFTubes.scad
68
CFTubes.scad
|
@ -1,4 +1,5 @@
|
||||||
include <common.scad>
|
include <common.scad>
|
||||||
|
include <UBassTuner.scad>
|
||||||
// Guitar_Scale_Length_mm = 610; // millimetres, slightly over 24inch (609.6mm) Jaguar scale, should be fine for guitar and u-bass
|
// Guitar_Scale_Length_mm = 610; // millimetres, slightly over 24inch (609.6mm) Jaguar scale, should be fine for guitar and u-bass
|
||||||
// assert(fret_scale_length(0) == 610); // Make sure the function correctly uses our changed global
|
// assert(fret_scale_length(0) == 610); // Make sure the function correctly uses our changed global
|
||||||
|
|
||||||
|
@ -93,6 +94,60 @@ module neck(string_spacing=18, string_margin=4.5, num_strings=3, target_neck_thi
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
module bridge(string_spacing=18, string_margin=4.5, num_strings=3, target_neck_thickness=15, scallop_depth=3, fret_width=2.4*6) {
|
||||||
|
fw2 = fret_width/2;
|
||||||
|
neck_length = 120;
|
||||||
|
neck_width = (num_strings-1)*string_spacing + string_margin*2;
|
||||||
|
module neck_stock() {
|
||||||
|
angle_excess = asin((scallop_depth+fw2)/target_neck_thickness);
|
||||||
|
a0 = 90-angle_excess;
|
||||||
|
a1 = 270+angle_excess;
|
||||||
|
rotate([-90, 0, 0])
|
||||||
|
linear_extrude(neck_length)
|
||||||
|
polygon([for (i = [0:300]) let(a=lerp(a0, a1, i/300.0)) [neck_width*0.5*sin(a), -target_neck_thickness*cos(a)]]);
|
||||||
|
}
|
||||||
|
module scallop(fret) {
|
||||||
|
x0 = fret_scale_length(fret-1) - fw2;
|
||||||
|
x1 = fret_scale_length(fret) + fw2;
|
||||||
|
xmid = lerp(x0, x1, 0.5);
|
||||||
|
// Radius it?
|
||||||
|
arc = arc_points([[x0, scallop_depth], [x1, scallop_depth], [xmid, 0]]);
|
||||||
|
// echo(arc);
|
||||||
|
rotate([90, 0, 90]) linear_extrude(neck_width, center=true) polygon(arc);
|
||||||
|
}
|
||||||
|
module fret_bumps() {
|
||||||
|
translate([0, neck_length-fw2, scallop_depth]) rotate([0, 90]) cylinder(d=fret_width, h=neck_width, center = true, $fn=200);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// render() difference() {
|
||||||
|
// neck_stock();
|
||||||
|
// translate([-neck_width, 0, scallop_depth]) cube([neck_width*2, Guitar_Scale_Length_mm*3, target_neck_thickness*3]);
|
||||||
|
// translate([0, 40, 0]) rotate([90, 90, 90]) UBassTuner();
|
||||||
|
// }
|
||||||
|
// intersection() {
|
||||||
|
// fret_bumps();
|
||||||
|
// neck_stock();
|
||||||
|
// }
|
||||||
|
module differences() {
|
||||||
|
t_offset = 2.7;
|
||||||
|
t_z = -23;
|
||||||
|
mirror([1,0,0]) translate([t_offset, 80, t_z]) rotate([90, -90, 90]) UBassTuner();
|
||||||
|
translate([t_offset, 45, t_z]) rotate([90, -90, 90]) UBassTuner();
|
||||||
|
mirror([1,0,0]) translate([t_offset, 10, t_z]) rotate([90, -90, 90]) UBassTuner();
|
||||||
|
for (i = [-1:2:1])
|
||||||
|
translate([i*15, 0, -4])
|
||||||
|
cf_tube(neck_length, 0, tolerance=0.4);
|
||||||
|
translate([0, 0, -10])
|
||||||
|
cf_tube(neck_length, 0, tolerance=0.4);
|
||||||
|
}
|
||||||
|
difference() {
|
||||||
|
color([1,1,1,0.3]) translate([-neck_width/2, 0, -25+scallop_depth]) cube([neck_width, neck_length, 25]);
|
||||||
|
differences();
|
||||||
|
}
|
||||||
|
// color([1,1,1,0.3]) neck_stock();
|
||||||
|
}
|
||||||
|
|
||||||
module cf_tube(x1, x2, tolerance = 0.3) {
|
module cf_tube(x1, x2, tolerance = 0.3) {
|
||||||
translate([0, x2, 0])
|
translate([0, x2, 0])
|
||||||
rotate([-90,0,0])
|
rotate([-90,0,0])
|
||||||
|
@ -161,7 +216,7 @@ module fret_tube(from_fret, to_fret, fret_width=2.4) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
module fret_tube_filler(from_fret, to_fret, fret_width=2.4, belthole_length=60) {
|
module fret_tube_filler(from_fret, to_fret, fret_width=2.4, belthole_length=80) {
|
||||||
fw2 = fret_width/2;
|
fw2 = fret_width/2;
|
||||||
x0 = fret_scale_length(0)+fw2;
|
x0 = fret_scale_length(0)+fw2;
|
||||||
x1 = fret_scale_length(from_fret) + ((from_fret==0) ? fw2 : (-fw2));
|
x1 = fret_scale_length(from_fret) + ((from_fret==0) ? fw2 : (-fw2));
|
||||||
|
@ -170,12 +225,9 @@ module fret_tube_filler(from_fret, to_fret, fret_width=2.4, belthole_length=60)
|
||||||
neck(fret_width=fret_width, filler=true);
|
neck(fret_width=fret_width, filler=true);
|
||||||
for (i = [-1:2:1])
|
for (i = [-1:2:1])
|
||||||
translate([i*15, 0, -4])
|
translate([i*15, 0, -4])
|
||||||
cf_tube(x1, x2);
|
cf_tube(x1, x2, tolerance=0.4);
|
||||||
// for (i = [-1:2:1])
|
|
||||||
// translate([i*7.5, 0, -7])
|
|
||||||
// cf_square(x1, x2);
|
|
||||||
translate([0, 0, -10])
|
translate([0, 0, -10])
|
||||||
cf_tube(x1, x2);
|
cf_tube(x1, x2, tolerance=0.4);
|
||||||
|
|
||||||
translate([-50, 0, -50]) cube([100, x2, 100]);
|
translate([-50, 0, -50]) cube([100, x2, 100]);
|
||||||
translate([-50, x1, -50]) cube([100, x0-x1, 100]);
|
translate([-50, x1, -50]) cube([100, x0-x1, 100]);
|
||||||
|
@ -196,7 +248,7 @@ module fret_tube_filler(from_fret, to_fret, fret_width=2.4, belthole_length=60)
|
||||||
}
|
}
|
||||||
|
|
||||||
// αβγδεζ
|
// αβγδεζ
|
||||||
t = "01β";
|
t = "01β.α";
|
||||||
translate([0,0,-3.5]) rotate([90, 0, 0]) linear_extrude((x2+0.3)*2, center=true) text(text = t, font = "Deja Vu Sans", halign = "center", valign = "center", size = 4);
|
translate([0,0,-3.5]) rotate([90, 0, 0]) linear_extrude((x2+0.3)*2, center=true) text(text = t, font = "Deja Vu Sans", halign = "center", valign = "center", size = 4);
|
||||||
translate([0,x1-0.3,-3]) rotate([90, 0, 180]) linear_extrude((0.3)*2, center=true) text(text = t, font = "Deja Vu Sans", halign = "center", valign = "center", size = 4);
|
translate([0,x1-0.3,-3]) rotate([90, 0, 180]) linear_extrude((0.3)*2, center=true) text(text = t, font = "Deja Vu Sans", halign = "center", valign = "center", size = 4);
|
||||||
}
|
}
|
||||||
|
@ -261,7 +313,7 @@ echo(fret_scale_length(8) - fret_scale_length(24)); // 240.335
|
||||||
// fret_tube(8, 24);
|
// fret_tube(8, 24);
|
||||||
|
|
||||||
// headpiece();
|
// headpiece();
|
||||||
// include <UBassTuner.scad>
|
|
||||||
// UBassTuner();
|
// UBassTuner();
|
||||||
|
|
||||||
fret_tube_filler(24, 100);
|
fret_tube_filler(24, 100);
|
||||||
|
// bridge();
|
||||||
|
|
|
@ -69,7 +69,7 @@ module UBassTuner() {
|
||||||
shaft_clear = t_base/2 + clearance;
|
shaft_clear = t_base/2 + clearance;
|
||||||
color(clear_color) union() {
|
color(clear_color) union() {
|
||||||
hull() {
|
hull() {
|
||||||
translate([0, -d_wormshaft_collar_max/2, -shaft_clear]) cube([0.1, d_wormshaft_collar_max, shaft_clear]);
|
translate([-0.1, -d_wormshaft_collar_max/2, -shaft_clear]) cube([0.2, d_wormshaft_collar_max, shaft_clear]);
|
||||||
translate([2.3, -d_wormshaft_collar/2, -shaft_clear]) cube([0.1, d_wormshaft_collar, shaft_clear]);
|
translate([2.3, -d_wormshaft_collar/2, -shaft_clear]) cube([0.1, d_wormshaft_collar, shaft_clear]);
|
||||||
}
|
}
|
||||||
translate([0, -d_wormshaft_collar/2, -shaft_clear]) cube([l_wormshaft_ear, d_wormshaft_collar, shaft_clear]);
|
translate([0, -d_wormshaft_collar/2, -shaft_clear]) cube([l_wormshaft_ear, d_wormshaft_collar, shaft_clear]);
|
||||||
|
|
Loading…
Reference in New Issue