Tag Archives: Array

Old news – shipping version of ClassicArray released

I have been somewhat neglectful of this blog lately, including a failure to mention that my ClassicArray™ plug-in for AutoCAD 2012 has been shipping since 1 May 2011. Thank you to those people from various places around the world who have been prepared to go to the effort of registering and paying for the product.

Here are some details of the product taken from the ClassicArray page:

ClassicArray is a simple-to use but powerful tool for creating arrays in AutoCAD.

  • Provides a dialog box interface to AutoCAD 2012’s Array command. The familiar interface method provides continuity with earlier releases.
  • Supports the creation of both associative and traditional non-associative arrays.
  • Provides an in-dialog preview panel to give you a quick idea of what your array will look like before any objects are created.
  • Allows creation of a preview array which can be accepted, rejected or modified before the desired array is finally chosen.
  • Base objects can be incorporated into the array or left intact as desired using a simple toggle.
  • Allows simple creation of 3D arrays.
  • Comprehensive Help is available from within the dialog box.
  • Provides Ribbon tabs and toolbars, separated into associative and non-associative sections.
  • Setup routines are provided that support either all users (requires admin rights) or the current user (no admin rights required). Uninstallation is via the standard Windows Control Panel methods (Uninstall a Program, Add/Remove Programs).
  • Uses AutoCAD 2012’s new Plug-in feature to provide application behavior consistent with other add-ins.
  • Acts as a workaround for various AutoCAD 2012 Array bugs and limitations.
  • Supports AutoCAD 2012 for Windows and vertical products derived from it. Sorry, due to Autodesk API restrictions ClassicArray can support neither AutoCAD LT nor AutoCAD for Mac.

See the ClassicArray Help page if you want to see a full description of the product, including screenshots.

One more thing I should mention is that if you have used one of the Beta versions of ClassicArray, please make sure you uninstall it and install the shipping version before registering the product.

AutoCAD 2012 – How to “hatch” using any objects

Here’s a trick you can use in AutoCAD 2012 to fill an area with any objects you like. It’s not actually hatching, but it has several advantages over the real thing:

  • You aren’t restricted to straight line segments as you are with real hatching. Circles, splines, even solid objects, you name it, you can use it.
  • To define the pattern, you don’t have to master an arcane file format or use trigonometry to work out the numbers used in it. Just draw the objects you want repeated.
  • You can easily change the spacing between the objects later, or even change the objects themselves.

How is this done? Use the new associative array feature, then use XClip to restrict the displayed objects to within a specified boundary. For example, let’s say you have a polyline you want filled with green spheres, and a green sphere already drawn. The sequence is:

  • Use the Array command to create a rectangular array of spheres that more than covers the whole area you want “hatched”. You might prefer to use my ClassicArray add-on for this, but it will make no difference to the finished objects.
  • Use the XClip command and select the array of spheres. Press Enter to accept the default option of New. Type S [Enter] to select the polyline, then pick the polyline. Done!

Don’t have a handy polyline defining the area? No problem, just create one before you start using the Boundary command.

There are some restrictions to this technique that do not apply to normal hatching. For example, any arc segments in the polyline will be treated as if they were straight lines, which isn’t very useful. But this method will work in most cases, and it sure beats spending hours trying to get your hatch pattern definition just right. You can even use an array of arrays to get some very interesting effects. For example, you could have a series of circles in a wave-form path array, which is then arrayed in a rectangular form before being Xclipped.

Not using AutoCAD 2012? You can do something similar using Minsert. Instead of Array, use the Block command to convert your objects to a block, then the Minsert command to insert it in a series of array-like rows and columns. Finally, Xclip it as described above.

Edit: In a comment, Patrick Emin reminded me of the Express Tools command SuperHatch. This allows you to use an image, block, xref, or wipeout object as a hatch pattern. It also automatically takes care of various details, including converting arcs within the boundary to straight line segments. However, the end result can be hundreds of individual blocks collated into a group, rather than just one configurable object if you use the Array or Minsert methods I describe above.

AutoCAD 2012 – ClassicArray Beta

People have already started to notice that AutoCAD 2012 has killed the dialog box interface for the Array command, and not everybody is happy about it. So I guess it’s time to launch ClassicArray™ Beta.

ClassicArray is an add-on for AutoCAD 2012 for Windows that allows the creation of arrays using a dialog box interface similar to that provided in AutoCAD from 2000 to 2011, but enhanced to include new AutoCAD 2012 functionality. I will create another post later have created a Help page that describes ClassicArray more fully, but for now here are the commands ClassicArray adds to AutoCAD:

ClassicArray (short form CA)
ClassicArrayRect (short form CAR)
ClassicArrayPolar (short form CAP)
ClassicArraypAth (short form CAA)

In addition, there are the same names with N appended, which default to creating non-associative arrays. For example, ClassicArraypAthN (short form CAAN) will create a non-associative path array. However, it is easy to create associative or non-associative arrays of any type, whatever command you use to start it. Toolbar and Ribbon buttons are provided. Help is currently non-functional now complete. This pre-release software is time-bombed, meaning it will no longer work after the date shown below.

Here it is to download:

ClassicArray.1.0.0.zip (Shipping product – 850 KB – will not create arrays after 15 day evaluation period
ClassicArray.0.7.0.zip (Release Candidate 2 – 850 KB – will not create arrays after 15 day evaluation period)
ClassicArray.0.6.0.zip (Release Candidate – 787 KB – will not work after 28 April 2011)
ClassicArray.0.5.0.zip (49 KB – will not work after 21 April 2011)
ClassicArray.0.4.2.zip (48 KB – will not work after 14 April 2011)

It’s a small zip file; unzip it and read the readme to see what to do with it run the setup routine of your choice, depending on whether you want to install it for just the current user or for all users. Installation is a matter of simply copying a folder to a specific location; uninstallation is simply a matter of removing that folder. The mechanism I used for this is AutoCAD 2012’s new Plug-In feature. This feature is A Good Thing that deserves to be described more fully, which I intend to do when I get the time.

This is pre-release software. It generally works fine, but it will contain bugs. Please let me know about them, either in a comment here or using my email form. Over time, I expect to update this post with later versions, so I would appreciate it if you let me know the version number along with any other relevant information, such as the AutoCAD variant and OS you have installed it on. If you have any suggestions, of even if it works without problems, please feel free to let me know that, too!

AutoCAD 2012 – Array has good and bad points

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.

The Good

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.

The Bad

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.

Autodesk wants more feedback, this time on Array

Autodesk is looking for:

General AutoCAD users of any discipline (latest release or older versions of AutoCAD), who are familiar with the Array command and use grips to edit their drawings.

Optional/additional requirements:

  • Users that are familiar with parametric drawing (geometric and dimensional constraints in AutoCAD)
  • Users familiar with 3D
  • Familiar with the DIVIDE and MEASURE commands.

Autodesk is planning to conduct this study on the week starting 17 May. Sign up here.