Category Archives: AutoCAD 2012

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.

Cloud benefits – processing power

A frequently stated advantage of CAD on the Cloud is the access to large amounts of processing power. Instead of relying on your lowly local processor to perform complex tasks, you can instead zap the job up to the Cloud where vast numbers of processors churn away in massively parallel fashion and then zap the results back to you before you’ve even had time to head for the coffee machine.

This is a scenario that applies only for certain types of very complex tasks that are suited to subdividing the calculations among many processors. Autodesk already has a big toe in the waters in several of those areas. The recent Autodesk Cloud changes made available Inventor Optimization, Cloud Rendering, Green Building Studio and Conceptual Energy Analysis to a small subset of Subscription customers. It’s safe to assume that these services will be improved and expanded over the next few years. (Is there anybody out there using Autodesk Cloud services for these processor-intensive tasks? Let’s hear about your real-world experiences.)

What this doesn’t mean is that it makes sense for us all to be using CAD on the Cloud, all the time. The processing time gained by using the Cloud is offset by the communication time spent passing the data back and forth, so any processing gain has to be substantial to make it worthwhile. Twenty years ago, when every zoom extents was followed by a looooong wait, a big swag of extra processing power would have come in very handy. These days, processors are ridiculously fast in comparison. They are also very cheap and getting cheaper. Even low-end PCs have had multiple cores for some years, and these days seeing eight almost unused cores on your performance monitor is pretty normal.

The performance of today’s CPUs and the variable performance of today’s Internet, mean that calculations need to be very substantial to make them worth outsourcing to the Cloud. For the vast majority of tasks associated with using CAD software you simply don’t need to hand the job to somebody else’s hardware, because there is ample capacity right there on your desk.

(As an aside, whether it’s on your desk or a server farm, writing software that takes advantage of all those cores must be really difficult. I say that because today’s CAD software seldom uses more than one or two at the same time. Even a seemingly straightforward split like loading AutoCAD’s Ribbon while allowing you to start drawing appears to be too hard. It took Autodesk four Ribboned AutoCAD releases to even attempt this, and the result is a failure; the cursor lag while background loading the Ribbon is unacceptable.)

For tasks where there is the technical potential to share the load, a remote service still might not be the best solution. How about a private cloud instead, where the processing load gets shared between your company’s idle processors via your LAN, and your data never leaves the premises? It seems to me that such a solution could provide most of the Cloud benefits and remove almost all of the concerns. This has already happened in pilot with some Autodesk software. I’d like to see more emphasis placed on private-cloud-friendly software, because I think it has a much better chance of customer acceptance and the development effort is less likely to be wasted.

Will Autodesk have to explain itself to the SEC?

The observant among you may have noticed that for many years, Autodesk’s free patches, service packs and updates haven’t added any new functionality. Bugs may get fixed, severe performance issues may be addressed, but design errors generally have to wait for the next release (at the earliest), and new features definitely don’t get added.

The last time new functionality was added to AutoCAD in a free maintenance release was Release 13’s c4 update which shipped on 12 February 1996. (There was a public beta available some months earlier; I picked up a copy at Autodesk University 1995). That free update contained not only a host of bug fixes, but also more useful new features than some later full-price upgrades (e.g. AutoCAD 2000i). In an outbreak of outstanding customer service, a c4 CD was shipped free to all registered users. Maybe Autodesk was trying to recover from disastrously shipping Release 13 prematurely, but issuing such a comprehensive update free of charge was still highly commendable.

Why did Autodesk stop providing new functionality in free updates? While it involves more work for Autodesk and hardly encourages paid upgrades or Subscription, the reason we’ve been given over the years is that there are accounting regulations that prevent Autodesk from providing new functionality in free updates. This does not apply to benefits from paid Subscription, and various new features for Subscription users have indeed appeared (albeit in fits and starts) over the intervening years.

I have to admit that I have always thought that this accounting thing was a pretty unlikely-sounding excuse for Autodesk’s inactivity. This attitude was reinforced by a lack of Autodesk response to my requests for further information about the alleged regulations. Until recently, I didn’t care enough about this matter to bother finding out for myself, but something extraordinary just happened that piqued my curiosity.

What happened? Autodesk released a free Service Pack that included new functionality for the first time in over 15 years. I was particularly interested in this, because part of what’s new is a new command providing a subset of the functionality of my ClassicArray™ plug-in. When I put in the time and effort to develop this product to fill a hole of Autodesk’s making, I did so on the assumption that Autodesk wasn’t going to provide an Array dialog box until at least AutoCAD 2013. It turns out that this assumption was wrong.

