From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW Idea Exchange

cancel
Showing results for 
Search instead for 
Did you mean: 
fabric

Improve alignment for VIs with 5335 connector pane

Status: Declined

National Instruments will not be implementing this idea. The terminal heights for subVIs will not be changing in LabVIEW, and the terminal heights for all terminals in LabVIEW NXG is 10 pixels, regardless of how many terminals are on the subVI. Since subVI connector panes can be resized horizontally in LabVIEW NXG, it should be easier to maintain a consistent height for all VIs in an API so that common terminals always align.

We've all seen it: The annoying 1-pixel bend when wiring between VIs with mismatched connector panes. Many ideas have been proposed to address this on a small scale... But I think it can easily be improved on a much larger scale.

 

IDEA:

Modify the way the 5335 connector pane is rendered so that the top and bottom terminals line up with those of the standard 4224 connector pane.

connectorpanes.png

 

In case the image doesn't say it all, all I'm proposing is that the top-left terminal of the 5335 connector is made 1-pixel larger by stealing 1-pixel from the terminal below. Likewise for the top-right, bottom-left and bottom-right.

 

The obvious benefit is that it becomes much neater to wire errors and references between mismatched VIs. Goodbye OCD! Smiley Very Happy

11 Comments
fabric
Active Participant

Of course, this concept could probably be applied to the "3xxx" and "xxx3" connector panes too:

 

connectorpanes2.png

 

Surely the "abbc" input should line up with the "a" output, right?!

 

 

Intaris
Proven Zealot

Minimal benefit I think.  The terminals are already of different height with the 5335 pane.  Icons are 32 pixels high, so idviding by 5 doesn't give 5 equally sized terminals.  If you connect the upper two outputs with the lower 2 inputs of two 5335 VIs placed side by side you will still get a wire bend despite using the same conn pane on both VIs.

 

I would prefer going the whole hog and implementing THIS idea.

fabric
Active Participant

Jack's idea is great, but it only really applies to newly created VIs... I'm proposing a change that will auto-magically affect all existing 5335 VIs to bring a bit more balance to the force. 

 

And yes, the existing 5335 terminals are not of equal size... That's what makes this idea work. The middle terminals remain essentially unaffected, and yet the top and bottom terminals suddenly play nice, thanks to 1 pixel. Anyone who has used DAQmx, IMAQ, or any other API full of mismatched VIs will find that the most often-used terminals are now "fixed".

Intaris
Proven Zealot

I suppose what I'm trying to get at is that this idea is actually very easy to implement if Jack's idea would be already completed.  We could then concievably choose how to actually represent the "old" conn pane styles in the new much more flexible format.

 

Problems occur when users (like me) liek vertically staggering VIs depending on functionality even with the same conn pane and have already "fixed" the placing of VIs to compensate for existing behaviour.  Suddle my hard work in alignning all my VIs to have no bends goes haywire and my OCD-self has a nervous breakdown.

 

I have no problem with the change you propose per se.  I wish for much more change though.

Mads
Active Participant

Has it even been suggested to attack this by making LV strongly prefer straight wires - that is it will not add a bend unless really needed (definition of necessity ahead)?

 

If we look at the example, the reason why LV adds a 1 pixel bend is because it always wants the wire to go between the middle-points of the terminals.

 

However, if we instead say that if it will hit the target terminal (with 0 or 1 pixel clearing) even without bending -, it should do so...(basically adding the same adjustment as we can do ourselves manually).

Darin.K
Trusted Enthusiast

It is long past the time to cast of the 32x32 confines.  IMO terminals should have a fixed size and the size of the VI icon should scale accordingly. I have even experimented with turning off icon view for subVIs to cast off the conpane shackles.  It has some very nice features (you can arrange the terminals and everything is nicely labeled right on the BD).  The showstopper seems to be a lack of accomodation for in/out pairs.  It would be nice if you could have a terminal labelled error where the input corresponds to the error in terminal and the output is error out.  But I digress....

 

tl;dr : fix the underlying fixation on 32x32 icons.

fabric
Active Participant

@Mads:  Yes I'd be happy with that too.

 

@Darin:  Ahh, the holy grail of wire routing! I have wished for that too (mentally at least), but it feels like the kind of change that one might find towards the bottom of NI's too-hard-right-now basket. And even if sizeable icons were to materialise, how long would it take to re-release all the non-conforming VIs that ship with LV? A major benefit of my idea is that it would be applied instantly...

silmaril
Member

Great idea!

But I think this can be achieved a bit easier: We don't need to change the size of the connector terminals (which would make the smaller ones harder to hit with the mouse). All we need to change is the "connection position" of the existing connector terminals.

 

Currently there seems to be a rule that each wire hits it's terminal in the exact middle. If this was changed for the edge terminals, everything else could stay the same.

 

fabric
Active Participant
silmaril: That would be fine too, although it may not be visually so obvious when comparing connector panes.
Technico
Member

Nowadays, most array tools are lined up, except for the "Array Subset"

 

Array Subset.png