I wrote a simple routine to parse linework codes embedded in CSV files. If multiple string codes are used for a single point, it generates multiple points, one for each code.
For example, we use ptcode 3 for TOE, and 5 for TOP. Ptcodes can be separated from string identifiers by a string identifier. So, for example, take the following field shot (in PNEZD format:)
100 1000 1000 1000 3.1.5.2
This is point number 100, and the description for the point is "3.1.5.2". The "3.1" part gets parsed as TOE1, and the "5.2" part gets parsed as "TOP2". This causes TWO survey points to be dumped into C3D, one with a "TOE1" description and one with a TOP2 description. The TOE1 point is added to the TOE1 figure, and the TOP2 point is added to the TOP2 figure (any necessary BEGins or CONTinues needed for the figures are added automatically by the parsing routine).
More details at:
http://www.ejsurveying.com/csv_to_fbk.htm
You can also buy something like the Stringer utility.
Sinc