scad-utils
scad-utils copied to clipboard
hull
is this supposed to work ?
use <scad-utils/transformations.scad>
use <scad-utils/shapes.scad>
use <scad-utils/hull.scad>
use <list-comprehension-demos\skin.scad>
fn=32;
$fn=60;
r1 = 25;
r2 = 10;
R = 40;
th = 2;
function rhull(r)=[for(i=hull(r))r[i]];
module tube()
{
difference()
{
skin([for(i=[0:fn])
transform(
rotation([0,180/fn*i,0])*translation([-R,0,0]),
rhull(concat(circle(r1+(r1-r2)/fn*i),square((r1+2.5*r1/2))))
)
]);
// echo( concat(circle(r1+(r1-r2)/2),square((r1+r2)*2)));
// echo(rhull(concat(circle(r1+(r1-r2)/2),square((r1+r2)*2))));
r1 = r1-th;
r2 = r2-th;
skin([for(i=[0:fn])
transform(rotation([0,180/fn*i,0])*translation([-R,0,0]),
circle(r1+(r1-r2)/fn*i))]);
}
}
tube();
modified from here: http://stackoverflow.com/questions/28842419/linear-rotational-extrude-at-the-same-time