One of the banes of AutoCAD over the past few years is the phenomenon of the half-baked feature. A new feature is added to the product with serious design deficiencies and/or bugs and other shortcomings that make it much less useful than it should have been. I’m sure you have your own favourite examples of this. I may expand on this theme in future, but for now let’s concentrate on one brand new and particularly undercooked feature, the Action Recorder.
The ability to record and play back macros is undoubtedly something that many users want, and has featured prominently in some wishlists. Autodesk has now provided the Action Recorder. Wish granted, right? A shining example of Autodesk listening to its customers and providing what they want and need? Not exactly. In fact, this wish has only been granted at the most superficial level.
Here is the wish as seen on the 2003 AUGI Top Ten AutoCAD Wish List (it’s number 6): “Provide a VBA Macro recorder.” Here it is as it appeared in the February 2006 AUGI Wishlist (it’s number 1): “The ability to record the process of a certain task and assign a quick key to it – similar to Microsoft’s macro recorder for office products.”
People were asking for something similar to what they had in Microsoft products. That is, something that not only allows actions to be recorded and played back, but to also create some kind of editable programming language code. Why would people want that? Because recorded macros can be easily examined, modified, combined, changed from one-off to repeating sequences, used as the basis for slightly different routines without requiring re-recording, incorporated into full-blown routines, and so on. The need for editable code is blindingly obvious, really.
So, how does Action Recorder store its macros? As VBA code? No, but that’s not surprising because Microsoft has dictated that VBA is doomed. LISP code, then? No, LISP is unfashionable at Autodesk. Script files? Nope. XML? Try again. It’s a new and proprietary format. It’s binary, not text. It’s undocumented. There is no known access to the code via AutoCAD’s other programming interfaces. In summary, it’s a closed format.
Does that matter if you can edit it using Autodesk’s tools? Yes it does, but in any case you can’t edit it in any meaningful sense. The only editing mechanism provided by Autodesk is the Action Tree, and it’s woeful. Pretty much the only things you can do with it are to delete whole commands and to change certain recorded actions to prompt for user input instead. You want to change a macro to set up certain layers before you start? Sorry. You want to add a command to the end of a macro? Nope. You’ve picked 3 times during a command and you want to change it to 2 or 4 times instead? Too bad. You want to use one macro as the basis for a whole series of macros, just changing a couple of things from macro to macro? No can do.
This lack of a useful editor isn’t just a problem for CAD Managers and power users. If anything, it’s even more of a hindrance for the novice users it’s obviously aimed at. Who is more likely to get an extended command sequence wrong? A power user with years of experience writing menu macros, or a new user? So who is most likely to need to fix up their macros after recording?
There are various other things wrong with the Action Recorder that go to make it a very frustrating tool. The way in which points with object snaps are recorded is unusable. The way in which zooms occur is bound to cause lots of surprises. The inability to record dialogue box operations is going to confuse and frustrate many users. The habit of the Action Tree in always pinning itself in place is annoying. Its inability to resize outside a very limited range is restrictive. The plethora of in-your-face warnings will have you groaning more than Vista’s User Access Control, and don’t think of turning them off in advance, that’s not allowed. Finally, if you’re not a Ribbon user, forget it. While the command line interface allows for recording and playing back macros, there is no way of editing them. So unless you want to do exactly the same thing in exactly the same location in all your drawings, you’re out of luck.
Don’t take my word for it, try it for yourself. Try to make a macro that does something simple but useful like rotating a piece of text about its insertion point, or inserting a block on a line and then trimming the line within the block. By the time you’ve worked out that it can’t be done, you could have learned about menu macros from scratch and written something that actually works, several times over. A word of warning; please make sure you lock up any pets or children before starting this experiment.
The Action Recorder is a “brochure feature” only; it serves as a marketing tool for Autodesk rather than a genuinely useful productivity tool for its customers. This wouldn’t be so bad if it was an isolated case, but it isn’t. Unfortunately, half-baked new features are now the rule rather than the exception.
Why is this so? Is Autodesk cynically trying to fool its customers in an evil revenue grab? Does the AutoCAD development team spend its time trying to come up with deliberately half-baked features? No. The developers don’t want to make these weak and useless things; they are human beings with the same urge as the rest of us to do well and be proud of their work. The problem is that there is simply not enough time to do a good job with a major feature and finish it off. It all comes down to the 12-month release cycle; it just isn’t working.