The DFSH format is a space-delimited spreadsheet of point values. Knowing both the format of Fusion's points and the target application's points allows a script to be constructed to convert one to the other. I don't happen to have a script that does it, but I have documented DFSH to some extent. If someone else wants to take on the task of writing a conversion script, here's the info I have:
The first line is the string DFSH to indicate the file type. If the shape file uses Relative point values (which can be selected at export), the next line contains information about the node's transform controls:
Center.X, Center.Y, Angle, Scale, Frame Aspect Ratio
If you export with Absolute point values, this line is omitted.
In the lines that follow, if each line has only two values, then the points are linear. Otherwise each line will have six entries:
The first two are the X- and Y- offsets from the Center, followed by the X- and Y- offsets of the first handle from the Point, then the X- and Y- offsets of the second handle from the Point.
If the last point has the same coordinates as the first point, the shape is closed, regardless of whether the values of the handles match.
Here's a sample:
- Code: Select all
DFSH
0.274933 0.494209 0.074035 0.115892 -0.040187 -0.062907
0.200359 0.283047 -0.079964 0.051218 0.045171 -0.028933
0.340521 0.203974 0.054807 0.056609 -0.021153 -0.021849
0.313567 0.116813 -0.114106 0.017073 0.110824 -0.016582
0.649596 0.106929 -0.083558 -0.076378 0.052005 0.047536
0.743037 0.296526 0.067385 -0.090755 -0.048963 0.065943
0.532794 0.425020 -0.034142 0.112320 0.021064 -0.069297
0.575921 0.212061 0.108715 -0.015276 -0.136175 0.019134
0.274933 0.494209 0.074035 0.115892 -0.040187 -0.062907
This shows a shape exported in Absolute mode, so the Center is (0.5, 0.5). The first and last points have the same values, so the shape is closed, and that point is at 0.774933, 0.994209. The first handle has two positive values, so it is above and to the right. The second handle has two negative values, so it is below and to the left of the point.
These values will probably need to be multiplied by the frame resolution of the image because most other programs don't use normalized coordinates.