LabVIEW Idea Exchange

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

It has been mentioned before (here, and here, and here) that there are some problems with the connector pane. Let me add my suggestions. Does the image below ring a bell? WHAT GOOD ARE ALL THOSE CONNECTOR PANES FOR?

 

WhatPaneAreYou.png

 

I suggest the following view:

 

ProposedConnectorPane.png

 

The "Define New Connector Pane" will allow you to contrive custom panes to suit your fancy. It could have templates of the current connector pane collection. Below is a pane you could create with the new editor (I would suggest combining the Icon Editor with the Connector Pane Editor!!!!). The only constraints that need to be imposed on a connector is that it is rectangular and touches the edge of the icon. Otherwise, you can make it however big you want it (for all the myopics out there like me!), and wherever you want it.

 

DefineNewConnectorPane.png

 

Two new concepts are introduced above: empty space, and the ability to land a wire NOT directly in the center of the connector. Placing the landing as close to the center as possible would alleviate the current problem of the "gapped wire" that does not touch slim icons (look at gap on top input and the output).

ConnectorPaneProblem.png

The current boolean diagram constant is potentially confusing and too elaborate.

 

Confusing, because it almost looks like a toggle switch, so the new user might click on the right half, expecing an unconditional FALSE. However, there are no active areas, and an inversion of the current value occurs no matter where we click.

 

Too elaborate. All we need to see is the current value! Why do we need to see the "other" value greyed out??? We can guess that by simple elimination. 😉 There is too much redundant information, wasting twice as much diagram space than actually needed to display relevant information. The current design also makes e.g. 2D boolean diagram constant very confusing. Have a look at the image. Can you immediately tell that the 2D array on the left is only true on the diagonal? (I did not think so!). Now look at the suggestion on the right. Ahh... much better! 😄

 

 Suggestion:

The boolean diagram constant should be smaller, simpler, and cleaner.

The image shows the current design on the left and the suggested design on the right.

 

 

What a difference in clarity and economy!!

 

Message Edited by altenbach on 07-03-2009 02:39 PM
We can drag and drop VIs onto the diagram from the Project Items tab and even from Windows Explorer but not from the Project Files tab.  Seems like an oversight...

It is currently possible to add space to the block diagram by drawing an area or line with the cursor while holding down Ctrl+Shift.

 

I often wish there was an equivalent opposite shortcut;  where you could draw how much you want the diagram to contract instead...

Message Edited by Mads on 07-03-2009 08:31 AM

Since the increasing functionality of the project window (libraries, LVOOP, Shared Variables, SCC, ...) it would be nice if it was possible (natively)

to dock the Project window to a side of the screen (something like the google sidebar) and keep it always on top of the VI's.

 

It would speed up development because you have the project window always handy. 

 

Tom 

 

Custom probes are great, however unlike the default probes you do not always have them with you...so why not just make the default probes just a tad smarter? 

 

- The array probe e.g. should not just show a single cell - it should by default show at least some of them (1*10 for 1D, 10*10 if 2D etc. e.g.), have it's scrollbars visible and be resizable?

 You could add some core information about the array, like it's size e.g. in an indicator on the top as well....and perhaps have a pull-down menu for the display format. Keep it general and simple of course, but a bit more convenient than today's probe.

 

 

- The string probe should also be resizable and have a control that let's you switch the display format.

 

- etc.

 

 

The property node has two major advantage over LVOOP - it allows placing a lot of function calls in a horizontally limited space and it uses text, which is MUCH clearer than small icons (IMO) for something like this. It would be nice if LVOOP had support for this as well.

 

The implementation I'm thinking of is basically having VIs which will be marked as property VIs (similar to what XControls have) and will only be allowed to have a single input (or output) other than the class and error I/O. These will appear in the list when you connect an LVOOP object to a property node (ideally with the properties from the parents as well), somewhat like this:

 

Property VIs.png

 

 

When you run the code in this image, LV will run the VIs sequentially, passing the object and error I/O from one VI to the next.

 

 

I know that NI already tried to do this in the past, but didn't finish it. Hopefully, enough support here will encourage them to pick it up again.

I think structures should have a better label system. Currently I use free labels of the same color as the loop which looks great and makes the code easy to read and debug. But if I resize my loop I have to manually resize the label as well. I think this should be built into a right-click option.

 