So what’s all this about accounting regulations preventing new functionality being provided free between releases? Was I right to be vaguely cynical about that? After some research, it would appear that I was wrong about that, too. There is an FASB (responsible to the SEC) accounting standard called SOP 97-2, which covers software revenue recognition. I’m no accountant and the regulations are large and complex, but here is my layman’s understanding of the basics.

In a simple case where a vendor (e.g. Autodesk) sells a complete product (e.g. AutoCAD 2012) at a given date, it records and declares the revenue for that product in the appropriate period as a single unit of accounting. If there are multiple elements of the product, things get more complex. If Autodesk ships part of AutoCAD 2012 (the main product) at one time and part (e.g. a Service Pack with new functionality) at another, then it is required to separate the elements into multiple units of accounting. It is required to make available vendor-specific objective evidence (VSOE) for each element of the product. If Autodesk has not done so (which seems likely), there is probably a problem. My understanding is that without VSOE, Autodesk is required to allocate the revenue for AutoCAD 2012 sales not at the point when it was received, but when all the elements have been delivered (i.e. when SP1 was released).

What about an argument that the new ARRAYCLASSIC command and new SNAPGRIDLEGACY system variable are not new functionality in themselves, but merely mechanisms to restore functionality that was available in previous releases? I don’t think that matters. The functionality is new to those customers who purchased AutoCAD 2012 and thereby provided Autodesk with revenue between March and September 2011. If that revenue has been allocated incorrectly, then Autodesk has some revenue shuffling and explaining to do.

I repeat that I’m not an accountant and this is all a layman’s uninformed opinion. It is quite possible that the regulations have recently changed, or that a relaxed interpretation is now permissible, or that I have the wrong end of the stick entirely. I’ve admitted being wrong in this post twice already and it could well be thrice.

If I’m wrong and Autodesk is in the clear, that’s great. Why? Because it means Autodesk customers can look forward to a lot more functionality being provided in future service packs.

AutoCAD 2012 Service Pack 1

The first update for AutoCAD 2012 is now available on the Autodesk site. As usual, read the readme first and exercise the usual paranoia. Make sure you install the right version (32 or 64 bit). The update is also available for AutoCAD LT 2012. There is no news yet on equivalent updates for vertical variants of AutoCAD, so just talk amongst yourselves for a while until Autodesk gets around to it.

Autodesk has, thankfully, abandoned the confusing nomenclature for its service packs. So this is not 2012 Update 1 with a filename that includes SP1 and which results in the software being considered 2012 Version 2. It is 2012 Service Pack 1 with a filename that includes SP1 and which results in the software being considered 2012 SP1. Why Autodesk thought the former convention made sense is beyond me, but at least it’s over now.

This Service Pack is unusual for more than that, though. It’s the first free update since R13c4 in 1996 to include new functionality, i.e. a new command (ARRAYCLASSIC) and a new system variable (SNAPGRIDLEGACY). I’ll have more to say on that later.

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 drawing mangler hotfix

In AutoCAD 2012 and products based on it, saving the drawing while in the block editor can result in your whole drawing being replaced by the block you’re editing. As this can be somewhat inconvenient, it’s probably a good idea to download and install Autodesk’s hotfix for this problem. As always, read the readme first.

AutoCAD 2012 – Autodesk adds an uninstallation analgesic

One of the more painful aspects of dealing with installations of recent releases of AutoCAD and related products is that although you might run a single setup routine to install what you think is a single application, the end result is a mass of different components being installed. Each of these components is considered a separate program by Windows, and needs uninstalling separately. Frankly, this is manifestly antisocial behaviour.

I have complained to Autodesk about this ever since it started happening, but the number of sub-installations has been getting greater rather than smaller. Now Autodesk has provided an uninstallation tool, which you can find here. If you download and run psebuninstalltool.exe, you will be provided with a list of applications to uninstall.

This is a move in the right direction, but it’s still far from ideal. You still have to choose which applications to install and which to leave alone because they’re in use by some other application, and because of the possible complexities you’re not likely to know. Get it wrong and you can break other applications in a way that’s not immediately obvious. Also, it uninstalls English language products only and is provided “as-is” as an unsupported tool.

This is a welcome kludge to help with a problem that shouldn’t exist. Users simply shouldn’t have to deal with this nonsense. If you install one application, you should be able to just uninstall one application and it should be gone, without breaking anything else. Autodesk, thanks for this interim assistance, but I look forward to the problem being removed in future releases, rather than partially patched over.

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.

