So just a quick update.
I've managed to import horizontal and vertical curve information. I pulled the data from an actual highway project that's about 10 miles long. To this point, I've managed to import horizontal and vertical curves into FreeCAD and create custom FeaturePython objects to store them. I've also managed to generate a horizontal alignment from a selected list of curves.
The imported curve objects:
As you can see from the list, the alignment data is stored in a hierarchy, with each alignment containing two groups, one for horizontal curve data, and the other for vertical curves. Selecting a curve displays the relevant design information.
Having imported the curves, I have built the algorithm to generate the alignment as a BSpline from the horizontal curve data (vertical curve generation is next). It seems to be working! The top image is the FreeCAD alignment, and the bottom image is the original alignment in Microstation, from which I extracted the design data:
However, the accuracy of the Spline is not very good (10-50 feet). The accuracy needs to increase by three or four orders of magnitude, by my estimation.
Still, it's a start.