(structure) rick-click » visible items » Structure label

 

Integrated Structure Labels.PNG

While the Image datatype is very useful for working with images, there are many functions that are not available (e.g. Square Root, or the Wavelet Transforms).  In order to achieve this, it is necessary to convert the Image to an Array, thereby duplicating the memory required, and then convert back again.  (IMAQ GetImagePixelPtr/IMAQ MemPeek also duplicates data).  I would like to be able to directly access the Image data as a LabVIEW Array.  Perhaps the In Memory structure could be used to achieve this, e.g.

ImageInPlace.png

 

One potential problem is the extra information (border pixels) which are part of Images - for most use cases it would probably be ok to retain these (i.e. the array is larger than the image, though perhaps there could be an option as to whether they are mirrored or zero etc. RGB images would provide an array of U32/64, but even better might be a cluster of arrays for each colour plane.

 

Bonus points for the ability to access an Array of Images as a 3D Array!

 

I find the color of the Reorder Button on the front panel a little confusing.  The colors of the two circular arrows being gray gives me the impression that the buttons is disabled for some reason, especially considering the related buttons to the left have some color with green and yellow boxes.  It causes me a slight mental block every time I want to use it.  I would suggest that the Reorder button be given some color, such as green, so that it mentally gives the impression that it is allowed to be pressed.

Message Edited by Ravens Fan on 06-21-2009 01:15 AM

This ties into a recent post I made on the NI Forum HERE.

 

I have already run into this problem a few times.

 

Somewhere in my code I have a process returning an object of a particular class which does not have the exact same type as a dynamic dispatch input.   My post above shows a workaround for this (which, if it wasn't so horrible it'd be funny).

 

Load class from XML workaround.PNG

 

I've run into similar problems where the object is being passed via Queue or Event where I have to pass the Objects as a parent class to enable portability but where I KNOW the only source of the data is a VI sending an object of EXACTLY THE SAME TYPE as the dynamic dispatch input.

 

A normal "to more specific class" does not work presumably because the resulting object COULD be a further sibling of the required object, thus breaking any dynamic dispatch tables.

 

Up to now I've had to write a class member to take the existing object and another object of type parent and make a cast and update the values manually which is really annoying because it requires each and every child class to implement this (and make use of the parent function).

 

So what I'd like is a function to allow an EXACT cast of an LVOOP object so that I can still satisfy the Dynamic Dispatch requirements without having to have a piece of code for each and every child class created.  If the Object classes don't match EXACTLY, return an error and the contents of the object used for the cast.

 

Shane.

When you "Find All" on an object, there may be dozens or hundreds, but you cannot resize the window! It's limited viewing 10 slots at a time. (By comparison, the generic "Search Results" window can be resized when you search for an object or text.)

I could be easier to insert or delete element from array by only select and hit Insert or Delete on keyboard.

 

Insead of this:

 

DeleteFromArrayOld.png

 

Select like this:

 

DeleteFromArrayNew.png

 

 

Most of us have developped our own VI to handle the difference of a VI's path when in development and EXE. See here for an example.

 

The numerous pages on ni.com and questions on the forums about this topic show the need for an improved native Current VI's Path function.

 

Currently, the block diagram has an endlessly useful feature. I use it every day - the Distribute Tool.

 

FrontPanelSpacingTool.png 

 

 

The following feature would be AWESOME for expediting BD readability:

 

BlockDiagramSpacingTool.png

It could be nice to have a context help on coercion dots to see what is the expected type of the data that is supposed to be wired to. This way you can rapidly determine what kind of conversion to use to avoid the coercion dots.

 

ContextCoercionDots.png

 

Subject says it all.

 

Antialias.png  AntialiasProperties.png

 

 

If you have multiple projects open, they are comingled with all of the other open LV windows under both the Window drop down menu and the All Windows dialog.

 

There should be a new section added to the Window menu (right above the open VI windows) that would be reserved only for open lvproj files.

 

Window menu.png

I think that the "Maximum Undo Step by VI" default value (Tools>Options>Environment) should be changed form 8 to the maximum of 99. For every new LabVIEW version I install, I end up changing this (from 8 to 99).
Instead of saving few versions of the same VI, it would be nice to have "Undo" even after saving the VI.