Set the number of connection points on shape perimeter

P

Paul

I thought I had a solution to dragging a shape around and having the
interconnect points intelligently shift around the shape perimeter
[see thread "What drawing package to manipulate graph (nodes &
edges)"]. However, the course number of contact points and the
unknown algorithm that determines how the switch among them sometimes
causes lines radiating from a shape to cross each other. I figure
that this can be minimized by having a large (user settable) number of
connection points around the shape perimeter. I suspect that the
answer is no, but what the heck -- is there a way to automatically
have all the shapes set to have a user-specified number of connection
points on its perimeter, preferrably equidistant or maybe even equi-
angle separation?

Further to that, if a dense diagrams as lots of shapes and
interconnections, is there a way to maintain these connections when
the shapes are (en mass) being changed to the user-specified number of
connection points? (Does it make a difference whether the
interconnects are drawn lines that are "glued to shape geometry"
versus bonafied interconnections?)

Thanks.
 
W

WapperDude

Hi Paul --
You certainly are persistent, and have thought of some creative solutions.
Aside from Visio, have you encountered any program that exhibits this
behavior? It's not something that I recall ever encountering.

So, if I understand what you're after it might be stated this as: as a
shape is dragged about, the connecting link(s) between it and any other
shape(s) should move about the perimeter to maintain closest edge to edge
connection sides. The connection point is the dynamic intersection of that
side and the connecting link. The need to recognize the shape edge is such
that the arrowhead is visible and terminates at the shape. It's sort of a
dynamic shape union opertion. That I believe would take some special
programming. It's an interesting problem and ought to be solveable.

Anyway, I'm curious if you've seen any "other world" solutions.

Wapperdude
 
V

vojo

you might be able to spoof this. Take the shape you are interested in (get
rid of all connection points), place a circle behind it and place a
connection point in the center. Group the shapes. Make sure the
connections enabled in the group shapesheet (something like "is snaptarget"
is the cell).

With this....connect up other shapes to the connection point in the circle
(may need multiples around in the circle for multiple connections). set the
connector line to back.

Now as you move the group around, the connection line "appears" to move
around the peripheral of the shape of interest.

The dude out of japan wiht the isometric shapes has some tremendously great
connection lines to see some sophisticated connection lines.

WapperDude said:
Hi Paul --
You certainly are persistent, and have thought of some creative solutions.
Aside from Visio, have you encountered any program that exhibits this
behavior? It's not something that I recall ever encountering.

So, if I understand what you're after it might be stated this as: as a
shape is dragged about, the connecting link(s) between it and any other
shape(s) should move about the perimeter to maintain closest edge to edge
connection sides. The connection point is the dynamic intersection of that
side and the connecting link. The need to recognize the shape edge is such
that the arrowhead is visible and terminates at the shape. It's sort of a
dynamic shape union opertion. That I believe would take some special
programming. It's an interesting problem and ought to be solveable.

Anyway, I'm curious if you've seen any "other world" solutions.

Wapperdude




Paul said:
I thought I had a solution to dragging a shape around and having the
interconnect points intelligently shift around the shape perimeter
[see thread "What drawing package to manipulate graph (nodes &
edges)"]. However, the course number of contact points and the
unknown algorithm that determines how the switch among them sometimes
causes lines radiating from a shape to cross each other. I figure
that this can be minimized by having a large (user settable) number of
connection points around the shape perimeter. I suspect that the
answer is no, but what the heck -- is there a way to automatically
have all the shapes set to have a user-specified number of connection
points on its perimeter, preferrably equidistant or maybe even equi-
angle separation?

Further to that, if a dense diagrams as lots of shapes and
interconnections, is there a way to maintain these connections when
the shapes are (en mass) being changed to the user-specified number of
connection points? (Does it make a difference whether the
interconnects are drawn lines that are "glued to shape geometry"
versus bonafied interconnections?)

Thanks.
 
P

Paul

