Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
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!
The current implementation of Control References on the Block Diagram could be improved. This Idea was first conceived over a year ago in a discussion on Smaller Static Refs, in the comments here.
Consider the following advantages:
It's generally bad style to have Ctl Refs with hidden labels. New implementation always demonstrates the label to comply with inherent self-documentation of G (just like a Local)
Smaller footprint combined with better visual distinction between Ctl Refs doubly improves information density
In general, the Control Class does not need to be shown at all times on the BD. Rather, it could be shown in Context Help (currently, CH is not useful when hovering over Controls Refs, but this is another topic), or determined by browsing Properties/Methods.
Eliminates the undesirable ability to rename/delete a Control Ref Label such that it no longer matches the Terminal Label.
Creates a better distinction between a Control Ref and a Control Class Constant (NULL Ref). The color of the Static Refs denote a "live link" with a control, while the muted tones of a Class Constant indicate no such link (NULL)
Complements the new LV2010 Local Variable upgrade (see image), yet remains distinct by having a different glyph, different background colors, and no directionality arrow
In summary, a Control Reference revamp could reduce the footprint, increase readability, and prevent obfuscation that decouples the Static Control Ref from the Control.
I am probably not alone in my trepidation in using the Block Diagram Cleanup tool, but I can not help but recognize its power to be a tremendous help. We already have tools (Grids, Align and Distribute, Ctrl-T QD shortcut, etc.) to get Nodes and terminals positioned nicely. Even with this idea in Beta, wiring can still be a tedious chore. The BDCT does a reasonable job routing wires, but also moves things around including control/indicator labels, and is often unsatisfying.
What I want is to be able to lay out the BD, wire things while only worrying about beginning and end, and then have the BDCT only adjust the wire routing.
Despite numerous RCF shortcuts and new behavior in LV10, this is not the same as cleaning wires. The solution is not to methodically select only wires and Ctrl+U. The reason: the process should be a global optimization, not a serial process where each wire route is chosen based on the current state of the BD. The BDCT uses a global optimization, 'Cleaning wires' does not. What I want is the optimization of the BDCT limited to only wires, leave my nodes and terminals and labels alone!
Right now, if you happen to use the right colors, LabVIEW will change the text color on a Boolean. But, if you don't pick the right colors, LabVIEW keeps a single text color.
This would probably be fine IF LabVIEW allowed you to have multiple text colors, but you can only choose one:
But, as you can see, LV only supports one text color. I propose that LV support two text colors (ON and OFF). Obviously LabVIEW has the ability to change the color already since it will do it in the right circumstances, but it would be nice if LV gave us control over it.
In my use case at the moment, I am trying to make a custom illuminated button which the text on the button should be grey went off, and yellow when on.
The Index & Bundle Cluster Array function currently discards any labels of the input data. I think it would be more useful if it would try to retain the names (i.e. copy the original array labels (if available) to the element labels of the output).
The picture illustrates the idea. On the left we see the current behavior and on the right what we would get after this idea is implemented.
Even though I use the tools selection in the automatic mode, many times I need some specific tool not accessible in the automatic mode or force one like "Position/Size/Select". Sometimes, mostly designing User Interfaces (UI) that takes all screen, we got the Tools Palette blocking access to something. Then we move the Tools Palette until it get in front of something else.
The idea is to have an option to have all buttons in the toolbar. Some programs allows you "dock" just dragging the over the tool bar.
Many times we have plenty of space to have all buttons there, if not, we can have a second row of buttons. That will be nice to add more buttons as we wish.
When I have an array of clusters and I want to locate the array index where a specific element of the cluster has a certain value, I need to first build an array from the Array of Clusters and then search that to find the Array element I want:
It would be nice (and cleaner and likely faster) if I could wire the Array of Clusters into an unbundle by name function and select String to get the array of string element to search.
In addition, if the cluster contained nested clusters, I could access them the same way, using the dot notation alrerady supported. For example, the unbundle would let me select 'cluster1.subcluster2.String' to access the subarray of an element.
I really hate having to dig through a long hierarchy of menus when I know what I want:
Visual Studio (and other MS and non-MS products) have a feature called Intellisense, which is meant to make this easier. Basically, as you type, it pops up a list of matching objects, based on context, so you can quickly select what you want:
It would be nice if LV had a similar feature - click on a property in the property node using the text tool (or Ctrl+click if using the auto-tool) and now you can type in the property name and you will get an Intellisense-like pop-up, which will have all the relevant properties.
Specific features it could have:
It should know all the relevant names - full names with the hierarchy (Boolean Text.Font.Color), long names (Mechanical Action) and short names (MechAction). This could probably be similar to how Quick Drop handles shortcuts or they could simply appear as separate items.
It should be context sensitive. If the class is Boolean, then there's no need to have Listbox properties in the list.
It should match all the properties which include the search string (so "in" on a boolean would match both "Indicator" and "Strings") and only them.
It should have the ability to use caps for acronyms (e.g. in the above screenshot you could use "BT" instead of "Boolean Text", similar to what appears in this video).
It could probably also work on the invoke node, although there it's less needed.
It could probably also be used to quickly select a class if you have a class specifier using the same basic mechanism.
This example (LV 2009) shows how useful this could be. You don't need anything installed. Just run the VI and start changing properties.
It will only work on the last property in the node.
It doesn't have the proper list of names and it doesn't implement all the features in the idea, as this is just a basic example.
Note - this is similar to this idea, but I think that it's much more usable. Also note that the second idea refers to a QDKS which ships with 2010, but that is far from perfect.
Probes are so useful for debugging, but monitoring them within the Probe Watch window can be a headache. I constantly find myself focusing back and fourth between Probe Watch and the code to translate a probe number to a position in the code. A solution would be to have the probe's value float just above the probe itself. LabVIEW already has a similar feature. When you use Highligh Execution wire paths display their current vaules, but using Highlight Execution is too slow and no practical for every debug situation.
We've all seen the demo that shogg did where he set the color of his splitter bars to the panel color so they disappear at run time, but what if the splitter goes over background controls that you want to persist between panels?
It look slike the smallest i can have my splitter bars is 2 pixels. I totally want them to show up in edit mode, but I'd like them to be 0 pixels wide in run mode (selectable, of course).
Currently to replace something (for instance a node on the block diagram) you have to right-click and then select Replace... and then usually a lengthy navigation into the function palette or onto the disk with the OS file explorer.
Most often I already have a LabVIEW-project open, one or more explorer windows (opened at a useful context), and maybe also one or a couple of pinned sub-palettes - but I am not allowed to replace anything from these locations. I suggest that this will actually be allowed; that is: drag something onto the block diagram, and if you're enough on top of another object, then a replace-outline appears for you to drop your new object into. Here's an illustration for replacing something in the block diagram, but the same could apply to the front panel as well:
All the usual stuff should happen when you replace this way, as if you replaced through the context menu. For instance a prompt to save a VI that leaves memory, automatic update of a project's dependencies etc. Many ideas are submitted to this Idea Exchange to enhance the Replace context menu in different ways, but a feature as I'm suggesting here would improve my own workflow the most, simply because I already have much quicker access to my "replacer", through existing explorer windows, than going through the Replace context menu no matter how intelligently it gets populated.
I would like to introduce a little shorthand for creating numeric constants with non-decimal radix. New constants should be able to autoadapt for radix, much like they do for type: Drop a constant, enter '0x20' or 'x20' to get a constant with Hex radix (visible!), and the proper value.
In addition, it would be nice if automatic conversions would take place if radix specifiers are entered into (non-hex) constants (or controls). For example, entering '0x20' into a numeric control with decimal radix should result in a value of 32 being entered (auto conversion). Hex is an exception, obviously, because b and d are already valid. The other radices have no such problem.
When calling .NET libraries from LabVIEW, block diagrams explode horizontally - the aspect ratio of the diagram can easily push 5:1 or worse (it's 10:1 in the example below). Some Method Chaining syntactical sugar would yield a more space-efficient-and-readable 4:3 to 16:9 or so.
Property Chaining is already well-established in LabVIEW - let's get us some Method Chaining!