Why are *.~gt files generated and what do they do?



I've noticed that there are sometimes *.~gt files in the same location as my GenerativeComponents *.dgn files, but it's not clear what purpose they serve.  Can I use them as some type of backup if GenerativeComponents were to crash?


GeneratveComponents creates a new *.~gt file (or overwrites an existing one) whenever a GenerativeComponents model is changed in any way or the current transaction list is modified. This file, created within the same folder as the *.dgn file and matching the *.dgn file name, contains a copy of the transaction list as though you had manually saved a *.gct file.  When GenerativeComponents exits normally it will delete that *.~gt file.  So the existence of a *.~gt file indicates that either GenerativeComponents is currently running or that it had crashed. The absence of a *.~gt file indicates that GenerativeComponents exited normally (unless of course the *.~gt file was otherwise deleted).

So, if a crash were to occur, the *.~gt will contain a preservation of the last known good state of that files' transaction list.  At that point you can manually rename *.~gt to *.gct and load the file into GenerativeComponents just as you would any other *.gct file.

Note: If you do experience a crash, the next time GenerativeComponents is opened with that same *.dgn file it will detect that there is a corresponding *.~gt file and will attempt to load it with an appropriate warning dialog.  So it's important to remember that if you re-open the *.dgn file and choose an option other than to recover the transactions when presented with this dialog, GenerativeComponents will erase the *.~gt file the next time it exits normally and no further recovery will be possible.

 Original Author:Steve Cocchi