Persistence comes from the constant reminder that I have to push
around shapes and arrow heads manually. Each time a push a shape with
N connections, I also have to adjust 2N arrowheads. Painful.

Your description of the functionality I'm seeking is mostly accurate.
When you describe the connections as "closest edge to edge connection
sides", it's better to say that a (straight) connection contacts two
shapes at their perimeters, at points that are closest to each other.
The avoids the notion of sides, which may be confusing when talking
about an oval. In fact, most of my shapes are ovals.

I haven't encountered a tool that will do this. It is desirable to do
this in visio because of the many other diagrams also needed to be
drawn.

Hi Paul --
You certainly are persistent, and have thought of some creative solutions. 
Aside from Visio, have you encountered any program that exhibits this
behavior?  It's not something that I recall ever encountering.  

So, if I understand what you're after it might be stated this as:  as a
shape is dragged about, the connecting link(s) between it and any other
shape(s) should move about the perimeter to maintain closest edge to edge
connection sides.  The connection point is the dynamic intersection of that
side and the connecting link.  The need to recognize the shape edge is such
that the arrowhead is visible and terminates at the shape.  It's sort ofa
dynamic shape union opertion.  That I believe would take some special
programming.  It's an interesting problem and ought to be solveable.

Anyway, I'm curious if you've seen any "other world" solutions.  

Wapperdude



Paul said:
I thought I had a solution to dragging a shape around and having the
interconnect points intelligently shift around the shape perimeter
[see thread "What drawing package to manipulate graph (nodes &
edges)"].  However, the course number of contact points and the
unknown algorithm that determines how the switch among them sometimes
causes lines radiating from a shape to cross each other.  I figure
that this can be minimized by having a large (user settable) number of
connection points around the shape perimeter.  I suspect that the
answer is no, but what the heck -- is there a way to automatically
have all the shapes set to have a user-specified number of connection
points on its perimeter, preferrably equidistant or maybe even equi-
angle separation?
Further to that, if a dense diagrams as lots of shapes and
interconnections, is there a way to maintain these connections when
the shapes are (en mass) being changed to the user-specified number of
connection points?  (Does it make a difference whether the
interconnects are drawn lines that are "glued to shape geometry"
versus bonafied interconnections?)
Thanks.- Hide quoted text -

- Show quoted text -
 
P

Paul

Oh, I forgot to add that the arrow heads must terminate on the shape
perimeter, not inside the shape. This avoids obscuring the text
inside the shape.

Persistence comes from the constant reminder that I have to push
around shapes and arrow heads manually.  Each time a push a shape with
N connections, I also have to adjust 2N arrowheads.  Painful.

Your description of the functionality I'm seeking is mostly accurate.
When you describe the connections as "closest edge to edge connection
sides", it's better to say that a (straight) connection contacts two
shapes at their perimeters, at points that are closest to each other.
The avoids the notion of sides, which may be confusing when talking
about an oval.  In fact, most of my shapes are ovals.

I haven't encountered a tool that will do this.  It is desirable to do
this in visio because of the many other diagrams also needed to be
drawn.

Hi Paul --
You certainly are persistent, and have thought of some creative solutions.  
Aside from Visio, have you encountered any program that exhibits this
behavior?  It's not something that I recall ever encountering.  
So, if I understand what you're after it might be stated this as:  as a
shape is dragged about, the connecting link(s) between it and any other
shape(s) should move about the perimeter to maintain closest edge to edge
connection sides.  The connection point is the dynamic intersection ofthat
side and the connecting link.  The need to recognize the shape edge issuch
that the arrowhead is visible and terminates at the shape.  It's sort of a
dynamic shape union opertion.  That I believe would take some special
programming.  It's an interesting problem and ought to be solveable.
Anyway, I'm curious if you've seen any "other world" solutions.  
Wapperdude

