Client

Orbital, Inc., NASA Space Shuttle Division.

Challenge

My client, Orbital, was manually entering data into a machine that builds computer circuit boards. The data for this input was created by a CAD system and put on a floppy disk, printed, and used as a data input document. This took from 1-3 hours to input correctly, troubled by the fact that it was tedious, technically oriented, and prone to human data entry errors. These machines were capable of reading the data from a floppy, but the CAD system could not export the data in the desired record layout.

The shop manager needed a low-cost, fast, reliable, and simple-to-use way to more accurately enter the data into these circuit board machines while greatly reducing the time / expense of entering this data. All of this would also allow increased production output.

Solution

Use TextPipe. There were two major issues: 1. Had to have, at the top of the circuit board machine's input (TextPipe output) file, a count value of the number of input records. 2. Had to remove and change order of columns, deleting rows not needed by the circuit board machine.

Process

The first thing done was to remove the rows in the file that the circuit board machine did not need. I used 'Select Line not matching' inverse grep. Next, it got a little more interesting. Since the CAD file was text with spaces between the fields in each row, and I had to rearrange the column order, I had to convert the rows to a CSV (comma-separate) format. I then deleted the columns that were not needed. Finally, I used a 'Select CSV Fields' match with a 'Pattern Match' sub-match that rearranged the order of the columns.

To handle the requirement of having a count value as the first entry in the filtered file, I used a VB script to keep track of the rows as I processed them, and then as my last step before outputting the data, I wrote out the count value and then sorted the records…the value jumped to the top (after the header information, of course).