May 08, 2009

AutoCAD® Architecture 2010 - UI Changes, Part 3.5 - Tool Palette Command Buttons Alert

While combing through the AutoCAD® Architecture 2010 preview beta Ribbon tabs and panels, I noticed an inconsistency in the way that the command buttons that set a particular Tool Palette Group current behave. One, the Design Tools button (Home Tab > Build Panel > Design Tools Flyout, main command) will open the Tool Palettes, if they are closed, and, if a Tool Palette Group of the specified name exists, that Tool Palette Group will be set current.Based on the description of the button in the tool tip and my own personal expectations, this is how I would expect the command to run. The other two, Annotation Tools (Annotate Tab > Tools Panel > Annotation Tools) and Render Tools (Render Tab > Tools Panel > Render Tools), however, test to see if the Tool Palettes are open and, if so, close them and do nothing more.If the Tool Palettes are closed, it will open them and set the specified Tool Palette Group current, if a Tool Palette Group of that name exists in the file. While you can simply click the button twice if the Tool Palettes are already open, I do not find this behavior particularly intuitive. If I want to close the Tool Palettes, I can easily select the "X" on the spine of the Tool Palettes. I certainly would not look for a button that would set a Tool Palette Group current and choose that, hoping that the Tool Palettes would close. I do not have access to the shipping version of AutoCAD Architecture 2010 at this time, so I can not tell if this inconsistency was resolved prior to the program release.

[[UPDATE, 2009/05/12: I have seen a shipping version of AutoCAD Architecture 2010, and can confirm that these Ribbon command buttons are set up the same way as they were in the Preview Beta.]]

Fortunately, it is a relatively simple revision to get all three working the same way, whether you prefer the Design Tools approach or the Annotation/Render Tools approach. It does involve editing the CUI, so if this is new territory for you, you may want to make a backup copy of your CUIX file prior to diving in and editing it. That will make it easy to restore what you had, in the unlikely event that something goes amiss or you decide to go back to the way it was as installed. And if you are working off of a network-based CUIX file that you share with others/the rest of the firm (other than an Enterprise CUI), then even if you have write permission, you will want to clear any changes with the powers-that-be (unless, of course, you are the power-that-is).

Got that backup made? Great, then all you need to do is edit the macro string associated with the button(s) you want to change. The Design Tools macro looks like this:
^C^C_AecSetPaletteGroup Design;\
If you want all three to act this way, leave the Design Tools macro as is, and change the Annotation Tools and Render Tools macros to look like this:
^C^C_AecSetPaletteGroup Document;\
^C^C_AecSetPaletteGroup Visualization;\

If you prefer the Annotation/Render Tools functionality of closing the Tool Palettes if they are already open, then leave those macros, which look like this
$M=$(if,$(and,$(getvar,tpstate),1),^C^C_ToolPalettesClose;\, ^C^C_AecSetPaletteGroup Document;\)
$M=$(if,$(and,$(getvar,tpstate),1),^C^C_ToolPalettesClose;\, ^C^C_AecSetPaletteGroup Visualization;\)
alone and change the Design Tools macro to work the same way, like this:
$M=$(if,$(and,$(getvar,tpstate),1),^C^C_ToolPalettesClose;\, ^C^C_AecSetPaletteGroup Design;\)

To do this, fire up the CUI dialog (Manage Tab > Customization Panel > User Interface; or type CUI at the command prompt). Make certain you have the dialog fully expanded and that you are on the Customize tab. You should see two columns of editing areas, and the arrow button in the lower right-hand corner should be pointing to the left. If that arrow button is pointing to the right, click on it to expand the dialog to full width.
At the top of the left column ("Customizations in…" area), if you see a downward pointing double arrow at the right side of the title bar, left click on the title bar to expand this area so you can see the various CUIX files that are currently loaded and browse through the various components assigned to each. I am going to assume that you are using the AutoCAD Architecture.cuix file for your Main CUI and that is where the Ribbon is defined. Either select that CUIX file from the dropdown list just below the "Customizations in…" title bar or choose All Customization Files and scroll through the list box to find that CUIX file. If the contents of that CUIX file are not already expanded, click on the "+" to the left of the CUI name to expand the contents, and look for the Ribbon node underneath. Expand that node, and look for the Panels node, which is where the command buttons on each Ribbon Panel are assigned and defined. Find the Panel(s) that have the command button(s) you wish to modify, expand those nodes and find the command buttons you need.
Annotate Tab - Tools Panel - Annotation Tools Button Selected

Home Tab - Build Panel - Tools Flyout - Design Tools Button Selected

Render Tab - Tools Panel - Render Tools Button Selected

Select the command button you wish to edit. In the upper right side, you should see an image of the button, in the bottom of the right side, you should see a list of properties associated with the button. Edit the button’s macro property (select the Macro property, then select the ellipsis ("...") button at the right of the edit box to open a dialog in which you can edit the contents), replacing what is there with the appropriate macro for the function you desire, as shown above. Repeat for each button you need to change, then click OK in the lower right corner to save your edits to the CUIX file.

Try out your newly configured buttons to make certain they work as expected. If there are problems, reopen the CUI dialog and carefully check you macros, to make certain that there are no typographic errors.

1 comment:

Paul F. Aubin said...

HI David:

I cannot locate your email and would like to touch base with you. Can you ping me from my website please? Thanks.