Visio Guy

Visio Discussions => Shapes & Templates => Topic started by: VMey on October 24, 2014, 06:58:14 PM

Title: Stop direction of arc from auto-shifting or auto-switching
Post by: VMey on October 24, 2014, 06:58:14 PM
Hello,

There's some code or shapesheet formula that causes our arcs to decide for us whether they should be arcing over or arcing under.  This is frustrating when you've nicely positioned an arrow, using connection points between two shapes, and you want to move one shape.  See attached image as demo. 

I'm trying to get it to just reposition the endpoint and pivot at the origin point rather than force an inversion.

I've also attached the shape data and macro associated.
Title: Re: Stop direction of arc from auto-shifting or auto-switching
Post by: VMey on October 24, 2014, 06:59:16 PM
Adding macro data.  There was a 2 attachment restriction to original post
Title: Re: Stop direction of arc from auto-shifting or auto-switching
Post by: Yacine on October 24, 2014, 07:23:13 PM
Very interesting problem - I'll definitely take some time to check your uploads.
But beside the technical challenge, why don't you trust visio's capabilities to route properly the connectors?
Title: Re: Stop direction of arc from auto-shifting or auto-switching
Post by: vojo on October 26, 2014, 06:50:36 PM
BTW...you can always edit the curve, pick the control point of the arc and move as you wish / change the eccentricity of the arc as you as you wish.

Though I have never done this, you could take the arc shape....add some intelligence to it to set the arc control point / eccentricity

For example
    if endx > beginx, set control point NW of midpoint, set control point SE of midpoint
Title: Re: Stop direction of arc from auto-shifting or auto-switching
Post by: Yacine on October 26, 2014, 07:42:28 PM
I haven't really been through your code yet, but from the image uploaded, I think I can recognise that the connection points are not properly formated.
Set the directionX and -Y to proper values to get the connectors route outward.