Category Archives: Customisation

Restoring the Classic workspace in AutoCAD 2015, 2016 and 2017, etc.

One of the more common queries on my putting things back to “normal” posts is how to restore the AutoCAD Classic workspace in those releases where it is absent. Since Autodesk removed that workspace it has been too involved a process to fully describe how to do it in the context of my post. In the 2017 version of that post I’ve added a useful link, but as that’s a massive post and the link is buried near the end of it, this may have escaped your attention.

Here’s the link to Brazilian AutoCAD expert Luciana Klein’s step-by-step guide. It’s for AutoCAD 2016, but the principles apply to other releases and variants. Thanks to Luciana for going to the effort of putting this together.

Hotfix for AutoCAD 2017 SP1 Autoloader bug

As reported earlier, AutoCAD 2017 SP1 breaks third-party add-ins that use the officially approved Autoloader mechanism. Autodesk is to be commended for acting quickly to produce a hotfix for this. In order to make this hotfix available quickly, Autodesk has taken the very unusual step of allowing a third party to distribute it. See this post from Jimmy Bergmark, who pointed out the bug in the first place. Kudos to whoever at Autodesk made the call to think outside the box to do this. It’s a very un-Autodesk Corporate thing to do, and particularly commendable for that very reason.

It’s important to note that because of the way Service Packs are now handled in AutoCAD and the vertical products based on it, this SP1 bug affects all of those products, not just base AutoCAD. Here is the list of affected products*:

  • AutoCAD 2017
  • AutoCAD Map 3D 2017
  • AutoCAD Civil 3D 2017
  • AutoCAD Mechanical 2017
  • AutoCAD Electrical 2017
  • AutoCAD Architecture 2017
  • AutoCAD MEP 2017
  • AutoCAD P&ID 2017
  • AutoCAD Plant 3D 2017
  • AutoCAD Utility Design 2017

*See links in comments below for further information about this.

Having heaped praise upon Autodesk for acting so quickly, it still needs to be said that Autodesk has done the wrong thing very quickly. Customers who go along with Autodesk’s continuous update push will see third party applications failing. The third party developers will be getting support requests from those customers and will have to persuade them a) that it’s Autodesk’s fault, and b) to go and deal with a manual hotfix that requires admin rights and requires copying/renaming things in Program Files. For customers without sufficient confidence to do that, or for whom just getting permission from IT to perform admin-rights operations is onerous, that’s pretty inconvenient.

It is wrong for Autodesk to offload the consequences of its incompetence onto its victims. Those customers and developers who have simply followed Autodesk’s direction and done nothing wrong deserve better than this.

What should have happened? SP1’s immediate withdrawal. It should be pulled now and reintroduced later (perhaps as SP1a) with this bug fixed. Given we’re only talking about one file, a week or two should do it. The hotfix should remain available for those customers who have already installed SP1, wish to keep it in place, and are happy to do the manual hotfix steps.

The lesson for customers and developers is not to blindly follow Autodesk’s direction. Make your own informed decisions about how you use, manage and develop for Autodesk products.

There are lessons here for Autodesk, too.

  1. Test stuff properly before releasing it. If serious bugs like this are discovered, delay the release until they’re fixed and retested.
  2. When you do screw up, fix it not only quickly but correctly. Don’t offload your problems onto your customers and developers; clean up your own mess.
  3. You’re not competent enough to do the automated continuous update thing. Your customers won’t trust you to do it, and they will be right. Give it up.

If item 2 above involves extra inconvenience and expense, so be it. It’s part of the cost of doing business; people pay a lot of money for Autodesk software, particularly if they’re forced to rent it. But doing item 1 right is actually cheaper and it means item 2 is much less likely to be relevant.

Will Autodesk learn from this? Unfortunately, I can’t be confident about that. I’ve seen too many such lessons unlearned or simply ignored over the years.

AutoCAD 2013 for Mac – the holes live on

