Place Connection Point at Dynamic location within parent coordinates

Started by celoranta, October 04, 2017, 04:16:57 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

celoranta


  • Shape A contains connection point CP
    Shape A is nested within Group/Shape B.
    Group/Shape B is dynamically sized
    Under certain conditions, CP must be relocated to coordinate (0,0) within Group/Shape B.


I have been playing with LOCTOPAR/LOCTOLOC/PAR, but I have not happened upon the answer. 
I should also note that there are actually many instances of "Shape A" style objects, each of which will independently need its connection point relocated under certain conditions.

Could someone assist?

wapperdude

Confused.  Connection point is part of shape A.  Shape B is the group shape that contains shape A.  As you resize shape B, the connection point moves with resizing of shape A, but you want the connection point to relocate to a specific location relative to point (0,0) of shape B?  Is this a fixed location, or do you also need / want the connection point to move with shape A?

wapperdude
Visio 2019 Pro

celoranta

Sorry to confuse.

I'm using a boolean function to place the connection point at one of two points as follows:

IF(X<1,<Pin Y of Connection point is located at 0.5*Height of Shape A>,<PinY of Connection point is located at 0*Height of Parent Shape/Group B>)

I've attached a drawing for clarity.

wapperdude

Oh, this is much different than I gathered from the original post.

What you are doing is reconnecting the connector?  That would be beyond the shapesheet.  If your goal is to merely shrink the right shape and hide the unused connections, that's do-able.  I've attached an old example.  Perhaps it will help.  I uses a slightly different approach, but same basic idea.  It was a prototype.  Only 6 max total connections. 

Wapperdude
Visio 2019 Pro

celoranta

Yes, I'm after the same effect. 
Note that I'm not having any trouble with the boolean aspect or the concept of changing the connection point's location based on the changing parameters.
I'm just trying to reference a (dynamic) point on the parent shape from within a child shape's shapesheet. 
I'd like to use this point as the CP when the child shape is collapsed.
(I could re-write it all to place the CPs on the parent shape, but I would rather avoid this if possible.)

wapperdude

Not sure I see the need to reference the parent location.  Seems like as the shape shrinks, ghouls just collapse the underlying sub shape to overlay the previous.  As the parent reduces the stack of subshapes increases, until you get to a minimum height of one, at which case all the subs are stacked underneath one another.  The connection points travel with the subshape.  No loctopar needed.

When you build the shape, the z-order is critical.  The subshapes should stack below the previous shape.  Well, not sure it really matters wrt to connection points, but worth considering. So, it you only have a single connection point showing, and hook a connector to it, then as you expand the shape, the connected spot stays put...maybe.

Anyway, that's how I would attack the problem.

Wapperdude

Ed:  The z-order seems to have no effect on connection points.

Visio 2019 Pro

celoranta

Thank you!
All I had to do was relocate the sub shapes to Height*0.
If I stare at something long enough, I can make it difficult.

Best,

Chris