yea thats a pretty good solution. here is my example work in progress... its not quite fully dynamic yet.. but im hoping to build a UI for it as well as be able to detect surfaces and curves better... but in the mean time here is the working code.
so far it doesnt extrude curves but just makes the helix curves around a source curve. but in the mean time i have to make a nurbs tube manually around the source curve then run the script.. im working on a good extrude tube proc that i can call that will make all the tubes for me automatically
[codebox]
//this number determines how many revolutions around the path
float $turns = 25;
//gets the selected nurbs tube
string $surface[] = ls -sl
;
//this variable defines how much offset between the curves
float $offset = 0.0;
//this variable defines how many spiral curves will be created around the curve
int $looptime = 5;
//this variable is set to 8 because the testing surface has 8 spans.. if using a differnt surface with different spans this needs to be set properly
int $spans = 8;
//this does the math so that your offset spacing is calculated to be spaced evenly around the curve
float $make1Round = ($spans / ($looptime - 1));
for ($loop = 0; $loop <$looptime; $loop++)
{
//this sets the min max value of the surface... note the surface must be rebuilt to a 0-1 range or eles these numbers need to be set properly
float $minValue = 0.0;
float $maxValue = 1.0;
//degree is 1 leave this as is
int $degree = 1;
// create spiral curve on surface this makes the projected curve on surface
curveOnSurface -d $degree -uv $offset $minValue -uv ( $turns * $spans + $offset) $maxValue $surface[0];
//this makes the actual duplicated curve with history in the scene
duplicateCurve -ch true;
$offset = $offset + $make1Round;
}
[/codebox]