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

While replacing the Property nodes with Invoke node, Call by Reference, Start Asynchronous call and Wait on Asynchronus call, the primitives are shifting the origin disturbing the wires. So a cleanup is reaquired all the time whenever the items are replaced. It would be very helpful and infact time saving if this is corrected.


Place a Property Node in BD with the Error in and Out connected



Replace the Porperty Node with an Invoke Node


Repeat the same with other primitives






The same behaviour is not found when the Call by Reference, Start Asynchronous call and Wait on Asynchronus call primitives are replaced with one another.



Wire bend issue to numeric nodes

Status: New
by Member Vinal_G on ‎12-05-2014 08:00 AM



As shown in below image we can see that, if I index numeric array and wire it with any of the node from numeric function it gives un-aligned wire whereas as same process if I use Boolean function at output of index it gives well aligned wire.

So due to this numeric function node wire to index out terminal makes our code with full of wire bends which is not as per NI LabVIEW coding standards also.

So here, I want to draw attention for NI, to do some correction to specific numeric function nodes so we can make neat and clean code in LabVIEW.Wire cleanup.PNG


Mark selected Connector pattern

Status: New
by Trusted Enthusiast on ‎11-24-2014 06:09 AM

(Unless it's already changed in newer LV's, i'm on 2011 right now)


When opening the connector pattern, the current isn't marked in any way. If i'm after some extra connectors or a symmetrical one (why do people choose 3-1-1-1?) it'd be nice to quickly see where to start looking. A simple bold outline would suffice, maybe in blue?






Save Last Value?

Status: New
by Member immercd1 on ‎12-12-2014 01:48 PM

We all know the limitation that the "Data Operations"-->"Make Current Value Default" operation when right clicking controls is limited to edit-time only. :smileysad:


I often find myself writing code to save the last value that a user has entered in some sort of ini file (ini, xml, .dat, etc...) so that the next time the code starts up, the last values are reloaded to those controls.  I have written some generic code that handles this functionality by wiring in control references.  It then monitors those controls for changes and it saves the values to "VI Name"+"_Last.ini".  Upon startup it loads the last values from that .ini file.  The two attached VI's show this functionality.  One VI is a Daemon that spawns the main process asynchronously so that the coder doesn't have to handle it themselves.


It would be nice if this could be handled intrinsically in LabVIEW.  What I'm envisioning is a checkbox for every control that, if checked, would function similarly to how the above code works: it would save the control value in a .ini file associated with the owning VI.  Since this is built-in it should also have accompanying properties for the control property node so that it could be accessed pragmatically and fired programmatically with the "Value Signaling" property. That would be awesome! :smileyhappy:




Browse button for File Path constant

Status: New
by Trusted Enthusiast on ‎12-09-2014 09:20 AM - last edited on ‎12-10-2014 04:25 PM by Active Participant JordanG

In many cases where I use file path constant instead of control. For selecting a path either we can right click and select browse for path or paste a copied path into the constant.

So it would be a nice and handy option to have a browse button along with the constant as the control has. This button won't respond when the code is executing or while the BD is in run mode similar to the other Enum/Ring constants. This button can be enabled or disabled or made always to be enabled or whatever may be the best approach. This button may be disabled when "invalid path" is selected.


Mockup 1:



Mockup 2:


I have modified the Path constant suggestion and now I feel its not going to take more space.


Suggested style:



Mouse turns to select pointed when hovering over the button.



Upon clicking the button the browse window appears





Use a more random Random Number algorithm in LabVIEW

Status: New
by Member mlok on ‎12-04-2014 03:43 AM

I recently found out that LabVIEW uses the Wichmann-Hill (1984) random number generator.


...which in some fields is completely unacceptable for not being random enough (cycle length of 6.9536e12?)

A much better (and arguably a much more currently standard one) would be Mersenne Twister (cycle length of 2e199371).


"View As Color Box" option on numerics?

Status: New
by Active Participant SteenSchmidt on ‎10-19-2014 02:00 PM



There are numerous ideas floating around about where the color box constant and control should be located in the palettes. How about if there wasn't a distinction between a color box and its numeric representation? Like the "View As Icon" option on terminals and clusters, I suggest a "View As Color Box" on numeric constants and controls/indicators:




I'm undecided on if this options should be available for all numeric data types, integers only, or U32 only, and what should happen to the Representation options when the numeric is a color box. I see at least these options (ordered after my preference - I prefer 1) the most):


1) The "View As Color Box" option is available for all numeric data types, but when selected the data type changes into U32. If you change Representation to anything else but U32, the "View As Color Box" option is automatically deselected.