A couple of years ago, I reported on the missing features in AutoCAD 2011 for Mac. While some generous souls were prepared to accept something half-baked as a first attempt, even that excuse doesn’t wash when it comes to a third iteration. So how well is Autodesk doing at filling those holes? Decide for yourself. Here’s an updated list of missing features in AutoCAD 2013 for Mac:

  • Quick Properties Palette
  • Layer State Manager
  • New Layer Notification
  • Various layer commands including LAYCUR, LAYDEL, LAYMRG, LAYWALK, and LAYVPI
  • Autocomplete doesn’t work entirely properly, including offering commands that don’t exist
  • Filter
  • Quick Select
  • DesignCenter
  • Tool Palettes
  • Navigation Bar
  • ShowMotion
  • Sheet Set Manager (but there is Project Manager)
  • Model Documentation Tools (but at least now there are object enablers)
  • Geographic Location
  • Table Style Editing
  • Hatch Creation Preview
  • Multiline Style Creation
  • Digitizer Integration
  • Change Space
  • Express Tools
  • Material Creation, Editing, and Mapping
  • Advanced Rendering Settings
  • Camera Creation
  • Walkthroughs, Flybys, and Animations
  • Point Cloud Support
  • DWF Underlays
  • DGN Underlays
  • Autodesk 360 Connectivity
  • Data Links
  • Data Extraction
  • Hyperlinks
  • Markup Set Manager
  • dbConnect Manager
  • eTransmit
  • WMF Import and Export
  • FBX Import and Export
  • Additional Model Import
  • Ribbon Customization
  • Right-click Menus, Keyboard Shortcuts, and Double-Click Customization
  • VisualLISP
  • .NET
  • VBA
  • DCL Dialogs
  • Action Recorder and Action Macros
  • Reference Manager (Standalone Application)
  • Dynamic Block Authoring
  • Custom Dictionaries
  • Password-protected Drawings
  • Digital Signatures
  • Workspaces
  • User Profiles
  • Migration Tools
  • CAD Standards Tools
  • CUI Import and Export

Many of these are big-ticket, dealbreaking items. No DCL? Still? Seriously? To these we can add a whole application, Inventor Fusion, which comes as part of the AutoCAD 2013 for Windows install set. (Edit: Inventor Fusion for Mac is available to download as a Technology Preview application from Autodesk Labs and from the Apple App Store). I don’t expect many Mac users will be heartbroken about the lack of a permanent Ribbon (although there are Ribbon-like things that come and go), but as Autodesk reckons it’s responsible for a 44% productivity boost, maybe they should be. Oh, and it isn’t supported and doesn’t work properly on the current release of OS X.

To be fair, it’s not all one-way traffic. Here’s the list of features that appear only in AutoCAD for Mac:

  • Content Palette
  • Coverflow Navigation
  • Multi-touch Gestures
  • Project Manager (instead of Sheet Set Manager)

Well, that’s all right, then.

We’re used to Autodesk’s unfortunate mastery of the long-term half-baked feature, but carrying on with a whole product this unfinished for three releases is more than a little embarrassing. Charging the same amount for it as real AutoCAD adds insult to injury. While I’m sure there are dozens of Mac users happy to be using anything with the AutoCAD name on it on the platform of their choice, this is not a sustainable state of affairs.

Autodesk really needs to make up its mind about this product before embarking on more Mac misadventures such as porting Revit and other products. Autodesk needs to either take AutoCAD for Mac seriously and finish it off to an acceptable standard, or kill it off as a bad idea. As there’s no sign of the former happening and Autodesk history is replete with examples of the latter, I wouldn’t suggest anybody gets too attached to running AutoCAD natively on OS X.

Source: Autodesk knowledgebase article TS15833488.

LISP programmers, have your say again

Autodesk wants your input again in its annual API survey. This used to be a closed survey for Autodesk Developer Network (ADN) members, but has been open to all for the last few years. If you do any AutoCAD-based development at all, I encourage you to take part. That includes those of us who do most of our development in LISP.

Here’s the direct link to the survey. As you can see if you click the link, there’s a lot of stuff in there that assumes you’re keen to get developing for AutoCAD WS. If you’re not quite so filled with Cloudy enthusiasm and would prefer Autodesk to expend its resources elsewhere (on fixing and improving Visual LISP, for example), please fill in the short survey and say so. It closes on 22 June, so you only have a week.

Why bother, when it’s obvious that Autodesk is determined to ignore to death its most popular API regardless of whatever anyone says or does? I’m not sure, really. Maybe I’m an eternal optimist. (Ha!) Maybe I just want them to at least feel slightly guilty about sticking their fingers in their ears and going “LALALALALA! NOT LISTENING! WE HAVE A VISION, NOT LISTENING! LALALALALA!”

Taking control of your command line history

