Hi Roger,
You have brought to light a significant issue: In general, the macros that have been added to ORM2_Draw2 depend, for their functioning, on having the (macro's) current version of the object-type / fact-type shapes to work on.
That being the issue, it really is useless to try to bring the new macros to the shapes. The shapes themselves must be updated, before the macros can do their stuff.
What we need, then, is a template, and macro, that can update all the fact type and object type shapes that are copied into a document of that type. That would suffice to allow use of the latest macros, on earlier-version models.
Attached you will find a first stab at the required solution. Here's how to do a test-drive:
0. Copy this template-file into whatever folder you wish, that Visio knows is a place to find templates.
1. Open a Visio document of that solution-type ("ORM2_Draw2v20 (US grid-units) - FTsAndOTs--AutoUpgrade - TestDrive").
2, Copy-and-paste into this document, whatever ORM2_Draw2 (version whatever, or hodge-podge version) model you wish to upgrade; this can be single-page or multi-page.
3. In this document, run the macro titled "UpdateObjAndFactTypeShapes".
(In Visio 2010, just go to Alt + F8, and select this macro for running...
in Visio 2007 or earlier, better to go to the menu: Tools --> Macro (or Macros) --> ThisDocument --> UpdateObjAndFactTypeShapes.)
4. If the macro runs to completion, you'll get a popup message announcing this.
You might notice, after it runs, connectors which appear to be disconnected from the object type to which they should be connected. This is probably a display issue easily fixable: just select all (Ctl + A) and hit any arrow key (left, right, up, or down) once. The connectors should then appear connected.
Another glitch I've noticed in the resulting display, but have not been able to repeat, is nested entity types whose nested fact types don't appear. If you experience this, see if you can repeat it.
Let me know how it works for you. Let me know of any problems. Thanks Roger, and
Merry Christmas,
Andy