Bug Watch: AutoCAD 2006's Menu Overhaul Disaster14 Aug, 2005 By: Steve Johnson Cadalyst
Our bug man reckons AutoCAD 2006's titanic customization overhaul has hit an iceberg.
A CUIrate's Egg
AutoCAD 2006 introduced the most radical overhaul of the menu system since the introduction of Release 13 for Windows. Only MNR (menu resource) files remain from the old system. MNU and MNS files are now a thing of the past, although you can still import old ones. In their place are CUI (customized user interface) files, which are in the XML (extensible markup language) format. In addition, AutoCAD 2006 introduced new and related concepts, such as Workspaces and Enterprise menus.
Although CUI files are plain text files like MNU, the resemblance ends there. Manual editing of MNU was always documented and encouraged, and in most cases it was the only way to customize things. Only toolbar editing had a graphical user interface. With CUI, Autodesk is actively discouraging people from touching the innards of the files. At the top of each file is a message warning you against the evils of editing it with anything other than AutoCAD's CUI dialog box. The idea behind this dialog box is a noble one -- provide the user with a single, consistent, graphical interface for most aspects of AutoCAD customization, eliminating the need to edit files manually.
Autodesk's primary stated reason for changing to this system is to facilitate the migration of customization in future releases. Each item in the CUI file contains version information, allowing future AutoCAD versions to migrate customized menus to the new release.
So far, so good. What do AutoCAD 2006 users think of this brave new world? In general, they don't like it. The Autodesk and AUGI newsgroups are abuzz with CUI issues. In a poll on the AUGI forum, members were asked to give Autodesk's CUI implementation a rating from 1 to 10. It scored an average of just under 4, equivalent to poor. In contrast, a similar poll rated Autodesk's implementation of dynamic blocks at an average greater than 7, placing it somewhere between good and very good. More telling is the percentage of votes in the top half of available choices. The dynamic block implementation was rated from fair to best ever by 82% of voters. The equivalent number for CUI was 18%. To view the polls, you must be a member of AUGI (Autodesk User Group International). You can join AUGI for free.
What went so wrong with such a great idea? The problems fall into many categories.
The CUI dialog box is slow. Starting it up the first time is particularly tedious. Subsequent launches are quicker, but still far too slow. It's not clear whether this slowness is caused by the use of .NET technology, the extremely verbose XML file format used in CUI or some other reason.
Failure to Adequately Document the System
The CUI and workspace user documentation is weak, and the CUI file format is completely undocumented. This is a major modification to the way people customize AutoCAD. The Enterprise menu concept means you need to re-examine the entire philosophy of how to structure customization. Under these circumstances, Autodesk should have gone all out with documentation, guidance, examples and the like on the application CD. Autodesk has since provided some videos for download. They give a good introduction to the CUI editor and help you understand its philosophy better. I expect we will see more from Autodesk soon.
Nonintuitive User Interface Design
This point is open to debate. After watching the videos and experimenting for a while, the logic of the design becomes more apparent. However, it appears to confuse many people. Without documentation to guide them, they don't find it obvious how to do certain things. For example, you need to make sure you save a workspace before you start, and you must use workspaces to remember which menu items go where. This sort of thing causes a great deal of the grumbling from users, but by no means all of it.
Inefficient User Interface Design
Many things take much longer to perform using the CUI interface than they do using other methods in earlier releases. Because the interface attempts to incorporate everything, things are logically arranged in tree structures. Therefore, users must burrow down deep to find things. I've seen it written that although experienced users find it frustrating, the interface makes it easier for casual users to customize AutoCAD. I disagree. I think most things are now harder for users of all levels of experience. Let's say you want to do something simple, like modify a toolbar button in your own user partial menu. A decade ago, in Release 13, it was easy enough:
- Right-click on any toolbar button.
- Right-click on the user toolbar button you want to edit.
- Click in the Macro section.
- Change the macro.
- Click on Apply.
- Click on Close in the Customize dialog box.
- Right-click on any toolbar button.
- Click on Customize.
- Wait for the CUI dialog box to come up.
- Pick All Customization Files and change it to USER.CUI.
- Click on the + to expand the Toolbars section.
- Click on the + to expand the User toolbar.
- Click on User Command 1.
- Click in the Macro section.
- Change the macro.
- Click OK.
Failure to Properly Support Tablets
If you have a puck, you're out of luck. Many people have efficiently used tablets with 16-button pucks for years. Such people will have to ditch either their tablets or their upgrade habits, because AutoCAD 2006 doesn't seem to like their choice of pointing device.
Failure to Incorporate All Customization
Tool palettes and short-form commands were not included in the CUI's attempts to standardize the AutoCAD customization interface. I expect a future release will incorporate them.
Failure to Provide a Workspace Command-line Switch
Use of workspaces is now essential to keep your menus in line. But Autodesk forgot to allow for this situation at startup time by providing a startup switch for ACAD.EXE. This means you can't tell AutoCAD to start using a specific menu arrangement without the use of a kludge.
Failure to Provide Adequate API Support
There is no ActiveX support for either workspaces or the new enterprise menu concept.
Dubious Customization Migration Philosophy
I am not convinced by Autodesk's arguments that migration of customization will be a boon in future releases. I'll return to this subject in an upcoming Bug Watch.
Many people have reported that AutoCAD suddenly takes a dislike to their CUI files, leaving AutoCAD with no menus. This happens repeatedly to some people. One cause of this problem, and a fix for it, is described below. But the level of reliability for such an essential part of AutoCAD use is far below an acceptable level.
Beside the menu corruption problems, many other things just don't work properly in the new system. These bugs are providing me with a rich source of material to write about, which you can look forward to in coming months.
How could this happen? My guess is that CUI suffered from Release 13 syndrome. It was simply released before it was finished. These days, Autodesk is shipping a new release every March so subscription customers don't grumble that they're paying up front for nothing. An unfortunate byproduct of such an inflexible release schedule is that it makes life very difficult within Autodesk if development of one new feature falls behind. Does Autodesk remove that feature from this release, which may be very difficult to do without causing further delays? Or does Autodesk leave it in and hope for the best? I would hate to be the person forced to make that choice.
The upshot is that AutoCAD 2006 customization is currently fraught with so many difficulties that I advise against doing customization at all for use in production. If you use AutoCAD out of the box, I think you'll love AutoCAD 2006. If you are a user or CAD manager in an organization that uses a heavily customized setup, you'll probably hate it. You may be better off avoiding AutoCAD 2006 until Autodesk can put things right. The good news is that Autodesk already started to fix things, but you may wish to put off implementing a CUI system until 2006 SP1 or even 2007. If you do go ahead, make sure you back up your CUI files each time you make changes. Incremental backups are a good idea, so you can reverse several steps if that later turns out to be necessary.
Scream Menu -- CUI Attacks! (2006)
When an MNU or MNS file that contains a screen menu is converted to a CUI file, AutoCAD inserts 22 blank lines at the top of each menu.
Workaround: Delete the spare lines. In the CUI editor, doing this is painfully slow. Now is as good a time as any to work out how to edit the CUI file with Notepad or another editor. You are likely to need that skill sooner or later, so get some practice now. Make sure you make a safe backup copy of the file before you start hacking it! It's very important to make a backup of CUI files before editing them regardless of whether you use the CUI dialog box or another method.
Fix: Autodesk posted an updated DLL to prevent this problem from occurring on conversion.
When you use the CUI dialog box, it can become confused and create menu items with duplicate IDs. Once this happens, your menu file is considered corrupt.
Workaround: You may be able to retrieve the file by examining it with Notepad or another editor and removing the offending items. This is tricky because of the total lack of documentation, but the file is reasonably good at self-documentation, so you may be able to get under the hood and hammer things into shape. Make a backup before you start. If you've made backups of your CUI files as you've gone along, you can go back a step or two until you find a working file. If the ACAD.CUI file was corrupted, instead of reinstalling AutoCAD, you can copy over an untouched version of that file in C:\Program Files\AutoCAD 2006\UserDataCache\Support.
Fix: The same updated DLL prevents this particular problem from occurring. It may not fix all CUI corruption problems, though. Keep making those backups!