For many users, the most useful new feature in AutoCAD 2012 is going to be the updated Array command. It adds a great deal of very welcome new functionality that will provide a potential productivity boost for 2D and 3D users. But it’s from an Autodesk wedded to its infernal 12-month product cycle, so of course it’s half-baked.
So what’s good about the Array command in AutoCAD 2012?
- Associativity. By default, arrays are now associative objects. This means that if you want to, say, modify the distance between columns a couple of days after you drew them, you can now do so. If you’re a Ribbon user, it’s easy to change array parameters because when you select an array, you get a Ribbon tab dedicated to just that task. If you’re not, then the Properties palette allows you to do the same thing.
- Dynamic preview. Once you have set your various options appropriately, you can just move your cursor around and click to choose things like the number of rows and columns.
- Path option. In addition to rectangular and polar arrays, you can now array along a path such as a polyline, similar to the Measure and Divide commands. But because it’s associative, if you edit the path, the array changes too.
- 3D functionality. It is now easy to create 2D or 3D arrays with the Array command. You can add levels (Z) to the rows (Y) and columns (X) of arrays, and this applies to all three types of array. You can also provide a elevation increment, which means the items get progressively higher the further they are from the base row. Think of the seating in a stadium as an example, although real seating arrangements are usually more complex than you will see in the Autodesk examples, so in the real world I don’t expect this feature to be used much.
So far so good, then. But what’s not so good?
- 1990s user interface. Can you remember when the Array command had only a command-line interface? Because that’s what it has now. While some of us old-timers may yearn for some aspects of the “good old days” of 1997’s Release 14, I don’t think many of us want to lose truly useful functionality. But that’s what has happened here. The Array command uses the new command line. The -Array command uses the old command line. Nothing uses a dialog box; there’s no ClassicArray command. *
- Bugs and limitations. The new command line interface ain’t cooked. There are a bunch of bugs and limitations that mean some valid inputs get rejected, some arrays get drawn incorrectly, and some can’t be created at all. There are other aspects of the feature that strike me as not well thought out, such as the extra step involved in creating a non-associative array (not everybody will need or want associativity), or the clumsy way in which users who want to keep existing objects are expected to mess about with a system variable that affects unrelated things. **
- Missing API. Autodesk’s long-standing grotesque neglect of LISP continues with the new Array object. There is no meaningful ActiveX API for such objects. If you wanted to use ActiveX to create a simple array, you would have to pretty much reproduce Autodesk’s array creation code (it’s an anonymous block, really) and hope you got it right. There is, of course, no documentation whatsoever to help you do this.
On balance, the AutoCAD 2012 Array command should be viewed as a positive, but it could (and should) have been done a lot better.
* Disclaimer: I have written my own ClassicArray™ command, and I intend to provide it as an add-on soon. Watch this space over the next few days for a public Beta. Edit: here it is.
** ClassicArray acts as a workaround for many of these bugs, limitations and design failings.