How to make Ctrl+C perform a Cancel

In a recent comment, I was asked how to make Ctrl+C perform a Cancel. Before I get onto that, here’s a bit of history.

Back in the Dark Ages of DOS, the way to cancel a command was by holding down Ctrl and pressing C. The last release to work like this by default was Release 13 for DOS, released in 1994. I remember the bother it caused my users who were faced with the Windows version in which Esc was used to cancel things and Ctrl+C copied objects to the clipboard. It took me at least a year before I had totally removed Ctrl+C = Cancel from my muscle memory.

Until AutoCAD 2005, Autodesk provided an easy option to keep things the way they were by turning off the toggle Options > User Preferences > Windows standard accelerator keys. In recent AutoCAD releases, you have still been able to do it, but it’s a little more involved and uses the CUI command. Here’s how:

  • Enter the CUI command.
  • In the top left pane, burrow down to Keyboard Shortcuts > Shortcut Keys.
  • In the bottom left pane, scroll down to find the Cancel item. Click and drag it onto Shortcut Keys in the top left pane. Because of a long-standing auto-scroll annoyance in the CUI interface, you will find this easier if you drag off to the right, then up, then left onto Shortcut Keys.

That adds Ctrl+C = Cancel to the set of shortcut keys AutoCAD understands, but it won’t work yet because it will clash with the Ctrl+C = CopyClip shortcut key that’s already in there. We need to get rid of that before we’re finished in CUI, or more usefully, assign it to a different key:

  • Find Copy Clip in the Shortcut Keys list in the top left pane and click on it.
  • In the bottom right pane, find Access > Key(s). Where it says CTRL+C, change that to something else of your liking (e.g. CTRL+ALT+C). If you pick the […] button, you will be able to record the keystroke sequence directly instead of typing it in and worrying about syntax.
  • Pick OK and you’re done.

This post may be directly useful to only a handful of people who are still holding out after all these years, but it also serves as an introduction to a more generally useful skill; setting up keyboard shortcuts in CUI.

3DConnexion device support in AutoCAD

Do you have a 3DConnexion device (3D ‘mouse’) and use it in AutoCAD or AutoCAD-based products? What do you think of the way it works in the most recent releases of AutoCAD?

From AutoCAD 2011 on, Autodesk provided built-in support for these devices. Has that made things better or worse than in earlier releases? If you’re having problems, exactly what are they and how does it affect your ability to work with AutoCAD in 3D? Is the 2012 support any better than 2011? How does AutoCAD’s support for these devices compare with that of other products?

AutoCAD 2012 – Autoloader mechanism for plug-ins

One of the less obvious features introduced by AutoCAD 2012 is the Autoloader mechanism that has been provided to make installation of plug-ins (current standard Autodeskspeak for add-ons, apps, utilities, routines, etc.) easier for both developers and users. It may not be immediately obvious, but it’s a useful and important addition.

This mechanism has nothing to do with the AppLoad command, the Startup Suite, acad*.lsp, the (autoload) function or anything else that existed in earlier releases. This is completely new, it has not replaced or broken any of the existing loading mechanisms, and is, in short, A Good Thing. Developers don’t have to use it, but those who do, and their customers, will have certain advantages. I have used it for the ClassicArray loading mechanism, and I expect to see it used by more and more plug-ins over time. It works fine with all of the usual AutoCAD add-on APIs, including LISP.

User perspective
As a user, what this means is that for AutoCAD and related applications from 2012 on, there is a standard loading mechanism for plug-ins. The installation should be straightforward, with no multi-step processes to go through for different AutoCAD variants and releases. The result of the installation should automatically present itself in a standard way, with a short-lived welcome bubble, an extra panel in the new Plug-ins Ribbon tab, plus any other interface additions the developer wants to provide. If you subsequently install another AutoCAD variant or release, the plug-in will automatically appear in that variant with no further user action required, as long as that AutoCAD variant is supported by the plug-in.

Developer perspective
What this means for me as a developer is that I have much less to worry about in terms of installation. All that needs to be done to make the loading happen is for a folder full of ‘stuff’ to be copied into a certain location. (There are actually two possible locations, but more on that later).

