Gluing shapes to other shapes

Started by Chuck Cook, September 10, 2017, 09:52:34 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Chuck Cook

I'm trying to create a basic shape set for smarter network diagrams, and I don't understand the behavior of the connection points.

Rather than attempting to resurrect an ancient thread (http://visguy.com/vgforum/index.php?topic=1897.0), I have started a new one.

I want to be able to glue simple shapes to other shapes, so that they move together. Changing the connector type to 2 (Inward/Outward) seemed to be the answer at first, but there seems to be a 'handedness' or dependency that is interfering. I can place a Switch, place a Physical Interface and glue it to a connection point on the switch, place a Host ID and glue it to the Physical Interface, and then glue a connector to that. It works perfectly — I can select the switch and move it around, and all of the glued objects follow it around.

But when I place a second Switch, the connection point on the right side of the Physical Interface will not glue to it. The connection point on the left side of the Physical Interface will glue to it, so that the Physical Interface is "inside" the Switch, but that's not what I want.

I can assemble the connection in reverse, gluing the second Host ID to the connector, gluing the Physical Interface to it, and then gluing the switch to that, but then the assembly moves with the Host ID shape! Moving the second Switch leaves all the other shapes behind. What the heck is the fix for this?

Croc

It seems that in Visio 2013 the shape can have only one connection point of the type Outward or Inward&Outward. The second same point does not work.
In contrast, in Visio 2007, the shape can have two Outward connection points.

Paul Herber

As this appears to be a Visio 2013 bug I shall move this thread into the Visio 2013 Issues discussions area.
Electronic and Electrical engineering, business and software stencils for Visio -

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

vojo

BTW...this is the same case in 2003:  Cant tie more than 1 shape to a shape.

I had played around with trying to do a "lego" set of shapes using connections...could not get it to work out.

Chuck Cook

Note that while this topic was moved to 'Visio 2013 Issues,' I am using 2016 — and based on replies to the original, I'm going to have to conclude that it's 'broken by design' and there's no way to force Visio to do what I'm trying to achieve.

I'd love alternative suggestions, if anyone has them.

Paul Herber

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

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

Croc

You can make two different shapes - right and left

wapperdude

A work around, and that's all this is, is to place a really small, intervening connector on he right side.  Lock it's size to almost zero length.  The connector will glue to 1st switch right-side, and 2nd switch will glue to the other end of the connector.

Haven't tried, but should work.
Wapperdude
Visio 2019 Pro

Chuck Cook

@Croc - Here's the bizarre thing, though: you can rotate the existing shape 180º, or reflect it horizontally, and the new 'right' side will refuse to glue! It's not right or left with respect to shape, it's with respect to the page itself, somehow.

@wapperdude - Tiny connectors will work at first, but what I really want to do is build an 'assembly' of network equipment with relevant interfaces and addresses, that will remain intact when it's moved around the page. If I build it with a connector, the interface and address objects will stay behind when I move the parent. I'm trying to maintain edibility of complex diagrams without requiring careful selection of dozens of objects and/or constant grouping and ungrouping. Is there a way to make a connector inelastic, so that it doesn't stretch, and will drag the connected objects along when either one is moved?

Chuck Cook

@vojo - A 'Lego' behavior is exactly what I want. Unfortunately, I seem to be fighting the basic underlying design assumptions of Visio.

wapperdude

That's why I said lock the length of the connector...set the initial length, open shape sheet, use guard fcn to lock the length.  That ought to force everything to track.

Another approach is to place all of your shapes where you want them and then group.

Wapperdude
Visio 2019 Pro

Croc

You can try it like this. (animated)

Chuck Cook

@wapperdude - Apologies for reading too quickly! But I don't see how to lock the length. I don't have a 'length' property on a connector, just endpoint X/Y. The 'Shape Transform' section already has GUARD() on width and height by default, but they don't seem to do anything useful.

@Croc - I will have to play with that when I get back from the data center; thank you!

Yacine

Hey, just found 2 cents to throw in the conversation.
Junichi has made chains of shapes in the past. I used his solution as well.
Yacine

wapperdude

#14
...and here's with "lego" behavior.  Drag the primary shape and everybody follows.

This was done in V2007.  Just normal connection points.  I did set the gluing to connection points only.  The primary shape has just Inward connection points.  The remaining shapes alternate Outward and In/Out, but each shape has only a single type of connection point.

Note, sometimes it was necessary to nudge the "attaching" shape a bit to get it to glue.

To build:  place primary shape first.  Next, attach shapes to it.  Then, attach shapes to each newly attached shape, etc, etc.  I think if you try to build a solid cube, you may have to eliminate some of the connection points as Visio does not like doing a single shape with multiple, concurrent gluing options. 

Wapperdude
Visio 2019 Pro