Lesson17A – Telling AutoLISP Not to Evaluate an Expression

Besides specifying AutoLISP functions themselves, lists will be used for two key purposes in AutoCAD: specifying coordinates in space (“point” lists) or describing a specific AutoCAD entity (“entity definition” lists).

To explicitly type in a point list, a list of three real numbers, creates a problem: AutoLISP will try to evaluate the list as a function.

Command: (setq PT1 (1.0 2.0 0.0))
error: bad function

(1.0 2.0 0.0)
(setq PT1 (1.0 2.0 0.0))

When typing in an explicit point list, the (quote) function will tell AutoLISP not to evaluate the list.

Explanation: the (quote) function

A point list can be explicitly typed in using the (quote) function or its shortcut, a single quote in front of the list.

(quote ( list )) or ( list )

The (quote) function returns the list unevaluated. The (quote) function can be used with any AutoLISP expression, not just lists.


Command: (setq PT1 (quote (1.0 2.0 0.0))) or (setq PT1 ‘(1.0 2.0 0.0))
(1.0 2.0 0.0)


Establish three points, PT1, PT2 and PT3, whose coordinates are(0.0 0.0 0.0), (1.0 2.0 0.0), and (6.0 3.0 0.0) respectively. Estimated time for completion: 5 minutes.

Leave a Reply

Your email address will not be published. Required fields are marked *

Comment moderation is enabled. Your comment may take some time to appear.

Show Buttons
Hide Buttons

It's FREE!

Sign up and receive an email every time a new tutorial is published