During developing and debugging there are very often a lot of open windows. Depending on your task bar setting it meight look like this:
Not very clear as I think.
Is it possible to use different icons for the different window types? Even better: Use the VI icons if available and add some tag if it is a frontpanel or block diagram window.
I have a customer that is currently using an ActiveX Container to gain functionality for a CWGraph3D function and was mentioning that there have been some improvements to the 3D graphing options within LabVIEW.
The inputs for options such as 3D Surface, 3D Contour, and 3D Mesh still lack the ability to have all vector inputs. They can either have all matrix inputs or X and Ys as vectors and Z values as a matrix. Basically the end result apparently needs to be square/rectangle image when looking down the Z axis. The customer would like to have 'vectors' as inputs so that the output can be an irregular shape. LabVIEW can do this with a 3D Scatter plot, but not these other plots. The added functionality would be to add a 'triangulated irregular network' through a set of irregular points so that surfaces, meshes, and contours can be interpolated and overlaid on top of these points.
The customer would also like to see a functionality where you could create 3D volumes in LabVIEW instead of just 3D surfaces.
It would be nice to add the ability to resize front panel objects, not only by pixels, but also by a percent value. (Like in microsoft office)
It should also be nice to add a "Proportionnal" size update.
The front panel object resizing (by mouse directly on the front panel) could also include a way to resize an object proportionnaly. (For pictures for example)
I think that this feature is available in MS office Word, by using the "CTrl" key in combination with mouse selection :
the cleanup tool is useful and getting more useful each release. however, i still find myself having to cleanup section of code doing bundling and unbundling by hand because it requires manually reordering the names within the nodes. even worse, i sometimes reorder things and then run the cleanup tool again and it decides to move things around such that another reordering is necessary (ick!). let's just give the cleanup tool the freedom to reorder the elements itself. for unbundles it's always safe. with bundles care must only be taken if a value later in the bundle overrides a previous element in which case those few elements would have to maintain their ordering (which is a fairly low use-case i would guess).
Charts and graphs in LabView have been driving me nuts for years. What I would like to see is a simple chart (maybe even an "Express Chart") that has a single dimensional array input and a timestamp input. Values in the array would automatically be plotted on their own plot and the time stamp would be put in the X-axis starting from the left. An option to just use the current time if no timestamp was input and amount of data displayed on the X-axis can be adjusted on the fly by setting the X-axis TIME/DIV
One thing which occurred to me today is that the majority of examples which ship with LabVIEW concentrate on one function or another.
What we don't seem to really have is an example for an actual functioning application with a GUI which actually does something useful. Or at least I'm unaware of something like this.
I think it would be neat to include a sample project for an application demonstrating how to load and save to INI files, set front panel objects, Custom menu interaction, how to synchronise loops and so on. Just a small-ish program which does SOMETHING useful (not the Icon editor, that's too complex).
I think this might help a lot of people "get" the things needed for a decent application as opposed to running code from within the IDE all the time.
Make all of the text editable controls (like control labels, VI names in the project, or even the "VI description" in the "VI properties" dialog) behave like all other Windows input boxes do. I've become accustomed to some standard editing behavior like:
- Ctrl-Left, Ctrl-Right - jump to the next word break
- Shift-Ctrl-Left, Shift-Ctrl-Right - select word left/right
Probably some others as well, but I constantly use these.
The idea came in this discussion -----> http://forums.ni.com/t5/Machine-Vision/Machine-Vis
and of this other idea. ------> http://forums.ni.com/t5/LabVIEW-Idea-Exchange/Rewr
The most examples related with artificial vision or machine vision, have excessive use of the "Stacked Sequence Structure". This is a contradiction, since in the courses, trainings and some discussions in the forums, they always recommend that work with this structure is minimal. The examples, would need to be rewritten.
Here's an example that is in the help.
Let's assume I must do three (or more) operations in sequence (in the following example, instrument control operations)
There are several ways to force execution order. But I want to use a flat sequence (for example, in order to insert timing VIs).
My goal is the following:
There are at least two problems:
- if I try to include the first VI on a flat sequence, other VI's wires will appear "beneath" the sequence (not throug)
- If I add a frame afterwards, there's no way to include existing code without redrawing the wires.
I propose two possible solutions:
- Create a flat sequence for each VI, and add the possibily to combine them in a single sequence afterwards.
- Create a flat sequence for the first VI, add a frame after, and allow the "drag edge" action to "fagocitate" existing code (instead of pushing existing code to the right, or extending above the code if AUTO-GROVE is disabled).
Anyway, when there's a wire running beneath a structure, the possibility to "let him through the structure" (by adding tunnels) should be added as well.
Please see the discussion at http://forums.ni.com/t5/Machine-Vision/Test-for-Ex
Specifically, starting at message 7, I still need a way to find out if an individual overlay (eg. determine if overlay A is present when there might be three overlays A, B, C) can be determined to be present so I can just erase that one. There are workarounds involving more programming but for true image processing application, a function allowing testing for presence of individual overlay should be available in Vision. 25 years ago, I was doing this sort of thing using Grinnell image processors so again, surprised that this is currently not available.
I would suggest adding an option limiting the size of data exported to the clipboard (or intelligently computing it based on available RAM and cores).
Alternatively allow aborting this operation (via a progress bar of some kind) or at the very least warn the user.
I have been bitten repeatedly by the fact that exporting to the clipboard involves converting binary data (say DBL: 8 bytes x 2 per point for a XY Plot) to ASCII (and transposing the data into neighboring columns), which, when choosing 6 digit precision (the maximum allowed today), can result in:
- Explodingly large memory footprint (potentially an issue on 32 bit systems)
- Huge execution time (meaning you have basically to kill LabVIEW).
I am not sure it is a coding issue, as I have not been able to come up with any way of handling large data sets fast (but I haven't tried hard and even then, I would not claim to be particularly good at optimizing algorithms). But if it isn't then it is a sure receipe for frustration.
One of the biggest issues that I see new customers run into is the proper install order of LabVIEW and it's drivers. It's not directly obvious to most that you HAVE to install LabVIEW before the drivers. When they install another version of LabVIEW and do not update drivers, or they accidentally install drivers first nothing works correctly (DAQmx VIs don't appear in the palettes, New>Targets and Devices doesn't appear in the project menus, etc). The solution to this is to completely uninstall the drivers that were installed, and then reinstall them. This is annoying and takes a long time.
My proposed solution would involve an easy "repair" option or tool that will simply reconnect the components and VIs etc to avoid the massive headache that most new users seem to get themselves in.
I really like to use variant attributes for storing different data types. It is very fast and easy to retrieve attributrs (Darin had a weekly nugget on this see here). Now when I look at a variant with attributes I see something like this:
I would really like to be able to extract the text, exactly as it appears in the variant, so I can do things like save it to a txt file. Then I would like the ability to load that text and put it back into the variant. I was very surprised that this can't be done.
Flatten to XML does this:
And flatten to string does this:
While reading Jack's idea HERE I though following:
Switching back and forth between property nodes and method nodes in VI server is a pain.
Why can't we:
1) Have both properties and methods available at the right click menu on the primitive and have LV automatically implement in the background
2) Get rid at the very least of the annoying 4 pixel shift when replacing a property node with an invoke node and vice versa.
I think there should be some way to select data out of an array on the front panel.
Whe I mean by this, is that you can not click and highlight N x M number of cells, then copy and paste (into notepad, excel, etc).
It doesnt even work if you right click the array, then press 'data operations >> copy data', unless you stay in LabVIEW.
It would be very useful to extend the functionalities of the "Import Webservice" tools to include webservices created and deployed with Labview itself.
Thi feature is already included in Web UI Builder so, in principle, can be included also in Labview.