Paul said:
I thought I had a solution to dragging a shape around and having the
interconnect points intelligently shift around the shape perimeter
[see thread "What drawing package to manipulate graph (nodes &
edges)"].  However, the course number of contact points and the
unknown algorithm that determines how the switch among them sometimes
causes lines radiating from a shape to cross each other.  I figure
that this can be minimized by having a large (user settable) number of
connection points around the shape perimeter.  I suspect that the
answer is no, but what the heck -- is there a way to automatically
have all the shapes set to have a user-specified number of connection
points on its perimeter, preferrably equidistant or maybe even equi-
angle separation?
Further to that, if a dense diagrams as lots of shapes and
interconnections, is there a way to maintain these connections when
the shapes are (en mass) being changed to the user-specified number of
connection points?  (Does it make a difference whether the
interconnects are drawn lines that are "glued to shape geometry"
versus bonafied interconnections?)
Thanks
 
P

Paul

I agree with the idea that motivated your suggestion. I ran into a
few snags when trying to flesh it out, however. Specifically,
arrowheads must terminate on the shaper perimeter, not at the centre.
I even tried without arrowheads, but there was too much confusion
about whether lines contacted a shape or merely passed underneath.

Did I understand your idea correctly?

you might be able to spoof this.    Take the shape you are interested in (get
rid of all connection points), place a circle behind it and place a
connection point in the center.   Group the shapes.  Make sure the
connections enabled in the group shapesheet (something like "is snaptarget"
is the cell).

With this....connect up other shapes to the connection point in the circle
(may need multiples around in the circle for multiple connections).   set the
connector line to back.

Now as you move the group around, the connection line "appears" to move
around the peripheral of the shape of interest.

The dude out of japan wiht the isometric shapes has some tremendously great
connection lines to see some sophisticated connection lines.



WapperDude said:
Hi Paul --
You certainly are persistent, and have thought of some creative solutions.  
Aside from Visio, have you encountered any program that exhibits this
behavior?  It's not something that I recall ever encountering.  
So, if I understand what you're after it might be stated this as:  as a
shape is dragged about, the connecting link(s) between it and any other
shape(s) should move about the perimeter to maintain closest edge to edge
connection sides.  The connection point is the dynamic intersection ofthat
side and the connecting link.  The need to recognize the shape edge issuch
that the arrowhead is visible and terminates at the shape.  It's sort of a
dynamic shape union opertion.  That I believe would take some special
programming.  It's an interesting problem and ought to be solveable.
Anyway, I'm curious if you've seen any "other world" solutions.  
Wapperdude

I thought I had a solution to dragging a shape around and having the
interconnect points intelligently shift around the shape perimeter
[see thread "What drawing package to manipulate graph (nodes &
edges)"].  However, the course number of contact points and the
unknown algorithm that determines how the switch among them sometimes
causes lines radiating from a shape to cross each other.  I figure
that this can be minimized by having a large (user settable) number of
connection points around the shape perimeter.  I suspect that the
answer is no, but what the heck -- is there a way to automatically
have all the shapes set to have a user-specified number of connection
points on its perimeter, preferrably equidistant or maybe even equi-
angle separation?
Further to that, if a dense diagrams as lots of shapes and
interconnections, is there a way to maintain these connections when
the shapes are (en mass) being changed to the user-specified number of
connection points?  (Does it make a difference whether the
interconnects are drawn lines that are "glued to shape geometry"
versus bonafied interconnections?)
Thanks.- Hide quoted text -

- Show quoted text -
 
V

vojo

arrow heads will not obscure text.
Fair enough that you want arrow heads at perimeter...but my idea would not
obscure text.

if the desired shape is uniform (X=Y), you could look placing the arrow
heads in the middle of the connection (fairly complex...but could do it).

of course you could do the opposite:

group the shape you want and the circle. Place a connection line
terminating on the circle. control other end position by a control point.
Place arrow head at the outer end and inversed (special connector...need to
look at defining user defined line terminators).

So when shape is place, use the controls to move the connector around to
where you want it. Use a second connector from some other desired shape to
attach to first connector. Now when either desired shape moves, the 2
connector lines can move (probably need an action button to disable control
points when ready).

