Thursday, June 28, 2012

Simple Custom AutoCAD User Profile

In previous posts I have talked about creating AutoCAD user profiles and the different components that can be included in a profile. One of the main reasons to create an AutoCAD user profile is to have specific content available during an AutoCAD drawing session. This content can be anything from network and printer paths, to CAD standards, to custom commands.

This post will go through creating a very simple custom AutoCAD profile and hopefully it will make sense on how to add more information to the profile as needed in your environment.

An AutoCAD user profile has a lot of information in it and without being intimately familiar with it, it is difficult to know what each line in the profile (.arg) file is doing. The good news is it is really not that important if you just want to cut to the chase and create your own custom profile. We will let AutoCAD handle all the complicated stuff and we will focus on only the items we are concerned with (the simple stuff).

First, just a few high level points to make:
An .arg (AutoCAD Registry) file is used to create an AutoCAD user profile and set registry keys on your computer. If you have ever looked (you don't really need to) in your computer's registry you will see all of the AutoCAD user profiles that are defined on your computer. (Note: AutoCAD user profiles are specific to the logged in user).

After installing AutoCAD you should see the Unnamed Profile which is the out-of-the-box delivered AutoCAD user profile.

Let's create a new .arg file with the goal being to create a new AutoCAD user profile on our computer. To keep this simple we only need to think about the custom paths or content we want to add to our profile. In this case we are just going to add an AutoCAD Support Path and point to a custom cui file that we would like to have loaded as our Enterprise Menu File.

Rather than needing to account for all of the other settings in the profile we will let AutoCAD automatically assign everything else. So basically, only the registry keys that we want to override need to be identified in our new .arg file.

To accomplish the above we can create a new .arg file (either by exporting from AutoCAD, or from scratch). Once the .arg file exists we can clean out everything we do not need (so everything except for our support path and Enterprise Menu File). Whatever we do not define in our .arg file AutoCAD will create default registry keys for.

Here is the contents of our custom .arg file that adds a support path and an Enterprise Menu File: (You can edit an .arg file with Notepad)



[HKEY_CURRENT_USER\Software\Autodesk\AutoCAD\R18.1\ACAD-9001:409\Profiles\SLD_Example\General Configuration]

The path in between the brackets [ ] defines the location of the registry keys that we are modifying. Notice it is the same path as the registry location of the Unnamed Profile on our machine (above image) except for once we get to the Profiles location we are creating a new profile name, SLD_Example.

We are overriding the "ACAD" registry key which is the AutoCAD Support Paths. The below support paths are copied from the Unnamed Profile and we added the 1 support path that we need for our custom profile.

We then define the "EnterpriseMenuFile" registry key which is our custom cui file that we want our profile to have. (The cui file could be located in a network location so multiple users all receive the same custom content.)


Now when we point to this .arg file from our AutoCAD Desktop Shortcut and launch AutoCAD a new profile will be created on your computer:
Even though we only defined 2 registry keys you will notice that all of the other profile information is automatically defined by AutoCAD.

You now have a completely separate and custom AutoCAD user profile that contains all of the out-of-the-box AutoCAD settings with our additional custom content. This can be shared over a network and remember, once we load that Enterprise cui file we can gain access to custom content with an .mnl file that has the same name as the cui file.

I created a new Ribbon tab in this cui file so you can see that is available to us in our new profile:

This approach can offer a very streamlined method to manage multiple AutoCAD user profiles that maybe you have for each client. Only define the registry keys that you want to override (i.e. suport paths, cui file, maybe plot styles, etc.) and you can keep your profiles very simple and portable by letting AutoCAD do the rest of the work. This .arg file that we created can easily be upgraded to the next version of AutoCAD since we know AutoCAD will automatically define all of the other registry keys that we are not overriding. (Note, the registry path to the profile would be different for each version of AutoCAD - this it the path in the brackets [ ] mentioned above).

Note, you can build your profile in AutoCAD and export it out to get the .arg file. You can then remove any of the registry keys that you are not overriding and you will be left with your simple custom AutoCAD user profile.