LabVIEW Idea Exchange

Community Browser
cancel
Showing results for 
Search instead for 
Did you mean: 
Post an idea

When the Grid is on it is difficult to see Boolean wired due to their 'dotted' appearance.

 

Change the Boolean wire from a dotted green line to a solid green line to improve visibility

 

LabVIEW wires.JPG

Ken

 

 

 

 

This one is pretty basic...and I'm guessing there is a valid reason for the way it is. Still, I wanted to throw it out there.

 

Right now, if you make an object, the localized name defaults to <object>.lvclass. Therefore, when you put it on the front panel, create a constant on the block diagram, etc. it will be stored with the label <object>.lvclass:

object.lvclass.jpg

 

My request is that the default name be changed to the name of the class, rather than the name of the class.lvclass. The size of the icon makes it pretty clear that we're using an object, making the extension unnecessary. Either way, this is something that I change every time I make a new object and I'm curious if the other lvoop users feel the same way.

 

Thanks

Show the Context Help for packed project library VI terminals. Without it, development suffers. For example, a wire conflict occurs but the nature of the source or sink type is not available for inspection.

pplhlp.bmp

Hello all,

 

This is an elaboration on a prior request by RavensFan:

 

When AppBuilder reports a file related error, such as error 8, could someone please provide a path?

 

I have no idea what's causing my file IO error, as I am running LabVIEW as a local admin and there should be nothing interfering with my path.

I can't probe a path wire in the AB method because the diagrams are understandably locked.

 

This is so frustrating.  No one likes to debug by guessing and it wastes a tremendous amount of time.

 

 

 

Thank you with my deepest respect to the AB team.

 

Jim

 

 

For example:

AppBuilder.png

I'd like to see the 3rd mouse button (scroll wheel button) activate the scroll window tool and allow me to move the window while held down.

When you create a library, its banner (the strip on the top of the icon) is 12 pixels high. This is pretty useless. NI is taking 10% of the icon's height (3 pixels) more than is needed to have a line of text using the default font in the editor. These 3 pixels can be very useful for the rest of the icon, which is what actually shows which specific VI you're dealing with.

 

I suggest that this be changed to be 9 pixels high, as shown on the right side:

 

Banners.PNG

Hi all,

 

Since the release of the new “Silver” control style in LabVIEW 2011, I had the idea of having a style control on the front panel. You would essentially click the drop down box and it would change all/selected controls and indicators on the front panel to that style.

 

Take a look at the mock up below.

 

Untitled.jpg

 

 

The idea could be extended to having a style of control that the User could populate, notice the “User” on the drop down.

 

I hope that you like my suggestion I can certainly see many uses for this.

I wish to have the option to pin the (relative datatype) pallette opened thro' short-cut menu, like inthe attached snapshot.

 

The use-case I feel is, most of the times when I want/need to navigate to the related datatype pallette in search of something, suddenly I find that I need more than one function to be used in my next steps of coding. So during those times, pinning is a viable & useful option.

 

Hope some of the folks would agree with me... Smiley Happy

Download All

Right now, you can add one group by which to filter the files you can select in a file dialog (e.g. when clicking the button next to a path control). You  can add extensions by opening the "Browse options" and adding the extensions. You can separate the extensions by semikolon to filter by multiple extensions. However, you cannot add multiple groups.

Here's how it looks now:

 

File Dialog now.png

 

In this setting you get to see all *.txt, *.doc and *.pdf files at once.

 

But what if you want more than one group to filter?

 

You could use .Net to call a standard windows File dialog. This dialog supports multiple groups separated by |

So, you can achieve something like this:

File Dialog.png

 

This feature should be available for the standard path control in LabVIEW, too.

While debugging there's no way to easily have informations about the settings of a Call Library Function node.

 

Why not adding some infos on the Context Help?

 

imgCLF.PNG

Imagine you save a new VI and LabVIEW automatically creates a suitable icon based on various information, such as the VI name, library, class and documentation.

One of the most common operations performed on arrays is to determine whether an element is found inside the array or not.

 

There should be a function that is dedicated to this fundamental operation. My workaround is to use the "Search 1D Array" function followed by a "Greater Or Equal To 0?" function, as seen below. While it only takes a few seconds to drop the geqz function using Quick Drop, it's still slightly frustrating that this is necessary.

 

The set and map data types rightly have been given the "Element of Set?" and "Look In Map" functions. An equivalent should be provided for arrays.

Element of Array - edited.png

 

Thanks! 

Currently, "build path" function has input "base path" set as recommended. This can cause issue when you accidentally do not wire this input. By default there is empty path, which is not really helpful and even if there was any case when you want to wire empty path to build path function, you can easily create constant. Therefore, it would be much more user friendly to have "base path" input of "build path" function set as required by default.