June the seconds isometric connectors do this but on isometric coordinates...
connect up 2 and have other ends of each connected to shapes...move shapes,
both connectors recalc and line up as appropriate. You may want to download
his stencils...he did some real sophisticated stuff with them.


Paul said:
Oh, I forgot to add that the arrow heads must terminate on the shape
perimeter, not inside the shape. This avoids obscuring the text
inside the shape.

Persistence comes from the constant reminder that I have to push
around shapes and arrow heads manually. Each time a push a shape with
N connections, I also have to adjust 2N arrowheads. Painful.

Your description of the functionality I'm seeking is mostly accurate.
When you describe the connections as "closest edge to edge connection
sides", it's better to say that a (straight) connection contacts two
shapes at their perimeters, at points that are closest to each other.
The avoids the notion of sides, which may be confusing when talking
about an oval. In fact, most of my shapes are ovals.

I haven't encountered a tool that will do this. It is desirable to do
this in visio because of the many other diagrams also needed to be
drawn.

Hi Paul --
You certainly are persistent, and have thought of some creative solutions.
Aside from Visio, have you encountered any program that exhibits this
behavior? It's not something that I recall ever encountering.
So, if I understand what you're after it might be stated this as: as a
shape is dragged about, the connecting link(s) between it and any other
shape(s) should move about the perimeter to maintain closest edge to edge
connection sides. The connection point is the dynamic intersection of that
side and the connecting link. The need to recognize the shape edge is such
that the arrowhead is visible and terminates at the shape. It's sort of a
dynamic shape union opertion. That I believe would take some special
programming. It's an interesting problem and ought to be solveable.
Anyway, I'm curious if you've seen any "other world" solutions.
Wapperdude

:
I thought I had a solution to dragging a shape around and having the
interconnect points intelligently shift around the shape perimeter
[see thread "What drawing package to manipulate graph (nodes &
edges)"]. However, the course number of contact points and the
unknown algorithm that determines how the switch among them sometimes
causes lines radiating from a shape to cross each other. I figure
that this can be minimized by having a large (user settable) number of
connection points around the shape perimeter. I suspect that the
answer is no, but what the heck -- is there a way to automatically
have all the shapes set to have a user-specified number of connection
points on its perimeter, preferrably equidistant or maybe even equi-
angle separation?
Further to that, if a dense diagrams as lots of shapes and
interconnections, is there a way to maintain these connections when
the shapes are (en mass) being changed to the user-specified number of
connection points? (Does it make a difference whether the
interconnects are drawn lines that are "glued to shape geometry"
versus bonafied interconnections?)
 
P

Paul

I’m a newbie to Visio, and the method below sounds quite involved.
However, I found that a connector can be set to center-to-center,
which does the job. I just can’t seem to have that as the default for
any newly laid connectors. Nor do I know ho to convert all existing
lines drawn with the line tool into center-to-center connectors.

arrow heads will not obscure text.
Fair enough that you want arrow heads at perimeter...but my idea would not
obscure text.

if the desired shape is uniform (X=Y), you could look placing the arrow
heads in the middle of the connection (fairly complex...but could do it).

of course you could do the opposite:

group the shape you want and the circle.   Place a connection line
terminating on the circle.   control other end position by a control point.  
Place arrow head at the outer end and inversed (special connector...need to
look at defining user defined line terminators).

So when shape is place, use the controls to move the connector around to
where you want it.   Use a second connector from some other desired shape to
attach to first connector.   Now when either desired shape moves, the 2
connector lines can move (probably need an action button to disable control
points when ready).

June the seconds isometric connectors do this but on isometric coordinates...
connect up 2 and have other ends of each connected to shapes...move shapes,
both connectors recalc and line up as appropriate.  You may want to download
his stencils...he did some real sophisticated stuff with them.