In Betas of ClassicArray, I just provided the folder, plus instructions that asked the user to copy that folder into place. I could have simplified that further by providing batch files that did the copying. In the end, I created setup executables using the free Inno Setup utility, but that was a much easier job that it would have been if this Autoloader mechanism didn’t exist. I didn’t have to worry about discovering what releases were installed, deciphering Registry entries, creating user installaton scripts, or issuing instructions to users to edit files or mess with the AppLoad command. I don’t have to worry about what happens if the user subsequently installs another AutoCAD variant.

Of course, for developers who support releases prior to 2012, there is no less work to do than before, and some time needs to be spent to learn and implement the new mechanism. In the case of ClassicArray, that was not an issue because it’s only needed and supported in 2012. I expect this is one of those problems that will resolve itself over time as developers adopt the new mechanism.

The bundle folder
So what is this ‘stuff’ that needs copying into place? It’s called a bundle folder. It’s just a folder with a name that ends in .bundle (e.g. ClassicArray.bundle), and it typically contains the usual files needed to run your add-in, often tidied up within other folders. The only new thing that it needs to contain is a file called PackageContents.xml. That XML file is the key to the Autoloader mechanism. AutoCAD finds the file, reads it, and acts accordingly in terms of version support, loading program files, partial cuix files and so on.

Bundle folder location
So where does this folder with its XML file have to go? There are two possible locations. If you want the plug-in to be available to all users on the computer, you place it in the Autodesk\ApplicationPlugins folder underneath the system’s ProgramFiles folder. For example, ClassicArray usually gets put here:

C:\Program Files\Autodesk\ApplicationPlugins\ClassicArray.bundle

If you only want the plug-in to be loaded for the current user, it goes in the Autodesk\ApplicationPlugins folder underneath the system’s AppData folder instead, for example:

C:\Documents and Settings\[login]\Application Data\Roaming\Autodesk\ApplicationPlugins\ClassicArray.bundle

in XP or

C:\Users\[login]\AppData\Roaming\Autodesk\ApplicationPlugins\ClassicArray.bundle

in Windows 7.

Describing the contents of that all-important XML file is beyond the scope of this post, but I may do a follow-up post if there is enough interest. In either case, the reference material is available in the AutoCAD Help, under Help > Customization Guide > Introduction to Programming Interfaces > Install and Uninstall Plug-In Applications > PackageContents.xml Format.

AutoCAD 2012 – Putting things back to “normal”

Edit: If you’re running a more recent release of AutoCAD, have a look at the post AutoCAD 2017 – Putting things back to “normal” instead.

The most popular post on this blog, in terms of both hits and comments, is AutoCAD 2009 – Putting things back to “normal”. This is followed by AutoCAD 2010 – Putting things back to “normal”, with AutoCAD 2011 – Putting things back to “normal” not too far behind. As it seems many people find these posts useful, here’s an updated version for the latest release. Much of this post is based on older versions, but there are many additions and differences in this year’s “keep off my lawn” post.

One thing that’s regularly asked whenever a new AutoCAD release hits the streets is how to make it work like earlier releases. As I stated in my original post, I think you should give any new features a fighting chance before turning them off or ignoring them. But it’s entirely your choice. We should be grateful that in AutoCAD 2012 at least (unlike some Autodesk products), you do still have that choice. At least, you have a choice in most cases.