This idea is to improve the QuickDrop search window, to return functions that might be betters suited, based on the datatype of the selected function or wire.  Lets say I have a 1D array of numerics selected and I want to reverse it.  I will select the wire, then invoke QD and type "reverse".  But the first item in the list is actually "Reverse String".  With a context aware QD hopefully the search window will see I have an array of numerics, and prioritize the Reverse 1D Array function, and still include the reverse string but maybe push it farther down the list.  

 

This idea can be applied to the basic data types pretty easily (numerics, boolean, array, string, cluster).  But we could also use this on class wires that are selected.  A class library can have an associated mnu file, which is why some functions you can right click and the corresponding subpalette menu comes up.  So this idea could also prioritize functions that are found in the mnu associated with the class.

Interpolate 1D array is very similar to index array, except it accepts a fractional index and will return a linearly interpolated value. (For integer indices, the results are the same). As the name suggests, this only works for 1D arrays.

 

I suggest that the functionality should be expanded for higher dimension arrays. The equivalent function for 2D arrays is bilinear interpolation and for 3D arrays it is trilinear interpolation. In the past I have written simple drafts for replacement code, but I think the "Interpolate 1D array" should be renamed simply to "Interpolate Array" and made polymorphic to accept up to at least 3D arrays.

 

An example of bilinear interpolation of a 2D array can be found here.

An example for trilinear interpolation of a 3D array can be found here.

(SInce I wrote both, they would need to be verified for correct operation and enhanced with exception handling, etc. ;))

 

These functions are useful to e.g. extract a profile along an arbitrary line in 2D (example) or 3D, or an arbitrary cutting plane in 3D.

They can also be used to resample an existing array (1D, 2D, 3D) at a different grid spacing.

 

Here's an example for resampling a very coarse 2D array at 10x higher rate (posted here).

 

 

 

(True, we also have the interpolation palette and some of the above 1D or 2D functions could probably be achieved with a detailed reading of the help and some extra code. None have the simplicity of "index array" with fractional indices.)

 

My suggestion is extend the functionality of interpolate array in the array palette to also accept at least 2D and 3D arrays.

 

Who doesn't like dumping data to CSV files? But there is a few pain points unless your data is already a string array or the same data type.

 

The usual way I end up doing it is formatting data to a string, then concatenating it with a delimiter. Then have to figure out if its a new file and prefix the header string. (Its also annoying open file doesn't return an empty file flag (True if New, or Replaced, or Existing AND empty)). 

 

Then you need to add a new column of data - now there is a problem of keeping format specifier strings and header strings in sync. And then you end up with a stray delimiter so your column headers end up offset from the columns... And your format string breaks if you don't get the format code in the right place. And the data you want to dump increases until you have over 60 columns and its a nightmare maintaining long format and header strings, concatenate strings etc!

 

 

Format Cluster to String.png

 

It would be nice to format a cluster to a string. Optionally include the header row. For a 1D array could take its name and append the index to it. 

Named Format into String.png

When searching for text, the results are returned as a comma delimited string. If you are interested in finding a result based on location or type, you have to eyeball the results to find what you want. Since the data is already delimted, each piece should be placed in its own column which can then be sorted. Also, the ability to filter the results based on an expresssion would further help narrow down the results.

 

20121i19DC718199D8B5D6

Protocol buffers are a flexible, efficient, automated mechanism for serializing structured data. Like XML or JSON but smaller, faster, and simpler.

LabVIEW already has XML & JSON functions, why not ProtoBuf?  It is the default mechanism for serializing structured data used by gRPC.

If LabVIEW users want to create gRPC microservices, then LabVIEW needs to support ProtoBufs.

Under Web Services there is a conversion palette.  One of the functions here is to convert LV Image data to a PNG stream.  This is super useful when dealing with sending and receiving large amounts of PNG data over something like websockets.  I've used this in places where a web page can control a VI, and the image of some front panel controls can be sent to the web page.

 

However only recently did I realize this function turns the image into a PNG stream that is completely uncompressed.  This idea is to expose the Compression input to the VI.  Here is just one example where I get the image of a control then represent it as a PNG.  With no compression this file is over 64KB.  With just the most minimum compression that drops to 3KB, and down to 2KB under the highest compression.

 

Example_VI.png

I want class modifications to be saved immediately. It's very rare that I need to revert any change I have made to a class.

 

One of the most time consuming tasks is fixing a class after I close and reopen it because I forget to [right-click > save > save]. In fact, I frequently make two source commits because I have forgotten to save the class and I don't realize until after I have made the first commit.

 

If not exposed through the options dialog, can we at least get a new LabVIEW.ini key?

 

autosaveClass=True

 

OR

 

saveClassOnChange=True