Skew angle still should be shown as an ahead angle, maybe by moving the Bent 2 callout to the back of the bent, though that may conflict with the Bent 1 callout. Maybe adjust the y of the two callouts?
Add in barrier joints in the span at 25' max?
Still need some way of saving input data and then opening an input file. Because the input file would be the same for all drawings (to avoid re-inputting information), each line in the file could contain a variable name and then the value. Then use a big Select Case routine to read the data into that module. You'd also need some way of storing the data so you could write modified information to the file. Booleans might need some kind of special processing.
You could also have a preference file for input that isn't on the form for things like barrier widths. Although this could also be stored in the input file.
Also still need to assign this to a menu command in Microstation.
May want to have the program attach the bridge.cel library since this doesn't seem to attach by itself.
Not sure why text justification gets messed up when saving a v8 file to v7.
To do a curve on the P&E, I could have the main program generate stations and offsets, then a subroutine could come up with transformed coordinates based on the curve. The user could enter some initial angle going into the bridge so the drawing would look right. Points would be fairly easy, but when you draw a longitudinal line, you would have to check whether the entire line was on the tangent, on the curve, or split between the two (meaning you'd have to add a point at the PC). If you had two points on a curve along with the origin, you could create an Arc.