All of my Visio solutions contain custom masters because this is the best way to create smart shapes that respond to user’s needs. This usually means creating Shape Data, User-defined Cells and Action rows that govern aspects of the shape with formulas designed to provide an efficient user interface. As a developer I sometimes forget that other users may not perform the same actions as I do, and can accidently undo all my intended behaviour. For example, in recent testing of a visual stream mapping system that I am working on, my carefully constructed master-shape relationship was being broken by grouping some of them together, thus changing their behavior and hiding them from some of the custom functions. The reason given was to that they want to create copies and this seemed like a reasonable way to do it. Now, I have known that this is bad ever since my original Visio developer training back in 1996, so I always avoid doing this, and erroneously thought that other would know this too. I was wrong to be so myopic, so I explored how I can best prevent this and other user actions that could break the intended master-shape relationship.
[Read more…] about Protecting the integrity of custom Visio mastersShapeSheet Formulas
Creating Boolean Context Menus in Visio
Over the many, many years that I have been creating Microsoft Visio solutions, I have had to create numerous right-mouse context menus for shapes to control their Shape Data values. Over that time, patterns emerge, so this article is highlighting three different appearances for simple Boolean values, otherwise known as True/False or Yes/No values, and even for tristate Yes/No/Maybe. In fact, Visio presents you with Boolean as one of the eight types of data available on the Define Shape Data dialog, but there is no UI for creating accompanying right-mouse context menus except for the ShapeSheet window. However, I will show that using a Fixed List type is often preferable to a simple Boolean type.

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 that is universally understood, and is repeatedly found in nature, yet it all boils down to a simple ratio of about 1.618 … and is related to the Fibonacci Numbers. Roger Penrose (re-)discovered shapes based on the Golden Ratio can be arranged aperiodically on an infinite canvas without a repeating pattern. These Penrose Tiling shapes were developed into two groups (P2 and P3) each with two shapes.
There are rules about the arrangement to ensure that they do not fall into a repeatable series. These rules can be followed by ensuring that the ends of the arcs within each shape meet each other. The shapes can be used to try to create an aperiodic pattern of an infinite size, and then a timer can randomly change the colours. It’s a little festive fun!
[Read more…] about A visual exploration of Penrose Tiling in VisioHow 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 VisualSignals), and together we examined the cause. It came down to a badly formed sub-shape within the shape that had zero dimension … and in fact had an incomplete ShapeSheet. If you look at the screenshot below, then you may notice that there is no Shape Transform section! That is a mandatory section, and should always exist … so how did this happen?

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 Basic Flowcharts Shapes stencil (see my other posts), this article is about using the hyperlinks available in both the desktop and browser editions of Visio. Fortunately, Visio desktop has the ability to create hyperlinks to a specific shape by selecting the page and entering the name of the target shape. This creation ability is not available in Visio for the web, but using the desktop created ones is!
[Read more…] about Jumping between Shapes in VisioFixing dimensions of 2D shapes
I am often asked what makes Visio unique and makes it stand out from the crowd, especially in today’s online world. Well, I think there are many reasons, but one of them is the ability to create scaled drawings with parametric components of specific dimensions. This was crucial for my adoption of Visio back in 1996 (see Chase Manhattan Bank – bVisual ), and since then I have created hundreds of dimensionally accurate catalogue components for use in scaled drawings for multiple manufacturers. Over the years, I have developed some patterns in ShapeSheet formulas that I re-use consistently. In this article I show the pattern that I use to provide a user with specific width and height dimensions that can be selected in any of three ways:
- Manual resize of the shape with the shape handles to only the specified sizes
- Selecting a dimension from the Shape Data panel
- Selecting a dimension from the right-mouse Actions context menu
All of these options are linked together so that editing the list of specific sizes are easy to maintain.
[Read more…] about Fixing dimensions of 2D shapes