2) The "View As Color Box" option is available only when the numeric is U32.


3) The "View As Color Box" option is available for all numeric data types, and coercion happens between the selected "color value" (U32) and the true Representation of the numeric.


Several ideas would be fixed by this, for instance this and this.





Option for Numeric Data in Listbox / Multicolumn Listbox

Status: New
by Member jimmy.chretien ‎12-21-2014 05:44 AM - edited ‎12-21-2014 05:46 AM

Currently the Listbox/Multicolumn Listbox can only handle Strings which is not always handy in LabVIEW, we need to convert our numeric values to string, manage the decimals, manage the keyboard to validate the format from user entry...


It would be nice to have an option on the control as we select scalar/array for the selection method, to select string/numeric data content, and then in numeric we could select the representation that we need, I32/U32/Float...


When a cell is editable, it would only accept numeric content, without extra programming, as we would be typing in a Numeric Control.


When the option is chosen, the property node would offer something like an orange "ItemValues" instead of pink "ItemNames". 


It would look nicer than a 2D array of numerics which can't have row/column headers. Every cells have the same properties in an array, it's not possible to format each cell separatly. In a multicolumn listbox we can set a background color on a specific cell and so on...


Make ctrl+click swap the wires on the top and bottom terminals of "In Range and Coerce" function

Status: New
by Member Miraz_Automation on ‎12-02-2014 05:42 AM - last edited on ‎12-08-2014 01:23 PM by Member dcarva

"In Range and Coerce" function should have swap terminal option. The upper and lower limit shall get swaped.




Array Subset Support Multidimensional Arrays

Status: New
by Trusted Enthusiast on ‎12-01-2014 08:37 AM

So recently I learned of another feature that the In Place Element structure has, that the native functions it represents doesn't.  The IPE structure support splitting arrays, and it can split multidimension arrays like 2D and 3D arrays.  In doing so you can also specify the dimension that it can be split along by right clicking and choosing Split Dimension.  So is there a reason why the native Split 1D array function can be made into the Split Array function with the same features as the IPE?


Attached is a snippet showing the current method of splitting an array with IPE and the primative for a 2D array.


Array Subset IPE.png

I like to collapse long string and path constants to consolidate diagrams.  Showing the string or path value in the tip strip is useful but tedious to update.


constant tip strip.jpg






I suggest an appearance property that would automatically display the current value in a tip strip for string and path constants.


properties window.jpg



































This property would be most useful if the Block Diagram Options page was also modified to allow a global setting.


options window.jpg



Filter dependencies from "Find Items with No Callers"

Status: New
by Active Participant dan_u on ‎11-13-2014 07:17 AM

"Find Items with No Callers" could be a useful function on the project, but currently most items it reports are in Dependencies. Why is an item even under Dependencies if there is no caller? It seems if I call one function from an .lvlib the whole library is in dependencies, and all other functions have no callers. This floods my "Find Items with No Callers" window with useless entries.



Suggestion: add option to hide items from dependencies in the "Find Items with No Callers" window (or even hide them by default).



HTML/CSS UI elements

Status: New
by Member Mike_King on ‎11-18-2014 12:19 AM

The web is miles ahead of LabVIEW for its UIs.  LabVIEW should support embedding HTML5/CSS containers as content for VI front panels, that can be bound to any data type or class preferrably to enable more capable UIs.

One of the things that sometimes bugs me when using LabVIEW is that if you have a front panel or block diagram in a small window, many of the menu options and toolbar options are inaccessible without having to resize the window first. You have to have a minimum window size to be able to access all of the toolbar functions.


Still don't get it?


This is how big I want my SubVI window to be:



