Software Documentation

Software Documentation


Last updated: May 6, 2023

20 Re-arrange tubes in adjustable angle racks to avoid collisions

It is obvious just from looking at them that racks with adjustable tube angles must not be configured with their tubes angling at each other.   Since the addressing operation in Finale 3D assigns effects to rack tubes, it is the addressing operation itself that ultimately determines the angles of the tubes of adjustable angle racks, by virtue of the effect angles assigned to them.  Thus, if you are using adjustable tube angle racks you must take care in the addressing operation to ensure the angles will not collide.

Figure 1 – Fan row rack with adjustable tube angles.


One way to ensure tubes do not collide is by sorting address assignments by “Angle” and setting the rack’s tube loading order as described in Tube loading order, but by far the easiest way to avoid collisions is simply to check the “Re-arrange tubes in adjustable angle racks to avoid collisions” checkbox on the addressing dialog, shown in Figure 2.  That’s all there is to it! 

If you check that box, then after the tubes are assigned in the original phase of the addressing operation, a second phase will re-arrange the tubes within each adjustable angle rack to avoid collisions.   Since the re-arrangements only occur within the confines of the racks, they will not violate any of the addressing constraints in the addressing dialog.  For example, if you restrict racks to a single module, the re-arrangements within any rack wouldn’t have any effect on that.


Figure 2 – The “Re-arrange tubes” checkbox is the easiest way to avoid collisions.  Just check the box, that’s all you need to do.



The rack shown in Figure 3 has five rows of three tubes each, addressed without the “Re-arrange tubes” checkbox checked.  The rows are vertical columns as drawn in the figure, with the 1-2-3 row on the left as the first row.  The tube angles in this example are drawn with red arrows, aiming forward and back from the audience perspective.  The even numbered pins are all aiming upward in the figure; the odd numbered pins are all aiming downward.  Although this example involves forward/back angles, the re-arrangements work the same way for side-to-side angles.

There are four tube collisions: 1-2, 5-6, 7-8, and 11-12.   In addition to the tube collisions, the tube with pin 13 is aiming across the rack unnecessarily.  That isn’t a collision, but it is an unnatural configuration.  It would be better if the pin 13 effect was placed in the bottom right, in which case it would be aiming outward instead of across the rack itself.


Figure 3 – Without the “Re-arrange tubes” checkbox, this rack has four tube collisions.


Figure 4 shows the same rack after addressing with the “Re-arrange tubes” checkbox checked.  As you can see, all the collisions have been resolved, and the pin 13 effect has been moved such that it doesn’t fire across the rack.  As described below, the “Re-arrange tubes” checkbox does a bit more than just avoid collisions.  It also optimizes the re-arrangement for symmetry, balance, aesthetics, and ease of loading efficiency for the crew.  The pin 13 movement is an example of these secondary re-arrangement optimizations.


Figure 4 – With the “Re-arrange tubes” checkbox, this rack has no collisions.


Although you can’t tell from the figures, the rack of Figure 3 and Figure 4 had been modified to include a “Row length constraint” (see Variable tube size racks with row length constraint).  Row length constraints are for racks that support multiple sizes of tubes in each row, adding up to a total length limit for the row.  As you can imagine, row length constraints complicate the business of re-arranging tubes between rows since exchanging tubes between rows could cause a row to exceed its length limit.  On account of this complexity, the “Re-arrange tubes” function restricts itself to re-arranging tubes within the confines of each row separately if the rack’s definition includes a row length constraint.  Similarly, the “Re-arrange tubes” function restricts itself to the confines of each row if the rows have different numbers of tubes (not the case here), or if the rows are restricted to different size tubes (also not the case here).

You will notice if you compare the pin numbers of Figure 3 and Figure 4 that the “Re-arrange tubes” function applied in Figure 4 did indeed stick to the confines of re-arranging the tubes in each row separately.  In both figures the first row contains pins 1, 2 and 3, just in a different order.  Similarly the second row contains pins 4, 5, and 6 in both figures; and so on.  Confined to operate on the rows separately, the “Re-arrange tubes” function eliminated all the collisions and made some secondary optimizations like moving pin 13 to the bottom right to avoid firing over the rack.  Which leads one to wonder, if the rack didn’t have a row length constraint and thus if the “Re-arrange tubes” function were free to re-arrange tubes anywhere within the rack, could it do any better?


Figure 5 – If the rack has same size rows and no length constraints then “Re-arrange tubes” can make further optimizations for symmetry, balance, aesthetics, and loading efficiency.


