I like the workflow of your second alternative, defining the positions of the control points in the modeling software. You could create a naming convention for the child objects in Blender, get their positions with the <VizNode>.getChild() fucntion in a loop and automaticly generate the paths.
Code:
CP_COUNT = 50
CONTROLPOINT_PREFEX = 'control_point'
controlPointList = []
def generateControlPoints():
for cpNumber in range( CP_COUNT ):
pointNode = bigMap.getChild( CONTROLPOINT_PREFEX + str( cpNumber ) )
if pointNode != None:
cp = viz.addControlPoint()
cp.translate( pointNode.getPosition() )
cp.rotatequat( pointNode.getQuat() )
controlPointList.append( cp )
else:
print 'Missing control point node: ' + CONTROLPOINT_PREFEX + str( cpNumber )
Does anyone else have a solution to this common task?