Problems with the above:

  • A lot of the toolbar buttons and menu options are completely inaccessible
  • I'm sure it was for good reason (probably some other icons that appear there), but there's also a load of empty space to the left of the run button which would allow me to fit more of the toolbar on screen

To be able to access the entire toolbar, the windows has to be at least one of the following wide:




Why is this a problem?


  • Normally my front panel windows are nicely sized according to the controls and indicators on the front panel (e.g. controls top left, indicators top right, error clusters bottom), for most SubVIs this usually means that the window is thinner than the minimum width to show all of the toolbar options.
  • If you have a fixed size UI panel (e.g. for dialogues) - if you want to align / space objects on the panel you have to make it larger, do the scaling and then resize back to the original size which isn't ideal (possibility for not resizing to the original size correctly)
  • Similar to the above but if you have a UI where you have fit/scale to pane you might want the initial size of the UI to be smaller than the minimum width

Existing workarounds:


  • Just before submitting this idea I realised you can shrink the 'search' bar from the toolbar to make it slightly better2014-10-01_13-25-38.jpg
  • Use the OpenG (?) VI for 'fit to largest decoration - this is OK for some UIs but not really suitable for the SubVI case above

Proposed solution:

Please make it so that the menu and toolbar are accessible regardless of window size. One solution would be to have a button that allows you to 'scroll' the toolbar or have a pop-up dialogue that shows the missing toolbar buttons as per the image below.


MS Paint skills (icon lifted from Chrome's bookmarks bar):



As an aside, MS Word manages it fairly well (even though it isn't that readable), and it has a LOT of toolbar buttons:



Please consider my idea (or Kudos it) for future versions of LabVIEW - it will improve usability of the IDE.


Tables should be indicators by default

Status: New
by Knight of NI on ‎11-04-2014 12:02 PM

Looking at all my body of work, I use tables exclusively as indicators. They are well suited to display formatted results in tabular form, but much less suited for user input, because they only allow strings. If we need to enter numbers, there is no input validation (as we have e.g. for numeric controls), so they are pretty useless for that.


It is thus a bit confusing that the tables in the palettes currently exist as controls. In fact, the modern, classic and system tables are even labeled "Table Control" (seems redundant!), while "Table" alone would have been sufficient (this has already been corrected for the silver controls :smileyhappy:).


It would be much more appropriate if tables are indicators by default. We can always change them to controls in the rare case where this is needed.


  1. I suggest that the various table controls in the palettes be changed to indicators.
  2. Their default name should just be "Table".






LVPROJ : Rename a folder

Status: New
by Trusted Enthusiast on ‎09-22-2014 02:54 AM


                              lvproj : be able to rename a folder






Create cluster out of selection

Status: New
by Member okubik ‎05-15-2014 04:57 AM - edited ‎05-15-2014 04:58 AM

Hi guys,

I'm missing some very fast way how to create cluster out of selection. It could be done as it is shown here:


create cluster.png


I think since LV developers became familiar with Every GUI Programmer's Dream they are ready for the next step...

I am taking advantage of the recent FileVersionInfo to pull up the Version Number of the Executable at Run Time and display it for the User (who can then call me and say "Version crashed", and I can figure out which source this was).  I take advantage of the Pre-Build Action to create the Version Number, taking the "Build" part from the Revision Number of the Project itself (since the Pre-Build Action gives me the path to the Project, this is fairly straight-forward).


However, in order to get the correct Build to appear in my Executable, I must build twice.  The reason for this is that LabVIEW apparently reads the Version information before executing the Pre-Build Action, so my attempt to set it to the "correct" value is ignored until the subsequent Build.


Personally, I think it is illogical to have a "build Action" that silently takes place before the user-specified "Pre-Build Action", though there may well be a hidden "good reason" for this.  I would like to request, therefore, that LabVIEW include a "Feature" that specifically allows the Pre-Build Action to include not only setting the Version Information (which it currently does) but allowing this updated Version Information to be used in the current Build.  True, the work-around of "Build Twice, Use Once" works for me, but why should we need to jump through this particular (unpublished and unexpected) hoop?


Bob Schor

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