Paul said:
Oh, I forgot to add that the arrow heads must terminate on the shape
perimeter, not inside the shape.  This avoids obscuring the text
inside the shape.
Persistence comes from the constant reminder that I have to push
around shapes and arrow heads manually.  Each time a push a shape with
N connections, I also have to adjust 2N arrowheads.  Painful.
Your description of the functionality I'm seeking is mostly accurate.
When you describe the connections as "closest edge to edge connection
sides", it's better to say that a (straight) connection contacts two
shapes at their perimeters, at points that are closest to each other.
The avoids the notion of sides, which may be confusing when talking
about an oval.  In fact, most of my shapes are ovals.
I haven't encountered a tool that will do this.  It is desirable todo
this in visio because of the many other diagrams also needed to be
drawn.
On Jun 15, 9:20 pm, WapperDude <[email protected]>
wrote:
Hi Paul --
You certainly are persistent, and have thought of some creative solutions.  
Aside from Visio, have you encountered any program that exhibits this
behavior?  It's not something that I recall ever encountering.  
So, if I understand what you're after it might be stated this as:  as a
shape is dragged about, the connecting link(s) between it and any other
shape(s) should move about the perimeter to maintain closest edge to edge
connection sides.  The connection point is the dynamic intersection of that
side and the connecting link.  The need to recognize the shape edge is such
that the arrowhead is visible and terminates at the shape.  It's sort of a
dynamic shape union opertion.  That I believe would take some special
programming.  It's an interesting problem and ought to be solveable.
Anyway, I'm curious if you've seen any "other world" solutions.  
Wapperdude
:
I thought I had a solution to dragging a shape around and having the
interconnect points intelligently shift around the shape perimeter
[see thread "What drawing package to manipulate graph (nodes &
edges)"].  However, the course number of contact points and the
unknown algorithm that determines how the switch among them sometimes
causes lines radiating from a shape to cross each other.  I figure
that this can be minimized by having a large (user settable) number of
connection points around the shape perimeter.  I suspect that the
answer is no, but what the heck -- is there a way to automatically
have all the shapes set to have a user-specified number of connection
points on its perimeter, preferrably equidistant or maybe even equi-
angle separation?
Further to that, if a dense diagrams as lots of shapes and
interconnections, is there a way to maintain these connections when
the shapes are (en mass) being changed to the user-specified number of
connection points?  (Does it make a difference whether the
interconnects are drawn lines that are "glued to shape geometry"
versus bonafied interconnections?)
Thanks- Hide quoted text -

- Show quoted text -
 
V

vojo

keep playing...you will come around to my initial post if you head down this
vein.

Good luck

Paul said:
I’m a newbie to Visio, and the method below sounds quite involved.
However, I found that a connector can be set to center-to-center,
which does the job. I just can’t seem to have that as the default for
any newly laid connectors. Nor do I know ho to convert all existing
lines drawn with the line tool into center-to-center connectors.

arrow heads will not obscure text.
Fair enough that you want arrow heads at perimeter...but my idea would not
obscure text.

if the desired shape is uniform (X=Y), you could look placing the arrow
heads in the middle of the connection (fairly complex...but could do it).

of course you could do the opposite:

group the shape you want and the circle. Place a connection line
terminating on the circle. control other end position by a control point.
Place arrow head at the outer end and inversed (special connector...need to
look at defining user defined line terminators).

So when shape is place, use the controls to move the connector around to
where you want it. Use a second connector from some other desired shape to
attach to first connector. Now when either desired shape moves, the 2
connector lines can move (probably need an action button to disable control
points when ready).

June the seconds isometric connectors do this but on isometric coordinates...
connect up 2 and have other ends of each connected to shapes...move shapes,
both connectors recalc and line up as appropriate. You may want to download
his stencils...he did some real sophisticated stuff with them.



