Preventing Visio from merging connector paths

D

Dan Deibler

I have experimented and searched to the extent of my abilities and my
patience and have found no answer to nor even a mention of this issue.

When creating connections between shapes, Visio will merge similar paths by
default. See the simple example below. ('O's are shapes)

Formatted as it looks in this window:
O┠O ┌O
├──┤
O┘ O └O

Formatted for pasting into Notepad (guaranteed to have correct spacing):
O┠O ┌O
├───┤
O┘ O └O

The problem is that I have no idea by looking at it, which 'O' is supposed
to be connected to which other 'O'. I can solve this by manually separating
the connectors. However, if there are going to be hundreds or more
connectors, an excessive amount of time would be spent manually rerouting
connectors, and the end result is unlikely to look as presentable as it would
if Visio had found optimal independent paths for all of the connectors.

Surely the developers of Visio knew that many documents will require the
ability to determine which shape is connected to which other shape by looking
at it. So, how can I prevent Visio from combining similar connector paths by
default?
 
D

Dan Deibler

Apparently this forum trims leading spaces, so none of the sketches turned
out right and I don't immediately see a way to edit my post, so here is a new
version of my little example that should appear properly aligned in Notepad.

#O┠O ┌O
# ├───┤
#O┘ O └O



And this one may appear correctly aligned in the forum:

#O┠O ┌O
# ├───┤
#O┘ O └O
 
P

Paul Herber

Apparently this forum trims leading spaces, so none of the sketches turned
out right and I don't immediately see a way to edit my post, so here is a new
version of my little example that should appear properly aligned in Notepad.

#O? O ?O
# ?????
#O? O ?O



And this one may appear correctly aligned in the forum:

#O? O ?O
# ?????
#O? O ?O

To many people both of these will appear as gibberish.
Can you save the appropriate part of your Visio diagram as an image
file and put it on a web page?
 
D

Dan Deibler