Figure 5, picturing the result after removing the row length constraint, shows that it can!  With the freedom to re-arrange tube assignments anywhere in the rack, the “Re-arrange tubes” function is able to make the first two rows symmetric with outwardly firing tubes, and it eliminates the unbalanced nature of pin 13 being on a row by itself.



In addition to eliminating tube collisions, which is a guarantee, the “Re-arrange tubes” function optimizes the re-arrangement for symmetry, balance, aesthetics, and ease of loading efficiency.  These secondary optimizations are not guarantees, but they are a nice fringe benefit of the function.  The considerations being optimized are,

  • Creating symmetry for each row, by arranging oppositely aiming tubes at the ends of the row shooting outward
  • Avoiding shooting over the rack, by arranging tubes to fire outward if possible and shifting the angles to the correct ends of the row
  • Grouping like-tubes together, by arranging all tubes in the row to be justified to one end if no tubes are firing in the other direction
  • Keeping same-size and identical effect part numbers nearby each other, by sorting them together and zig-zagging up and down alternating rows
  • Keeping same-pin or sequential pin assignments nearby each other if all other considerations are equal, by sorting them together and zig-zagging up and down alternating rows

Obviously it is impossible to optimize all of these considerations fully at the same time since there is some give and take between them, but by optimizing for their combined virtue the “Re-arrange tubes” function is able to lay out the tubes in a reliably efficient manner for the crew to set up, in addition to eliminating the tube collisions.  The function also often relieves the show designer of the burden of having “Angle” in the addressing sort criteria since it is no longer required for purpose avoid collisions.



The “Re-arrange tubes” option only works on racks of these three rack structures:

  1. Fully adjustable tube angles
  2. Adjustable tilt angle of each row
  3. Adjustable fan angles of tubes in each row

The rack structure is part of the rack definition dialog accessed by right clicking a rack and choosing, “Edit this rack VDL…”  All single-shot racks created as “Easy Racks” have “Fully adjustable tube angles”, which means just what it says — any tube can point in any direction.  The “Adjustable tilt angle of each row” racks contain rows that tilt from side to side, while the tubes within each row have a fixed angle relative to the row.  Ladder racks (Ladder racks) are a common example of such racks.  “Adjustable fan angles of tubes in each row” means that the row cannot tilt from side to side, but the tubes within the row can fan out arbitrarily within the plane of the row.  The fan row rack shown in Figure 1 is an example of this kind of rack.  The limitations depend on the rack structure as follows:

  • If the rack structure is “Fully adjustable tube angles”, the “Rack row length” constraint (see Variable tube size racks with row length constraint) curtails some optimizations, as discussed earlier, by limiting the optimizations to be within each individual row, and not between rows. In other words, tubes can be re-arranged within a row, but not moved from one row to another. WARNING: if a fully adjustable tube angle rack is situated in the default orientation (rows vertical), and if the required shot angles are side to side, then the “Row length constraint” causes “Re-arrange tubes” not to work at all, since it would need to move tubes between rows to avoid collisions.  Rotate the rack 90 degrees after inserting it to avoid this problem.
  • If the rack structure is “Adjustable fan angles of tubes in each row”, the “Rack row length” constraint also curtails some optimizations by limiting the optimizations to be within each individual row.  However, this limitation is unlikely to prevent “Re-arrange tubes” from fixing the collisions since fan row racks, unlike fully adjustable tube racks, are usually inserted automatically in the orientation that aligns the rows with the required angles.
  • If the rack structure is “Adjustable tilt angle of each row”, then the optimizations are limited to sorting the entire rows relative to each other by angle.  Whatever the set of row angles were before the optimizations are applied, the rows after optimizations will have the same set of angles; the only difference will be that the row angles may be in a different order.  Since the optimizations for racks of this structure do not change the set of row angles, it is still necessary — even with the optimizations turned on — to assign effects sorted by tilt and with the tube loading order in the rack’s definition of “By rows, left to right”.  Doing so fills the left-most rows first, moving to the right with increasing angles while filling rows efficiently.  Without these precautions it is possible that the first few assigned effects may set multiple rows to the same angle even if there are not enough effects to fill a single row of the angle.
  • For all rack structures, the “Re-arrange tubes” function is incompatible with the optional “Pre-wired pins” constraint in the rack definition (see Racks with pre-wired pins), with the one exception that the “Sequential for each row” option is compatible if the rack structure is “Adjustable tilt angle for each row”.
  • For all rack structures, the “Re-arrange tubes” function is limited to optimizations within each row if (1) the rows have different numbers of tubes, or (2) the rows are restricted to different size tubes.