Quick Drop Enthusiasts

cancel
Showing results for 
Search instead for 
Did you mean: 

Quick Drop Keyboard Shortcut - Wire Multiple Objects Together

This Quick Drop Keyboard Shortcut will attempt to wire together multiple selected block diagram objects in an intelligent manner, and optionally clean up the selection afterward:

before.png

after1.png

after2.png

Installation Instructions (VIPM)

Download and install the VIP file attached below.

Installation Instructions (non-VIPM)

If you do not use VIPM, you can unzip the contents of the attached ZIP file to your [LabVIEW Data]\Quick Drop Plugins folder.  You may need to create that folder.

How to Use the Shortcut

  1. Select multiple objects on the block diagram.
  2. Press Ctrl-Space, then Ctrl-W. The objects will be wired together in the following manner:
    • Nodes (functions, subVIs, etc.) are wired together first, in left-to-right order, according to these rules:
      • Unwired error terminals are wired together, regardless of terminal position.
      • Unwired top-left/top-right terminals are wired together, regardless of data type.
      • Multiple rows of nodes are treated separately...this allows you to wire up parallel paths of code in a single Ctrl-W operation.
    • Control terminals and constants will then be wired to the first compatible terminal found on the nodes, starting from the left-most node after the control terminal or constant.
    • Indicator terminals will then be wired to the first compatible terminal found on the nodes, starting from the right-most node after the indicator terminal.
  3. If you pressed Ctrl-Shift-W, block diagram cleanup will be performed (only on the selected code) after the wiring operations are complete.

This shortcut works in LabVIEW 2012 and LabVIEW 2013. Please let me know what other improvements you would like to see in this shortcut. Given how often it's been requested, I'd like to use this community post to polish the shortcut and ship it as part of LabVIEW 2014.

Message 1 of 29
(19,014 Views)

This looks great, I can't wait to try it out. Unfortunately I already have a CTRL+W shortcut, but I think I'll have to change the other one as this is clearly destined to become a common default. Which raises this question: https://decibel.ni.com/content/thread/17162

Thoric (CLA, CLED, CTD and LabVIEW Champion)


0 Kudos
Message 2 of 29
(6,795 Views)

Any reason that you don't create VIPs for your shortcuts Darren?

Charles Chickering
Architecture is art with rules.

...and the rules are more like guidelines
0 Kudos
Message 3 of 29
(6,795 Views)

Charles_CLA wrote:

Any reason that you don't create VIPs for your shortcuts Darren?                  

No philosophical objection or anything, I just haven't gotten into the habit of using VIPs.

0 Kudos
Message 4 of 29
(6,795 Views)

I just posted an updated version of the shortcut that supports wiring VI Server objects (Open VI Reference, Open Application Reference, Property Node, Invoke Node, To More Specific Class, and Close Reference) with unmatched reference types (but that adapt to a new type when wired).

0 Kudos
Message 5 of 29
(6,795 Views)

I just posted an updated version of the shortcut that uses a hybrid approach of geography and data types to wire the nodes together. Unwired error terminals are always wired together on the nodes, regardless of position on the connector pane. Unwired top left/right terminals are always wired together on the nodes, regardless of data type. Data type matching of controls, indicators, and constants still remains. I found this approach solved the polymorphism issue, where the default type of a sink terminal on the node wasn't necessarily the same as its corresponding source (as an example, several File IO functions will take a path or a refnum as the top-left input). With this latest update, I believe I've addressed everything on my wishlist except for converting created loop tunnels to shift registers, which I hope to do in a future revision by using code from Norm's For Loop Pass Through Utility.

0 Kudos
Message 6 of 29
(6,795 Views)

Few years ago I created two scripts for: JKI Right-Click Framework for LabVIEW

  1. RCF Plugin - Wire Nodes by Corners
  2. RCF Plugin - Insert Selected Nodes between two Nodes

Check video and screen-shot.

It is very easy to modify it for Quick drop but days are not long enough

 

0 Kudos
Message 7 of 29
(6,795 Views)

Just some quick feedback: looks like this isn't working for tunnels. I place a constant of the same datatype as a tunnel and select both the tunnel and the constant and ctrl-space, ctrl-w and I get"Invalid object reference"

0 Kudos
Message 8 of 29
(6,795 Views)

Can you post a screenshot or a VI illustrating the specific connection you're trying to make?

0 Kudos
Message 9 of 29
(6,795 Views)

tunnel.pngNone of these connections will be made when I select the objects I want to wire together. Other than this, I haven't had any problems thus far. Awesome tool

0 Kudos
Message 10 of 29
(6,795 Views)