The algorithm looked something like this { but scribbled on a couple of sheets of A4 paper }
Test Global variable exists .. if so move along
else do we know the block name
if not, initialise { read ini file based on project }
test if the header block exists,
if so read the hidden attributes into a pairs list
convert the string values in the pair list into reals.
If anything fails, skip out and go home.
Depending on the block , returns something like this :
(("QTY" . 37.5) ("REMARK" . 128.5) ("MASS" . 191.5) ("LENGTH" . 121.5) ("DESC" . 42.5) ("TAG" . 15))
which are X ordinates for placing MText in columns in a material List