Wringer voor verbogen nekken
Regelmatig zien we saxofoons met verbogen nekken. We kunnen die goed recht buigen, maar de doorsnede van de nekken zijn dan niet meer mooi rond. Met de 3D printer hebben we een wringen gemaakt en verschillende klemringen op maat gemaakt inclusief de bocht van de nek.
Het gereedschap is ontworpen in OpenSCAD. De code is hieronder gegeven en is van toepassing voor een Keilwerth Toneking tenornek. Voor andere nekken moeten de gegevens van de nek worden aangepast.
Het eerste onderdeel is een model van de saxofoon nek.
//------------------------------------------ // parameters---------------------------- { dl = 1; for (l = [0:dl: l_totaal]) { pv = ( l /(6.28*r_1))*360; p = (pv < p_max)? pv: p_max; x = (pv < p_max)? -r_1*cos(p): -r_1*cos(p_max) + (pv-p_max)/360*6.28*r_1*sin(p_max); z = (pv < p_max)? r_1*sin(p): r_1*sin(p_max)+ (pv-p_max)/360*6.28*r_1*cos(p_max); d_1 = d_start - l* coniciteit; d_2 = d_start - (l+dl)* coniciteit; echo(l=l,p=p,x=x,z=z); translate([x,0,z]) rotate([0,p,0]) union() { translate([0,0,-dl]) cylinder(2*dl,d1=d_1, d2=d_2); if (l<l_max_rib) { intersection() { translate([0,0,-dl]) cylinder(2*dl,d1=d_1+d_bar_1, d2=d_2+d_bar_1); translate([d_1/2-3*d_bar_1,-w_bar_1/2,-dl]) cube([4*d_bar_1,w_bar_1,2*dl]); } intersection() { translate([0,0,-dl]) cylinder(2*dl,d1=d_1+d_bar_2, d2=d_2+d_bar_2); translate([d_1/2-1*d_bar_2,-w_bar_2/2,-dl]) cube([2*d_bar_2,w_bar_2,2*dl]); } } } } } |
De wringer heeft dezelfde maten als mijn nekkrimper. De verschillende klemringen zouden dus ook in een nekwringer gebruikt kunnen worden. De wringer kan in een bankschroef op elkaar worden geklemd.
Het leuke is dat de wringer scharniert en de scharnier in een keer wordt geprint.
module klemblok() { m = (d_klemblok-h_klemblok)/2; difference() { cube([50,50,h_klemblok], center=true); cylinder(h_klemblok+1,d=d_klemblok,center=true); translate([d_klemblok/2+m,-m/2,-h_klemblok/2-1]) rotate([0,0,45]) cube([15,.2,h_klemblok+10]); translate([d_klemblok/2+m,-m/2,-h_klemblok/2-1]) rotate([0,0,180-45]) cube([15,.2,h_klemblok+10]); translate([-d_klemblok/2-m,-m/2,-h_klemblok/2-1]) rotate([0,0,45]) cube([15,1,h_klemblok+10]); translate([-d_klemblok/2-m,-m/2,-h_klemblok/2-1]) rotate([0,0,180-45]) cube([15,1,h_klemblok+10]); } translate([25+4.1,0,h_klemblok/6]) difference() { hull() { translate([-15,-11,0]) cube([8,2,h_klemblok/3]); cylinder(h_klemblok/3, d=8); } cylinder(h_klemblok+2, d=3,center=true); } translate([25+4.1,0,-h_klemblok/2]) difference() { hull() { translate([-15,-11,0]) cube([8,2,h_klemblok/3-0.2]); cylinder(h_klemblok/3-0.2, d=8); } cylinder(h_klemblok+2, d=3,center=true); } translate([25+4.1,0,0]) union() { hull() { translate([-4,11,0]) cube([2,2,h_klemblok/3-0.2],center=true); cylinder(h_klemblok/3-0.2, d=8-0.6,center=true); } cylinder(h_klemblok, d=3-0.3,center=true); } } |
De klemringen volgen aan de binnenzijde de rotatie en de coniciteit van de nek en aan de buitenzijde de diameter van het klemblok. Die verschilt voor iedere positie in de nek.
module klemring(lengte, dikte,side) { pv = ( lengte /(6.28*r_1))*360; p = (pv < p_max)? pv: p_max; x = (pv < p_max)? -r_1*cos(p): -r_1*cos(p_max) + (pv-p_max)/360*6.28*r_1*sin(p_max); z = (pv < p_max)? r_1*sin(p): r_1*sin(p_max)+ (pv-p_max)/360*6.28*r_1*cos(p_max); translate([x,0,z]) rotate([0,p,0]) difference() { cylinder(dikte, d=d_klemblok , center=true); translate([0,-6,-1-dikte/2]) cube([26,14,dikte+2]); translate([0,d_klemblok/2-1,8]) rotate([0,90,90]) linear_extrude(height = 50) text(text=str("<",lengte),size=5); } } } |