Thanks to Kean Walmsley’s post on his Through the Interface blog, I have learned something that would have been handy to know for the last decade or so, but which somehow escaped my knowledge. I learned how to increase the size of AutoCAD’s command line history cache. It defaults to 400 lines, which isn’t enough for me. I think this information deserves a wider audience than the ubergeek developers who frequent Kean’s blog, so here goes.

Although it’s not directly mentioned on Kean’s post, you can find the current command line history cache length setting like this:

(getenv "CmdHistLines")

This will return a value showing the number of command lines AutoCAD remembers, e.g. “400”. Although this is used as an integer value, it is passed to and from the Registry as a string. You can set a new value as shown below. Again, use a string, and note that values outside the range 25 to 2048 will be ignored:

(setenv "CmdHistLines" "2048")

Also, if you don’t like AutoCAD repeatedly stopping during a long listing (e.g. SETVAR ? *), you can turn off that feature by setting the QAFLAGS system variable to 2. Don’t set it to 8191 as suggested in Kean’s post, because that will change a lot of other settings, few of which are documented publicly.

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.

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.

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 – Missing a few things?

The Array dialog box isn’t the only thing you might notice by its absence in AutoCAD 2012. I’ll do a proper “Putting things back to normal” post later, but here’s a quick one for those of you wondering what happened to a few things that appear to be AWOL in 2012.

Are you missing your aerial viewer, blips and/or screen menu? They’re still there, but the commands are undefined. To get them back, just redefine the commands:

REDEFINE DSVIEWER
DSVIEWER

REDEFINE BLIPMODE
BLIPMODE 1

REDEFINE SCREENMENU
SCREENMENU 1

These features are deprecated. That means unless enough of you kick up a fuss about needing them, they are likely to vanish without trace in a release or two.

Edit: Jimmy Bergmark pointed out that the same applies to the TRACE command. If you need it, redefine it.

CAD Managers, please do this survey

Autodesk has issued another survey, this time asking questions about AutoCAD customisation, migration and deployment. Anybody who has to manage AutoCAD or its variants knows that these areas contain some major pain points and have needed serious attention for some years. It looks like Autodesk is finally considering paying some attention, so it’s important to make sure the right kind of attention is being paid.

It’s a fairly large survey (allow yourself half an hour to do it justice) and some of the questions are imperfect in traditional Autodesk survey fashion (especially the “Other” boxes, which don’t provide enough space). But if you are at all interested in improving your experience and that of your users when introducing future new releases of AutoCAD (and its variants; changes to AutoCAD should flow on), I urge you to spend the time and fill in the survey.

Autodesk for Mac – the hole story

You may remember my pre-release speculation about what was likely to be missing from the Mac version of AutoCAD 2011. It turns out that my list was pretty accurate as far as it went, but very incomplete.

In a move that I can only applaud, Autodesk has now published its own list of missing Mac features. It includes this statement:

Although AutoCAD 2011 for Mac is based on AutoCAD 2011, it was written to be a native Mac application. As such, it is a new and separate product and not simply a port from the Windows version. In the first release of this new product, there are some features and functionality that exist in AutoCAD 2011 that are not yet available in AutoCAD 2011 for Mac, including (but not limited to):

This is followed by a list of over 80 holes in the product. Many of them are minor, but the number of absent but important features is quite an eye-opener. I really can’t imagine anyone who is used to the Windows-based product being content with AutoCAD for Mac 2011 if forced to switch by a Apple-centric boss. Hardware, great. OS, fine. App, not so much. I expect future releases will gradually fill many of those holes, but Autodesk isn’t promising that. For now, I can state that at least one of my dire predictions was spot-on. AutoCAD for Mac is indeed half-baked.

Autodesk has stated that the Mac version is the same price as the Windows version, despite being incomplete, because Mac users (particularly architects) won’t notice the missing stuff. That may be true (if somewhat insulting to architects and fanboys) or not, but it definitely doesn’t apply to the rest of us.

Existing AutoCAD users, have a look at the list. What in there would be a dealbreaker for you? From my own CAD manager point of view, I can see about a dozen killer omissions, with the API holes at the top of the pile. No DCL support, for example? Wow.

AutoCAD for Mac – what’s missing?

According to Autodesk, the forthcoming OS X version of AutoCAD has “many of the powerful AutoCAD features and functionality.” So what doesn’t it have? What are the holes? Autodesk hasn’t bothered to let me know a single thing about this software, so I guess I’ll just indulge in some irresponsible and uninformed speculation, based on what I can glean from marketing materials and various better-informed sources. I could have just asked, but who knows if I would have ever got any real answers? Besides, this way is more fun.

