I'm writing a program in Visual Basic which will compute the coordinates and curve data (eg. spiral angle, Ts, tangent bearings etc) of any interval points along the centreline of the alignment, using given data such as coordinates of IPs, lengths of spiral and radius (or radii) of arc.
The combined curve spiral-arc-spiral is pretty straight forward. I've managed to complete the program on this type of curve.
When it comes to compound curves with L1-R1-L2-R2-L3 and the likes, I found these formulae: