Uke janky electronics
This commit is contained in:
parent
04f5d32236
commit
29629e9ff0
70
CFTubes.scad
70
CFTubes.scad
|
@ -1,5 +1,6 @@
|
||||||
include <common.scad>
|
include <common.scad>
|
||||||
include <UBassTuner.scad>
|
include <UBassTuner.scad>
|
||||||
|
include <LockingGuitarTuner.scad>
|
||||||
include <NylonTuner.scad>
|
include <NylonTuner.scad>
|
||||||
|
|
||||||
include <CFTubes/common.scad>
|
include <CFTubes/common.scad>
|
||||||
|
@ -104,6 +105,39 @@ module chromatic_tuner_battery_jack(extra_depth=10, tolerance=0.5) {
|
||||||
screw_hole_lobe(ID = 1.5, OD = 2.5);
|
screw_hole_lobe(ID = 1.5, OD = 2.5);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
module uke_chromatic_tuner_eq(extra_depth=2, tolerance=1.5) {
|
||||||
|
w = 44.5 + tolerance;
|
||||||
|
h = 34.2 + tolerance;
|
||||||
|
d = 25 + extra_depth;
|
||||||
|
corner_bevel = 5.0 - 1; // tolerance
|
||||||
|
translate([0,0,-d/2]) hull() {
|
||||||
|
cube([w-corner_bevel*2, h, d], center=true);
|
||||||
|
cube([w, h-corner_bevel*2, d], center=true);
|
||||||
|
}
|
||||||
|
hole_spacing_w = 44.4;
|
||||||
|
hole_spacing_h = 33.8;
|
||||||
|
hole_depth = 12 + 3;
|
||||||
|
for (i=[-1,1]) for (j=[-1,1])
|
||||||
|
translate([i*hole_spacing_w/2, j*hole_spacing_h/2, -hole_depth]) linear_extrude(hole_depth)
|
||||||
|
screw_hole_lobe(ID = 1.5, OD = 2.5);
|
||||||
|
}
|
||||||
|
module uke_chromatic_tuner_battery_jack(extra_depth=10, tolerance=1.0) {
|
||||||
|
w = 29.8 + tolerance;
|
||||||
|
h = 25.3 + tolerance;
|
||||||
|
d = 40 + extra_depth;
|
||||||
|
corner_bevel = 2;
|
||||||
|
translate([0,0,-d/2]) hull() {
|
||||||
|
cube([w-corner_bevel*2, h, d], center=true);
|
||||||
|
cube([w, h-corner_bevel*2, d], center=true);
|
||||||
|
}
|
||||||
|
hole_spacing_w = 30;
|
||||||
|
hole_spacing_h = 26.6;
|
||||||
|
hole_depth = 12 + 3;
|
||||||
|
for (i=[-1,1]) for (j=[-1,1])
|
||||||
|
translate([i*hole_spacing_w/2, j*hole_spacing_h/2, -hole_depth]) linear_extrude(hole_depth)
|
||||||
|
screw_hole_lobe(ID = 1.5, OD = 2.5);
|
||||||
|
}
|
||||||
|
|
||||||
// Philippians 4:8
|
// Philippians 4:8
|
||||||
// Gideon (ShinKaiYaku07) 真実な, 尊ぶべき, 正しい, 清い, 愛すべき, 評判の良い, 徳とされる, 称賛に値する
|
// Gideon (ShinKaiYaku07) 真実な, 尊ぶべき, 正しい, 清い, 愛すべき, 評判の良い, 徳とされる, 称賛に値する
|
||||||
// ShinKaiYaku65 最後に、兄弟たち。すべての真実なこと、すべての誉れあること、すべての正しいこと、すべてのきよいこと、すべての愛すべきこと、すべての評判の良いこと、そのほか徳と言われること、称賛に値することがあるならば、そのようなことに心を留めなさい。
|
// ShinKaiYaku65 最後に、兄弟たち。すべての真実なこと、すべての誉れあること、すべての正しいこと、すべてのきよいこと、すべての愛すべきこと、すべての評判の良いこと、そのほか徳と言われること、称賛に値することがあるならば、そのようなことに心を留めなさい。
|
||||||
|
@ -769,8 +803,7 @@ module Steel6String(include_colours=[0,1,4], segment=-1, reference=false) {
|
||||||
|
|
||||||
// Artist Strat has about 18cm of headstock and 10cm past bridge on body
|
// Artist Strat has about 18cm of headstock and 10cm past bridge on body
|
||||||
y0 = -175;
|
y0 = -175;
|
||||||
y_battery = y0 - 50;
|
y_battery = y0 - 67;
|
||||||
z_battery = 60 - body_thickness;
|
|
||||||
headstock_length = 36;
|
headstock_length = 36;
|
||||||
y_end = behind_fret(0) + headstock_length;
|
y_end = behind_fret(0) + headstock_length;
|
||||||
y_fretboard_end = get_end_of_fretboard();
|
y_fretboard_end = get_end_of_fretboard();
|
||||||
|
@ -833,17 +866,20 @@ module Steel6String(include_colours=[0,1,4], segment=-1, reference=false) {
|
||||||
// translate([r-body_width_tapered/2, after_fret(20)-r, -r]) sphere(r);
|
// translate([r-body_width_tapered/2, after_fret(20)-r, -r]) sphere(r);
|
||||||
// translate([r-body_width_tapered/2, y0+r, r-body_thickness]) sphere(r);
|
// translate([r-body_width_tapered/2, y0+r, r-body_thickness]) sphere(r);
|
||||||
// translate([r-body_width_tapered/2, y0+r, -r]) sphere(r);
|
// translate([r-body_width_tapered/2, y0+r, -r]) sphere(r);
|
||||||
translate([0, y0, 0]) rotate([-90,0,0]) linear_extrude(body_y_end-y0) polygon(pts);
|
translate([0, y_battery, 0]) rotate([-90,0,0]) linear_extrude(body_y_end-y_battery) polygon(pts);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
hull() {
|
hull() {
|
||||||
r = 3;
|
r = 3;
|
||||||
$fn=72;
|
$fn=72;
|
||||||
|
pts2 = arc_points([
|
||||||
|
[(body_width-8)/2, 0],
|
||||||
|
[(body_width-8)/2, body_thickness],
|
||||||
|
[body_width/2, body_thickness/2]]
|
||||||
|
);
|
||||||
for (m=[0:1]) mirror([m,0,0]) {
|
for (m=[0:1]) mirror([m,0,0]) {
|
||||||
translate([0, y0, 0]) rotate([-90,0,0]) linear_extrude(1) polygon(pts);
|
translate([0, y_battery, 0]) rotate([-90,0,0]) linear_extrude(10+y0-y_battery) polygon(pts);
|
||||||
translate([r-30, y0-r, z_battery-r]) sphere(r);
|
translate([0, y_battery, 0]) rotate([-90,0,0]) linear_extrude(y0-y_battery) polygon(pts2);
|
||||||
translate([r-30, r+y_battery, z_battery-r]) sphere(r);
|
|
||||||
translate([r-30, r+y_battery, r-body_thickness]) sphere(r);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -902,7 +938,9 @@ module Steel6String(include_colours=[0,1,4], segment=-1, reference=false) {
|
||||||
}
|
}
|
||||||
|
|
||||||
module TunerPlacement(cutout = false, ear_extra_diameter = 0, ear_extra_height = 0, plate_clearance = 0, shaft_clearance = 0, shaft_tolerance = 0) {
|
module TunerPlacement(cutout = false, ear_extra_diameter = 0, ear_extra_height = 0, plate_clearance = 0, shaft_clearance = 0, shaft_tolerance = 0) {
|
||||||
for (m=[0,1]) mirror([m, 0, 0]) translate([29,3,-32]) rotate([0,-90,0]) NylonTuner(cutout, ear_extra_diameter, ear_extra_height, plate_clearance, shaft_clearance, shaft_tolerance);
|
// for (m=[0,1]) mirror([m, 0, 0]) translate([33,-150,-12]) rotate([0,-90,0]) NylonTuner(cutout, ear_extra_diameter, ear_extra_height, plate_clearance, shaft_clearance, shaft_tolerance);
|
||||||
|
for (m=[0,1]) mirror([m, 0, 0]) translate([-34,-158,-14]) rotate([0,90,0]) NylonTuner(cutout, ear_extra_diameter, ear_extra_height, plate_clearance, shaft_clearance, shaft_tolerance);
|
||||||
|
// translate([string_x(5, -20), -20, 0]) rotate([0, -90, 180]) LockingGuitarTuner();
|
||||||
}
|
}
|
||||||
|
|
||||||
module LoopOrTunerBlock(tuner_block) {
|
module LoopOrTunerBlock(tuner_block) {
|
||||||
|
@ -961,6 +999,14 @@ module Steel6String(include_colours=[0,1,4], segment=-1, reference=false) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
module PiezoElectronics() {
|
||||||
|
$fn = 72;
|
||||||
|
// translate([-23, -195, 0]) rotate([0, 0, 90]) uke_chromatic_tuner_eq();
|
||||||
|
// translate([body_width/2, -200, -20]) rotate([90, 0, 90]) uke_chromatic_tuner_battery_jack();
|
||||||
|
translate([18, -193, 0]) uke_chromatic_tuner_eq();
|
||||||
|
translate([-body_width/2, -212, -20]) rotate([90, 0, -90]) uke_chromatic_tuner_battery_jack();
|
||||||
|
}
|
||||||
|
|
||||||
module Full() {
|
module Full() {
|
||||||
render() difference() {
|
render() difference() {
|
||||||
union() {
|
union() {
|
||||||
|
@ -973,8 +1019,7 @@ module Steel6String(include_colours=[0,1,4], segment=-1, reference=false) {
|
||||||
|
|
||||||
// Tailpiece stuff
|
// Tailpiece stuff
|
||||||
// Electronics past tuners (extra length forced by CF reinforcements)
|
// Electronics past tuners (extra length forced by CF reinforcements)
|
||||||
translate([0, -145, 0]) rotate([0, 0, 90]) chromatic_tuner_eq();
|
PiezoElectronics();
|
||||||
translate([0, -200, z_battery]) rotate([0, 0, 90]) chromatic_tuner_battery_jack(extra_depth=0);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -986,7 +1031,7 @@ module Steel6String(include_colours=[0,1,4], segment=-1, reference=false) {
|
||||||
color(c_cf) Reinforcements();
|
color(c_cf) Reinforcements();
|
||||||
Pickup();
|
Pickup();
|
||||||
// Approximate tuner placement
|
// Approximate tuner placement
|
||||||
// TunerPlacement();
|
TunerPlacement();
|
||||||
// Render strings above for spacing reference
|
// Render strings above for spacing reference
|
||||||
string_excess = 80;
|
string_excess = 80;
|
||||||
for (i = [0:$num_strings-1]) {
|
for (i = [0:$num_strings-1]) {
|
||||||
|
@ -997,7 +1042,8 @@ module Steel6String(include_colours=[0,1,4], segment=-1, reference=false) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
%Full();
|
%Full();
|
||||||
translate([0, -20, 0]) FlatBridge(saddle_height=bridge_height-6, base_height=6);
|
translate([0, -10, 0]) FlatBridge(saddle_height=bridge_height-6, base_height=6, y_len=10);
|
||||||
|
PiezoElectronics();
|
||||||
} else if (segment >= 0) {
|
} else if (segment >= 0) {
|
||||||
intersection() {
|
intersection() {
|
||||||
Full();
|
Full();
|
||||||
|
|
Loading…
Reference in New Issue