Jump to content
Sign in to follow this  
Justin Goeres

8.6 Block Diagram Cleanup Comparisons

Recommended Posts

QUOTE (Michael_Aivaliotis @ Nov 20 2008, 10:45 PM)

A fast solution for NI could be: The choice between "CleanUp All" and "CleanUp Selection". Selecting the 2 problems cases and clicking Cleanup will produce a better result with existing clean up algorythm. Often only a part of the diagram needs cleanup.

Share this post


Link to post
Share on other sites

QUOTE (Michael_Aivaliotis @ Nov 20 2008, 09:45 PM)

It likes vertical alignment a little to much, the VIs are aligned with the for loop and the enum and unbundle are aligned with the bundle function.

QUOTE (Donald @ Nov 21 2008, 12:50 PM)

A fast solution for NI could be: The choice between "CleanUp All" and "CleanUp Selection". Selecting the 2 problems cases and clicking Cleanup will produce a better result with existing clean up algorythm. Often only a part of the diagram needs cleanup.

Ditto that.

Another point, don't quote full messages (esp. with images).

Ton

Share this post


Link to post
Share on other sites

QUOTE (Aristos Queue @ Sep 12 2008, 10:31 AM)

Regarding the CAR that the wire routed under the string constant... I got an update from one of the developers who works on Diag. Clean Up:

This is the expected behavior, with the default settings for auto Horizontal-Compactness. If the user moves the setting for Horizontal compactness to lowest, then the Diagram Clean Up will ensure that the wires will not go under the blocks.

Quoting from the Tools>>Options dialog documentation:

"Horizontal compactness—Determines how compact to make the block diagram. Higher compactness causes LabVIEW to take longer to clean up the block diagram and can cause LabVIEW to reroute wires under objects. This control is grayed out unless you select Manual tuning. LabVIEW considers labels as part of a block diagram object. "

Even though this is a known issue, I am keeping this bug open because I could see that wire-routing in general is pretty bad in the given VI. The excessive bends in wires appear to be related to another known issue caused by shift registers, which we are currently working on.

I guess what is needed is the concept of anchoring labels. If we could anchor a label to string or a free floating label to a section of code then the cleanup tool could do a better job of keeping things together in the first place.

Share this post


Link to post
Share on other sites

Does anyone know the mathematical backgrounds of this tool? It must be a topological optimization problem like travelling-salesman-problem.

It's interesting to know if there is a "best solution" or if such an algorithm only finds local minima.

I'd like to know how one can optimize between

  • minimize of total wirelength

  • minimize number of crossings

  • minimize number of wire edges

another point: this tool should simultaneously work during creation of a block diagramm and automatically snap the objects to optimum positions like a dynamically intelligent grid

Share this post


Link to post
Share on other sites
QUOTE (horatius @ Dec 4 2008, 06:48 PM)
It's interesting to know if there is a "best solution" or if such an algorithm only finds local minima.
It occurs to me that this might make a good advanced track NI Week presentation. I'll mention it to folks and see if it gets any traction.

Share this post


Link to post
Share on other sites

QUOTE (Aristos Queue @ Dec 4 2008, 05:06 PM)

It occurs to me that this might make a good advanced track NI Week presentation. I'll mention it to folks and see if it gets any traction.

FWIW I'd definitely be interested in it.

Share this post


Link to post
Share on other sites

QUOTE (horatius @ Dec 5 2008, 12:48 AM)

another point: this tool should simultaneously work during creation of a block diagramm and automatically snap the objects to optimum positions like a dynamically intelligent grid

Ugghh, no ! Please no !

Surely I can't be the only one who drops things in places which I think will be near where they need to be when I've finished the diagram. The thought that LabVIEW might decide to out guess me and move things around before I'd finished makes even some of Word's 'intelligent' features look good. Unless of course LabVIEW code automatically write the rest of the vi based on my half-formed mental plan of the vi... ;)

Share this post


Link to post
Share on other sites

QUOTE (Gavin Burnell @ Dec 5 2008, 02:21 PM)

Ugghh, no ! Please no !

I agree. The last thing I need is to have my dev environment try to outwit me... :wacko:

Share this post


Link to post
Share on other sites

QUOTE (orko @ Dec 5 2008, 05:57 PM)

I agree. The last thing I need is to have my dev environment try to outwit me... :wacko:

We sure don't want to have monkeys do our job, don't we? Could they?

Share this post


Link to post
Share on other sites

The snap to grid option already exists. I'm not sure if it works in the BD as well, but you can check that in the options menu.

P.S. I agree this might make an interesting NIWeek session.

Share this post


Link to post
Share on other sites

QUOTE (Michael_Aivaliotis @ Dec 7 2008, 04:15 AM)

Shift-registers adds extra constraints to the layout algorithm. Perhaps this may be leading to wires bending all around.

But, again, this could just be one of the many possible reasons ( including glitches in the algorithm.)

Two things worth checking are :

1. Try with Manual Tuning with LayoutQuality set to max and keep the horizontal compactness to 2nd or 3rd position.

2. (Just for confirmation,) remove the shift register (or replace with tunnel) and see if that's any better.

-Regards,

Anand

Share this post


Link to post
Share on other sites

QUOTE (anandk @ Dec 8 2008, 04:23 AM)

Settings

post-2-1229133734.png?width=400

Result:

post-2-1229133755.png?width=400

Same settings and Shift registers changed to tunnels:

post-2-1229134012.png?width=400

It's better but I still see a lot of unnecessary bends in the wires. I think priority must be placed on keeping wires straight above other factors.

I was working on another VI cleanup and something bad happened. There were several for loops that suddenly became overlapped with other structures. Also some structures resized beneath other objects.

Settings:

post-2-1229134706.png?width=400

Result:

post-2-1229134742.png?width=400

When I switched automatic mode off (into manual) it didn't do this. Thank god for undo!

Share this post


Link to post
Share on other sites

When does this NIWeekSession take place? What is this? How to attend?

I think the basic principles of arranging points under restrictions and connect them is already solved and discussed in mathematical journals. NI just has to applay this knowledge. Is anyone a scientist in this field and can give some literature as I don't think that NI (as a monopole) will make it public?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.