LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Is this a bug? Wire steers around invisible iteration terminal in for loop.

Using 2024 Q3. When an iteration terminal is made invisible, a wire path will tend to still avoid it. Maybe this is a feature? so if the iteration terminal is brought back, it'll return to empty space?

I've attached a .gif here that shows the behavior.

Screen Recording 2025-07-09 154419 (1).gif

If it's not visible for some reason, here's a description of how to reproduce on a block diagram:

  1. Create a constant. In this example, I created a boolean constant.
  2. Create a For Loop and wire the constant to it, creating a Loop Tunnel.
  3. Drag the Iteration Terminal to be in front of the Loop Tunnel.
  4. Right click on the For Loop and uncheck Iteration Terminal to hide it.
  5. Click on the Loop Tunnel to draw a wire, and move the mouse to the right. The dotted line will show that something is blocking the wire from being straight.

Let me know if I might have some weird setting that's affecting this. It's not really a problem, it's just strange and slightly annoying.

Message 1 of 13
(298 Views)

I also noticed the black border(shadow) if the invisible iteration terminal is behind e.g. a case structure in front of it. Yes, it is a buggy feature.

Actor Framework
0 Kudos
Message 2 of 13
(240 Views)

@Quiztus2 wrote:

I also noticed the black border(shadow) if the invisible iteration terminal is behind e.g. a case structure in front of it. Yes, it is a buggy feature.


Technically I guess it's not a bug because the help says that "by default it is displayed."  This implies that when you uncheck it, it is no longer displayed.  It's lame, I know, but "not displayed" isn't the same as "is removed".  It is trying to wire around an object that is still there but invisible.

Bill
CLD
(Mid-Level minion.)
My support system ensures that I don't look totally incompetent.
Proud to say that I've progressed beyond knowing just enough to be dangerous. I now know enough to know that I have no clue about anything at all.
Humble author of the CLAD Nugget.
0 Kudos
Message 3 of 13
(195 Views)

@billko wrote:

@Quiztus2 wrote:

I also noticed the black border(shadow) if the invisible iteration terminal is behind e.g. a case structure in front of it. Yes, it is a buggy feature.


Technically I guess it's not a bug because the help says that "by default it is displayed."  This implies that when you uncheck it, it is no longer displayed.  It's lame, I know, but "not displayed" isn't the same as "is removed".  It is trying to wire around an object that is still there but invisible.


I just tested and confirmed this also happens in 2025 Q1. Although the menu is structured a little different:

ajbradford_0-1752164753073.png

 

I see your point Bill, but the new menu structure implies that the Conditional and Iteration Terminals are made visible/invisible in the same sense, and yet the wire behavior is different: the wire path avoids an invisible Iteration Terminal, but not an invisible Conditional Terminal:

Screen Recording 2025-07-10 103609.gif

If we agree that an unchecked menu item in this case means "not displayed yet not removed", that would be inconsistent with the behavior of the invisible Conditional Terminal which appears to be removed as well.

 

This gives me more confidence that this is a bug - although a very low-priority one.

Message 4 of 13
(184 Views)

Yes, it is a cosmetic bug, but it also prevents hidden wires if you would make the terminal visible again later.

 

(Similarly, I would prefer if it  the algorithm would ignore broken wire fragments and not try to wire around them).

0 Kudos
Message 5 of 13
(176 Views)

@ajbradford wrote:

@billko wrote:

@Quiztus2 wrote:

I also noticed the black border(shadow) if the invisible iteration terminal is behind e.g. a case structure in front of it. Yes, it is a buggy feature.


Technically I guess it's not a bug because the help says that "by default it is displayed."  This implies that when you uncheck it, it is no longer displayed.  It's lame, I know, but "not displayed" isn't the same as "is removed".  It is trying to wire around an object that is still there but invisible.


I just tested and confirmed this also happens in 2025 Q1. Although the menu is structured a little different:

ajbradford_0-1752164753073.png

 

I see your point Bill, but the new menu structure implies that the Conditional and Iteration Terminals are made visible/invisible in the same sense, and yet the wire behavior is different: the wire path avoids an invisible Iteration Terminal, but not an invisible Conditional Terminal:

Screen Recording 2025-07-10 103609.gif

If we agree that an unchecked menu item in this case means "not displayed yet not removed", that would be inconsistent with the behavior of the invisible Conditional Terminal which appears to be removed as well.

 

This gives me more confidence that this is a bug - although a very low-priority one.


Very interesting.  Nice find!  So it leaves the realm of unexpected behavior and enters the realm of (cosmetic) bug!

Bill
CLD
(Mid-Level minion.)
My support system ensures that I don't look totally incompetent.
Proud to say that I've progressed beyond knowing just enough to be dangerous. I now know enough to know that I have no clue about anything at all.
Humble author of the CLAD Nugget.
0 Kudos
Message 6 of 13
(151 Views)

I have no access to LabVIEW. Can someone check if one can expand(drag) a case structure over a invisible conditional terminal? One can't do this with the iteration terminal.

Actor Framework
0 Kudos
Message 7 of 13
(143 Views)

@Quiztus2 wrote:

I have no access to LabVIEW. Can someone check if one can expand(drag) a case structure over a invisible conditional terminal? One can't do this with the iteration terminal.


Yes, just confirmed on 2025 Q1. Good catch

Message 8 of 13
(127 Views)

I don't really get the point of an invisible iteration terminal, if this means that you can't even use all the space of a for-loop. I think there was someone just very lazy implementing this.

Actor Framework
0 Kudos
Message 9 of 13
(77 Views)

Hi,

 


@Quiztus2 wrote:

I don't really get the point of an invisible iteration terminal, 


Me neither.

Why do you want to hide it at all?

 


@Quiztus2 wrote:

if this means that you can't even use all the space of a for-loop


Oh, we cannot use those 16×16=256 pixels efficiently!?

 

<Sarcasm off>

  • When I don't need that iterator I usually place it in the upper right corner of the FOR loop.
  • Or I place it next to the conditional terminal of loops and wire it the to next border (setting tunnel to "last value"), so I can probe the iteration value while debugging…
Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
0 Kudos
Message 10 of 13
(52 Views)