Let’s assume you’ve made the decision to put your environment back to AutoCAD 2008 or earlier; how do you do it? I’ve arranged these items in alphabetical order:

  • Aerial View. The DSVIEWER command appears to be gone, but it’s just hiding. It has been undefined. You can use REDEFINE DSVIEWER to turn it back on, or just enter .DSVIEWER (with a leading period). It may not work perfectly on all systems under all circumstances.
  • Array dialog box. The excellent new associative array features of AutoCAD 2012 have come at the cost of the Array dialog box. While you can use the Ribbon or the Properties palette to modify arrays, if you want to create one you have to go back to the future with a Release 14-style user interface. Using -Array doesn’t give you a dialog box, just the old-style command line. There’s nothing available in standard AutoCAD 2012 to give you a dialog box interface, which is why I created ClassicArray™. It also makes it easier to create non-associative arrays, if that’s what you prefer. This plug-in has the further fortunate side-effect of acting as a workaround for several of the new Array command’s various bugs, limitations and design issues.
    Edit: Applying SP1 to AutoCAD 2012 adds an ARRAYCLASSIC command that restores the previous dialog box. This does not provide access to any of the new features; you will still need ClassicArray for that.
  • Autocomplete. Old-timers may well find this feature useful, but if it’s getting in your way, turning it off is as simple as AUTOCOMPLETE OFF. There are a variety of settings you can selectively turn off individually if you prefer.
  • Blips. The BLIPMODE command has been undefined, but you can use REDEFINE BLIPMODE to turn it back on, or just enter .BLIPMODE (with a leading period).
  • Classic commands. If you prefer not to leave the various new palettes on screen all the time, old versions of various commands are still available: ClassicLayer, ClassicXref and ClassicImage. (Autodesk deprecated these commands in 2011 and 2012, which I think is a really bad idea). There is also a system variable LAYERDLGMODE, which when set to 0 will make the Layer command work in the old (and faster) modal way. If you use this setting, you can still access the new modeless layer palette with the LayerPalette command. Going back further, there are command-line methods of using these commands: -Layer, -Xref, XAttach, -Image and ImageAttach. For 2012, Autodesk has removed the Group command’s dialog box interface. If you want the dialog box, you now need to use the ClassicGroup command instead.
  • Crosshairs. Want 100% crosshairs? Many people do. As before, use the Options command’s Display tab and look towards the bottom right, or use the CURSORSIZE system variable.
  • Dashboard. The AutoCAD 2007/8 Dashboard is gone, but you can have a vertical Ribbon instead. If the Ribbon is not visible (it won’t be if you just selected the AutoCAD Classic workspace), enter Ribbon to bring it back. In the tab title row (the bar with the word Home in it), right-click and pick Undock. Now you can place and size your Dashboard-like thing as you see fit. As before, you can right-click on things to change the various settings. However, getting the contents exactly the way you want it usually involves using CUI, and that’s well outside the scope of this post.
  • Dynamic Input. If Dynamic Input slows you down, you can turn it off with the status bar toggle or F12. If you like the general idea but don’t like some parts of it, there are lots of options available in the Dynamic Input tab of the DSettings command to enable you to control it to a fine degree. You can also get at this by right-clicking the Dynamic Input status bar button and picking Settings… As an example of the sort of thing you might do in there, the default of using relative coordinates is difficult for long-termers to get used to. To turn it off, pick the Settings… button in the Pointer Input panel, pick Absolute coordinates, then OK twice. There are a whole range of DYNxxx system variables for controlling this stuff.
  • Graphic Background. Autodesk has half-listened to users’ pleas for a black background by giving you a nearly black one (RGB 33,40,48 rather than 0,0,0), in model space only. Many of you will want a real black background to provide better contrast. To do this, invoke the Options command (right-click on the drawing area and pick Options… or just enter OP), then pick the Display tab. Don’t be tempted to choose Color Scheme and set it to Dark, because that just changes the appearance of various user interface elements. Instead, pick the Colors… button. This will put you in the Drawing Window Colors dialog box. On the left, choose a context you want to change (e.g. 2D model space), choose the appropriate background element (e.g. Uniform background) and choose the particular shade that takes your fancy. There is a Restore Classic Colors button, but that only takes you back to AutoCAD 2008 with its black model and white paper space. If you want a black paper space background too, you’ll have to pick the Sheet / layout context and specify that individually. You may wish to put the Command line > Command line history background setting to white, too. When you’re done, pick Apply & Close, then OK.
  • Grid. I generally prefer the new line-based grid. If you use isometric snap and grid, you will find that AutoCAD 2012’s line-based isometric grid is still as broken as it was in earlier releases, so you’ll need to use dots. If that applies to you or you just don’t like the lines, right-click on the Grid status button and pick Settings…, which will take you into the Drafting Settings dialog box, which you can also get at with the DSettings command, or DS for short. In the Snap and Grid tab, the grid is controlled by the options on the right. If you want your dots back, turn on the toggles in the Grid style section. This can also be done using the GRIDSTYLE system variable. If you don’t like the fact that the grid is now on by default in new drawings, this is set on a drawing-by-drawing basis and is therefore controlled by your template drawings. If you use AutoCAD’s supplied templates, you will need to open them individually and turn off the grid in each one.
  • Hatch dialog box. If you want the Ribbon on but prefer the old Hatch dialog box, set HPDLGMODE to 1.
  • Hatch double-click. If you’re not using the new Ribbon-based hatch editing feature, you will probably want to invoke the HatchEdit command when you double-click on a hatch object. Doing this involves braving the CUI interface, but I have gone into step-by-step detail of that process here. In short, you need to drag and drop the Hatch Edit command from the bottom left CUI panel onto the double-click action for Hatch in the top left panel, replacing the default action (Properties).
  • Help. If you want your Help to work with adequate speed and reliability, or to work at all in some proxy server environments, you will want to turn off AutoCAD 2012’s online help. Go into Options > System, then look in the bottom right pane to turn off the Use online help toggle. Even with online help turned off, you’re stuck with the unfortunate new browser-based AutoCAD Exchange interface for your Help. There is no sign yet of Autodesk coming to the rescue with a set of CHM-based Help files as was done for AutoCAD 2011, which is a real shame. The VLIDE Help is still partially broken, because Autodesk doesn’t care about customers who use LISP for development. While you’re in Options, you may also wish to turn off AutoCAD’s insistence on firing up Internet Explorer, that is if you dislike IE or have security concerns.
  • Initial Setup. Don’t bother looking for this, it has been removed from the product. Can’t say I’m heartbroken about that.
  • Line Smoothing. If you don’t like the anti-aliasing feature that attempts to make your graphics look less jaggy, this is controlled by the LINESMOOTHING system variable. It’s also available via the GRAPHICSCONFIG command or Options > System > Graphics Performance.
  • NavBar. If you like the new NavBar feature as much as I do, you’ll want to turn it off. You can close it easily using the little X in its top left corner. Alternatively, control it with the NAVBARDISPLAY system variable (0 for off, 1 for on)
  • Pull-down Menus. Enter MENUBAR 1 to turn pull-down menus on. To turn them off again, enter MENUBAR 0.
  • Ribbon. You can close the Ribbon with the RibbonClose command. If you ever want to turn it back on, enter Ribbon.
  • Screen menu. The SCREENMENU command has been undefined, but you can use REDEFINE SCREENMENU to turn it back on, or just enter .SCREENMENU (with a leading period). However, you can’t access the screen menu section in CUI any more, so if you want to maintain your screen menu you will need to do it in an earlier release.
  • Selection Cycling. Depending on your preference and/or system graphic performance, you may wish to turn off selection cycling (set SELECTIONCYCLING to 0), or at least the list that appears when selecting objects that lie on top of each other (set SELECTIONCYCLING to 1).
  • Selection Preview. This feature annoys some users, adding as it does an unfortunate degree of stickiness and working inaccurately when Snap is in use. This is controlled in the Selection tab of the Options command. Turn off the toggles in the Selection preview panel on the left (these control the SELECTIONPREVIEW system variable). If you dislike the coloured boxes you get while doing a Window or Crossing, pick the Visual Effect Settings… button and turn off the Indicate selection area toggle. This controls the SELECTIONAREA system variable.
  • Snap. AutoCAD 2012’s snap no longer works while there is no command active. There is no setting available to turn this feature off. If you want to move your cursor around and see the cursor snapping to precise locations to see if objects line up (e.g. in schematic diagrams), you will need to invoke a command first (e.g. L [Enter]) and ignore the command as you’re moving around on screen.
    Edit: Applying SP1 to AutoCAD 2012 adds new system variable (SNAPGRIDLEGACY) that allows you to have your snap active at the command prompt.
  • Startup performance. You may have noticed that AutoCAD 2012’s Ribbon switching performance is finally as it should have been from the start; practically instantaneous. You may also have noticed that when you start AutoCAD, the cursor is sticky for a while after the Command prompt is available. These two items are not unrelated; AutoCAD is loading Ribbon components in the background. If you would prefer this not to happen, set the RIBBONBGLOAD system variable to 0.
  • Status bar. Right-click on a status bar button, turn off Use Icons and your old text-based status bar buttons will return. If you have no use for some of the new status bar toggles, right-click on one, pick Display, then turn off what you don’t need.
  • Toolbars. In AutoCAD 2009, you could turn individual toolbars on and off by accessing a menu obtained by right-clicking on the QAT. Autodesk somewhat vindictively removed that option in 2010, and it’s still gone in 2012. That toolbar-toggling menu is still available if you right-click in an unused docked toolbar area, but if you have no toolbars visible there will be no such area available. What to do? Turn on one toolbar at the Command prompt, then you will be able to access the menu by right-clicking on the blank area to the right of it. The following command sequence will do it:
    _.-TOOLBAR ACAD.Standard _Top 0,0
    Paste this into AutoCAD’s command line area and the Standard toolbar will be turned on above your drawing area. This will leave a grey area to the right that you can right-click into. The other toolbars will be in sub-menus under that, with the main set of default ones in the AutoCAD section. Note that this will only work if you have the acad.cuix file loaded (or partially loaded). This is the case in vanilla AutoCAD and some verticals, but it may not be the case in other verticals. As I don’t have access to such verticals, I’m afraid I can’t offer much advice here.
    If you’re like me, you may well discover that this is moot because AutoCAD 2012 automatically turns on a full set of toolbars, in addition to the Ribbon, the second time you run AutoCAD. This bug occurs when there’s another release already installed and you don’t use Migration. It’s easily fixed (that is if you want to fix it) by switching to the workspace of your choice (see below).
  • Tooltips. Excessively intrusive and oversized tooltips were a “feature” of AutoCAD 2009’s revamped UI design, and we’ve been plagued with them ever since. I’m glad to see that many of them have had their verbosity somewhat curtailed in 2012, but they still annoy the heck out of me, particularly by obscuring what I’m trying to see in dialog boxes. To kill them with fire, see Options > Display and start turning off toggles about half way down the left side.
  • Trace. The TRACE command has been undefined, but you can use REDEFINE TRACE to turn it back on, or just enter .TRACE (with a leading period).
  • UCS Icon. Don’t like the new simplified UCS icon? Sorry! While you can use the UCSIcon command’s Properties option to change the appearance of the icon in various ways, there’s nothing to restore the UCS Icon’s appearance from previous releases with its little arrows pointing the way. This information isn’t totally useless, because at least it will save you the time and effort involved in finding this out for yourself.
  • Vertical variants’ AutoCAD profile. Apparently, some AutoCAD 2012 vertical variants don’t have a shortcut for running them as AutoCAD. If you want to make one, first check in Options > Profiles to see if there is a profile called “AutoCAD” or similar. If not, you will need to create one, reset it, and hope for the best. Sorry, I don’t have all the variants to check. Now, make a copy of your AutoCAD variant’s desktop shortcut and rename it as something like “AutoCAD 2012”. Then right-click on the copy and pick Properties. In the Target edit box, check to see if there is a /p switch followed by a profile name inside quotes. If there is, replace the existing profile name with “AutoCAD” or whatever the profile name is that you discovered or created in Options. If there isn’t a /p switch, add one. The end result should look something like this (there may be extra switches):
    "C:\Program Files\Autodesk\[product name]\acad.exe" /p "AutoCAD"
    Once you have ensured there’s a /p “AutoCAD” (or similar) on the end of the Target, pick OK. You should then be able to start your vertical variant as AutoCAD.
  • ViewCube. I like the ViewCube concept, and I think it’s a great piece of interface design. But not everybody agrees. It has caused performance issues and it’s not very useful for 2D users. If you want it gone, that’s a surprisingly difficult thing to find out about. The simplest way to remove it is by clicking the [-] button in the top left corner of the drawing area and tuening off the ViewCube toggle there. If you want more control, it’s handled using the Options command, in the 3D Modeling tab, in the bottom left corner. Turn off those toggles that don’t make sense for you. There is a related set of system variables called NAVVCUBExxx.
  • Workspace. In vanilla AutoCAD, you can restore much of the user interface by just switching workspaces. The main Workspace control is now located near the top left corner. If you have turned this off (right-click, Remove from Quick Access Toolbar) or if you just prefer working with interface elements in the same place year by year, there is another Workspace control in the bottom right corner. This is a little button that looks like a gearwheel. In either case, click on the Workspace control and pick the item called AutoCAD Classic. This will perform some of the steps described above, but not all of them, so I suggest you skim the whole lot to see what else you might want to do. If you’re using a vertical variant of AutoCAD 2012, this workspace may not be available, or it may only be available if you when using an “AutoCAD” profile (see above). If it’s not available at all, you’ll need to make your own classic workspace by manually setting up your interface the way you like it, then saving it as a Workspace using the Save Current As… option under one of the Workspace controls.
  • Xref fading. Don’t like your xrefs looking different? Use the Options command’s Display tab and look at the Xref display slider on the bottom right, or use the XDWGFADECTL system variable.
  • Zoom Animation. If you prefer your zooms to be instant rather than progressing from one view to another in an animated series of steps, you can turn off that feature using the VTOPTIONS command or the VTENABLE system variable.