First, here’s a quick list of some things that don’t appear to be missing, but which might have been lost in translation:

  • Command line (in fact, the Mac one appears to be better than the Windows one).
  • Xrefs.
  • 3D, including visual styles and rendering.
  • Some kind of Quick View Layouts and/or Drawings feature.
  • Navcube.
  • Constraints.
  • Dynamic Input.
  • Selection highlighting.
  • LISP (at least some form of it).

Now for speculation on things that are possibly missing or not fully functional (based largely on screenshots, which is not a reliable indicator):

  • I don’t see a Communications Center, but I do see an Online Contact pull-down. Maybe that gives access to the same functionality, maybe it doesn’t.
  • Navbar.
  • Coordinate display in status bar.
  • Layout tabs (there’s a control instead)
  • The layer palette, in its docked form as shown in screenshots, looks very cut-down and would be tricky to use productively in complex drawings. It’s not clear if the old layer dialogue box is supported, but it needs to be.
  • Action Recorder? As this is a “brochure feature”, it’s no great loss if it’s absent.
  • Visual LISP? It’s not mentioned, so maybe it’s missing, or lacking the ActiveX bits. That would be a big problem for many organisations. Edit: I have since seen it confirmed that the Visual LISP environment is missing, as are the COM APIs.
  • Other APIs? DCL? ActiveARX? Deelip’s developing stuff using something, but the blurb just mentions a “flexible development platform” without giving any indication of what that means. Which leads to…
  • Add-ons, large and small. Many of us use various third-party utilities for making our AutoCAD lives more productive. Will they work? Probably not. Can the developer make them work? Maybe. But only if they want to, and feel the need to make the investments required. For small developers, that may not be the case.
  • Will your tablet, image and screen menus work in this environment? I don’t know, but here’s a guess: no.
  • Profiles? I couldn’t possibly work without being able to store and switch between profiles.
  • Object enablers. Has it got a full set? Or any at all? Dunno, but Autodesk’s object support for DWGs from its own AutoCAD verticals has been patchy, even on Windows.
  • Performance. Has it got any? Dunno.
  • Reliability. Has it got any? Dunno.
  • Longevity. Has it got any? Dunno. I think we can confidently expect an AutoCAD for Mac 2012, and probably 2013 too. Beyond that, it’s anyone’s guess. Maybe I should run a book on it?

Finally, things that do appear to missing:

  • Ribbon, QAT and The Big Red A. What, no Next Big Thing in UI Design, embraced wholeheartedly by Autodesk from AutoCAD 2009 onwards and still spreading out to the outer reaches of the product range? How will Mac users be able to live with the terrible loss of productivity when compared with their Windows-using colleagues?
  • CUI. There is a screenshot of a very cut-down interface customisation thing, but it’s not the CUI interface you’ve grown to love. Seriously, it looks extremely limited.
  • Express Tools. Last time Autodesk tried to sell an AutoCAD without these was 2000i. Remember that? Maybe not, because the i apparently stood for ignore and upgraders avoided it in droves.
  • AutoCAD verticals. Civil 3D for Mac, anyone? Mechanical? Architecture? Not yet. Verticals, if they ever arrive, are likely to be years away.
  • Network licensing. All of your Macs will need individial licenses.

It will be amusing to see how the various omissions are spun or glossed over. My guess is that they will be ignored altogether, or some vague indication being given to them being investigated for possible inclusion in a future release. But maybe you can think of more interesting ways of handling it. How about something like this for the missing Ribbon?

Mac, Windows. Chalk, Cheese. Ribbon, no Ribbon. Oil, Water. Creative, Productive. Cat, Dog. Trendy, Nerdy. Choose one. Be whatever you want to be. Because with AutoCAD®, it’s your choice™.

Have a go with your own Spin Segment. Who knows? Autodesk may even use your ideas.

Civil 3D 2011 ANZ comes complete with “virus”

If you install Civil 3D 2011 using the ANZ (Australia/New Zealand) profile, when you start it up for the first time, you will see a large warning indicating that the drawing requires an Asian language pack to be installed. It also warns that this is a symptom of the acad.vlx virus:

Language Pack warning

Now I know that in this case it’s not an actual virus causing the problem, but rather the ANZ template drawing being “infected” with this Language Pack requirement. I have had to deal with quite a few incoming drawings in this state, and that’s painful enough without Autodesk also infecting every Australasian Civil 3D drawing with the problem. Other profiles may be similarly infected, but at the moment I don’t know. Edit: Matt Anderson reports that the problem occurs on US systems too.

