Dynamic connector with multiple independent labels

Started by tortoise, March 19, 2013, 05:17:35 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

tortoise

Hi,
I am trying hard to find how to create a connector that will allow me to do the following
1). Display several labels (at least 2, preferably 3)
2). All labels are editable
3). Labels can be positioned independently
4). The labels follow the connector if it moves or rotates
5). Works with Visio 2010 pro

The ideal solution would be to create more labels that behave exactly like the single built in label that can be positioned with the yellow dot.

The reason to want this is so when drawing network diagrams the end points can be labelled with information such as interface & ip address and that the labels will stay associated reasonably if the network nodes need to be moved to accommodate additional devices & connections.

I have been searching for an answer to this for some time & I have tried to follow various suggestions on line without success. The suggestions have either been too complex for me to understand or the resulting labels can't be edited or the labels do not follow the line well enough to be useful.

I have upgraded my Visio to 2010 pro specifically to try & get this to work.

Recently I have been looking at these posts & articles which seem relevant (perhaps)
http://visguy.com/vgforum/index.php?topic=4017.msg15689#msg15689
http://www.visguy.com/2010/02/09/text-along-a-connectors-path-in-microsoft-visio-2010/
http://visguy.com/vgforum/index.php?topic=1651.msg7116#msg7116
http://blogs.msdn.com/b/visio/archive/2007/03/23/where-s-my-text-control-handle.aspx
http://msdn.microsoft.com/en-us/library/office/aa200978(v=office.10).aspx
http://www.visguy.com/2009/05/06/top-twelve-text-tips/ (section 12)
http://office.microsoft.com/en-gb/visio-help/show-ip-addresses-and-other-information-on-your-visio-network-diagrams-HA010151543.aspx

Any pointers in the right direction would be most welcome please.
I am a noob so I may be missing the obvious.

Paul Herber

Please have a look at my http://www.sandrila.co.uk/visio-sdl/, download and install the msi file, in the System Agent stencil you will find a shape called Channel. This should do the job for you.

Paul (also in Hampshire).

Electronic and Electrical engineering, business and software stencils for Visio -

https://www.paulherber.co.uk/

tortoise

Hi Paul,
thanks for your super fast response.

I have found the shape called channel & I see it has 5 yellow dots, one with text in.
It looks as if it will be ideal once I work out how to add text to the other labels.

Thanks very much for your help. I am amazed that this functionality is not part of every connector as I have never seen a detailed network diagram that dosn't need it. (Most people just add text boxes & hope they dont drift off).

Thanks.

tortoise

I am wondering if I have got the wrong end of the stick.
I can't find a way to add more than one label to the connector called channel having spent 20 mins trying every menu option & every combination of clicking I can think of.

I see the yellow handles & I suspect they may control the placement of text, but I have no idea how to edit that text to insert it.

Paul Herber

Oo-er, I think I might have given you some bad advice, that channel shape relies on the addon that goes with and the Gate Name and Signal shapes as well.
Sorry.
Electronic and Electrical engineering, business and software stencils for Visio -

https://www.paulherber.co.uk/

tortoise

ok Paul, that explains it. I was wondering if I might be going senile.

I will resume my search & post it here if I manage to find an answer.

Thanks

Jumpy

The way to do it yourself, in short steps as I have little time and no visio at the moment:

- Create a horizontal line
- Group it
- The group is now 2D, make it 1D (=connector) again (Behaviour)
- Add labels / textboxes as needed to the group
- In ShapeSheet add yellow control points to the groupshape
- In ShapeSheet of each label place formula in PinX/Y that looks at one of the Controlpoints
- Give the group the same geometry section the initial horizontal line has
- Delete the horizontal line shape from Group
- In ShapeSheet of Group Set ObjectType to 2(?) for dynamic connector

tortoise

Hi,
Thanks for such great help Jumpy. I am amazed that you can remember all that without having Visio in front of you.


I have added more detail to help other noobs & attached a simple connector based on this with just one label.
I may have messed up somewhere as it is not all quite right yet.
I will update this thread with a better version later.


For Visio 2010 pro - enable the developer tab first

- Create a horizontal line [home tab - to the right of the pointer tool]
- Group it [on home tab]
- The group is now 2D, make it 1D (=connector) again (Behaviour) [in developer tab]
- Add labels / textboxes as needed to the group [home/text OR insert/textbox then home/add to group]
- In ShapeSheet add yellow control points to the groupshape [in tab "shape sheet tools design" insert section controls then selet new control in shapesheet & use insert row and move the yellow handles so they are where you want them]
- In ShapeSheet of each label place formula in PinX/Y that looks at one of the Controlpoints [e.g =Sheet.5!Controls.Row_1.XDyn]
- Give the group the same geometry section the initial horizontal line has [insert geometry section & copy values from line]
- Delete the horizontal line shape from Group [take care to select original line, not new group, then delete]
- In ShapeSheet of Group Set ObjectType to 2 for dynamic connector [in Miscellaneous - ObjType]


Many thanks.





tortoise

I have made a bit more progress with this today & managed to create a connector with two lables each with a handle, however when the connector is set to be curved then the handle moves at both ends which ever end of the connector is moved.

The built in handle/text does not do this & I am working to try & understand why. I suspect it is connected with the Text Transform details.

I also have another weirdness with the curved connector in that it gets more bend handles every time i bend it.

Any hints welcome please.

Jumpy

The built in label is controled by Visio in some built in mystery algorythm I'd guess.
What happes to your labes or to your control points depends on the formulas inserted there.

Graham Wideman uses in his book a technic with placing two connection points near the end of the connector. When the connector is moved or resized, Visio calculates the position of the connection points automatic new. This way you can use those connection points to anker your labels.

tortoise

Thanks for your help again Jumpy. I have tried to follow up the idea of using additional connection points, but I am now hopelessly out of my depth unfortunately.
It is frustrating that MS have implemented the built in label in a way that can't be copied. Perhaps they have used "...some built in mystery algorithm..." as they were unable to define it in the shape sheets either.

When I got my company to pay hundreds of pounds for me to upgrade to Visio 2010 pro I thought I would at last be able to draw network diagrams with it, I didn't dream how incredibly difficult it would be to create a connector with labels that behaves in a useful way.

It seems that a lot of people use diagraming tools to document what they already have laid out in their head, so the layout doesn't change that much during the construction of the diagram.  My brain doesn't work like that & I expect to add each device & connector one by one. This always leads to rearranging the diagram lots of times, which is why for me it is essential for the labels to move dynamically with the connector, but not get repositioned without need. (e.g. if the left end of the line changes then the right end label should not move).

If anyone is familiar with the now defunct NetViz product, its connector labels worked well.

I am beginning to suspect that a Visio solution is not practical or I guess I would have found some examples on line by now. I can tell from my research that this question has been asked plenty of times before so it would just seem that no one has managed to find a solution.

Thanks for listening to my ramblings.

Jumpy

#11
Maybe Al Edlund has some insights as he uses Visio for Network diagramming.

What I understand from your "ramblings" it would be helpful if a label would be positioned relative to the BeginX/Y or EndX/Y because BeginX doesn't change if you move the End of the line.

tortoise

I guess it needs to take some concideration of rotation of the line which is sort of "the other end moving"


Yacine

Had some time to play, so I put Jumpy's advice in a shape!
Yacine

tortoise

Wow,
you guys must be some sort of Visio gods.

I had pretty much convinced myself that this was impossible.
Unfortunately I won't get a chance to look at this properly until Monday but thanks ever so much your help here.

I suspect some of these connectors may go viral with millions of people downloading them ;)

thanks again.