"SfR Fresh" - the SfR Freeware/Shareware Archive 
void gleLathe (int ncp,
gleDouble contour[][2],
gleDouble cont_normal[][2],
gleDouble up[3],
gleDouble startRadius, /* spiral starts in x-y plane
*/
gleDouble drdTheta, /* change in radius per revolution
*/
gleDouble startZ, /* starting z value */
gleDouble dzdTheta, /* change in Z per revolution
*/
gleDouble startXform[2][3], /* starting contour affine
xform */
gleDouble dXformdTheta[2][3], /* tangent change xform per
revoln */
gleDouble startTheta, /* start angle in x-y plane */
gleDouble sweepTheta); /* degrees to spiral around
*/
Sweep an arbitrary contour along a helical path. The sweep will be performed as a shear along the z-axis, so that the orientation of the contour is displaced, rather than translated, as the contour is swept.
The axis of the helix lies along the modeling coordinate z-axis.
An affine transform can be applied as the contour is swept. For most ordinary usage, the affines should be given as NULL.