Tuesday, March 29, 2011

Associative Array in AutoCAD 2012

In AutoCAD 2012 The ARRAY command has been largely improved and is now creating a new Associative Array object by default. There are three commands for Rectangular Array, Path Array and Polar Array.

This will probably be a favorite by many and works in both 2D and 3D.

ARRAYRECT, ARRAYPATH, ARRAYPOLAR, ARRAYCLOSE and ARRAYEDIT are new commands. ARRAYEDITSTATE and ARRAYTYPE are new system variables.

Associativity allows you to quickly propagate changes throughout an array by maintaining relationships between items. Arrays can be associative or non-associative.

  • Associative. Items are contained in a single array object, similar to a block. Edit the array object properties, such as the spacing or number of items. Override item properties or replace an item’s source objects. Edit an item’s source objects to change all items that reference those source objects.
  • Non-associative. Items in the array are created as independent objects. Changes to one item do not affect the other items.

To edit the array properties, use ARRAYEDIT, the Properties palette, Ribbon or grips.

Apply Item Overrides: Ctrl+click items in the array to erase, move, rotate, or scale the selected items without affecting the rest of the array. Reset the array to remove all item overrides.

Replace items: Replace selected items with other objects. Any item overrides are maintained. You can also replace all items that reference the original source objects, rather than selecting individual items.

Edit Source: To edit an item’s source objects, activate an editing state for a selected item. All changes (including the creation of new objects) are instantly applied to all items referencing the same set of source objects. Save or discard your changes to exit the editing state.

There are unfortunately a few bugs still in the new Array command that hopefully soon will be squished either as a hotfix or in AutoCAD 2012 Update 1 (AutoCAD 2012 SP1).

The old AutoCAD array dialog box is gone with only –ARRAY as classic command line command and the ARRAY command is instead working with the command line, properties and the Ribbon. Some might miss the old and faithful but ClassicArray is under development by Steve Johnson at blog nauseam.

There is no LISP API to create and edit the new array object.

What if a drawing with the new Array object is opened in AutoCAD 2011 or older versions? The Associative block is a static anonymous block and all arrayed objects are also anonymous blocks. So you would need to explode twice to get the individual objects back.

Related posts: AutoCAD 2012, Package licenses and prior version support, AutoCAD 2012 VBA Enabler and more under the AutoCAD 2012 label.

No comments:

Post a Comment