LabVIEW Idea Exchange

Community Browser
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 Authors
Showing results for 
Search instead for 
Did you mean: 

Do you have an idea for LabVIEW NXG?

Use the in-product feedback feature to tell us what we’re doing well and what we can improve. NI R&D monitors feedback submissions and evaluates them for upcoming LabVIEW NXG releases. Tell us what you think!

Post an idea



when you right click on a color property node, and select create constant, the result is a U32 constant !!! Smiley Sad

so that you have to know the representation of your color in U32 formats, or you will replace it with a color constant.


I think it will be nice when I create a color constant to create a color constant not a U32 constant.




The useful feature of having an arrow connect a free label to the part of the code it refers to was added in LV 2013. However, there are cases where a label refers to multiple objects, so you would want to point an arrow to each of those objects. Currently this is unavailable. I suggest that this feature gets implemented in following LV releases. It makes block diagram documentation just that bit better.

Attached Labels Now/Future

Currently, if you want to enter in multiple elements in an array, you have to click on the empty element before typing.  It would be more effecient to be able to press tab to enter another element in that array.

Within LabVIEW Build Specs you can specify a version for an executable that is built.  You can presently see this from within the Windows add/remove program and there are some funky ways of getting this version with .net or WinAPI calls but you should be able to do this from LabVIEW similar to the app version as shown below.




This should also be within LabVIEW so that it can work from LabVIEW Real-Time as well.

The In Place Array Index/Replace Elements function not only can save memory by avoiding copying arrays, it can also create "neater" and more transparent Block Diagrams.  For example, here are two ways to triple the third element in an Array of 3 elements:


Array Index-Replace 1D.png

I needed to do the same thing, but for a 2D array (three channels of A/D data, I wanted to triple the third channel).  The Help for the In Place Array Index/Replace Subset function suggests this is possible, using language like "element or element(s) of an array", noting the similarity between this In Place Structure and the two Array Functions that form the Input and Output nodes, and in earlier versions of LabVIEW (specifically LabVIEW 2012), explicit reference to rows, columns, and pages as replacement items.  Here's what happens:

Array Index-Replace 2D.png

The Index Array left node forces you to specify both row and column, meaning you cannot operate on a single row (or single column), "breaking" the functionality with the separate Index Array/Replace Subset functions.  This also, I believe, will force an Array Copy operation, something I'm (also) trying to avoid.


At its most benign, there is a Documentation "Bug" that should warn users that this In Place function is only designed for single array elements (which, in my opinion, severely limits its usefulness).  I would like to suggest that this function be "fixed" to (a) for multi-dimension Arrays, allow, as with Index Array and Replace Subset, flexible choice of one or more Indices to be specified, with the unspecified Indices implying "All of the Elements", i.e. an entire Row, Column, Page, etc, and (b) maintain the "In Place" functionality by having this function generate the necessary code (behind the scenes) to access the specified elements and do whatever operation is required inside the Structure.


I appreciate that requirement (b) might be difficult.  For instance, operating on a row in a 2D array should be easy, as the (row) elements should be continguous, making getting and putting them simple.  However, if a column is specified, getting successive elements and putting them back becomes more complex.  To the User, it all "looks simple" -- you get a 1D wire out, operate on it (say, multiply it by 3), and stick it back "in place", but the LabVIEW compiler has to "get" elements from non-continuous locations and put them back where it got them, but that's what Compilers are for!


Bob Schor

The title says it all - I'd like to have the option to inherit my configuration settings from the previous LabVIEW installation (or from a specified path).  Currently I have to do this manually by copying the ini file from the previous version, but I'm never sure whether there will be compatibility issues with the new version of LabVIEW or if there are obsolete settings.  The installer should check for compatibility/obsolescence issues as it creates the new ini file.


Alternatively / additionally, I'd like to be able to specify where LabVIEW loads the LabVIEW.ini file from (which could be located on a network or USB disk).