If you have allowed AutoCAD to migrate your settings (I never do), some of the above will already be done for you, but by no means all of it. If past experience is anything to go by, the job done by Migration will probably be imperfect.

Once you’re happy with your new environment, I suggest you save your workspace under a name of your choosing (Save Current As… under a Workspace control), then export your profile in the Options command’s Profiles tab. Keep a safe copy of both your exported profile and your main CUIX file (acad.cuix by default), because that is where new workspaces are stored.

All of this advice is offered on an as-is, try-it-yourself-and see-what-happens basis. Unfortunately, I can’t check to see which parts of this post relate to AutoCAD for Mac (when the 2012 version arrives), AutoCAD LT (much of it will be the same), the various AutoCAD-based vertical variants (almost all of it should be the same). AutoCAD WS is, of course, nothing like real AutoCAD so none of this post will be relevant. Please comment to let me know if you find something you think I should modify or include.

Let me just end by saying that Autodesk generally does an excellent job of keeping long-term AutoCAD users happy by allowing them to keep working in the way that they prefer. There are exceptions, and this record has been damaged slightly by 2012, but conservative users are still better off with new releases of AutoCAD than they are with, say, Microsoft Word.

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.

AutoCAD 2012 – Massive download bloat

Note: this post is not an April fool’s joke. It may be ridiculous and hard to believe, but unfortunately it’s all true.

