BB code in posts seems to be working again!
I haven't turned on every single tag, so please let me know if there are any that are used/needed but not activated.

Main Menu

Intelligent zoom - with unlimited levels

Started by Chr1sG, June 24, 2015, 01:07:42 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.


Something that I would find really amazing is the ability to zoom in and out of a Visio diagram in a way that the amount of information that is presented varies with the zoom level.
Imagine a Google Maps style zoom whereby the level of detail visible changes as the zoom level changes.
For example, I have a block diagram with a dozen items, on a top level, and each of the blocks is itself a diagram with a dozen blocks in it, and so on. I don't want the contents of the lower level blocks to be shown while I am zoomed out and looking at all blocks at the higher level.

I have been able to implement a basic effect using VBA, whereby items are assigned to layers and the layers are made visible/invisible depending upon the zoom level, but I am constrained by the limitations of shape and text sizing. That is to say that I need to have colossal arrowheads and size 100+ text at the top level, and small arrowheads and 6pt text at the lowest level...and even this still doesn't allow for all the levels of zoom that I'm hoping for.

As a workaround, I would be happy for the diagram to span pages (or even files), so that the top level is on one page, and each of the sub-blocks is on a linked page, etc.
I've found that I can achieve almost useful behaviour using cross-page hyperlinking, but the problem is that the top-level blocks and the corresponding sub-pages do not remain synchronised.
For example, if I have two wires going into connection points on a block on the top level, when I open the corresponding sub-page I want that page to indicate to me that there are two incoming connections. And if I change the lower level and add an incoming connection, when I go back to the top level, I can see a new connection point.
(For those of you familiar with Orcad, this is like the in- and out-ports on hierarchical blocks with sync up and sync down actions).
In a perfect world, the characteristics of the connections would propagate, so if I wired a connector on the top level that was on a particular layer, the lower level connection would have those layer properties.

Surely I am not the only one who would find this useful?


What a wonderful idea! Wished i'd have the time to help.

At least here are some thoughts.
1) Visio is a poor presentation tool. Because it is difficult to tweak the UI.
2) What's the problem with the big font sizes. Is there a limit?

Good luck, I'll keep observing this topic.


It's not so much that I want it as a presentation tool, I actually just want to draw some complex engineering system diagrams. There are times when I want to zoom out to get the 'bigger picture' (and I don't want to see lots of tiny unreadable text) and there are times when I want to zoom in on specific areas (and at that point the detail becomes important).

You're right, the limitations of text size isn't actually the problem, it is the zoom limits in Visio. As far as I can tell, I can't zoom out to less than 1% or zoom in to more than 1000%. From experience, it feels intutitive to get enhanced detail when the diagram is zoomed in by a factor of approx. 10. This means I can effectively never get more than 4 levels of detail (1%, 10%, 100% and 1000%).
This might be OK for some diagrams, but feels really limited now that we've all been spoiled with Google maps :-)

...and with things like arrow heads, even 'Colossal' size only really becomes visible at 10% zoom, so if the top level needs arrow heads, I have to start at 10% zoom, so I'm down to only three levels :-(

I think the page linking solution has more promise, so I guess that connection point synchronisation between pages is the best I can hope for.

Browser ID: smf (possibly_robot)
Templates: 4: index (default), Display (default), GenericControls (default), GenericControls (default).
Sub templates: 6: init, html_above, body_above, main, body_below, html_below.
Language files: 4: index+Modifications.english (default), Post.english (default), Editor.english (default), Drafts.english (default).
Style sheets: 4: index.css, attachments.css, jquery.sceditor.css, responsive.css.
Hooks called: 174 (show)
Files included: 34 - 1306KB. (show)
Memory used: 1055KB.
Tokens: post-login.
Cache hits: 13: 0.00137s for 26,767 bytes (show)
Cache misses: 2: (show)
Queries used: 16.

[Show Queries]