News:

Happy New Year!

Main Menu

"Reroute Never" ignored

Started by TwoBeAss, July 24, 2024, 10:16:06 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

wapperdude

Unless memory fails, historically, efforts to control dynamic connector behavior via shapesheet Geometry section are doomed to fail.  Even the concept of no reroute must be viewed with suspicion.

The dynamic connector is supported by embedded and foreboding code.  As such, it clobbers user defined entries.  If either end point, for example, moves, the code will change the connector route.  This can include adding or deleting rows, changing values within a row.  These 3 behaviors make "freezing" a connector difficult, and quite problematical to address via external code.  Needlesstosay, code behavior is not predictable.

What is meant by no re-route?  Presumably, that seems like Visio should not introduce any automatic  re-routing.  I've not seen that to be totally successful.  Not on a global level.  Even difficult on a individual connector basis.  What seems to work, as a work-around, is to use the 1D line tool.  Lines can be configured to provide all of the netlisting, reporting properties of a connector.  Placing and routing are more tedious.  But, the Visio embedded code is avoided.

Other solutions, such as Yacine's, tend to be more complex.

I believe John Goldsmith had an interesting alternative.  Rather than showing long, meandering continuous connection lines, he presents an option that merely shows beginning and ending stubbs with labels.  The long, in between stretch is invisible.  Certainly this results in less clutter.

That's my underlying experience.
Visio 2019 Pro

Yacine

#16
It is not really satisfactory, but playing with the parameters of the layout section in the page's shapesheet, I worked out some points.
  • LineAdjustFrom can be anything but 2 to avoid overlapping of connectors
  • LineAdjustFrom same but here it is the 1 to avoid. But that is for this drawing. Having tested with other layouts.
  • BlockSize and AvenueSize matter. Choose a reasonable value (1/10 of your shape size?)
  • Blocksize needs to be bigger than the expected width of connectors path
  • "Important": The direction of the connector matters. If they differ in direction, you'll not get them aligned neatly. It is closer to the start shape.

A trick: you can place "space-holder" - meaningless shapes, that force the connectors to route around.

So that is not really the end of the story, but the discoveries are still interesting.
Yacine

TwoBeAss

#17
I figured out that setting the cell DynamicsOff to True the behaviour of the dynamic connector is more like expected and my placement works.
Are there any other known side effects of setting this cell?

EDIT: OK, I see a big disadvantage. The Dynamic Connector will now act as a 1D line and there will be no segments generated when you change the path. So unfortunately not a solution...

EDIT2: I made another interesting discovery: If I trigger the reroute by moving a connected shape, then press ctrl+z for undo, the connector stays where it is placed...

ScreenRecord

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: 198 (show)
Files included: 32 - 1207KB. (show)
Memory used: 1047KB.
Tokens: post-login.
Cache hits: 13: 0.00201s for 26,598 bytes (show)
Cache misses: 2: (show)
Queries used: 16.

[Show Queries]