Odd title I know, allow me to explain...
I have a current work project which should ultimately move to our clients ProjectWise server however until then we have our Drawings & Model files stored in a Windows Server Environment. A feature I do like about ProjectWise is that the client has a description column which gives the user a decent explanation about what a file contains. Typically this what our users use to identify which file gets opened not the filename which is somewhat cryptic due to the projects file-naming convention. I recently discovered that the ActiveDesignFile Title/Subject/Comments properties are visible from within windows explorer so as temporary measure to improve file identification, I intend to use these file properties to store equivalent the meta data values of Description/Revision/Version that the files would have if hosted on PW.
The tasks which I need to tackle programatically are:
Within Model files:
- Setting ActiveDesignFile Title/Subject/Comments values.
- Setting the Model's Ref Logical value to match the ActiveDesignFile.Title value.
- Iterate through all reference attachments and ensure the Ref Logical value matches the value set in its DGN file Model Properties.*
Within Drawing files:
- Setting ActiveDesignFile Title/Subject/Comments values.
- Iterate through all reference attachments in the sheet model and ensure the Ref Logical value matches the value set in its DGN file Model Properties*
*One issue I have encountered in the past (and this also happens with DGN files stored on ProjectWise) is that if a DGN is used as a reference attachment, its logical name will initially be set to whatever value is set in its Model Properties/Ref Logical field however, this can be changed via the attachment settings in the reference manager or it can be changed in the DGN itself and there is no built-in method/utility of synchronizing them (at least I don't know of any). Ensuring they are the same is a project CAD standard requirement.
In order to achieve this I believe I need data source which will contain the all the Model and Drawing file names, and their equivalent Title/Subject/Comments values. Using this I intend to initially assign the values to all the files but also periodically process all the files to ensure correct synchronization of the values (a bit like the standards checker).
After creating a few MVBA projects using excel spreadsheets, I am confident I can write a MVBA which can do all of the above though dealing with excel has its issues and though straightforward, it feels a bit flimsy. I'm looking for opinions on if there is any merit in using a database to store/manipulate the information instead (however I have never used a database before let alone used one with MicroStation...)?