After I managed to overcome Autodesk’s obstructive download manger and download AutoCAD 2012, it became available on the Subscription site (when that site wasn’t running unusably slowly). Or it became kind-of available. Here’s what is actually available:

  • AutoCAD 2012 Multilingual 32 bit
    Download File Size: 2,080,558,319 bytes (1,984.2 MB)
  • AutoCAD 2012 English Korean Traditional-Chinese Simplified-Chinese Win 64bit
    Download File Size: 2,240,915,999 bytes (2,137.1 MB)

These file sizes are roughly double those of the AutoCAD 2012 English files I’ve already downloaded from the trial page and installed. The 32-bit English file is 1,144,011,680 bytes, or 55% of the size of what the Subscription site is trying to offer me.

Why? Because the Subscription downloads contain three bonus Asian language packs. It has apparently escaped Autodesk’s notice that Australia is an English-speaking country, and that the ability to install a Korean version of AutoCAD 2012 isn’t going to be spectacularly useful here. Duh!

There was a a distribution fiasco last year when Autodesk couldn’t make up its mind which AutoCAD 2011 language variant Australian users were supposed to use. This resulted in weeks of delays, uncertainty and disrupted shipments. This year, there’s less uncertainty. Somebody has made a firm decision about what we’re getting, right from the start. What a shame it’s the wrong one, and it makes Autodesk look utterly clueless.

