How can i set connectors to avoid crossing certain shapes

Started by ivan, April 21, 2010, 10:45:44 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

ivan

damn, i was fooled (( kinda like a hacked programmer's page (was a good one with positive feedback etc) . not i'm short for some $ and short on time to do the task ((

@JuneTheSecond
thanks. but it's not that big problem to control a regular connector via macros :) +your connector has just a single 'corner' - there can be a lot more of them
lloks like i have to do it manually again... ((

Yacine

Dobre dien Ivan,

it looks like, you won't come around of writing your own routing routine.

So, just a silly Idea, but what if you would define main roads, lay lines on them and complete them by dynamic connectors, so you don't need to do the final routing by yourselves?
The red line on my drawing is "relatively" easy to code, as long as you order your groups in a grid. (don't answer that the grid is not acceptable for an automatic solution!)
Let the redline end above or underneath the group, between two rows of sub-shapes and finish the routing by setting the black connector?

Connector.PNG
Yacine

ivan

your idea makes sense. but how can i avoid connectors to cross each other ? that is a problem too

Yacine

I enhanced my post with the sentence "between two rows of sub-shapes".
And sorry, I did not read carefully enough you answer.
A lane, would have, like a road multiple sub-lanes. If occupied by a connector then take the next one.
Connector.PNG
Yacine

wapperdude

...sort of, "You take the high road, I'll take the low road..." 

Sorry, couldn't resist.  Just don't ask me to sing it.

Wapperdude
Visio 2019 Pro

Yacine

For those who don't know the song. I'm sure, I recognised Wapperdude's voice in one of the records at the end of the article.
Yacine

ivan

 @Yacine
and how would i determine where enter pooint must be ? i mean beggining of the black connector ?

Visio Guy

Jesu, Josef, Maria!

Germans and Americans and (Belo)Russians trying to be funny at the same time! Sounds like we're on a collision course for sure! :) :) :)
For articles, tips and free content, see the Visio Guy Website at http://www.visguy.com
Get my Visio Book! Using Microsoft Visio 2010

JuneTheSecond

Another Idea.
Dynamic connector jumps, if you place a invisible,Geometry.Nosho=True, wall between 2 shapes.
Best Regards,

Junichi Yoda
http://june.minibird.jp/

Yacine

@Junichi,
the walls are in so far a prolem, as the probability for the connector not to find a way is higher, thus it will cross shapes more often.

@Ivan,
Your target or source shape is in group X1, at column X2, thus the enter/leaving point is something like X1*(groupwidth-1) + X2*(columnwidth+.5) - or even simplier at shape.GlobalX+columnwidth*.5

@Chris,
you better hide, connector shivers can be very dangerous  :D
Yacine

Yacine

Yacine

ivan

it's not like i sirrender - i will go back to it in several month when i got more time )

vojo

hang in there....you do realize this is pretty much an intractable problem....its a variant of the academic traveling salesman problem.

Note...if you are really interested in doing this....probably should look at a Dikstra or OSPF algorithm variant to find the "best" path from srce to tget.

For what its worth, chip/card layout tools wrestle with this all the time except they have multiple planes (going over or under a shape/path) to
come up with a reasonable solution to the intractableness of this problem.

Ie I am sure you can make it work for the simple/vanilla case....but a general solution is like Einsteins general theory....long time coming
and if you can find it...dudes in Norway would be interested ;D

ivan

Quote.its a variant of the academic traveling salesman problem.
man )) graoh theory is great but i really think it's not that complicated

vojo

if you are right...you can buy me a beer with some of your Nobel money

Browser ID: smf (is_webkit)
Templates: 4: index (default), Display (default), GenericControls (default), GenericControls (default).
Sub templates: 6: init, html_above, body_above, main, body_below, html_below.
Language files: 4: index+Modifications.english (default), Post.english (default), Editor.english (default), Drafts.english (default).
Style sheets: 4: index.css, attachments.css, jquery.sceditor.css, responsive.css.
Hooks called: 403 (show)
Files included: 34 - 1321KB. (show)
Memory used: 1279KB.
Tokens: post-login.
Cache hits: 13: 0.00419s for 26,583 bytes (show)
Cache misses: 2: (show)
Queries used: 15.

[Show Queries]