Since I'm having so much fun replying to my own post, I figured I'd do it
again.
I want to clarify what I'm asking. Visio doesn't really "merge connectors
with similar paths" by default. It just seems to because of default snapping
options. What it doesn't do by default is prevent paths from ending up
visibly merged. In other words, by default there is nothing preventing
connectors from routing colinearly, making connections ambiguous. What I am
trying to find out is how to prevent Visio from allowing separate paths to
route colinearly when they are drawn, or at least an option to fix (separate)
any colinear lines after they have already been drawn (a "Reset
Connectors"-like feature) without having to manually reroute hundreds of
connectors.

This seems like an important function for Visio to be able to perform since,
really the most significant (e.g. useful) difference between Visio and the
built-in Drawing functionality of Word or any other Office program is the
ability for connectors to automatically route, saving time when creating
diagrams/flowcharts. That purpose is somewhat defeated when you have to
manually reroute the connectors anyway, because multiple connectors end up
traveling on top of each other.
 
A

AlEdlund

A couple of thoughts. The first simple question of using text to draw a diagram is a font issue, using a 'courier' font will usually fix it. The second one of the lines overlaying in the drawing you might try file > page setup > layout and routing > separate > all lines, and see if that helps.
al
 
D

Dan Deibler

The example was kind of pointless. My question is simply how to make Visio
prevent connectors from being routed colinearly, making it impossible to
determine what is connected to what without manually rerouting each
occurrence of this (and God forbid you miss one of the colinear paths until
all you have with you is a printed copy). I can't show you any of my actual
documents that have this problem, but I made an example that just illustrates
the problem. The example is meaningless and doesn't represent any diagram you
would actually draw, but it contains many instances of connectors being
routed colinearly and illustrates why this is a problem.
To create the example, I created a new Visio document (Basic Flowchart,
Metric) with default settings and plopped 6 random "Process" (e.g. rectangle)
shapes down haphazardly and drew random connections between them with the
connector tool. This is how Visio routed the connectors by default:

http://i38.tinypic.com/wtzhxg.jpg

The problem is obvious. Looking at this diagram, there are many ambiguous
connections. Many connectors were routed colinearly making it impossible to
determine, in some instances, which shapes are connected in what way. Once
two lines (visibly) merge, there's no way to know which is which when they
separate again.

For instance, take the line coming out of the left side of process A:

http://i34.tinypic.com/2cqzfid.jpg

Where does it end? Does it terminate on the right side of process B? The
right side of process D? The bottom of process D? The right side of process
G? The left side of process G? Nondirectionally at the bottom of process G?
Nondirectionally at the bottom of process H? Nondirectionally at the top of
process B?
There are visibly 8 possible ends to the connector. Visio didn't do anything
to prevent the paths for these connectors from becoming colinear, and without
manually rerouting each path, there is no way to be sure what connections
exist by looking at the diagram.

To make this example possible to read for whatever its purpose would have
been, I had to perform dozens of path point drags to get all of the paths
separate from each other.

http://i37.tinypic.com/2psrl6w.jpg

It took me longer to reroute these paths than to create the diagram in the
first place. Even then, the result is less than optimal, though it is now
finally possible to determine what is connected to what.

Visio's automatic connector routing made them colinear originally, defeating
the purpose of automatic routing (to optimize readability and to save time).
I had to manually reroute almost every connector in the diagram to get them
separated (again, defeating the purpose of automatic connector routing). If I
had overlooked one of the colinear paths, printed the diagram, and given it
to someone to use, only for them to discover it later when they were using
the printed copy to determine some connection, they would have no way of
knowing which of the colinear connectors was which. God forbid this were some
sort of electrical or networking diagram. My technician could mistakenly fry
some piece of equipment or pipe a secret network onto the Internet. Now the
example I created was an extreme case, but that actually helped in a way. If
there had only been one colinear pair of connectors, it would have been easy
to overlook.

Surely the developers thought of the obvious problem of connectors becoming
ambiguous. In fact, the inclusion of automatic line jumps is proof that they
were aware of the need for the user to be able to distinguish connectors.

So, my question is, how can I make Visio not allow connectors to be routed
colinearly? (without having to manually find and reroute any colinear
connectors later (If I wanted to manually route connectors, I wouldn't have
paid for Visio. I would have just used Drawing in Word.))
 
D

Dan Deibler

Indeed it does, AlEdlund. Thank you! You are a life-saver!
.....Wait...No. Visio has tricked me. It separated *most* of the lines, which
again, is almost worse than not doing it at all. If I think Visio is
separating the lines for me, I'm likely to overlook instances where it fails
to do it, as I just did. Had I not been specifically checking to see that it
separated the lines, I would have almost surely overlooked the quandary that
still exists between G and H.

Example (meaningless) diagram before:
http://i38.tinypic.com/wtzhxg.jpg

After selecting file > page setup > layout and routing > separate > all
lines (which should /really/ be put somewhere more logical, and should not
have to be applied to the entire drawing):
http://i35.tinypic.com/330ff40.jpg

There is still no way to tell for certain where the connector coming out of
the right side of G ends, or the connector coming out of the left side of H,
the bottom of B, the bottom of A, the top of C, or the top of D. With most of
these, a bit of logical reasoning can suggest what the likely connections
are, but they are still colinear so you still cannot be certain (remember the
potential consequences that resulted from my hypothetical electrician and
network technician making assumptions about the diagram).
 
D

Dan Deibler

I also tried changing Overlap to "No Lines" with Separate set to "All Lines"
but it had no effect. Then, to be thorough, I tried all 16 possible
combinations of Separate and Overlap, none of which succeeded in separating
all of the connectors. None of them produced results better than Overlap "No
Lines" with Separate "All Lines". It is certainly possible to easily separate
these lines (I did it manually a few posts up), so it is not an issue of
inseparable connectors.
 
D

Dan Deibler

I'm prepared to finally call this a bug. I can now confidently state from my
personal observations, that Microsoft Office Visio Professional 2003
(11.3216.5606) fails, in some cases, to produce the expected outcome, as
described in its documentation, for the case where "Separate" is set to "All
Lines" and "Overlap" is set to "No Lines" in the "Routing" section of the
"Layout and Routing" tab of the "Page Setup" dialog accessed from the "File"
menu.

Can anyone direct me to bug reporting? I'll do a search for it but I'm not
going to get my hopes up that it is easy to find.
 
W

WapperDude

Well, you are correct, Visio doesn't do a good job of keeping the connectors
from overlapping. Not like, say, a schematic capture program with a lot of
extra "intelligence" in it's rubber banding. And it gets worse.

Let's say, you actually went in and moved the connectors so they don't
overlap, including adding extra jogs. Don't ever rotate that diagram! Also,
beware of stretching and shrinking. It's amazing how quickly those line jump
back to the Visio preferred positions!

In my opinion, the dynamic connector arena needs some serious coding upgrades.
 
D

Dan Deibler

I agree that the implementation of dynamic connectors in Visio needs some
serious rethinking. For me, the dynamic connectors are the only useful
feature that sets Visio apart from the built-in Drawing features in other
Office apps like Word. I can honestly say I could have coded them better than
their current implementation. In fact, I'm thinking about coding a macro in
VBA to route the connectors neatly and properly. The only thing stopping me
at the moment is the lack of value I would get from the time I would have to
put into it. I've only played around with VBA's access to connectors and
whatnot on Visio documents and from what I've seen, a VBA programmer will
have his hands full trying to manipulate these connectors' paths.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top