NI Home > Community > NI Discussion Forums

LabVIEW Idea Exchange

Showing results for 
Search instead for 
Do you mean 
We've turned on a search before post feature in the LabVIEW Idea Exchange. This new feature will help cut down on the number of duplicate ideas in this space!

The NI Idea Exchange is a product feedback forum where NI R&D and users work together to submit ideas, collaborate on their development, and vote for the ones they like best. View all of the NI Idea Exchanges to post an idea or add your opinion on an existing one today!
New Idea

List Unwired Cases Option

Status: New
by Trusted Enthusiast ‎02-16-2012 06:02 PM - edited ‎02-16-2012 06:02 PM


It drives me crazy when I have unwired cases and I want to see which cases I have not passed the wire through. I have to go clicking through every case to find them. I propose a right-click menu option on a unwired node coming out of a case structure which will either take me to the unwired case if there is only one, or pop up a list that has all the unwired cases. From this list I should be able to double click and show that particular case. This should also work for event structures.


Is this feature already there? If so, it should be added to the right-click menu IMO.





The current plot legend shows the Text (plot name) on the left and the plot color preview to the right.   A good feature would be the ability to switch these too.   So the be able to move the plot color preview to the left and the plot name to the right.   


Option: When Saving VI, Set Pane Origin to 0,0 (or user specified)

Status: New
by Active Participant Broken_Arrow ‎12-21-2010 10:38 AM - edited ‎12-21-2010 10:42 AM

