Undocumented AutoLISP Functions

(_ver) Returns AutoLISP build number (?).
(report) Inroduced in R12/DOS; never worked in Windows.
(vmon) Discontinued. Once used to enable virtual memory; still there for compatibility, but does nothing.
(xstrcase) An international-friendly version of (strcase).

Additional Information:

  1. An undocumented feature of the (getcfg) and (setcfg) functions in R13 and later is that you can access "private" areas of the configuration file (*.cfg) by passing a key string of the form (getcfg "CfgData/Version/ExecutableDate&Time"). This retrieves the "ExecutableDate&Time=" value in the [Version] section of the configuration file, for example.


Destroying Handles (Pre-R13 Only)

In AutoCAD R12 and earlier, it was difficult to programmatically destroy handles because the HANDLES command required the user to type in a randomly selected passphrase (of several) before it continued. This was done to make it extremely difficult to destroy handles accidentally. Unfortunately, this also made it extremely difficult to automate the task. Apparently Autodesk ran into the same problem, because they programmed the HANDLES command to accept a special "passkey" which always works regardless of the displayed passphrase. Here's the secret passkey:

Q?+:$$ &9*^0E#1@2AF5+_R)!/&#<*:


Postscript Prolog Trick (R13 and later)[1]

Since the first release of R13, the PSPROLOG system variable has allowed dynamically assembling a prolog from several sources. The sources may either be sections in ACAD.PSF or be the contents of other files (which must have the extension .PS and must be in a directory in AutoCAD's search path). Section or file names in PSPROLOG are separated by semicolons. File names in PSPROLOG are prefixed with an asterisk. For example, if PSPROLOG contains:


then the prolog would be assembled from the section called "rotate" in ACAD.PSF, then the section called "mycolors" in ACAD.PSF, then the contents of the file STANDARD.PS.

Accessing Current Plot Parameters

It's possible to retrieve the current plot parameters programmatically by reading values out of the [Plotter#N/User] section (where N represents the plotter number, as stored in the PLOTTER system variable) of the configuration file. To retrieve the values via AutoLISP, you must use an undocumented feature of (getcfg) shown above. Furthermore, there is a "Flags=" line in the [Plotter#N/User] section which contains the following bit-coded information in its value:

Bit (Value)Meaning
0 (1) Swap x and y axes on plot
1 (2) Scale specified
2 (4) Multiple pen
3 (8) Multiple pass on pens desired
4 (16) Remove hidden lines
5 (32) Correct area fill for pen width
6 (64) Plot to file
7 (128) Rotate 90 degrees (combines with below for 270 degrees)
8 (256) Rotate 180 degrees (combines with above for 270 degrees)
9 (512) Unknown
10 (1024) Printer-plotter
11 (2048) Long axis device
12 (4096) Force plot to file


Thanks to the following individuals who have contributed material for this page:

  1. Jon Fleming (jonf@fleming-group.com)
  2. Erik W. Olson (Erik.W.Olson@valleylisp.com)
  3. Darren J. Young (dyoung@mcwi.com)