Just in case you’re wondering, the AutoCAD 2012 English from the trial page installs and works fine, correctly detecting that I’m in Australia and presenting the correct legal information. The installation also registers and authorises correctly using the serial number provided on the Subscription site. No problems there, then.

What, then, is the reason for the massive download bloat? Is it really just stupidity, or is there some legitimate reason for it? I’m informed that installing the English version of 2012 in Australia may cause some problems with Migration when upgrading to 2013. I am unconcerned about this for two reasons. First, I’m sure migrating from 2012 English to 2013 English will work just as well here as it does elsewhere in the world. it’s not as if the Migration utility has to invert the bits or anything for Down Under users. Second, I have avoided Migration anyway since AutoCAD 2006, when “improvements” rendered it effectively unusable to me.

AutoCAD 2012 – Nudge encourages ‘bad’ drawings

If you preselect some objects in AutoCAD 2012 and hold down [Ctrl], then the objects will move a bit if you hit an arrow key. Great, cool!

Exactly how far do they move? Let’s try it, shall we. First time, the move was about 4.5565 units. Zoom around a bit and try again. This time, it’s about 11.6677 units. Zoom around a bit more and it’s different again. And again. What’s actually happening is that the Nudge feature is moving the objects by 3 pixels. What? Since when has AutoCAD dealt with object location in terms of pixels? Since 2012 came out. Does object snap help? No. So you can expect to see a bunch more drawings that have been eyed in. “Looks near enough to me!”

OK, so you can turn Snap on and have the objects nudged around in a more rational way, or just ignore the feature altogether. But that’s not going to help you clean up the messy drawings that are now going to come your way for editing. Of course, some people have never needed any help to make messy drawings, but those that needed a little nudge in that direction have just been given it.

ClassicArray pricing proposal

I am considering the following pricing model for ClassicArray™ when it’s released:

Individual licenses: $12
Up to 20-user license: $100
Up to 50-user license: $200
Up to 100-user license: $300
Unlimited site license: $500

Prices in US$, payment by PayPal, delivery by download only. Australian purchasers would have to pay 10% GST on top of that.

Comments? Suggestions?

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.