Note: This is an article by Fran Golding, Senior Drafter at Parsons Brinckerhoff, a large planning, environment and infrastructure firm with offices in Australia and New Zealand. Perhaps you can add your own productivity boost ideas.
When I first started to drive a car, I had the feeling that I was not the one in control. The car was controlling me. It took some
time and practice before that changed. Likewise, when I started to use AutoCAD, I had the same feeling. All sorts of things happened which I did not understand. With time and practice (quite a lot of time and practice, I might add), that changed. As with driving a car, I did the same functions, the same way in which I was taught. It wasn’t until I had more confidence in what I was doing that I branched out and tried new ways of doing things. Thence came the beginning of my productivity boost!
Unlike driving a car, AutoCAD performs the same functions in many different ways. You can start the PLOT command by typing plot at the command line, choosing a toolbar or ribbon icon, or choosing File> Print from the drop-down menu (with variations depending on your release and workspace). Any of these will perform the same result. When you are first learning to “drive” AutoCAD, chances are you will generally follow the exact method which you were taught. It’s not until you understand how the program works that you can speed up what you do by creating shortcuts.
I am always surprised to find that users with many years experience still perform functions the long way. Often it depends on what (or who) they have been exposed to at their jobs. It rings true for any trade – if you have an innovative mentor, you will be more innovative! With the technological information super highway we have so much information at our finger tips. There is just no need to plod along doing the same things, the same way, year after year, after year!
“How much difference can it make?” I hear you asking. If we measure key strokes performed in a day, then reduce them by only one key stroke, it compounds to a staggering saving in a year.
To increase your productivity, you don’t need to reinvent the wheel. If you don’t know where to start and you don’t have a resident CAD guru in your office, don’t despair! An Internet search will return countless results. Don’t be put off. Start your journey with that one step. It will lead to the next in a very short time.
The very first step which I took was to add some command aliases to my ACAD.PGP file. Aliases allow you to type one letter at the command line instead of the full word, such as E for Erase, C for Copy or M for Move. They cut out many key strokes. Editors note: In AutoCAD 2010, go to Manage tab> Customization panel> Edit Aliases to customize acad.pgp. You can also open acad.pgp from Windows in a text editor; its location varies according to your release and Windows version.
Write simple AutoLISP routines
The next step which I took was to write some very simple AutoLISP routines. I began my own AutoLISP file which I added to the Startup Suite. This means you do not need to load the routines individually each time you start AutoCAD. Editors note: To add a .lsp file to the Startup Suite, use the APPLOAD command. In the Load/Unload Applications dialog box, locate the file and drag it to the Startup Suite icon.
Some examples of these very simple routines are getting distance measurements with selected object snaps. For example, I sometimes need to obtain a distance nearest an object or line, then perpendicular to an object or line. The coding for this looks like: (defun C:DNP () (command “DIST” “NEA” pause “PER”))
Then, typing DNP at the command line allows me get the information I need. You might say that you can easily set OSNAPS and achieve the same thing, but the above coding ensures that the correct object snap is used every time. This can often be critical.
Editor’s note: The syntax is (defun C:[name] () (command “DIST” “[osnap]” pause “[osnap]”)) where [name] is the name of the custom command you are creating and what you type to execute it and [osnap] is any object snap you want to use. The pause command stops the execution of the routine for user input, in this case, specifying a point.
From here there are many more such command combinations that you can write using the same syntax, and substituting different object snaps, such as:
- DII (distance from intersection to intersection):
(defun C:Dii () (command “DIST” “INTERSECTION” pause “INTERSECTION”))
- DEE (distance from endpoint to endpoint)
(defun C:DEE () (command “DIST” “ENDPOINT” pause “ENDPOINT”))
- DEP (distance from endpoint to perpendicular)
(defun C:DEP () (command “DIST” “ENDPOINT” pause “PERPENDICULAR”))
Likewise, you can write many AutoLISP routines to draw lines using selected object snaps:
- LINE command from Nearest, then Perpendicular to an object or line:
(defun C:LNP () (command “LINE” “NEA” pause “PER”))
- LEE (line from endpoint to endpoint):
(defun C:LEE () (command “LINE” “ENDPOINT” pause “ENDPOINT”))
- LME (line midpoint to endpoint):
(defun C:LME () (command “LINE” “MIDPOINT” pause “ENDPOINT”))
Editor’s note: Here, the syntax is similar, but uses the LINE command instead of the DIST command.
Once you start writing these, you can easily add others. Even slightly more complex AutoLISP routines will become easy to write. For example, you can write AutoLISP routines to change system variables such as turning wipe out frames on or off.
- To turn wipe out frames on:
(defun C:WF1 () (command “WIPEOUT” “FRAME” “ON”))
- To turn wipe out frames off:
(defun C:WF01 () (command “WIPEOUT” “FRAME” “OFF”))
If you look closely at the coding, you will notice that the text inside the inverted commas [quotation marks] is what you would normally type at the command line.
Another series of handy AutoLISP routines is creating frequently used layers, setting their colour and setting them to current. For example, the company I work for specifies that all dimensions are drawn on a layer called “DIMS” which has the color 2 (yellow). The AutoLISP to create this layer looks like: (defun C:D2 () (command “-LAYER” “N” “DIMS” “S” “DIMS” “C” “2” “”))
You can then write extras to add many more layers such as a layer to draw hatches would look exactly the same as for DIMS with the appropriate substitutes. For example: (defun C:H2 () (command “-LAYER” “N” “HATCHES” “S” “DIMS” “C” “2” “”))
My company also has a dedicated layer for inserting external reference drawings called XREF. So, the code to create this and set it current looks like: (defun C:X2 () (command “-LAYER” “N” “XREF” “S” “DIMS” “C” “2” “”))
Here are some more of my favourites:
- To lock or unlock viewports:
(defun C:V0 () (command “MVIEW” “LOCK” “OFF” pause “”))
(defun C:V1 () (command “MVIEW” “LOCK” “ON” pause “”))
- To fillet lines using a zero radius:
(defun C:F0 () (command “FILLET” “R” “0”) (command “FILLET”))
- To fillet using a supplied radius:
(defun C:FR () (setq rad (getstring “\n Enter Radius:”))
(command “FILLET” “R” rad)
(command “FILLET” pause pause)
Editor’s note: This last routine uses the setq AutoLISP command to set a variable named rad to the result of user input in response to the Enter Radius: prompt. It then uses the result to set the fillet radius.
The key to successfully boosting your productivity is to keep on learning. You will be surprised how much greater satisfaction you will get out of increasing your learning. Greater productivity leads to a win-win situation. Your employer will be pleased, and who knows — that may lead to greater remuneration. In this article, I want to encourage all users to embrace the latest and strive to be more productive each day!