My good friend Scott Helmers, Visio author and trainer, of Harvard Computing Group , recently asked for some help in keeping data graphic items level when their target shape is rotated. Fortunately, I was able to assist, so I thought I would explain how this can be done, and also update my Icon Maker macro from a few years ago. The updated macro is available to download for free and includes the extra ability of sizing the icons. I chose to use some bee stickers from the Insert / Illustrations / Icons tool in Visio Plan 2, and the Status options from the Process shape in the Basic Flowchart Shapes stencil to demonstrate.

All I had to so was to associate a suitable bee with a Status value 🙂

The trick is to ensure that the graphic item is a group shape without any visible text or geometry, but must contain at least one line which is preferably horizontal. Then to have a User-Defined Cell, named, say, Angle with the following formula:
"=ANGLETOPAR(ANGLEALONGPATH(Geometry1.Path,1),Width,ThePage!PageWidth)"
This formula uses the ANGLEALONGPATH(…) function to get the angle of a specified geometry segment, then the ANGLETOPAR(…) function to get the angle relative to the page. See Visio ShapeSheet Functions A-C for more of an explanation of these functions.
Then the Angle cell in sub-shapes just need to reference the User.Angle cell of the top shape, but prefixed with a minus sign. The effect is that the icons will remain level to the page when the target shapes are rotated:
Simply run the bVisualIconSetMaker.IconSetMaker.MakeIconSetFromShapes macro in the bVisualIconSetMaker.vssm macro-enabled stencil to create a data graphic icon set from the selected shapes.
Creating a Dynamic connector master automatically
I have been creating Microsoft Visio solutions for 30 years now … my first was in 1996! I have been an advocate for custom Masters from the very start, every since I learnt how editing the Master can automatically update all of its instance shapes can be automatically updated throughout the document. Whenever you drag…
A visual exploration of Penrose Tiling in Visio
Maybe it is because I used to be a building architect, but I have always been fascinated by the relationship between numbers and visualisations. Perhaps the most famous one is the Golden Ratio which has been used as the basis of many building designs and art pieces. It is often recognised to create a harmony…
How SVG in Visio can cause a Shape.BoundingBox(…) error
I have used Visio’s Shape.BoundingBox(…) for many, many years and I cannot ever recall it failing, but I have now managed to create some shapes that cause it to error. This caused many hours of confusion, so I nearly abandoned using the method, until I discussed it with my fellow Visio MVP, John Goldsmith (see…
Post-Processing Paste from Clipboard in Visio
One of my current Visio VSTO add-in projects requires me to react to users pasting custom shapes in the Visio page from the clipboard. The process involves registering the ExitScope event and then checking the Clipboard contents. Initially, I was merely testing for a line in the DataObject that started with the word “Visio “,…
Are Master Shortcuts useful in Visio?
Many Visio users may not even understand the question, but this almost hidden feature has been available for many years. A Master Shortcut looks like a normal Master in a stencil, but it is merely holds a reference to another Master in a Stencil, not necessarily the same one, and has an option to add…
Jumping between Shapes in Visio
Many Visio diagrams get quite large, and sometimes it is useful to provide the ability to jump to another shape quickly in the same document, either on a different page or on the same one. Although there is an add-on provided in desktop Visio that is used by the Off-Page Reference shape provided in the…






Leave a Reply
You must be logged in to post a comment.