Try this... found somewhere, so I'm not claiming credit.. This will
get you the two ends and the taper, you can adjust all the diameters,
lengths as you need. N.B. how_round should be replaced with $fa and $fs
as per the recent very useful suggestion.. Makes the rendering process
MUCH faster.
// vacuum tube adaptor
outside_dia_big = 44;
outside_dia_small = 36;
length_big = 15;
length_small = 30;
length_cone = 20;
wall_thick = 1.6;
how_round = 50; // [50:400]
union () {
do_big ();
do_transition ();
do_small ();
}
module do_big();
difference (){
cylinder (d=outside_dia_big,h=length_big,$fn=how_round);
cylinder (d=outside_dia_big-2*wall_thick,h=length_big,$fn=how_round);
}
module do_transition ();
translate([0,0,length_big]) {
difference () {
cylinder
(d1=outside_dia_big,d2=outside_dia_small,,h=length_cone,$fn=how_round);
cylinder
(d1=outside_dia_big-(2wall_thick),d2=outside_dia_small-(2wall_thick),h=length_cone,$fn=how_round);
}
}
module do_small (); {
translate([0,0,length_big+length_cone]) {
difference () {
cylinder (d=outside_dia_small,,h=length_small,$fn=how_round);
cylinder
(d=outside_dia_small-(2*wall_thick),h=length_small,$fn=how_round);
}
}
}
Roger Whiteley wrote:
Try this...
Or this:
// vacuum tube adaptor
outside_dia_big = 44;
outside_dia_small = 36;
length_big = 15;
length_small = 30;
length_cone = 20;
wall_thick = 1.6;
how_round = 50; // [50:400]
rotate_extrude($fn=50)
polygon([
[0, 15+30+20],
[36/2, 15+30+20],
[36/2, 15+20],
[44/2, 15],
[44/2, 0],
[44/2-1.6, 0],
[44/2-1.6, 15-0.3],
[36/2-1.6, 15+20-0.3],
[36/2-1.6, 15+30+20],
]);
Or this for superior flow properties:
rotate_extrude($fn=50)
polygon([
[36/2, 15+30+20],
[36/2, 15+20],
for(i=[-90:5:90])
[40/2-2*sin(i), i/180*20+15+20/2],
[44/2, 15],
[44/2, 0],
[44/2-1.6, 0],
for(i=[-90:5:90])
[40/2+2*sin(-i)-1.6, i/180*20+15+20/2],
[36/2-1.6, 15+30+20],
]);