Autodesk, I suggest that as a matter of great urgency you create a clean ANZ template file, post it as a hotfix and warn all your Civil 3D customers of the SNAFU. Neither “install the language pack” nor “turn off the warning” are adequate workarounds. Your customers do not want to send out or receive any drawings in this state.

Beyond the immediate issue of Autodesk shipping software that on first use warns the user that they may have a virus (and encourages the creation of drawings that spread that warning far and wide), I would appreciate some assistance in dealing with “infected” drawings, whether in Civil 3D or plain AutoCAD.

First, I need to be able to detect such drawings using LISP so I ensure they are rejected rather than allowed into our drawing management system, and this detection will need to work in releases at least as far back as AutoCAD 2004.

Second, I need a mechanism of cleaning up such drawings. The only thing I have discovered that works so far is the manual, time-consuming and dangerous process of recreating the drawings by starting from scratch and Copy/Paste in each layout. With big jobs using nested xrefs, this is fraught. I need to be able to provide a LISP-based cleanup mechanism that I can set up to work in batch mode on a set of drawings.

I would be grateful for any clues anyone might have about the above detect & cleanup needs.

Edit: see the comments for further important information.

Do you think Migration sucks?

I do. If you’ve added a couple of toolbars and changed a few settings, it’s probably fine for you. But I think it’s been effectively broken for significantly customised setups ever since Autodesk “improved” it by introducing the CUI mechanism in AutoCAD 2006. It’s undocumented and whenever I’ve tried it, unreliable. I ran some polls on it a couple of years ago which had few responses. What do you think now?

If you’re unhappy with migration, don’t just vent here. Autodesk now wants to hear from you. Here’s the announcement:

Dear AutoCAD User!

AutoCAD Product Design & Usability Team is looking for participants for the study.

Topic: focus on Migration process, Migration tool and results of migration.

Our Goal

To gain the most complete understanding about problems and requests AutoCAD users may have while migrating their settings and customization from a previous release of AutoCAD.

Who Should Participate?

We are looking for individual contributors or CAD managers with small number of seats (less than 5- either standalone or multi-seat standalone) with unsatisfying experience using Migration tool to migrate settings from a previous version of AutoCAD.

How the Study will be Conducted?

We will schedule ~1 h interview session with you (remotely) and discuss your experience with migration, results you expected, outcome you’ve got.

When?

We are planning research between May 27 and June 2, 2010.

How To Sign Up?

Please submit qualification data and indicate your availability here:

http://www.surveymonkey.com/s/MigrationSignUp

I’m a bit concerned about the restriction of this study to individual users and CAD managers with a handful of users, as I would have thought CAD managers with significant numbers of users would be the least satisfied group, and the group with the greatest need for a working Migration system. However, as with other such Autodesk research, I encourage your participation.

Programmers, have your say

Autodesk wants your input in its annual API survey. What used to be a closed survey for Autodesk Developer Network (ADN) members has been open to all for the last couple of years, and if you do any Autodesk-based development at all I encourage you to take part. Yes, that includes those of us who do most of our development in LISP. In fact, I am especially keen to see LISP developers adequately represented in this survey.

This is a one-page survey and it doesn’t take long. The full list of API surveys is on Kean Walmsley’s Through the Interface blog. Most of you would be interested in the AutoCAD survey, so here’s a direct link to that.

Kean assures us that our feedback will not fall on deaf ears, although I have yet to see any evidence of that in terms of any change to Autodesk’s decade-long policy of total LISP neglect. I guess many of us gave up hope of any improvement years ago and can’t be bothered providing feedback any more. Please don’t give up. Fill in the survey and let Autodesk know you still exist.

Restoring Hatch double-click in AutoCAD 2011

In AutoCAD 2011, the default action when double-clicking on a hatch object is to invoke the Properties palette for that object. In previous releases, it would invoke the Hatch Edit dialog box. In my AutoCAD 2011 – Putting things back to “normal” post, I briefly described how to restore the old double-click action. I have since seen some incorrect advice being given out about how to do this, so this post describes the correct process in full detail.