When you edit a VI, you may likely move the origin of the pane and not know it. Next time you run it, your controls are not centered. There are several ways to work around this:


  • Remember to move the panel origin back to where it was then save.
  • Use a VI that centers the GUI for you (such as one of the VI's in OpenG).
  • Use a property node in your initialize routine to set the origin.


How about an option which sets the panel origin to 0,0 every time we save?


1.jpg.... i.e., an Option which does this for us. 



Sizeof Operator

Status: New
by Member silmaril on ‎12-18-2009 07:07 AM

There should be a LabVIEW primitive that returns the size of the connected data type in bytes, similar to sizeof() in C.


I know this can be done using "Flatten To String" and "String Length", but that's only a workaround since this way all the data has to be copied just to get the size information.



Allow switcheroo on Class property nodes

Status: New
by Active Participant Neil.Pate on ‎07-08-2011 05:39 AM

Names says it all really.


Once I am happy-ish with the performance of a VI I usually tidy up wiring etc.


Now that I have started to use Class Property Nodes very often you wish to re-order them just to make the wiring more efficient (you know, the shorter the wire the quicker the code executes).


It would be really great if we could use the switcheroo tool to swap positions of two elements in a property node. I would be satisfied if it did nothing with the wiring, because I would likely tidy it up immediately after anyway.


Not sure this idea will get much traction due to rather limited appear to most, but vote it up anyway!


Smart(er) automatic label names on copy

Status: New
by Active Participant GregS on ‎02-12-2012 03:32 PM

When copying a control/indicator/constant, the new label name is generated automatically by incrementing a trailing number, or adding one if it didn't exist.  I almost never keep the suggested label (so this would also be useful), but I do have other predictable changes that will usually be made.  Most commonly, it will be to "auto-increment" a lone letter, either at the start or end of the label.  For example:


"X Axis" -> "Y Axis" and then "Z axis"

"e_a" -> "e_b", "e_c", ...


My suggestion is for a simple smart algorithm to recognise where there is a single letter (defined by either punctuation or spaces) at either end of the existing label, and if so, to increment that letter rather than add a number.  The existence of a trailing number should take preference over this check, and could still be added if one doesn't already exist (though see here).

v strane chudes

Remake For Loop

Status: New
by Member v strane chudes on ‎06-07-2010 01:22 PM - last edited on ‎06-07-2010 02:03 PM by Active Participant Laura F.
Message Edited by Laura F. on 06-07-2010 02:03 PM

Conditional Disable Symbols in Build Specs

Status: Duplicate
by Member silmaril on ‎12-10-2009 01:59 AM

Currently we can set Conditional Disable Symbols (CDS) for a whole project or for a target.

I wish we were able to set them inside a build spec, too.


This would mean, I could have a large application in one project and build different flavours of it's executable simply by using the appropriate build specs.

Use cases might include simple things like debug / release builds (similar to this idea), but also more complex differences like a software that uses real hardware and a special version that works without hardware, which can be used in the office.


Currently I need to either set the CDSs manually each time I build an executable or maintain several copies of the same project file. Both methods are tedious and error-prone.


Status: Duplicate

Loop unrolling

Status: New
by Member WG- on ‎02-09-2012 07:21 AM

LabVIEW should support loop unrolling...


For those who do not know what loop unrolling is (from wikipedia

Loop unwinding, also known as loop unrolling, is a loop transformation technique that attempts to optimize a program's execution speed at the expense of its binary size (space-time tradeoff). The transformation can be undertaken manually by the programmer or by an optimizing compiler.


The goal of loop unwinding is to increase a program's speed by reducing (or eliminating) instructions that control the loop, such as pointer arithmetic and "end of loop" tests on each iteration;[1] reducing branch penalties; as well as "hiding latencies, in particular, the delay in reading data from memory".[2] Loops can be re-written instead as a repeated sequence of similar independent statements eliminating this overhead.[3]


Example with textual programming language:


int x;
for (x = 0; x < 100; x++)




int x;
for (x = 0; x < 100; x+=5)


Who is with me :smileywink:


VI Analyzer toolkit spell check

Status: Already Implemented
by Member Jim_Glanz on ‎02-08-2012 07:33 PM

It would be nice to have a method to add words and phrases to the dictionary in the VI Analyzer.

Status: Already Implemented
This is a feature already in the VI Analyzer.

Property node for index of array's cursor location

Status: New
by Active Participant SteveP on ‎06-12-2009 12:08 PM

A property node that provides the index(s) of the cursor location in an array would let us know on which element of an array a user had clicked.  That can be usefule for example to provide additional information replated to specific array value, such as using the array as a list of peaks on a graph.  Currently, the mouse down event provides Cord values but those are as pixels.  Similar information for tables would be useful.


I have lost count of the number of times that I have tried to extract elements with a fixed interval from a 1D array and got frustrated because

my function ends up looking like the image below taking up a big chunk of my block diagram.


Say you want to decimate the array into 20 segments and extract every third element like the image above. It would be nice if there was a function that allowed the user to input the number of segments into which the array should be decimated, as well as an array with the elements to be extracted. 


In the image below, the "Main array" is decimated into 4 segments, where every 1st and 3rd elements are extracted and outputted.




 I know this can be accomplished by using a reshape array function, making a 2D-Array and then pick a column but it would be nice to have this all in one function.



Message Edited by Laura F. on 12-01-2009 08:57 AM

Conditional increase / conditional terminal

Status: New
by Active Participant xdaf on ‎05-28-2010 10:31 AM

I often need to count how many times a condition is verified inside a loop. The simplest way to do so is:

 conditional increase true.jpg    conditional increase false.jpg


What about this?

conditional increase.jpg

The "conditional terminal" should be enabled by right clicking on the operator, and may apply to every VI with 1-1 I/O pattern.

Of course it performs the operation in case of "TRUE", and leaves its input value unchanged in case of "FALSE"


Default Representation for Enum should be U8

Status: New
by Member hfettig on ‎06-09-2009 05:13 PM
In the spirit of using as little memory as possible I think the default representation for Enums should be U8. Currently when you create a new Enum its representation is set to U16. Since I assume most people rarely have Enums with more than 256 items I would really appreciate it if the default representation were U8 so I don't have to always change it from U16 to U8.

Current documentation doesn't indicate how NaN is handeled. Please add this


(hint: if one input is NaN, the min/max value is the other. Not NaN).


It is no longer possible to add comments to the page-rating


Verbose mode

Status: New
by Member cyro on ‎02-03-2012 08:13 AM

I'm using LVOOP very often and the bigger the code gets the slower LV reacts / works. A small change in the class-control results in minutes of waiting with no feedback. In general it would be nice to get a message box telling me what labview is doing with specific information which file and how many files are in the queue to handle so I can decide to do sth else than watching the windows circle or killing labview using the taskmanager.


My suggestion to solve this is adding a verbose mode so I can choose if I want information or not or I want the information only when 10 or more seconds passed without reaction.


It doesnt matter if LV needs more time by using this verbose mode, the point is I want to know if i have to wait another 30 seconds, minutes, hours or days... or if I should kill LV and start over again....


Thanks :-)

It'd be great to be able to use the "Set current values to default" invoke method while the program is running to grab the current values that a program has.  As it is now, you have to stop your program and open another program that references the first program to set the values to default.  This almost completely defeats the purpose of setting those values programmatically (I might as well go to the File menu).  I'd like to effectively "grab" front panel values and keep them for the next time the program runs.  I know I could do this with file writing- but it'd be nice to use the invoke node as it seems it should be used. 

Extending Data Operations..

Status: New
by Member krisys on ‎11-30-2010 01:16 PM

While debugging, we often feel the necessity to save data from different constants/controls/indicators for future use. At present, we copy them to a new VI, give it a label and use them whenever required. Wouldn't it be great if LabVIEW handled most of that? Also, this could be extended to Wires: "Save data in wire to Datastore"




Inclusion of this feature will reduce a number of mouse clicks and window switches while debugging.


Block Diagram zoom

Status: Duplicate
by Member Ale914 on ‎06-03-2009 03:00 AM

In the latest years the monitors and the graphics card became more and more advanced supporting very high pixel resolution.

Using a 1600x1200 is common now but this could create problem whit labview due to the absence of a zoom function.

The VI connector at that resolution are too little and near so could be difficult to work with and more in general all the block diagram of a VI could be diffucult to edit.

So i suggest to implement a zoom in\out (maybe using the mause wheel) function also in labview like in a common CAD sw

Status: Duplicate

It would be useful if we can access the plot color and point color separately on the plot legend itself as we do in the properties dialog box of the graph instead changing it by toggling the space bar


graph plot legend.jpg.

Latest LabVIEW Idea Exchange Blog Posts
About LabVIEW Idea Exchange

Have a LabVIEW Idea?

  1. Browse by label or search in the LabVIEW Idea Exchange to see if your idea has previously been submitted. If your idea exists be sure to vote for the idea by giving it kudos to indicate your approval!
  2. If your idea has not been submitted click Post New Idea to submit a product idea to the LabVIEW Idea Exchange. Be sure to submit a separate post for each idea.
  3. Watch as the community gives your idea kudos and adds their input.
  4. As NI R&D considers the idea, they will change the idea status.
  5. Give kudos to other ideas that you would like to see in a future version of LabVIEW!
Top Kudoed Authors
User Kudos Count
Idea Statuses