I gave it a shot and I think I found a possible solution.
Your export format requires 2 things: the node positions and the tangent handles information.
As far as I know neither of these can be directly accessed using ASL and there's no reasonable way to get this data in a script. However if you save your .an8 file and open it in a text editor, you can get all you need. This "manual format conversion" is probably the easiest way, although it's not very comfortable. It's not worth writing a converter unless you need to export
a lot of splines...
Here is a sample spline saved in the .an8 format:
pathcom {
name { "path01" }
extendable { }
bezier {
closed { }
knot { (-34.513 -1.8584 0) (-4.3659 11.74 0) (21.652 0.64896 0)
corner { }
}
knot { (-9.9115 20.088 0) (10.334 0.14643 0) (-10.334 -0.14643 0) }
knot { (30.442 0.08848 0) (-6.1504 -5.4866 0) (6.1504 5.4866 0) }
}
}
If you compare it to the .modxml sample you posted, it's not very difficult to figure out how to convert the formats:
- every "knot" row represents one "node"
- the first 3 numbers stand for the position of the node in the (x y z) format
- the following 2 sets of coordinates represent the "controlPrev" and "controlNext" tangent data in the (x y z) format
- if the "closed { }" row is present, the value of "cyclic" in the "spline" tag should be "1" (I guess...)
- all other data (such as "corner { }" and "extendable { }") can be ignored
This is what I figured out by reading the .modxml sample you posted and the
an8 format specification, maybe there are more things you have to pay attention to...
I guess I didn't help you much, if you really need to speed up the process and you don't mind waiting several days, I can try writing an external converter for you.