What to do

  1. Invoke the CUI command.
  2. In the top left pane, find the [+] next to Double Click Actions and left-click on it.
    Double Click Actions
  3. Scroll down that top left pane a little until you can see Hatch.
    Hatch
  4. In the bottom left pane (Command list), click on any command and type H. This should take you down to the Hatch Edit command. If not, just scroll down a little more until you can see it.
    Hatch Edit
  5. Left-click on the Hatch Edit command in the bottom left pane, hold down the mouse button and drag the command up onto the top right pane until it hovers over the Hatch item you exposed in step 3. When the little blue triangle is pointing to Hatch, let go of the mouse button, thereby dropping the Hatch Edit command onto Hatch.
    Drag and Drop
    Hint: you may find that the top left pane scrolls crazily while you attempt this step. Unfortunately, this is a “feature” of the CUI interface. If this happens, keep your mouse button held down and move your cursor up and down in the left pane until the scrolling comes under control and you are hovering over the right spot. You can avoid this if instead of dragging the command directly upwards, you move in a curcuitous route to the left or right, moving on to the top left pane from the side rather than the bottom.
  6. Pick OK and that should be it. Double-click on a hatch object and see what happens.

What not to do

You may see some advice telling you to find the Hatch double-click action (step 3 above) and then edit the macro of the Properties command found therein from “^C^C_properties” to “^C^C_hatchedit”. Do not do this.

Why not to do it

If you edit the macro then try it out, it works fine. Why, then, does it matter which method you use? Because if you edit the macro, you are changing the action that occurs not just for the Hatch double-click, but for every place the Properties command is used. This means it will have undesirable side-effects in many places. For example, double-click on a circle after changing the macro and you will see something like this:
Command: _hatchedit
Selected object must be a hatch object or associative hatch block.
HATCHEDIT does not support old-format non-associative hatch blocks.
Select hatch object:

What to do if you’ve already done it

If you have already changed the Properties macro, go back into CUI and reverse the process, changing the macro back to “^C^C_properties” (without the quotes). When you are happy that you’ve fixed that up, use the click-and-drag method described above.

Screen captures created and modified using SnagIt 8 by TechSmith. Disclosure: Shaan Hurley gave me a free copy of this software (and Camtasia Studio 4, and a long-sleeved T-shirt which I promptly ruined by spilling red wine on it) at Autodesk University 2006.

Filling the holes in Autodesk’s CHM Help stopgap

It was good to see Autodesk react to criticism of AutoCAD 2011’s browser-based Help with an acknowledgement of the problems and an attempt to provide a workaround by making a zip file of CHM files available for download. That’s much better than ignoring people’s concerns, denying the validity of those concerns or shooting the messenger, which has been known to happen in the past.

However, there are some holes in the workaround, only some of which can be filled.

  • Under 64-bit Windows 7, the Search pane is blank, as it is in the CHM Help for earlier releases on that platform. This is stated on the download page. Index works well, but Search doesn’t. As Search is one of the worst aspects of the browser-based Help, this is a rather unfortunate.
  • There is no obvious way of making the CHMs provide contextual help. Don’t bother pointing at acad181.chm in the Files tab of Options, it doesn’t work. Edit: See Chris Cowgill’s post on the AUGI forums for a partial workaround.
  • Even without contextual help, no advice is provided for calling the CHMs from within AutoCAD; you are only told that you can set up a shortcut on your desktop and double-click on that when you need it. However, you can set up an alias command in AutoCAD. To do this, edit the acad.pgp file or use the Express Tools Aliasedit command to set up a shell command. The alias name can be whatever you like (e.g. HEL), the command name should simply be the path and filename of the main acad181.chm file.
  • The CHM files are currently available only in English.
  • The set of CHM files is incomplete. See below for more details and what you can do about it.

These are the CHM files provided with AutoCAD 2011:

acet.chm – Express Tools
AdRefMan.chm – Autodesk Reference Manager
adrefmanctxt.chm – Not to be launched manually
ole_err.chm – Not to be launched manually
webbrw.chm – Not to be launched manually

These are the CHM files provided in the zip file download:

acad181.chm – Main AutoCAD 2011 Help file
acad.readme.chm – Readme
acad_acg.chm – Customization Guide
acad_acr.chm – Command Reference
acad_aug.chm – User’s Guide
acad_dpg.chm – Driver and Peripheral Guide
acad_install.chm – Installation
acad_nfw.chm – New Features Workshop
adsk_lic.chm – Licensing

These are the CHM files that are missing:

