Tag Archives: ClassicArray

AutoCAD’s ARRAYCLASSIC command is my fault

Ever wondered why most keep-the-old-version commands in AutoCAD are called CLASSICxxx but the old version of the ARRAY command is called ARRAYCLASSIC? Why can’t Autodesk be consistent for once? Sorry, that’s actually my fault. Here’s a little history.

  • AutoCAD Version 1.4 (1983) introduced the ARRAY command with Rectangular and Circular options.
  • AutoCAD Version 2.5 (1986) added the Polar option and hid the Circular option (but it’s still there).
  • AutoCAD 2005 introduced a dialog box version of the ARRAY command. The command-line version remained available via the -ARRAY command (with a leading hyphen).
  • AutoCAD 2012 introduced many new array features, including associative, path and 3D arrays. However, the dialog box interface was removed and the old command-line interface was back. There were also a bunch of bugs and limitations with the new regime.
  • I created and published the shareware utility ClassicArray™ to restore a familiar dialog box interface to AutoCAD’s array features. Rather than simply reproducing the old interface, I enhanced it to provide support for the new array features. I was also able to provide a workaround for some of AutoCAD’s array bugs and limitations.
  • By producing and selling a product called ClassicArray I established that as my trademark.
  • In AutoCAD 2012 SP1, Autodesk added the old dialog box interface back to AutoCAD and has left it in ever since. The restored interface did not support any of the new features. Calling the new/old command CLASSICARRAY would have infringed my trademark and I made sure Autodesk was aware of that fact in advance. That’s why ARRAYCLASSIC is called what it is.

Anyway, my ClassicArray exists and I still think it’s usefully better than what Autodesk provides. It has been updated to 1.1.0 to install and work smoothly with all AutoCAD releases from 2012 to 2017. Existing license holders can upgrade for free without my involvement and reuse their registration code with the new version. If you’re interested, hop over to classicarray.com.

ClassicArray Registration Service

When you register ClassicArray, you are supposed to receive an automated response with the registration code. I have not been able to get this working reliably, so for some customers I have been sending out the email manually. Personal circumstances dictate that I will be unable to do this promptly for much of April, so if you purchase ClassicArray and do not receive your code immediately, please accept my apologies in advance.

I will also not be able to be very active on this blog for much of April.

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.

ClassicArray Release Candidate 2

I have now posted the second Release Candidate of ClassicArray™ (version number 0.7.0). The main changes from the first Release Candidate (0.6.0) are:

  • Help documentation, which you can also view here, now describes how to resolve an AutoCAD CUIx loading problem. (The problem is not specific to ClassicArray and can affect any CUIx file that is removed or relocated. More on that in a future blog post).
  • Timebomb mechanism now works 15 days after first use rather than a specific date. Also now allows the interface to still be used (but no arrays to be created) once the evaluation period has expired.
  • About dialog enhanced to show registration information and to provide access to a new registration dialog.

Barring disasters, I intend to release ClassicArray in this exact form (except for updating the version number to 1.0.0) in about a week.

Please see either www.classicarray.com or the main ClassicArray Beta post for the download, and provide feedback either as a comment on that post or in an email.

ClassicArray Release Candidate – massive download bloat

I have just posted the Release Candidate of ClassicArray™ (version number 0.6.0). The main changes from Beta 2 (0.5.0) are:

  • Setup executables have been provided to provide easier installation and uninstallation.
  • Pretty comprehensive Help documentation is now in place, which you can also view here if you want to learn about the product without installing it.
  • Bug fixed with Path preview not displaying accurately when no path is selected.
  • Minor cosmetic dialog box fixes.
  • Timebomb has been moved on 7 days to 28 April.

Regrettably, the download file size has blown out to 787 KB because of the inclusion of the Help files and setup executables. There are two setup choices; one for all users (requires admin rights) and one for the current user only (admin rights not required). When installing the Release Candidate, it is not necessary to uninstall the Beta first. I would appreciate any feedback you might have, particularly on installation and uninstallation. If there are no significant problems reported with this version, I intend to release it in this form, except for version information and the timebomb mechanism.

Please see the main ClassicArray Beta post for the download, and add any comments there.

ClassicArray Beta 2 (0.5.0)

I have just posted the second public Beta of ClassicArray™ (version number 0.5.0). There are some documentation updates (still no Help, though), and the main changes are:

  • Bugs fixed with rectangular arrays where single-row and/or column arrays confused AutoCAD.
  • The command now remembers its settings from one invocation to the next, within a single drawing session.
  • Timebomb has been moved on 7 days to 21 April.

The ReadMe.txt file in the zip explains how to uninstall the old version. Simply delete the old ClassicArray.bundle folder from the place you put it. Replace it with the new ClassicArray.bundle folder from the later zip file. Then try to break it!

Please see the main ClassicArray Beta post for the download, and add any comments there.

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.