Read MOSS File

The points and strings are read from a MOSS GENIO format file into the current job. The default extension will be .CRD, .GEN or .MOS.

The program will convert:

MOSS does not have point numbers so the program automatically generates a point number for each point. It will read in the X, Y and optionally a Z value for each point. The point code is set to the string label (on the 080 record). The other point attributes will default to ‘ByLayer’.

Each 080 record in the MOSS file defines a single string. The program reads this and forms a string joining the created points. The MOSS string label is used for the string name. The strings use default line type, colour and thickness and are placed onto the default insert layer. They are set to be a string type ‘Un-annotated’. The other string attributes will default to ‘ByLayer’.

Layer/Code Translation
The user can provide a ‘Layer Translation’ file that can convert data being read from a MOSS file onto certain layers. It can also translate the codes. e.g. 'M001’ might be translated to TB01.

A point which is on a MOSS feature and has a matching string label and sub_code will be translated onto the specified layer with the specified code. Note that point contourability can be controlled with the Point_contourable=”N” option.

A string which is on a MOSS feature and has a matching string label and sub_code fields will be translated onto the specified layer with the specified code(written to string name), the specified string colour and the specified line style.

Points/strings on 80 cards are translated using two fields.

080PPG1                       0.0       0.0 3.0
   31977.815  293373.523      19.890   31652.748  293806.902      28.099
   31761.425  293662.018      25.661   31761.425  293662.018      25.661
       0.000       0.000

The String Label is in columns 4-7.This must match the moss ‘type’ field below.
The Sub Reference is in columns 8-11This must match the moss ‘code’ field below.
Thus in the first example below, the PPG1 will match the ‘PPG*’ and the blank sub reference will match the code=’*’.

A sample translation file is shown here.

<?xml version='1.0'?>
<!-- moss to ACSP translation file -->
    <!-- CONTROL -->
        <moss type="PPG*" code="*" Descr="Peg" />
        <ACSP Layer="PEG" />

        <moss type="M001" code="G001" Descr="Guess what" />
        <ACSP Layer="M001" String_Name="M001" Point_Code="G001" String_Type="Traverse" Point_contourable=”N” />
        <moss type="NB" code="" Descr="??" />
        <ACSP Layer="NB" String_Name="NB1" Point_Code="NB2" String_Type="Traverse" Colour="Green" />
        <moss type="RE" code="" Descr="??" />
        <ACSP Layer="RE" String_Name="RE1" Point_Code="RE2" String_Type="Traverse" Colour="Green" />
        <moss type="FO" code="" Descr="??" />
        <ACSP Layer="FO" String_Name="FO1" Point_Code="FO2" String_Type="Traverse" Colour="Green" />