Paul said:
Oh, I forgot to add that the arrow heads must terminate on the shape
perimeter, not inside the shape. This avoids obscuring the text
inside the shape.
Persistence comes from the constant reminder that I have to push
around shapes and arrow heads manually. Each time a push a shape with
N connections, I also have to adjust 2N arrowheads. Painful.
Your description of the functionality I'm seeking is mostly accurate.
When you describe the connections as "closest edge to edge connection
sides", it's better to say that a (straight) connection contacts two
shapes at their perimeters, at points that are closest to each other.
The avoids the notion of sides, which may be confusing when talking
about an oval. In fact, most of my shapes are ovals.
I haven't encountered a tool that will do this. It is desirable to do
this in visio because of the many other diagrams also needed to be
drawn.
On Jun 15, 9:20 pm, WapperDude <[email protected]>
wrote:
Hi Paul --
You certainly are persistent, and have thought of some creative solutions.
Aside from Visio, have you encountered any program that exhibits this
behavior? It's not something that I recall ever encountering.
So, if I understand what you're after it might be stated this as: as a
shape is dragged about, the connecting link(s) between it and any other
shape(s) should move about the perimeter to maintain closest edge to edge
connection sides. The connection point is the dynamic intersection of that
side and the connecting link. The need to recognize the shape edge is such
that the arrowhead is visible and terminates at the shape. It's sort of a
dynamic shape union opertion. That I believe would take some special
programming. It's an interesting problem and ought to be solveable.
Anyway, I'm curious if you've seen any "other world" solutions.
Wapperdude

:
I thought I had a solution to dragging a shape around and having the
interconnect points intelligently shift around the shape perimeter
[see thread "What drawing package to manipulate graph (nodes &
edges)"]. However, the course number of contact points and the
unknown algorithm that determines how the switch among them sometimes
causes lines radiating from a shape to cross each other. I figure
that this can be minimized by having a large (user settable) number of
connection points around the shape perimeter. I suspect that the
answer is no, but what the heck -- is there a way to automatically
have all the shapes set to have a user-specified number of connection
points on its perimeter, preferrably equidistant or maybe even equi-
angle separation?
Further to that, if a dense diagrams as lots of shapes and
interconnections, is there a way to maintain these connections when
the shapes are (en mass) being changed to the user-specified number of
connection points? (Does it make a difference whether the
interconnects are drawn lines that are "glued to shape geometry"
versus bonafied interconnections?)
Thanks- Hide quoted text -

- Show quoted text -
 
R

RobG

I thought I had a solution to dragging a shape around and having the
interconnect points intelligently shift around the shape perimeter
[see thread "What drawing package to manipulate graph (nodes &
edges)"]. However, the course number of contact points and the
unknown algorithm that determines how the switch among them sometimes
causes lines radiating from a shape to cross each other. I figure
that this can be minimized by having a large (user settable) number of
connection points around the shape perimeter. I suspect that the
answer is no, but what the heck -- is there a way to automatically
have all the shapes set to have a user-specified number of connection
points on its perimeter, preferrably equidistant or maybe even equi-
angle separation?

Further to that, if a dense diagrams as lots of shapes and
interconnections, is there a way to maintain these connections when
the shapes are (en mass) being changed to the user-specified number of
connection points? (Does it make a difference whether the
interconnects are drawn lines that are "glued to shape geometry"
versus bonafied interconnections?)

I used to use a program called MacFlow way back in the mid '90s, the
Windows version is called WinFlow. It had a shape library that let
you design your own shapes with as many connection points as you
like. It was very much more intuitive to use than Visio (or most
other desktop drawing tools).

<URL: http://mstay.com/fl40_ab1.html >

It doesn't have all the features of Visio, but it may be all you
need. Don't be put off by the simplistic interface, it really is very
powerful, flexible and simple to use.
 
W

WapperDude

Go to menu bar > File > Page Setup > Layout & Routing Tab. Change the Style
to Center to Center.

Wapperdude
 
D

David Parker

This is normal behaviour for an ellipse set with Format / Behavior /
Placement = Lay out and route around
Use with Dynamic connector ....
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top