A right click option for each auto indexed array that allows will not use the length of that array in choosing the number of iterations. If there is no input to the count terminal all auto-indexed terminals can go beyond their length otherwise at least one must remain as a driver for determining the length. If multiple are left with the default (existing) behavior, the shortest length will be used. For any iteration where the array is shorter that the "i" of the loop, the defaults for the data type will be returned (just as if "index array" blocks had been used inside the loop. 


Similarly the loop could be set to use the longest array instead of the shortest.


Additionally a similar function could be done when any array compare or math functions are done. In the case of compare functions if set to use longest array, the result will be false for any compare to an empty element of the shorter array, and math functions will use the default data type for empty elements.

Currently, digital displays are free floating and are not the same height as their corresponding plot in the legend.




Also, when an additional plot is added the displays no longer line up.




I would suggest including the digital displays inside the Plot Legend.




It could be a property of the graph so the user could choose to turn the option on or off




Note: The current method to have a similar effect is to lock the entire chart so that it cannot be edited (KB 4VQDROPI)

LV2010 introduced a new possibility of accessing class private data via property nodes. However, I suggest to reduce the size of the property node when the Name Format is set to Short Names (default). The suffix .lvclass is not necessary.



I suggest having a feature that would allow us to add "virtual" error terminals to any VI by right-clicking any VI and selecting "Add Virtual Error Terminals...". These virtual terminals would do nothing more than act as pass-through tunnels to facilitate data flow. This would allow us to minimize the use of sequence structures:



Hi all,


It will be very convenient to have the ability to change the amount increment in a for loop.  Currently, the i in for loop start at 0 and increment by 1 for each iteration.  It will be great if we can change the start point of i and the amount increment, similiar to what we can do in c.


for(i=2; i<10; i=i+3)



If you wanted to use a lot of functions from the same palette, you have to either keep going back through the context sensitive Replace/Create menu or manually search back over to the palette through the Functions palette to get to the functions you need.


Wouldn't it be nicer if we could pin that palette down directly from the context menu?





If this has already been implemented in LabVIEW 2012, give this idea a miss!

Now that scripting is "legal" we need to be able to do more with it, when it comes to the event structure scripting is weak.


Here are a couple of discussions where people wish for more scripting functions around the event structure :

Triggering an event on a picture created with LV Scripting

- Remove Frame Not Implemented

How do I get the cases in an event structure

- Event Structure Selector Labels


We need to be able to add and edit event!

In LabVIEW if I want to use a property/method of a control I have to right click and select property. Same for second control I want to use same property I have to do same operation again. My idea is if we select all the controls and right click, some common property like value, visible and etc..... Should display and by selection it generate automatically. This can reduce my application development time.



Multiple Control Selection.png


So if this key feature is there in LabVIEW we can select multiple controls or properties and perform some basic operations to reduce our application development timing.


Thanks and Regards
Himanshu Goyal | LabVIEW Engineer- Power System Automation
Values that steer us ahead: Passion | Innovation | Ambition | Diligence | Teamwork
It Only gets BETTER!!!

I find it a real pain to add simple formatting to text in labels and decorations (free labels / floating text).  I really wish that Ctrl+B (Bold), Ctrl+U (Underline), and Ctrl+I (Italics) would do thier expected magic.

I inherited lots of VIs with complicated terminal connectors. It is a challenge to determine which terminal is associated with a given control. 


Why not highlight the associated terminal when a front panel control has been selected?


In other words, currently when I select a terminal, the corresponding control is highlighted. I'm proposing that it should also work the other way -- when I select a control, the corresponding terminal gets highlighted. 


I have just figured out a workaround, but it's clumsy. I can temporarily delete the control, observe which terminal goes white, and then immediately restore it with Control Z. But my proposed solution would be cleaner. 






I suggest that radix is always visible when the numeric display format is other than decimal. Is this number decimal for instance?:




Well, it was hex:


Number_x188.png  ... -> ...  Number_392.png


Basically you'd know that if there isn't a radix visible, then the number is decimal. It should still be possible to show radix for decimal numbers as well. This should be the case for both constants and controls/indicators.


Just one of those little things that would enforce a minimum of documentation.




The thumb tack in the palette is handy. But it disappears when we right click a node to find the corresponding palette.


So there has to be extra steps when I want to find more relevant nodes. What I really want is adding the thumb tack to it as in the normal palette, like:


Thank you.


Best wishes,



It would be nice if the conditional tunnel would be polymorphic.  They only accept Boolean as condition.  Please add the error cluster, like it is available on Case Structure.


I sometimes need to create Front Panels that are to be navigated by keyboard alone, which makes the tabbing order quite important. At this stage, I need to ensure my error cluster controls don't get included in the tabbing order list. Given my error cluster controls for any VI that shows its front panel will be moved out of the visible area, I need to ensure the operator cannot tab to them. Therefore, I would like to see error in clusters have their default "Skip this control when tabbing?" property set to True.


I don't think a change to the default property would cause any complications?


This idea is a better idea than my previous Error Cluster disabled by default thanks to tst!