Construction elements are very often spatial configured in arrays with the implication that the individual elements shouldn't be regarded as mere copies without any other relationship but as members of a clearly defined system. Columns and beams, rafters, joists and windows are some examples.
AC lacks a good method to handle these system and their members. This is a first note on a concept for a tool that does that and I think it can be a tool with very high versatility and potential. Apart from handling native elements and GDL-objects it would also be useful in for drafting and general modeling.
The Multiply tool is the obvious starting point for this new tool but there is a lot of interesting functionality already in place in the Curtain Wall tool and the Railing tool which has been used to illustrate some of the functions. The fact that most of the functionality already is present in AC but limited to specif geometries is hopefully in support for the feasibility to develop this new tool. Fully developed it could be described as a generalisation and combination of the Curtain Wall and Railing tool.
Dynamic Array tool
The first step would be an added functionality to the Multiply tool so that it gives the option to create a group for the target and the resulting members. The group would then be able to edited in a manner similar to curtain walls.
The distribution method can be changed for the array and its parameters dynamically changed both numerically and graphically.
Operational amendments to the Multiply tool
Bi-, tri- and quaddirectionality
Ability to offset individual members from its node.
Ability to delete individual members.
Ability to add individual member either with start/end of the array vector or an array node as reference
Ability to redefine the initial member and have the array updating accordingly.
Dynamic Sequence tool
The next step would be to build on functionality in the Curtain Wall, and Railing tools to create a general tool for dynamic sequences of elements.
From the Curtain Wall tool the functionality to define a sequence/pattern for the sequence nodes and the ability to define different elements for different nodes.
From the Railing tool the functionality to control the distribution with respect to segments and their start/end nodes.
Ability to define different elements for different nodes.
Ability to override the element type of individual members.