Rotating/flipping curved connectors

Started by YossiD, December 29, 2022, 01:27:11 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

YossiD

I am making a diagram using curved connectors. For aesthetics I want to use the same connector flipped as well, but when I flip it the shape changes (see attached). It appears that the control points are not moving relative to the connector's path. Any ideas how to fix that?

And as a related question, is there a way to create a curved connector (or curved line for that matter) that is symmetric, with the same curves at both ends?

TIA

wapperdude

#1
My recommendation... Don't do it.

I have never had consistent, repeatable success flipping connectors.  I've tried all the routing / non-routing options.  Disabling auto-routing,   gluing to shapes,, grouping, whatever. 

Use the line tool instead of the connector.

Edit:  corrected autocorrect errors.  WAP
Visio 2019 Pro

YossiD

Bummer. Not that I expected much.

Thanks for the reply.

Anyone else?

Yacine

#3

Wapperdude is right. Don't do it.
... but ...  :o , I happen to be working on a very similar topic. Why? Because Christmas holidays  ;) 


First of all, I'm not using connectors because Visio would mess every adjustment you make to your curve.
I chose to use NURBS and as Visio's editing tools are very bad, the next decision was to re-create them.


When I say bad tools, I mean mainly there are no handles to move the orientation or the weight of nodes.
And the documentation is crappy. No explanation about what a knot is, parameters difficult to understand ,...


Luckily, the ends of the nurbs have propper handles and as long as you set the preceding parameters right you can access them.
=GUARD(NURBS(1,3,1,1,Controls.Row_1,Controls.Row_1.Y,0,1,Controls.Row_2,Controls.Row_2.Y,0,1))
Now you can chain several small nurbs to create complex curves.


In a first attempt I made a shape relying on control points. Nice and it works, but it requires macros to build the shape up. So I did not pursue this path.


Second attempt: sub-shapes.
Here the handles are lines embedded in a group shape.
The curves themselves are also sub-shapes.
The group shape has a switch to put it either in editing mode, where the handles are visible, or in non editing to view only the curves.
The advantage is that you can replicate them to get more nodes. No macros involved.
Additional advantage: by means of code you can easily access them to make all kind of operations (distributing them evenly or along a curve, ...)
You can also glue several curves to a same starting point so as to get radial arrangements.
Endless possibilities as you see.


Since 2-3 days I'm stuck. The dependencies between the subshapes are created dynamically by means of setf/getref functions. I tell a shape which other shape to follow by writing its ID in an according prop field.
Now if I duplicate the group shape, all dependencies would be lost. .... I thought about using the event-dropped field to re-wire the sub-shapes. But I haven't got my mind around it yet.


I include in your drawing the 2 stubs that I have made so far. You (and anyone else in the forum) are very welcome to contribute.
Sorry for the little, but that's where I am now and I didn't want to let your post unanswered.


Cheers,
Y.
Yacine

Yacine

PS: Here's an alternative way that came in my mind after having read more carefully Wapperdude's answer.
Using lines. I used this technique to draw sankey diagrams and it relies heavily on macros.

Here you use a connector which you have previously converted into a group.
After editing the connector, you trigger a macro that will make a copy of the connector, trim it and finally insert it into the group.
Why so complicated? Because you can modify the so created curve as you like (parallel curves for instance)
The main connector is switched on or off depending on whether you're in editing mode or not.
The sub-shape will always be replaced by the newer created one.

Complicated, I know.
Yacine