acad_aag.chm – ActiveX and VBA Developer’s Guide
acad_alg.chm – AutoLISP Developer’s Guide
acad_alr.chm – AutoLISP Functions
acad_alt.chm – AutoLISP Tutorial
acad_car.chm – Connectivity Automation Reference
acad_dev181.chm – Developer Documentation
acad_dxf.chm – DXF Reference
acad_sso.chm – Sheet Set Objects Reference
acadauto.chm – ActiveX and VBA Reference
adsk_brw.chm – Licensing – (this appears to be a later version of adsk_lic.chm).

Do you need any of the above? I did. To obtain a full set of AutoCAD 2011 CHM files, I had to do the following:

  1. Download a vertical AutoCAD 2011-based variant. I used AutoCAD Civil 3D 2011, because I am entitled to download that from the Subscription Center. You may need to download an evaluation copy of a vertical. If so, make sure you delete the files after your evaluation period of 30 days, won’t you? Hopefully, Autodesk will have provided a better workaround by then.
  2. Double-click on the downloaded executable (which is actually a self-extracting archive). You will be prompted for a location for the files to be unzipped to. I accepted the default of C:\Autodesk\AutoCAD_Civil3D_2011_English_32bit.
  3. After the unzipping process is complete, the installtion window will appear. Pick Exit; you do not need to go ahead with the whole installation.
  4. Search for the CHM files in the unzip location. There are a variety of locations, some of them containing duplicate files, but I was able to find what I needed in C:\Autodesk\AutoCAD_Civil3D_2011_English_32bit\x86\en-US\C3D\Acad\Help.
  5. Copy the files from here to a safe location, and set up shortcuts and/or alias commands to access them.

Note that I can’t vouch for the completeness or correctness of these files (which may be why Autodesk didn’t include them), but I can’t do that for the HTML versions either. For those of you in non-English-speaking locations, I would be interested in finding out if you can use this method to obtain non-English CHM files. Are there non-English AutoCAD 2011-based verticals available for download yet? If so, are the CHMs in your language?

Finally, if you are having trouble reading CHMs over a network, check out this Microsoft document on a security update that may be the cause.

AutoCAD 2011 – 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.

Easily the most popular post on this blog, in terms of both hits and comments, is AutoCAD 2009 – Putting things back to “normal”. Not too far behind it is AutoCAD 2010 – Putting things back to “normal”. Apparently, lots of people find these posts useful, so here’s an updated version for the latest release. Some of this post is based on the originals, but there are significant additions and differences in this year’s Luddite post.

Note: there is an updated version of this post for AutoCAD 2012.

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 2011 at least (unlike some Autodesk products), you do still have that choice.

Let’s assume you’ve made the decision to put your environment back to AutoCAD 2008 or earlier; how do you do it?

  • 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 right 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. Every odd-numbered release seems to have the current workspace name missing from this button, so this year we miss out. If you want the name, this year you need to look in the QAT. In either case, click on the Workspace control and pick the item called AutoCAD Classic. This will perform some of the steps described below, but not all of them, so I suggest you read on. If you’re using a vertical variant of AutoCAD 2011, this workspace may not be available, so you’ll need to make your own 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.
  • Ribbon. You can close the Ribbon with the RibbonClose command. If you ever want to turn it back on, enter Ribbon.
  • 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 Riboon 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.
  • 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)
  • 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. It’s controlled 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.
  • 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.
  • Help. Unless you want your Help to work with the speed of a long-dead slug that has been nailed to a hefty piece of wood, you will want to turn off AutoCAD 2011’s online help. Go into Options again, this time in the System tab, 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 Help interface. While you’re looking there, 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.
  • Pull-down Menus. Enter MENUBAR 1 to turn pull-down menus on. To turn them off again, enter MENUBAR 0.
  • Toolbars. In AutoCAD 2009, you could turn individual toolbars on and off by accessing a menu obtained by right-clicking on the QAT. Autodesk rather nastily removed that option in 2010, and it’s still gone in 2011. That 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.
  • 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 dialogue 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. When you’re done, pick Apply & Close, then OK.
  • 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.
  • 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.
  • Grid. I much prefer the new line-based grid. If you don’t, right-click on the Grid status button and pick Settings…, which will take you into the Drafting Settings dialogue 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.
  • 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.
  • 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.
  • Selection. Selection Preview 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.
  • 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).
  • 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 has deprecated these commands in 2011, 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.

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.

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, but conservative users are much better off with new releases of AutoCAD than they are with, say, Microsoft Word.

