03-22-2010 05:55 AM
Hi,
Found a thread about this topic from 2008, but thought I would check if anything's happened.
So: the question is summarized in the subject field. Does LV have a zoom function for the block diagram yet (it doesn't), and if not, can such function be implemented?
No doubt such function would be VERY useful. In addition, a "home" button which would zoom out to a level which shows all code within the screen.
Thanks,
m,-
03-22-2010 05:58 AM
Michal wrote:
[...]In addition, a "home" button which would zoom out to a level which shows all code within the screen.
[...]
This is the Navigation Window. So it is already available.
Regarding zoom of block diagram:
For zooming in to connect SubVIs which have MANY connection wires, it's desireable. But not for zoom out.... this will lead to even more unreadable code than we are already dealing with.....
Norbert
03-22-2010 06:09 AM
Well, the navigation window is fine, but doesn't really do the job. It should be possible to zoom out completely to get an overview and then zoom into the part of the diagram you want to work on. Opening a new window on the screen (the Navigation Window) just adds more mess.
Michal
03-22-2010 06:51 AM
Hi Michal,
there is no need for a zoom function. You can simply use sub Vi's to avoid such big blockdiagrams. For more about this topic, search for "LabVIEW Style Guide".
If you really need it, then you can write such a function. Scripting should make it possible.
Mike
03-22-2010 07:03 AM
OpenG had such thing.
Don't know if it works on the last versions.
.
03-22-2010 07:19 AM
03-22-2010 07:41 AM
MikeS81 wrote:Hi Michal,
there is no need for a zoom function. You can simply use sub Vi's to avoid such big blockdiagrams. ...
Mike
And that is WHY there isn't a zoom available.
I have been consulting in LabVIEW for about 11 years and I can say the following. "When I review application for customers, the first sign of a poorly written app is a large diagram."
I have been one of the people that have repeatedly sounded the alarm that a "zoom tool" in the BD would only encourage bad style. Although not exactly the same but, it would be similar to removing the tab and enter key for a C programmer. You would end up with these huge lines of code that would be difficult to read.
So use sub-VI and try to keep your diagrams small enough that someone can "read them at a glance".
Ben
03-22-2010 08:18 AM
This is obviously a touchy topic...
I've been using LV myself since '98. In my experience, avoiding going beyond one screen size is mostly (but NOT ALWAYS) possible, it is however for sure not always desirable. Stacking structures or excessive use of subVI's doesn't make the code more readable. On the contrary. I've seen more cases of hopelessly exaggerated compactness just to keep within a single screen than I've seen of hopelessly big (in area) codes. But sure, both happen.
Still, as long as you program the code yourself, fine. But once you have to alter somebody else's code, things are different. If they have programmed the code "too big" - you can't easily get an overview. Even worse, they may have programmed the code too compact, in which case you see everything on one screen, except that you don't, because the code is so heavily stacked that there's no structure to read anyway.
I think that having a zoom function would relax the compactness requirement, and make it easier to program and read LV.
If you don't want to zoom, fine. Don't use it. But I would like the possibility to zoom, both in and out. Just like many others.
So: Would it be possible to implement a zoom function in LV?
Thanks,
m,-
03-22-2010 08:33 AM
Michal wrote:This is obviously a touchy topic...
I've been using LV myself since '98. In my experience, avoiding going beyond one screen size is mostly (but NOT ALWAYS) possible, it is however for sure not always desirable. Stacking structures or excessive use of subVI's doesn't make the code more readable. On the contrary. I've seen more cases of hopelessly exaggerated compactness just to keep within a single screen than I've seen of hopelessly big (in area) codes. But sure, both happen.
Still, as long as you program the code yourself, fine. But once you have to alter somebody else's code, things are different. If they have programmed the code "too big" - you can't easily get an overview. Even worse, they may have programmed the code too compact, in which case you see everything on one screen, except that you don't, because the code is so heavily stacked that there's no structure to read anyway.
I think that having a zoom function would relax the compactness requirement, and make it easier to program and read LV.
If you don't want to zoom, fine. Don't use it. But I would like the possibility to zoom, both in and out. Just like many others.
So: Would it be possible to implement a zoom function in LV?
Thanks,
m,-
If the code has no structure to start with yes, it can be difficult. Not sure what you mean by the term "stacking". I hope that is not stacked sequences. The following image was a snap-shot of a BD in development. THe stuff to the left got cleaned-up. Godd documentation is a must to editing the icons and including documentation go a long way.
I work with a bunch of Cretified LabVIEW Architects and we try to stick with the rule "Can you read it at a glance?" This helps them and me. Well writtein code is easy to get back into after a delay. Poorly written code requires work even from the original developer.
Ben
03-22-2010 09:28 AM
Much more important than a zoom tool will ever be is the need to have control over the initial size of front panel & block diagram windows. This control is way overdue from the LV developer team.
As larger monitors have become common and inexpensive, bad LV code has flourished. And, for experienced LV users the larger monitor requires the first step with every new VI to be to resize the front panel and diagram to a usable size. I know there are many ways around this annoyance, but I shouldn't have to avoid use of "New VI" just because I have a large monitor.
Bad LV coders have moved to huge monitors to allow acres of open real estate in their diagrams; I am continually frustrated when I inherit their code. I don't mind scrolling vertically for parallel functionality, but hate to scroll several pages horizontally due to wasted space, inefficient code and a complete avoidance of sub-VIs. The block diagram cleanup tool has helped, but eliminating space in poorly written code doesn't always make the original intent obvious. LabVIEW's biggest benefit and liability is it's ease of use. Those who don't understand structured coding can still create a dish of spaghetti in LV that might work.
I agree with many who express opposition to the addition zoom.
James