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))
Command:

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.

Example

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)
Command:

PRACTICE

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
SUBSCRIBE TO OUR NEWSLETTER

It's FREE!

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