Trusting Autodesk? Contemplating a new product

Last week, in my capacity as a de facto CAD manager for a large public utility company, I was having a chat with an Autodesk Australia person (he’s a nice guy and very honest, by the way). The topic of conversation moved to the new AutoCAD-based vertical, Plant 3D 2010. At that stage, I had not even installed the 30-day trial, but I still raised some of the issues that potentially stood in the way of the company adopting this apparently highly suitable product.

In a word, it comes down to trust. Each drawing used or issued by this utility is a legal document with a potentially very long life ahead of it. I showed the Autodesk person a drawing issued in 1901. The assets documented by that drawing are still in use today; indeed, many thousands of people daily depend heavily on them. Before we invest our money, time and training in Plant 3D, we need to know that the electronic drawings produced with it are going to be fully functional in the long term.

In terms of a new product like Plant 3D, can we trust Autodesk to do the following?

  1. Still be around and providing CAD software for many years?
  2. Go on supporting this new product for many years?
  3. In the event that the product is discontinued, provide an alternative, together with a migration path that retains full drawing intelligence?
  4. In the event that the product is discontinued, continue to provide ongoing support at least to the level of allowing the product to run and be transferred from one computer to another?
  5. Provide a product that works as well in real life as it does in demos?
  6. Provide a product that, from first release, works without crippling restrictions or bugs that render the product unusable?
  7. Include adequate support for national standards?
  8. Sell the product for a reasonable price on an ongoing basis?
  9. Provide Subscription for a reasonable price on an ongoing basis?
  10. Provide the product in such a way that we have flexibility in our use of network and standalone licensing long-term?
  11. Continue to allow the licensed use of earlier releases and use at home?
  12. Provide full API access to the custom objects, including ActiveX?
  13. Provide adequate object enablers for all recent AutoCAD releases and variants?
  14. Support the ongoing use of DWG files by other releases of this product freely up and down within a 3-release DWG version bracket?
  15. Provide full visual integrity, editability of proxy objects and round-tripping of intelligence, when saving to plain AutoCAD, including earlier releases?
  16. Provide mechanisms that allow any company-based custom work to be distributed easily to internal and external users and carried forward to new releases reliably?
  17. Avoid introducing problems and restrictions that would interfere with customisation and other aspects of CAD management?

Feel free to add to my list in your comments. If you go down the list giving a Yes, No or Maybe, how well does Autodesk do? Before looking at the product, I’ve got one Yes, a few Maybes and a very large number of Nos. That’s not based on paranoia or hatred, just on past history, including very recent history.

For example, can Autodesk be trusted to still be selling Plant 3D in a few years’ time? Ask the users of Autodesk FMDesktop. The same can be said of any of the other products in a long list of Autodesk abandonments that goes back to the dark ages. Generic CADD, anyone? What do I do with all my old Graphic Impact files?

Is it likely that Plant 3D will work properly in the real world in the first release or two? Ask the users of Civil 3D who tried to get any grading done for the first few releases. Very major and obvious problems in new products can go on for years before being addressed.

I’d be interested to hear how well you think Autodesk rates for new-product trustworthiness. There are other aspects to trusting Autodesk, and I will cover these in a future post. Please wait for that one before launching into any generic tirades; for now I just want to know about your level of Autodesk trust, purely in relation to new products and continued support for existing ones.

AutoCAD 2010 – Turning off InfoCenter

I generally avoid the still-awful Autodesk discussion groups these days, but I do hop in from time to time in the vain hope of seeing some improvement. In doing so, I occasionally pick up a gem, and that happened today. I think this one deserves a wider audience, so here it is.

In AutoCAD 2010, you can disable the InfoCenter toolbar by opening the
registry, and going to the following key:

HKEY_CURRENT_USER\Software\Autodesk\AutoCAD\R18.0\ACAD-8001:409\InfoCenter

In that key there’s a value with the name “InfoCenterOn”.

Changing that value from 1 to 0 will disable the InfoCenter toolbar.

Source: Tony Tanzillo in this thread. Note that the “ACAD-8001” part will be different if you use a vertical variant of AutoCAD.

Why would you want to do this? To improve startup times and reduce annoyance. Autodesk should have provided a better mechanism for doing this. The absence of convenient, designed-in off switches for new features is something I’ve complained about on many occasions over the years. Autodesk’s response has been patchy.

Edit: I just noticed Owen Wengerd has posted about this, including a LISP routine to simplify the process of turning it on and off.