Lisp Functions Overview
In the following, an
symbol labels an argument description.
For better readability, both lowercase and uppercase characters are used in the names of some functions.
Function Definitions
| Function |
Description |
| (defun symbol argument_list term...) |
Defines a command or function. |
Error Handling and Error Tracing
| Function |
Description |
| (alert string string string) |
Displays a message box.
Message
Title
System Icon |
| (*error* string) |
Defines a custom error-handling function.
Error Message |
| (*settrace* [<integer> [integer]]) |
Sets the mode for tracing of Lisp routines and functions.
Trace mode flag
React time in seconds |
| (trace symbol) |
Provides a debugging aid that displays the return value each time the specified function is evaluated.
Function |
| (untrace symbol) |
Clears the debugging mode for the specified function.
Function |
System Functions
| Function |
Description |
| (command arguments ...) |
Executes a built-in command with the arguments supplied. |
| (delcmd string) |
Deactivates a specified command.
Command name |
| (actcmd string) |
Re-activates a specified command.
Command name |
| (getcname string) |
Retrieves the primary (underscored) name of a built-in command. A primary command always has an English name.
Command name |
| (getvar string) |
Retrieves system variable settings.
Variable name |
| (setvar string value) |
Sets a system variable to a specified value.
Variable name
Variable value |
| (findfile string [value]) |
Searches for a file.
File name
Condition |
| (getfiled string string string integer) |
Provides a dialog for file selection.
Dialog caption
Preset filename
Preset extension
Control flag |
| (getcolorindex [point_list] [flag]) |
Displays the Colors dialog box allowing the user to select a color. |
| (initdia [flag]) |
Determines that certain commands which normally invoke a dialog box be performed at the command line when flag is set to 0. |
Geometric Utilities
| Function |
Description |
| (distance point_list point_list) |
Calculates the distance between two given points.
Starting point
End point |
| (angle point_list point_list) |
Calculates the angle between two points.
Starting point
End point |
| (polar point_list real real) |
Returns a 3D point.
Point
Angle
Distance |
| (inters point_list point_list point_list point_list [value]) |
Returns the intersection of two lines, each specified by two endpoints. |
| (osnap point_list string) |
Snaps to a significant point on an entity. |
| (textbox list) |
Returns the corners of a bounding box of a text entity. |
User Input
| Function |
Description |
| (initget [integer] [string]) |
Initializes the next user input function. |
| (getreal [string]) |
Prompts the user to enter a real number. |
| (getstring [value] [string]) |
Prompts the user to enter a string. |
| (getpoint [point_list] [string]) |
Prompts the user to specify a point. |
| (getcorner point_list [string]) |
Prompts the user to specify a second corner of a rectangle. |
| (getdist [point] [prompt]) |
Prompts the user to specify a distance. |
| (getangle [point_list] [string]) |
Prompts the user to specify an angle. |
| (getorient [point_list] [string]) |
Prompts the user to specify an angle (takes into account the ANGBASE systenm variable). |
| (getorient [point_list] [string]) |
Prompts the user to specify an angle (takes into account the SetAngBase command variable). |
| (getkword [string]) |
Prompts the user to select an option. |
| (getint [string]) |
Prompts the user to enter an integer value. |
Conversion
| Function |
Description |
| (rtos real [integer [integer]]) |
Converts a real number to a string.
Floating-point number
Mode
Precision |
| (distof string [integer]) |
Converts a distance to a floating-point number.
Distance
Unit System |
| (angtos real [integer [integer]]) |
Converts an angle to a string.
Angle
Mode
Precision |
| (angtof string [integer]) |
Converts an angle to a floating-point number.
Angle
Unit System |
| (symbtos value) |
Returns any Lisp expressions in a string. |
Coordinate System Transformation
| Function |
Description |
| (trans point_list value value integer) |
Transforms a point from one coordinate system to another.
Point
From
To
Transformation |
Selection Sets
| Function |
Description |
| (ssget [string] [point [point]] [point_list] [assoc_list]) |
Creates a selection set.
Mode
Point
Point
Point list
Filter list |
| (ssadd [Ename [SelSet]]) |
Adds an entity to a selection set.
Entity name
Selection set |
| (ssdel Ename SelSet) |
Deletes an entity from a selection set.
Entity name
Selection set |
| (sslength SelSet) |
Returns the length of a selection set.
Selection set |
| (ssname SelSet integer) |
Returns the nth element of a selection set.
Selection set
Index |
| (ssmemb Ename SelSet) |
Verifies if an entity is member of a selection set.
Entity name
Selection set |
| (sssetfirst nil SelSet) |
Hightlights and grips the entities of the specified selection set in the graphics area.
nil
selection set |
| (ssgetfirst) |
Returns the selection set with the entities that are highlighted (selected) and gripped. |
| (ssdbno SelSet) |
Returns the drawing database number (id) the selection set belongs to
selection set. |
Entity Handling
| Function |
Description |
| (entget Ename [list]) |
Returns entity information.
Entity name |
| (entmod list) |
Modifies an entity. |
| (entmake [list]) |
Creates an entity. |
| (entmakex list) |
Creates a new entity (graphical or non-graphical) with a data list. |
| (entdel Ename) |
Deletes an entity.
Entity name |
| (entnext [Ename]) |
Returns the entity name that follows the given entity in the drawing database. |
| (entlast) |
Returns the last entity added to the drawing database. |
| (entsel [string]) |
Prompts the user to select an entity. |
| (entupd Ename) |
Updates a complex entity after modifications.
Entity name |
| (entpos integer) |
Sets the database pointer. |
| (handent string) |
Returns the entity name to the entity that has the specified reference. |
Drawing Database Symbol Tables
| Function |
Description |
| (tblnext string [value]) |
Returns the next table entry. |
| (tblsearch string string) |
Searches a table entry. |
| (tblmake list) |
Generates a new table-entry. |
| (tblmod list) |
Modifies a table-entry. |
| (tblset string string) |
Sets an entry as the current |
| (tblrename string string string) |
Renames a table-entry |
| (tbldel string string) |
Deletes a table-entry |
| (tblpurge string flag) |
Deletes all not referenced entries of a table |
| (tblobjname string string) |
Returns the entity name (Ename) of a given drawing database table entry. |
| (snvalid string [flag]) |
Tests whether a table entry for a symbol in a drawing database has valid characters. |
Dictionaries
| Function |
Description |
| (dictadd dictionary item newobj) |
Adds a non-graphical object to the specified dictionary. |
| (dictnext dictionary [flag]) |
Retrieves the next item in a dictionary. |
| (dictremove dictionary item) |
Removes an entry from the specified dictionary. |
| (dictrename dictionary old new) |
Renames an item of a dictionary. |
| (dictsearch dictionary item [next]) |
Searches a dictionary for an item. |
| (namedobjdict) |
Returns the entity name of the current drawing's named object dictionary, which is the root of all non-graphical objects in the drawing. |
Extended Entity Data
| Function |
Description |
| (regapp string) |
Registers an application name. |
| (xdroom entity) |
Determines the free space size (in bytes) available for an extended entity data. |
| (xdsize list) |
Determines the size (in bytes) necessary to keep extended entity data for an entity. |
Arithmetical Functions
| Function |
Description |
| (+ number number ...) |
Addition |
| (- number number ...) |
Subtraction |
| (* number number ...) |
Multiplication |
| (/ number number ...) |
Division |
| (~ integer) |
Bitwise NOT |
| (1+ number) |
Increment |
| (1- number) |
Decrement |
| (abs number) |
Returns the absolute value of a number. |
| (atan number [number]) |
Returns the arc tangent of an angle supplied in radians. |
| (cos number) |
Returns the cosine of an angle supplied in radians. |
| (exp number) |
Returns e raised to the power number, where e is the base of the natural logarithm. |
| (expt number1 number2) |
Returns number1 raised to the power number2. |
| (fix number) |
Converts a real number to an integer. |
| (float number) |
Converts a given number into a real number. |
| (gcd number number ...) |
Returns the greatest common denominator of the given numbers. |
| (log number) |
Returns the natural logarithm of a given number. |
| (logand integer integer ...) |
Logical bitwise AND |
| (logior integer integer ...) |
Logical bitwise OR |
| (lsh integer integer) |
Logical bitwise shift |
| (max number number ...) |
Returns the largest number. |
| (min number number ...) |
Returns the smallest number. |
| (minusp number) |
Tests if the number is negative. |
| pi |
Specifies the constant 3.141593. |
| (rem number1 number2) |
Divides number1 by number2 and returns the remainder. |
| (sin number) |
Returns the sine of an angle supplied in radians. |
| (sqrt number) |
Returns the square root of a number. |
| (tan number) |
Returns the tangent of an angle supplied in radians. |
| (zerop number) |
Verifies whether number is zero (or floating-point zero). |
Symbol Handling
| Function |
Description |
| (atom term) |
Returns T (true) if term is an atom. |
| (atoms-family 0 | 1 [string_list]) |
Returns a list of all atoms currently defined. |
| (boundp value) |
Tests if the specified atom has a value. |
| (not argument) |
Returns T (true) if argument is nil. |
| (null argument) |
Returns T (true) if argument is an empty list. |
| (numberp argument) |
Returns T (true) if argument is any kind of number. |
| (quote object) |
Returns object. |
| 'object |
Identical to (quote ...). |
| (set symbol value) |
Sets the value of a quoted symbol to an expression. |
| (setq symbol value [symbol value] ...) |
Sets the value of a symbol to an expression. |
| (type object) |
Returns the data type. |
Display Control
| Function |
Description |
| (prin1 [object [FileDescriptor]]) |
Prints a message in the Command Window or writes it to an open file. |
| (princ [object [FileDescriptor]]) |
Prints a message in the Command Window or writes it to an open file. |
| (print [object [FileDescriptor]]) |
Prints a message in the Command Window or writes it to a file (like prin1, but with a preceding CR and a space following). |
| (prompt string) |
Displays a message in the Command Window. |
| (terpri) |
Outputs a new line in the Command Window. |
| (grread [integer [integer]]) |
Reads from an input device.
Draw mode
Cursor type |
| (redraw [string [integer]]) |
Refreshes the current drawing display or redraws an entity.
Entity name
Mode |
| (graphscr) |
Closes the Command Window. |
| (textscr) |
Opens the Command Window. |
| (textpage) |
Opens the Command Window. |
Text Strings
| Function |
Description |
| (read string) |
Retrieves the first atom or list from the given string and returns it according to its data type. |
| (read-char [FileDescriptor]) |
Reads a single character from either the keyboard buffer or from an open file. |
| (read-line [FileDescriptor]) |
Reads a string from the keyboard buffer or from an open file. |
| (strcase string [value]) |
Converts a given string to a new upper case or lower case string. |
| (strcat string string ...) |
Returns a new string by concatenating two or more strings. |
| (strlen string string ...) |
Returns the sum of the length (number of characters) of all strings given as argument to the function. |
| (substr string integer [integer]) |
Returns a new partial string based on a given string. |
| (write-char integer [FileDescriptor]) |
Writes a single character to a file or displays it in the Command Window. |
| (write-line string [FileDescriptor]) |
Writes a string to a file or displays it in the Command Window. |
| (stringsort list) |
Sorts a list of string-items alphabetically, ascending. |
| (acad_strlsort list) |
Sorts a list of strings in alphabethical order.
List of strings to sort |
| (wcmatch string string) |
Searches a string using a wild card pattern match. |
Type Conversion
| Function |
Description |
| (ascii string) |
Converts the first character of a string into its ASCII-Code, which is returned as integer. |
| (atof string) |
Converts a given string to a floating-point number. |
| (atoi string) |
Converts a given string to an integer. |
| (chr integer) |
Converts an ASCII code (given as integer) into its equivalent single-character string. |
| (itoa integer) |
Returns a given integer as a string. |
Comparison / Conditions
| Function |
Description |
| (= atom atom ...) |
Comparison: Equal |
| (/= atom atom ...) |
Comparison: Not equal |
| (< atom atom ...) |
Comparison: Less than |
| (<= atom atom ...) |
Comparison: Less than or equal |
| (> atom atom ...) |
Comparison: Greater than |
| (>= atom atom ...) |
Comparison: Greater than or equal |
| (and term term ...) |
Returns the logical AND of multiple terms in a list. |
| (or term term ...) |
Returns the logical OR of multiple terms in a list. |
| (boole bit_value integer integer ...) |
Performs a general bitwise Boolean function. |
| (eq term term) |
Evaluates if two terms are identical. |
| (equal value value [number]) |
Tests if two expressions have the same result. |
(cond
(value value value ... )
[(value value value ... )] ...
) |
Performs a primary conditional function. |
(if <value> <value>
[<value> value value [value]
) |
Performs a conditional evaluation.
Test expression
Then expression
[Else expression] |
| (repeat integer value ...) |
Executes a given expression n times |
| (while value value ...) |
Allows iterations to continue until the specified expression evaluates to nil. |
List Handling and Manipulation
| Function |
Description |
| (append list list ...) |
Adds any number of lists together, and returns a new list. |
| (assoc value assoc_list) |
Searches an association list assoc_list for key. |
| (car list) |
Returns the first element of a list. |
| (cdr list) |
Returns a new list without the first element of a given list. |
| (c????r list) |
Constructs combinations of car and cdr, up to four levels. |
| (cons value list | atom) |
Constructs a new list. |
| (foreach symbol list value ...) |
Steps through a given list, assigning each element to the specified symbol and evaluating the specified expression for each element of the list. |
| (last list) |
Returns the last element of a list. |
| (length list) |
Returns the number of elements in a list. |
| (list expression1 ...) |
Creates a list out of expressions supplied as arguments to the function. |
| (listp element) |
Verifies if element is a list. |
| (mapcar func_symb list_1 ... list_n) |
Operates on successive elements of the lists list_1 ... list_n. |
| (member value list) |
Searches the given list for an element and returns the remaining portion of the list. |
| (nth integer list) |
Returns the nth element of list (n counting starts with 0). |
| (reverse list) |
Reverses the given list and returns a new list. |
| (subst old_element new_element list) |
Copies a list, substituting old_element with new_element. |
File Access and Handling
| Function |
Description |
| (close FileDescriptor) |
Closes the specified open file.
File descriptor |
| (load string [value]) |
Loads an existing Lisp file.
File name
Error expression |
| (open string string) |
Opens the specified file to read or write.
File name
File mode can be:
"r" - Opens file to read
"w" - Opens file to write
"a" - Opens file to append |
Function Handling
| Function |
Description |
| (apply func_symbol list) |
Executes a function, where arguments are taken from a list. |
| (eval value) |
Returns the result of a Lisp expression. |
| (exit) |
Terminates the current application. |
| (lambda argument_list value ...) |
Defines of an anonymous function. |
| (progn value value ...) |
Evaluates each expression in succession, in the order in which they are grouped in progn. |
| (quit) |
Terminates (cancels) the current application and returns to the command prompt. |
Application Handling
| Function |
Description |
| (ver) |
Returns a string containing the information about the current version of the Lisp Interpreter. |
| (getenv [string] [string] [string]) |
Retrieves a string value assigned to:
- A list containing the environment variables as found in the "CAD Path" section of the application INI file,
- A certain environment variable from the "CAD Path" section of the application INI file,
- A specific registration within an ASCII configuration file (like an INI or other parameter file), or
- A system environment variable.
|
| (setenv name value) |
Assigns a new value to a specified environment variable. |
| (getcfg string) |
Retrieves application data from the [APPDATA] section of the appdata.ini file. |
| (setcfg string string) |
Writes application data to the [APPDATA] section of the appdata.ini file. |
Help
| Function |
Description |
| (help [string [string [string]]]) |
Displays the help window with a specified help topic.
Help file name
Topic
Settings |
| (setfunhelp string string string) |
Sets a help topic belonging to a function.
Function
Topic
Help file name |
Dialog Box Functions
| Function |
Description |
| (load_dialog string) |
Loads a dialog box description file (file of type .dcl).
File name |
| (unload_dialog number) |
Unloads a dialog box.
ID |
| (new_dialog dialog_name dialog_id [default_action [position]]) |
Displays a dialog box. |
| (start_dialog) |
Starts the dialog box. |
| (done_dialog [flag]) |
Terminates the dialog box.
Status |
| (term_dialog) |
Terminates all dialog boxes. |
| (action_tile key expression) |
Responds when a dialog box tile is clicked.
Key of a tile
Expression to evalute |
| (mode_tile key mode) |
Sets the mode of a dialog box tile. |
| (get_tile key) |
Determines the value to which a tile of a dialog box is set. |
| (get_attr key) |
Determines the attribute to which a key of a dialog box is set. |
| (set-tile key value) |
Sets the value of a dialog box tile. |
| (dimx_tile key) |
Determines the x-dimension of a dialog box tile. |
| (dimy_tile key) |
Determines the y-dimension of a dialog box tile. |
| (client_data_tile tile_key data) |
Associates data with a dialog box tile. |
Viewports / Views Handling
| Function |
Description |
| (cvunit string string string) |
Converts a value from one system of measurement to another. |
| (vports) |
Returns a description of all viewports in the current drawing. |
| (setview list [viewport_id]) |
Establishes a 3D view for a specified viewport of the current drawing. |
Application Utility Functions
| Function |
Description |
| (acad_colordlg number [flag]) |
Displays the color selection dialog box.
Color Number
Buttons display flag |
| (startapp string [string]) |
Executes an external OS application.
Application
File name |
| (menugroup string) |
Verifies that a menu group is loaded.
Menu group name |
Memory Management (Legacy)
| Function |
Description |
| (mem) |
Displays the memory status for Lisp. Returns always nil. |
| (vmon) |
Provided for compatibility with other Lisp implementations (virtual memory management). Returns always nil. |
| (alloc integer) |
Provided for compatibility with other Lisp implementations (memory allocation function). Returns always 0. |
| (expand integer) |
Provided for compatibility with other Lisp implementations (memory expansion function). Returns always 0. |
| (gc) |
Provided for compatibility with other Lisp implementations ("garbage collection"; memory release function). Returns always nil. |