after implementing the Catmull in my own works I realize that it doesn't work quite like my bezier line routine. still I believe that a simple solution can be found
1. create a function that will convert a multi segment line into its Catmull equivalent.
2. create a function that will allow you to interpolate to any position on a multi segment line.
once you have those functions then it should be fairly easy to figure out the rest. I will try to work these out if I have some time tonight since I need them for my stuff. will post the results.