˘ visual lisp ˇˆread.pudn.com/downloads432/ebook/1827772/visual lisp .pdf · 2011-03-15 ·...

100
iii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 AutoLISP Visual LISP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Visual LISP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Visual LISP AutoCAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Visual LISP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Visual LISP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Visual LISP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Visual LISP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Visual LISP !" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Visual LISP #$%&’( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 )* Visual LISP +,. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Visual LISP -./0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 12-.34 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Visual LISP -.56 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 789:;+, . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 78 Visual LISP #$%& . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 <=>? AutoLISP @A. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 >?BCDE? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 FG AutoLISP HI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 JK Visual LISP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

Upload: others

Post on 09-Feb-2020

25 views

Category:

Documents


3 download

TRANSCRIPT

iii

��

�� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1AutoLISP � Visual LISP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

Visual LISP ��� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2�� Visual LISP � AutoCAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

�� Visual LISP � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4���� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7�� � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

���� �� Visual LISP �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9

��� Visual LISP �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11�� Visual LISP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12Visual LISP � !" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

Visual LISP #$%&'( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14)* Visual LISP +,. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

Visual LISP -./0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1512�-.34 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15Visual LISP -.56 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

789:;+, . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1878 Visual LISP #$%& . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19<=�>? AutoLISP @A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

>?BC�DE? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21��FG AutoLISP HI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

JK Visual LISP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

iv | ��

��� � Visual LISP �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23�� � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24������� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25

�������� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25����������� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28�������� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28!������"� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29

��#$%&' . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31%&#( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31��#$%&'��� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32)#$%&'*��+,��+ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33-"./�#$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3601#$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37#$23 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .40

�����.%&'�%456�7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .428� Visual LISP 94�:;<= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42��>"?@ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .43Visual LISP�ABC:DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .47FG AutoLISP HI�J6KL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .50

� Visual LISP MN94OP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .508� Visual LISP 94OP�QP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .51R�OPMNST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .54R� Visual LISP UVQP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .58WX.Y/OPST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5894OP%Z[\�]� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .59OPMN��+ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .59

^0:;_` . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .61ab?@^c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .61d�94<=^c:;_` . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .63��^0ef^0:;_` . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .64

�g� hi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67Visual LISP hiDEjk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .68lmQnophi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .69

qhiQn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .69�� Visual LISP hiDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .75

�rhist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .76��*uvw . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .76��ux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .78

�� Visual LISP Iy0z�7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .82��{|}~�� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .83��{����~�� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .85��{�b�t~��� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .92

�� | v

������ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95�� AutoCAD � � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

��� ������ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109������� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110

����� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110�������� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111�� !"# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113$%�&'(���� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114��)*+� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

,-����./ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117,-0���� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117$%�&' Visual LISP ����. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12412����34 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12450������ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12560���� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

789�:;<=>?@A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126BCDEFG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126&'����HIJ=DEFGK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129LDEFGKMN*O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133MDI ;<P=QRSB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134L MDI ;<P�� AutoLISP =TU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

�V� WX Visual LISP ���� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137YB9Z LISP �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138

BC Visual LISP [�. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138\][� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140

^\[�_` . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141a��[��bc[��� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145

bcde[� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149fg[� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149L[�h��K�ijkl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150L Visual LISP ����Kmn[�. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151

op����qr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153\]��34 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1533s��.t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1553s��.t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157BCuvop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157

�w� �� ActiveX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161L AutoLISP K�� ActiveX 8x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162BC AutoCAD 8x.y. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162

vi | ��

���� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .164���� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .164�� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .164

�� AutoCAD �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .165 ����������� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .165����������� ActiveX �� . . . . . . . . . . . . . . . . . . . . . . . . . . . .168���� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .168 �!" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .169

# Visual LISP $%& � ActiveX �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .170'()*+� Visual LISP $% . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .171'(,-.�$% . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .172/ AutoLISP %012345 ActiveX %012 . . . . . . . . . . . . . . . . . . . . .173��678���� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .180 ��9%:;<;=� ActiveX �� . . . . . . . . . . . . . . . . . . . . . . . . . . . .184>?�����6�� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .185 ��� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .187@A��6@ABC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18934��D� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .190EF ActiveX ��<;�GH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .191

� ActiveX I������JK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .193LM12N . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .193OPI�����QR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .195���� STU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .196#VLM12N � ActiveX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .198

WXY Z[\] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201/^�_`ab AutoCAD cde . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .202

Ff^�_126gh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .202(i;.$% . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .205jO^�_ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .207#klmnop& �^�_ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .210�qrst6uv^�_ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .211wx^�_6yz^�_ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .215^�_ �{| . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .216

W}~� � AutoLISP �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .219

W�Y AutoLISP ��. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221AutoLISP ���. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .222

AutoLISP $%�� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .223AutoLISP %012. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .224

�% . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .224

�� | vii

�� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225��� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226� � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226VLA-�� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226����� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226����� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227

AutoLISP ���� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229�� AutoLISP ��� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229!" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230#$%& . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231

AutoLISP �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231'(��)* . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231Nil �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232+,-)�� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232

��./ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233���./ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23401234� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235

'(56 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236���7)89�� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237:;< =; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238

>��?� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240�./ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240

@� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242@� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244

���4�./ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245A defun ,-4� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245C:XXX 4� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2474�7)BC�� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251DE�)4� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252

FG./ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254HA *error* 4�. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255IJFG�KLMN�� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257

OPQ A AutoLISP R AutoCAD SN:T . . . . . . . . . . . . . . . . . . . . . . . . . 259UV�WX4� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260

WXYZ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260[\���]^�� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263;�89 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264

'(89 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264_`89 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264�abc��1bc89 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267de�a89 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267

viii | ��

������ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .268getxxx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .268������ �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .271

���� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .274���� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .274���� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .275

�� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .279����� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .279� �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .281ASCII !�� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .282"#�� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .283$%&�� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .286

� '( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .289� )* . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .289+,-.� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .290

/0+,1�� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .291+,���� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29123�45 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .291

678 � AutoLISP 9: AutoCAD ��. . . . . . . . . . . . . . . . . . . . . . . . . . . . 295'(;<= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .296

;<=>?@A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .298B AutoLISP 1 ObjectARX C�DEFGHI;<= . . . . . . . . . . . . . . . .305

��'( . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .305JKLM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .305JKN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .311JKN1JOPQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .319RSTUV1W4TUV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .320'(XJO�� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .321

YZN -- xdata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .323[\YZN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .324]^C� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .327��YZN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .327BJK_`aYZN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .329b(YZNc��de . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .329YZNf�gh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .330

Xrecord �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .331+,�iA1jk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .332

�iA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .332jk�� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .334

�� | ix

���� ���� � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .335

���� ��� � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337� ��� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338� DCL ��� � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340

base.dcl � acad.dcl �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340�� DCL �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340DCL �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341

� Visual LISP ��� � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344� !"�� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346� DCL ��#��$% . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346

&'� �#() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347*+�,-�.+� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348&'+�/0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349&'12�3�#4/ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350&'5�6�789#4/ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350:��;<=>�? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351

��@A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353BC�DE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353FG�H#���IJKL#�M . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353�N+O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353P!�� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355QRST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355UVWX�N . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356YZ[\#]^ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356_`ab� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357+�#]c�de . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357f�+� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358gh� � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358ij� � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358QRklm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359��nopq . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359rs�M#UV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359���+��+�,#@A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360!"�� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363

��t� u�� � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365� AutoLISP �v+O� �. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366

wx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366� �yz{|#}~�O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367

�������& . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368����� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369

x | ��

���� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .370�� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .372

�� ���� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .372���������� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .373����� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .374���� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .375����� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .376

�� !� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .376"# !� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .377

$%&'() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .379*+��,-�*+ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .380

*+./ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .380��*+01 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .382

23�45 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3836723 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .383��2345 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .385

89:;<= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .386DCL >?��. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .386

@ABC>?DEFGHIJ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .387 !�K<L$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .388

K<�;MN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .388�9O !�PQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .389

RSTU V�W !�XY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391Z[ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .392

Z[\] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .392^_`FZ[ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .393;a9OFZ[ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .393

b9OZ[c$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .394DCL Z[d\. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .397DCL efc$. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .408

b9Ogh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .408� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .408;ijk�lmF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .409no� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .409 !�p-45�>? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .410_`q;F . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .410

DCL d\. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .410V�W !�K<c$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .427

!�rs�tuK< . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .427�Z[��K< . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .428*+��,-�*+��K< . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42823��K< . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42989:;<=��K< . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .429

�� | xi

���� �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .431

�� A AutoLISP �� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433�� � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434��� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436

������� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436�� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437������ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439����� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440���� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441�� � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441!"#��� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444"$��� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445

%&� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446'(� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446)*+,� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447-./0� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4481���� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44923� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45045�67� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451�89:� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452

;<=>?@�"$�� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453ABC��� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453?@��� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453;<=��� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455"$��DE��� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455

FGH�� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457Visual LISP I AutoLISP AB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457

ActiveX =J� � . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458ActiveX C'(� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458ActiveX KLM�� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459ActiveX ?@��� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460ActiveX NO��� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460PQR�� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461DE� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462?@��� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463

S�T� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464VLX UVWX� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467UVWXYZ� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468Windows [\��. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469

�� B Visual LISP ]^�_`;a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471bcdO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472

xii | ��

���� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .472�� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .473���� ���� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .475���� ���� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .475�� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .475

���� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .475���� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .475Visual LISP ���� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .479����� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .483

!� . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .484

"� C AutoLISP #$%&. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485#$%& . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .486

������

1

��

��AutoLISP® ����� AutoCAD® �����

� Visual LISP™ (VLISP)™ ������� �!"#$

! AutoCAD LISP %&�VLISP '%&()�*+�,-

./ Microsoft ActiveX™ Automation 012'345�6

7�./8�9:;<=�>*+� AutoLISP ?:@A�

B�CDEFGH�VLISP IJ� KLM�NOEF

PQ (IDE)� ��RS;TUV;WXYGH�,-IZ�

�� AutoCAD �[\�

� AutoLISP W Visual LISP

� ]^ Visual LISP _`

� abcd

� ef_`

2 | ��

AutoLISP � Visual LISP

AutoLISP ������ AutoCAD �� ������������������� !� LISP �����"#$%&��� !� LISP ��' LISP ()���*+,-� (AI) ./�0����123�45+,-��0��6'

7�� 89�AutoLISP :;< AutoCAD R2.1 8=�./�0��>? (API)'LISP @A#:B� AutoCAD ()�./�0��>?��C�DE�FGH�,�8�IJKL��M�NO8PQR�ST��UV WXYRZ[\]

^_'

Visual LISP (VLISP) ��`a AutoLISP �0bc ���de,f'VLISP �ghbcijklm45���"n�*opq r#stR�uR�0vwxy

z'{|�VLISP }klm�~,f�"/�c�/ AutoLISP �*���./�0'

2M��bc AutoCAD � AutoLISP �0����//�����������* r�>�2 AutoCAD 8`���� r'uR�0�����2�0�����`<���#���v��y'/�}w��T2�0�����`<

���#s�� ¡¢£v�'¤¥/�3¦E§¨�©ª�«¬­�}Zw

Z®¯�°±pq r�#`<x5�uR²'(³�2�0��´«³�/�

}µ¶·`<�uR r¸¹º»¼½'

Visual LISP kl���

2 AutoLISP ./�0�bc¾98�AutoLISP /��¿�45 AutoCAD deÀkl�Á='£Á=8�ãÁ=NĤ����^_"#ÅOÆde,fk

l�ÇOÆ��£Á=NĤÈÉ� AutoLISP � rÊ�uR^_�D2 VLISP 8F�¨Ë1'2 VLISP 8�Ì"#2Í~ij8ÈhÎÏ5е��Á=�O8PQ����o�0uR#sÑ AutoCAD �OÆ./�0�ÒÓ^'

AutoLISP � Visual LISP | 3

Visual LISP IDE ���

� ������ AutoLISP �� ������������ ��� ������� !�"#$%&'()�*+,-./� !0123�

� 45 AutoLISP 67�89:�;&<�=>?@ABCDEF�; AutoLISP 89:&G�HA AutoCAD IJBCKL9:M#NO�

� �P�QR� AutoLISP � DCL ��ST&'()UV AutoLISP ��WXYZ�

� AutoLISP [\�] !�^ ![\&��U_`�� -a��b�cdYZef�g@hijklmn�op\�q&@irs

�t��uNv�wxYZH�yrs AutoLISP �u� AutoCAD IJ�Iz�

� {|�}~��() AutoLISP �����&�������YZhi����������

� � ����ef������� !mf����

� ����� AutoLISP �����E+ ¡�� ¢a£¤�¥¦Z§£¤�¨�©ª VLISP ©«�BC¬­�� ®Z¯°±3BC² AutoLISP �g()�³��hi&´µ��(.��g���/¶�°±3�·PYZ¸ AutoCAD �P¹º»¼&H()�½�¾¿YZ&ÀÁÂÃÄÅYZ�Æ^�#�QYZ��

e� Visual LISP � AutoCAD

VLISP ��=�Ç�BC�ÈEÉ&ÊËwx¸ AutoCAD �UVÌÍÎG&ÏÐ=ÎZÑÒÓ AutoCAD M#�ÔÕÐÖM# AutoLISP �&×ØÔM# AutoCAD�Ù�g´ VLISP IDE DM# AutoLISP !�&ÚÛÜݸ AutoCAD IJÞßàBC¾¿@á� !(L�

ÁO VLISP ⰱ㲠AutoCAD � AutoCAD äåæç¯&�g×Øè�¥¦'éê AutoCAD ëìí&VLISP Îî��¥¦ AutoCAD BC�}ï&VLISP BCDîð?'£X*+ Visual LISP ��&ñòóéê AutoCAD 'á��A AutoCAD ßà(Lô�(L�õVisual LISP ö÷øD�õùú�M# AutoLISP !ø²ð�*+wû�Àü�

4 | ��

�� Visual LISP ��

Visual LISP ����������� VLISP � ������������ AutoLISP �������� !" AutoLISP #$%&'(

)*�+,��-./ AutoCAD 01�234 AutoLISP � Visual LISP *5%67��01�28 AutoCAD % Help 9:/�;3<=>�?@A��%BC�DEFG(

HI�J��KLMNA AutoCAD % AutoLISP �����OP01�235Q AutoLISP RS%FGTIUVWX�YZ[\]^_`I%����(

Visual LISP � AutoCAD %abcd3 efgh.i AutoLISP � Visual LISP ��j

� AutoLISP ��kX!"lm AutoLISP nopefqr(8IsXt-no#uvwxnoyz{|�\t} AutoLISP ��(

� Visual LISP ~�������+�����.m Visual LISP ����(

A Visual LISP �������xI�*.i�� AutoCAD %���p���� Microsoft Windows® %�A�+��](�p>X�I���� AutoLISP %������%��\��I%����B��(

Visual LISP ������7Z/�m67j

���� Visual LISP �������� VLISP  ���¡¢ AutoLISP ��(���� AutoLISP #$�£¤¥1 AutoLISP #$%¦§�&'(��¨©\��Tª«�¥1�8 AutoLISP ����3¬­�q®Tª«(��¯:�<°±²]7³% AutoLISP no´XµAutoLISP ¶·¸¹FG�

Visual LISP ef%�����º»%´X(

HI¼�½¾¿ AutoLISP�I\]À8ÁÂÃ.ÄÅÆ�Ç�� Visual LISP (ÈÉ�[ÂÊËÌQI%mÍÎÏ(HIÐ�8��Ñ�ÒJsXÓ

�.ÔÕ�ÑÖ%�OI×ÏÓÁ./ÃØÄÙÃÚÄ%67vÊ6Û��Ü

�(

�� Visual LISP �� | 5

������ ������ Visual LISP �������

� �����Visual LISP ������ �!"�#$� AutoCAD %&' VLISP� �() VLISP *+,-./01�23#$� VLISP %456,-78 AutoLISP 9:����;<=(�> VLISP ?@�ABC%/DEFGHI���2JKL��MN VLISP BC�

� #O�PMN AutoLISP�QRST�U��AutoLISP VW��XYZ[\�]��� AutoLISP ^ AutoCAD _-J`�a�b��� AutoLISP cd AutoCAD ef� �ghi�2jkl9aST mn%/op�q(�

� #OErstuvwxyz9{E/|}�Q~� mn�� A��AutoLISP |}�E��

����( �/�q�����

�q����

�q �� ��

1 Visual LISP �� MN Visual LISP

2 � Visual LISP �A9: �(#$� VLISP � z���� AutoLISP 9:���#$�������23#$�r��%/ AutoLISP ����� �;��(#$,-� VLISP � HI%��A/���

3  ¡9: �(#$�� VLISP ¢ ¡9:�£¤¥¦9:§-¨©ª9:,-K9%«¬­/«®¨r¯�°�±­/²:6³´§-��µ�

4 z¶·�9: <= VLISP �¸z¶��X�)(#$� VLISP ·�9:¹º¢»¼½/·�9:�

6 | ��

5 �� Visual LISP ���� �� �� VLISP �������������������������� !"#$%&�'()�*�+,-.� /��01���!

6 1� ActiveX �� / VLISP 01� ActiveX 23�-.� 45 ActiveX 6789����!

7 :;<= � >?�)@AB AutoCAD CDE23!

8 AutoLISP FG %& AutoLISP F"HI�J�� 1�KLMENOPQRSTETUVPWXYZP[\KE��]S^!

9 � AutoLISP _ AutoCAD `a4b c��da AutoCAD ef-.��/ AutoCAD gh0_�ijk�]S!

10 � AutoLISP lm AutoCAD 23 c�nQR AutoCAD CD�CoPpqrPstSuEUvK� AutoLISP ]S!

11 wx2<y %&2<y�z{o|!"#$%&� DCL ��}~E�����Z���EWX2<y� AutoLISP E DCL ���J!

12 �R2<y ��� � AutoLISP ����2<y!

13 �'�2<y�� �Z������ DCL ��.8�����$�Z�����n�'�2<y� AutoLISP ]S���!

#�z�}~ ( �� )

#� �= ��

���� | 7

����

������ ������������������������ �

�!�"#$%&!'"()*+�,-./�0$�12345 Visual LISP ������ 6&"�����

����

�( 7�

89:;7�*+<9pt Times New Roman ()

(defun initfunc ( )(setq *GLOBAL-WARMING* 4.0))

&=>?�(*+<@@) � VLISP ABCD+E>? shape

�F�GH"�I&��2+ JK�F� drawline.lsp�LMNOPQ<C:\Program Files\AutoCAD\VLISP

�RSTU�("�� �TU&��2+�

�< appname-init.fas " FAS �F�V appname <W&89XY�

AutoLISP � Visual LISP TU�I%& Times New Roman�

JKTU� origin-y*LAST-VALUE* Z[TU

AutoLISP \]�I6&Times New Roman^@)_�

%& entget \] ...%& vlax-import-type-library >?

8 | ��

����

� AutoLISP ��� Visual LISP ���� ������ AutoCAD ������ Visual LISP �����

� AutoCAD ActiveX and VBA Reference �� !"# ActiveX $%&'(�)*+,-. /012+ AutoLISP ����34� ActiveX automation �5� AutoCAD )*670��89:;<.�=>? AutoCAD � Visual LISP +@ABCDE��,-.

� AutoCAD ���� ����FGH AutoCAD ����+IJ,-.K L��M��FGHBC&NO�PQRS+,-.TU�=>? AutoCAD � Visual LISP +@ABCDE����.

� DXF Reference VWMRXYZ[\ (DXF™) ���]^ AutoCAD )*'(+ DXF _`.a��bc��VWRdef+�ghi0����89 DXF Reference.�=>? AutoCAD � Visual LISP +@ABCDE DXF Reference.

� ObjectARX Reference �� !4� ObjectARX™ �12FGH AutoCAD ����+,-.AutoCAD j�kl�m>? ObjectARX �no+. /012+ AutoLISP ������noj�kl�����89J;<.

ObjectARX Reference pq��r0stu+ AutoCAD3v�=w Autodesk World Wide Web xy (http://www.autodesk.com) z{ ObjectARX SDK |}~12����.��C� Product Index ��pr Development Tools z�� ObjectARX ��.

9

�� Visual LISP ��

10

������

11

Visual LISP ��

���� Visual LISP ������ (IDE)����

��� Visual LISP ��� AutoLISP ��

� !" Visual LISP

� Visual LISP #$%&

� Visual LISP '()*

� ��+,-./

� �� Visual LISP 0�123

� 456�� AutoLISP ��

� 78 Visual LISP

12 | ��� Visual LISP ��

�� Visual LISP

Visual LISP (VLISP) ��� ��� AutoCAD ��������������� !"#$�� VLISP�%&�'���� ��()*

�� Visual LISP �+,

1 �� AutoCAD*

2 � AutoCAD -.�/01(23�1AutoLISP3�1Visual LISP 4563�7�89:;<=�>?89@

vlisp

�ABCDEF�-.7 vlisp 89GHI VLISP IDE �*

JB�KFL� vlide 89��7GH Visual LISP*Vlide M; Visual LISP �N��� � (IDE)*AutoCAD �O vlide 89P� VLISP�QLRCSF&TUI AutoCAD 89���#; VLIDE 89*

Visual LISP ���� | 13

Visual LISP ����

���� VLISP �� ������

VLISP ���������

�� �������� !��"#$% VLISP &'(�)*+ ��,-./!��"VLISP �0��12-345, �67&'89-:;(

<=5 �><=5?@��AB$% VLISP &'(VLISP C/DEF!<=5�GHIJKILMI<=NOP QRST

U89- VLISP &'V(W0XY-KCF!<=5Z[0/\]!<=5^�KG _`(����<=5ab2cWdTef2g��&'(�)*�hGijik<=5

.?@l0m,nopqrVLISP � �<=s�tu?@89vwxy0��12-345, �z{|-}~(

345

���

��

��

<=5

14 | ��� Visual LISP ��

��� ���� VLISP � �������������� ���� AutoLISP ������� AutoCAD �� �� �!��"#$�%&'()*+���

� ,-./ Visual LISP ���01����2345�678� 189�:;<���=�

>?( @1ABCD�>?( EF�45GH� VLISP IJ�&K"L)M�

H�NOPQR��STU�VW��X�Y�ZP[\ VLISP ]^_`�45�ab VLISP �X�YcRde�fOP[\gh�de45�

Visual LISP i`jklmn

# VLISP &KY��NoDpYqr#1st%uv AutoLISP wx�I� VLISP y�z{;��i`jkl|�}#~�� AutoLISP ���

�;��i`jka�EF����������� AutoLISP �w�a VLISP ��� drawline.lsp i��

�� ��H��� AutoCAD Y���������%��:���=�����:��=��P�� wi��abH¡¢��; AutoCAD £¤��������¥¦§¨��wx���:���=���:��=©ª���gh�

��

� VLISP i`jkl «¬ LISP wx�­®

1 ¯ VLISP $� ��:i�=�:��=�

2 �:��i�=°±² ��� AutoCAD ��³´µ� Sample\VisualLISP i�¶�

3 ·¸ drawline.lsp i��

VLISP ¹�¦�i`jk ��Zi����>?(ºEFi�»�abH°i�¼¨;uv%½¾;i`�VLISP ¹�>?(º�i�»¿EF��ÀÁ (*)����ÂÃ%0ÄZi�Å�ÀÁ�PÆÇ�

H��LYjk/�i��È����i��VLISP r�¦�i`jkl EFi��

Visual LISP ���� | 15

�� Visual LISP ��

VLISP �� �������������� VLISP ������� !��"��#$%&'�'$()*+ AutoLISP ,-./012-3�Trace ��45678��9��,-12%:;<=)>�� ��?�@AB��(

CDE?F�AB�9�GH�IJKL�����?%

Visual LISP ����

(CDMNOP��Q"R VLISP ST%&'�EUA2V��CD��8! AutoLISP ,-A2�MNW�A2X+IJ�L4YA2%

CZ!��[\

]^_! VLISP ��`ab'ABIJKL���c��[\Cde�f`a%�g��!hijL�!klmnop�qCr^s��%

&'��gtuA2 drawline.lsp !ABIJ���vE VLISP ��wMNUIJV�(x�'y��z

{l��|}!��Q~U����V�U��STV%

16 | ��� Visual LISP ��

��� VLISP �� �����������������

���� !���"#�$�%&'(���)*+,�!-.�$/01��

"��2�0��3456�7�8�0��3456��9/0��":;

���� �<=

Visual LISP ��>?

8@>?A VLISP ���"=

Visual LISP ��"

��" BC

DE FG1� AutoLISP HIDEJK���LM�NDE�OPHIDE�QR�ST Visual LISP UBHIDE�VLWHIDEX=

�� Y�7Z[D\�]^_ `ab�D\cQdV]^��� �< `e��'(f��� VLISP �� �V�� �<�D\�+,@gh<�)*�Vi1jk�� �<Jle��'(X=mn��op�qrst�uvw�B Visual LISP MxHI�=

yz {|7}~D\���������V�B����X=qrstuvw�31����BD\����=

�� {|7jk AutoLISP ��<���7�*�=qrstuvw������HI�=

Visual LISP ���� | 17

�� ������� �������� 138������� LISP ���� 110��� !"#���

$% &'()��*�+,-�./0��-123456789:;<= ��������>?�$%���

�@ &' VLISP �AB;CDEFGHIDE-JKLM�@N�O'P

LM QRST VLISP UV*WX�LM-YZ[\]� VLISP Y AutoCAD LMP

^_ WX`a^_

Visual LISP ��E ( �� )

��E �b

18 | ��� Visual LISP ��

�����

VLISP ����������� AutoLISP ������������� AutoCAD ���� !�"#$% &'���()#*$+,-./"0�*�12�3 VLISP �45 AutoLISP 67$89:� VLISP �;<= ����>�67?�@ ENTER >A��B AutoCAD $������;CDE 67?9F�'GHI (!)�

����C45 AutoLISP JKLM�NO AutoLISP PQ$���12 print � princ PQ$�R��S45 �����;C��TU����VW�9��$XY��R$���

Z[ VLISP ./\]$^_LM�`ab� 25c$def���g��h\]$i32jk

� l AutoLISP mnop�q:��45mno$rs:�� t AutoLISP mnouO����<= v�wx@ CTRL + ENTER >A�yz j��{|���

� #-lO'mnoq:�

� ��XY}~��������XY� ������ef��

uXY}~���

� ��@ TAB >��s���9��$���;C��O�@ TAB >�s������$���@ SHIFT + TAB >�����s����

� ��@ TAB >��l����$Z����12�2�;�� (+ �@ TAB >�VLISP ts��;w���$�'� (+ ��$���@ SHIFT + TAB >�����s����

� @ ESC >����5�x$X��� @ SHIFT + ESC >t"l; ��5�x��$X�p�q:� "t¡��¢B{|45£$��5��

� ���$+¤¥¦§¨©ª«>¬@ SHIFT +F10 >t45 VLISP ���­®�12�;��¯f°\]��±²����³$XY´VµX

Y�¶·¸ VLISP ¹º»¼�

3½¾$%�2�; ��5¿��X�x"@ ENTER >SÀÁ� AutoCAD ���;Âs� VLISP ��-��hX�t"ÃÄÅ �5��x�

�� Visual LISP ����� | 19

�� Visual LISP �����

VLISP �������� ������� VLISP �������������� VLISP ������!"#$%&'()* AutoLISP +,�-.&/ AutoLISP 0)*%12345678AutoLISP 9:;%<= AutoLISP 9�>? ,@A�BCDE1FG5H7 8 AutoLISP I AutoCAD JKLM;N5O78 AutoLISP PQ AutoCAD /R;STU�

VW��������BX�YZ�

�[+\]^ �����1F?_ AutoLISP �`�a��bc�defgh�i^�jkl&1FmnopTU�`�qBrs�

�tu-vwx Nyz{|%}$~&TU�������

��

������ �����1F�� AutoLISP �����%k��mo�34� �1F����a�����S��&h����

���

���� AutoLISP ��S������%���1FL��TI�� �����¡��¢~£&¤¥�������

¦K AutoLISP §¨�

'© �����ª1F¥«§¨�N��K�

��[�T ����� ¬ ­®ª1FG� �[S�Tq ¯°§

¨��

AutoLISP ���+\¤�

�����1F/ AutoLISP ��JK±²b³´+\���

µ�k VLISP ������¶·CD%¸¹º5 31»�8k �����;�

20 | ��� Visual LISP ��

��� AutoLISP ��

VLISP ��������� AutoLISP ��������������

��!"#$�����"%&�' VLISP ()*+�$,"-./� 0��12��34�� drawline.lsp

VLISP ����56������"78

1 9:;<=>?�� drawline.lsp "����56#@A56 BCDEFGH56#I#@A"�; 56"JKLMNO��$�PQ@A56

2 RSTUVTUW�XYS��@A��56VZ[�\R VLISP ]N�XY STUV�S������"�^V

VLISP _ `ab56�cd�efg ,hij��H��

3 `abkdlm�no�%&pq%&p>n nors�Z ENTER t��� drawline %&u

_$ (drawline)

drawline %&_vw0!Gx.y�z2 -x.y{|}�e~� � drawline %&vw,�m���VLISP _`a�� AutoCAD �kdm�y 0�����"�����#I� AutoCAD 56cd 0"��� BC AutoCAD jcd 0"����0_�� AutoCAD 56 I��VLISP_������0"��!�_�P VLISP �ou

H�ohi VLISP 56D�#@A" -���l�0 ¡¢A£¤� AutoCAD 56 �NO Windows J¥W�" AutoCAD ¦��§@ AutoCAD

l¦Q AutoCAD kd,�m� drawline vw"yu

����� AutoLISP �� | 21

4 ��� �������������

����������� VLISP�!"#$% VLISP ���

&!� VLISP ��'���()�� ��*+,-./���0��1�!2345� VLISP � AutoCAD ��6789:�;<�=>?@AB0 Windows ��;<CD6E�F2�GHIJ VLISP KL�0M��N�MOP AutoCAD N QRMSNTUV�0MOP AutoCAD NQW:OP AutoCAD�XY!Z� AutoCAD �[\�� VLISP ]^�_2������R() vlisp � AutoCAD KL�IJMTUN�MAutoLISPN�MVisual LISP -./N�

��I�0`a�

� VLISP ��!2��+,-.���IJbc�`a[d��efI�0`ag8hij���

� VLISP +,-.�����I� AutoLISP `a�0kl

1 � drawline.lsp ��mn�opRqc�`ar

(setq pt1(getpoint "\nEnter the start point for the line: ") pt2(getpoint pt1 "\nEnter the end point for the line: "))

2 LsMTUNTUVt0M��I�`aNQW�

VLISP uv��`a["��wx AutoCAD ���@y()�

22 | ��� Visual LISP ��

��� AutoLISP �

VLISP � AutoLISP �������������������� AutoCAD �������� !�"#$���%&'( vla-)vlax- * vlr +,$vla- �� AutoLISP -./� ActiveX 0123456789�:�;�� ActiveX<=$vlax- �>?� ActiveX @A*�BCD�)EFGH�)IJKL�M$vlr- �./%N� AutoCAD OPQ%01$�RSTU�VW�X"# AutoLISP ��YZ�����[

(vl-load-com)

\�T]^N_`"#� AutoLISP ��Va`"#�\�b�cde@f�_g�b"#\�hi$

Va�� VLISP jkl+mnoX+mpq�r��sZtu�� AutoLISP �$�vw%xyN��� VLISP �U� vl-load-com�zb�\�%U�{|� acaddoc.lsp }~-������s(!�"#�$�Va���%������ AutoLISP ����RS�����-U� vl-load-com�(���������%pq�s(�����$

�� Visual LISP

��� VLISP d���s(��;}~<���%;��<z�� Windows %;��<��X����$�  AutoCAD �¡r�¢£# VLISP�¤¥N¦§r% VLISP ¨©��$

Va�ª«�� VLISP }¬�­¨©-%pq¤¡r�®��ª«���� AutoCAD ��AutoCAD �¯°N_�®��ª«$Va�±�®§r%ª«�7��;N<�²��;_<b��®deª«$

VLISP �®����%³´$��W���� VLISP d���VLISP b!�µ+������µ+%}~*¨©$

������

23

� Visual LISP ��

VLISP � ������������� AutoLISP

����������� !"#$%�� ��

&'�(�&'��)*+ AutoLISP ,"-.��/01

�234,"5 6789:�

� ;<=>

� ?�@ABCD

� ?�E�!FG

� ?�@AB�!FG !"H

���

� � Visual LISP *+,"-.

� 346789

24 | ��� � Visual LISP ����

��

� Visual LISP �� AutoLISP �� ���������

� ������������� !"��#$��%

� &'��%

� ()*+%

� &,*+-.�/0123%

� 45��67%

� 89:;9��%

<�=>�?@1�ABC��D)*+E&,*+-.:45*+�FG%

H;9��IJ�KL VLISP �;9MNOH(P����I:HQR Visual LISP ����ISKL!"T��UV������>WX�YZ�O� !"��

����[\�]^T_`����ab%

������� | 25

�������

� VLISP �� ������� VLISP ������������ AutoLISP � ���!"#$%&'�()*+��,-.� VLISP ������/0 AutoLISP 12 ,345678129:�;<.

34������=>?@����(@AB/0��C

_$

VLISP DEFG/0���H��9:�/I;<�G34JK�����L7MN���O34D���PQ��R�8���(@STUV Windows W��X.

YZ������

VLISP ������[N\BH AutoCAD ]^��_`���()�a!b .cd�����H AutoCAD ]^��()�a!ef��g��hia!?j�k�lm�neh.o=�g*p@ AutoLISP qr�stu�� VLISP Gvj������w0qrxlyz{w63.|� AutoCAD]^(@�GO}~�qrxt�i���� (!).

� AutoCAD ]^���y��wD�����u.| VLISP mh��v�y> ENTER wA���SY����(@S/0����M��G!�������:>���C

� �>i:���:����.��8Mi��vj���:�y CTRL + ENTER 63.

� �y ENTER w�t34/0 ����.VLISP ��������zu�tD��������:�u.

� =<��������*���=4t/0]^�;<T4t/0���

���Ay ENTER w�VLISP D ?���R�8���(@S.

26 | ��� � Visual LISP ����

VLISP �� � AutoCAD ��� ����� TAB ������������ VLISP �� !���"#$%&'()*!+,-�./01�+� AutoCAD ��� !�23�456���7896 ENTER �!:; AutoCAD <=��>?@A�

;��� BCDE

��FGHIJ6 TAB �KLMJN>?�@A�OP6H TAB �Q!JN>?�@A:RS�FG��@A�TU6H TAB �IJLMVAP VLISP WXYZ>?�W[@A�8LMV��.>?\]^_6 TAB �`:LVab>?���\"cd�efg�6H SHIFT + TAB �:h\TiLM�

jk!��FGH>?kH��l

(setq origin (getpoint "\nOrigin of inyn sign: "))(setq radius (getdist "\nRadius of inyn sign: " origin))(setq half-r (/ radius 2))(setq origin-x (car origin))(command "_.CIRCLE" origin radius)

LM�� >?���mn

1 6�P TAB ��VLISP LMVab>?���":opG��FG�l

_$ (command "_.CIRCLE" origin radius)

2 _P6H TAB ���FG�:pGkH��l

_$ (setq origin-x (car origin))

3 _P6H TAB �!VLISP pGkH��l

_$ (setq half-r (/ radius 2))

4 q�6H SHIFT + TAB �!VLISP TiLMVrst����>?�u.��l

_$ (setq origin-x (car origin))

5 _P6H SHIFT + TAB �!VLISP pGkH��l

_$ (command "_.CIRCLE" origin radius)

v-w��FG�>?�a]�.���

������� | 27

6 �� SHIFT + TAB � �������������� VLISP ���� !�"#$%��&VLISP '���������� !�($%��)

_$ (setq origin (getpoint "\nOrigin of inyn sign: "))

*+,-�. !/$%012&34������ !56789:;<=

$

>?@A !56BCDEFG@HG@� !���

A��� !56BCDEFG�IJ

1 !KFG�LM N,����OPQ ! (command)

_$ (command

2 � TAB � VLISP RS�"T !�@ (command: UV�LM)

_$ (command "_.CIRCLE" origin radius)

,- VLISP WXS�YZ[\&:]^�_`ab?cd<efghij SHIFT + TAB �?BCklFG&@RSmT� !

9n��oph��� !qr

� SHIFT + ESC �?@9ns����� !��� N,&,-� !t,�uvwxy�)

_$ ((setq origin-x (car origin)((_>

?� SHIFT + ESC 9n��&VLISP z{P,�|}~ !���)

((_> ; <}~ ! >_$

b*+��N9�?@ !��������� j

,-����OPQ !LM#] ENTER ��� ESC �&34 !�LM'�ph ,-�� SHIFT + ESC&VLISP ']zALMBC���]ph�LM&o��{P�����OP

,-����OPQ !$����#&WX ENTER ����t AutoCAD ��&34���� VLISP �&'{P��OP !�LM�{P������9o?������&�]c�� TAB �����LM&�� ¡WX':¢!����56£¤q

28 | ��� � Visual LISP ����

�� ������

����� AutoCAD ���������������� �����!"���#�$%&'()*�+,-. AutoCAD $%��/0123456��78$%9�:;<=">� AutoCAD ���0?@�$%��"A������-B� VLISP ���C3�

5 AutoCAD �D ����EF!"VLISP G? H:��"AutoCAD I�D ��JKL VLISP I�D ���� VLISP �����MN�$%OLP�*D ��Q"RS VLISP ���TUVIWXYD ����Z[�\]=^Y AutoCAD _ VLISP ���TUVL`abc-������ downtown.dwg �d

����efgh

iYjkelmn� VLISP �����Iop�q�rstuv�wj"VLISP x+swjyz{efgh��������|a}~h��T���� SHIFT + F10 '23efgh�

������� | 29

��� ������������������ �������

!"#$%&'�������� ()�* ����"

+,-�./ VLISP ������ AutoCAD ����0123�45��"

67�����89

�.:;<������=> ()��67?@A�BCDE�����()

89 67".F�.GHI�B.JK������=> ��"

���������

�� L9

23 MN������O�� ��P<QR? Windows 25S

T� <�� ��T�?25S

45 <25SUV45?�� !

WN����� WX�����

YZ /������YZ[\��

]^ _`a]^bcde

fghi _`ahib��

j8kl�� _`aj8kl�mb��

nopq _`anopqbcde

rs rstu L9

vw vx=>yzrs L9

AutoCAD {| <()}~��? AutoCAD ��>.���

3����@A <����� }�T�?@A�B

30 | ��� � Visual LISP ����

�� �����

1 � VLISP ��������������� � �!"#� ��$%&'(

)*�� +,-./������ � ��0$

2 12� ���345��6$

789��:;�<VLISP =>?7@A?BCD

78EF�G�<VLISP =HI��� +,BCJKLMN��OPIQ$78EF�R�<VLISP =ST9��<UV=WX9��YZOP$78���[\�=�]^�H_�`12ab���6$

3 c�������������� � �=de� ��fgh� i

�$

�� +,�jkl�1?hm�� +,� no$78� pq�<VLISP �jkl�>?� ��6$78de� <ra�jkls>?��6$

78�gh VLISP tNuZde� ��<VLISP v�ghwx�dey$de� ��I<z{H�|&�}~���7 VLISP �}~���!��ym$

������� | 31

�������

��� ������ AutoLISP ������� VLISP ����� !"����#$%&'()*+,�-.�/01�� VLISP �����23 AutoLISP -.456�78'

�����9 VLISP ��:;�<=>?'@ABCD����E�� Windows �FG����HIJK�LMN#$%OP��@&'

VLISP �����EQRSTUV AutoLISP �WXYZ�[\�]�^_`a����bcdefbghijk������lm� AutoLISP ���n'opq�r$%s�tuRv����wx�yB��wxz$%op{|}~�

s�'

���7

�q�r�^_��7������7�$%� VLISP �����8�O�:��7'"��������:��������#$%OP !��&'

~ ENTER �3OP�����6��������$��������������3��������%�~ ENTER �%�� !��E�������8'

$%�� ¡���( VLISP � !¢£�N���Y¤-.¥�'¦$%�§¨�7+���2© VLISP Y¤ª«�-.�¥�'¬D�� VLISP-.¥��¡[\�­®¯°�±²�³ 50´��� Visual LISP Y¤-.¥��'

µ¶y·�¸�¹º

� VLISP q�r�^_������µ¶�$%µ¶y·�¸���¹º'$%

µ¶�¹ºv»9�¼½���$%�¾¢6y·45�7�T¿'

�q��^_������À¸�$%À�m�µ¶�wx'�E��µ¶�Á

ÂNÃ�m��À¸��ÁÂÄ�EÅ'

Æ���ÇÈ�7

VLISP $��Æ�É�����«Ê�7�ÇÈ'ËÌ�ÇÈÁÂ9�³�Í45�7�m��'ÇÈ�7kÎÏ��7�Ð�(NÑÐ��Ò@%ÓÔÕ (_) OÖ�N×ÎNÑÐ�Ø:ÙÚ��Û:']��drawline.lsp �ÇÈ�7ÐT drawline._ls'

32 | ��� � Visual LISP ����

�� ��������������������������

!�"#$��!%��&'()*������+�����,-./0

1 2345 VLISP *6�78+�,

9����!:;

<=)2���� 3��>"#%��:;?@ABCDEFGHI%HBJ

KLMN2����OPQ�RS+��T�:;��,<=��"#$U

V!%��WB����EXY:;@ VLISP Z[\&]^_`a,

"#bB��

9 VLISP OPQ������+������+�bB%��,VLISP >c3H%��S�&]��"#$UV,��d*+�efg]�� VLISP 2h]��i�%"#$UV![\@j,

kf <=32������+��lm!no VLISP UV!%�� 6!%��>pb2�+���"# /qr�stu%���v���u!,

w3xp VLISP * @Zyz{|��}+�% 231&'~� VLISP * @Zc3��+��|��,

����"#$��OP

2��% VLISP ��"#$UVP�����>Z[\��OP 3���@��������,��OPQ%o|��}�B�����"#$UV!}�B

�[�����%��,1���n"#$%����L

������� | 33

����������

VLISP ������� �������������� !"

#$��

����%&� �'()*+,

�����-./� ��01

01 2!

34 '(5�/��6789: Windows 3;<

=> 7�/��=>:3;<

?; 73;<@A?;:B�CD

EF �GH*�H�����-.EFIJ��

KLMG��CD 7B�9:NO��/CD

4PQR %B�CDSTUQR�V�WXDGHQR�%YZCD[UQRV'(\

]^ _`a]^bcde

fghi _`ahib-.

j kl-. _`aj kl�mb-.

nopq _`anopqbcde

rs rsNO/2!

tu tvw+Mxrs/2!

��#$�

y/ �

'(B�z{/) CTRL + BACKSPACE

'(B�|{/) SHIFT + BACKSPACE

'(}B�:+~/�U�n CTRL +E��� E

34 | ��� � Visual LISP ����

��� ������������ INSERT ���� ��������� �! �����"#���$%&'()*+,-�&�! ����

�"./0�1234567�

89��

:;<�89��=>?@AB/C�#D8���EF9GH./D!�I

J�

� KL./MN!O�PQRS#VLISP )89./�T3UVWXYPQRS�D-���

� KL./Z[!OYPQRT#VLISP )89./RS3UVWX�PQRT�D-���

� KL!O\ST]^\R_#VLISP )89^\�

!��`=a��bc�d SHIFT �#�89ef���"ghijkl��`89���=>m

��89no�

F� no�

)89��pqU"rs SHIFT +a"tu

)89��pqUvrs SHIFT +avtu

)89��pqUsw SHIFT +END

)89��pqUsx SHIFT +HOME

)89��pqU"ry#KL"ryz{89#|9}"ry�89�

SHIFT +PAGEDOWN

)89��pqUvry#KLvryz{89#|9}vry�89�

SHIFT +PAGEUP

)89��pqU"r\#KL"r\z{89#|9}"r\�89�

CTRL + SHIFT +a~tu

)89��pqUvr\#KLvr\z{89#|9}vr\�89�

CTRL + SHIFT +aCtu

)89��pqUVWX�CPQ CTRL + SHIFT +[

)89��pqUVWX�~PQ CTRL + SHIFT +]

)./�U89����r� ALT+ ENTER

������� | 35

���

������������������ VLISP ����������

����

� !"#$%&����'( VLISP )*+,-%&./0��1234��5���*67./��#$)89:;<=>?@AB� Visual LISP ,-%&./CDEFGHIJ�5KL*MN+34OH��PQE

���

R) ��

�STUVW CTRL +�SXY

�ZTUVW CTRL +�ZXY

T[\] END

T[\^ HOME

�TU_ PAGEDOWN

`TU_ PAGEUP

T[�abc CTRL + END

T[��def CTRL + HOME

T[ghi)Sjk CTRL +[

T[ghi)Zjk CTRL +]

36 | ��� � Visual LISP ����

�� ��� TAB � �� CTRL +E �������� VLISP ������� �!"#�$ TAB %&'()*+��,-���./01��

�2345./�67389&:;<=>8 TAB ����%&?'@()�AB�CDE�=FG����H'

IJKL8��

MNO�PQ� Windows RSTL8KUVWXY VLISP ��Z[\@]^�_���`��Z[\./�a$b3cde�$b3'

cJ���fg

1 hIJ���'

2 iPId��j�klb3 �B6mhn�oPp�'

3 ���cdqb3'

4 n�oP�r'

AsmtIJ��utL8�� (�vw�fgxy z�mv�t��{f

n�oP�r|5�B CTRL �'

@()����L8dq�}~'���� � CTRL +E ������ ����e��� VLISP ��������_�#��������}�'

VLISP O� Windows RV�=x����RSKL8��'�w�_()�����WX�k��� Windows ��������'��l���_()���Z[\K VLISP >8 ./|¡L8KUV��'

���HDE�

¢� DE�

FG45������ O��5£� AutoLISP ��¤¥

� SHIFT + TAB

¦M§��¨©�K TAB � "#�$� & 6�ª �H«K5�$¬¨ ¤¥'

� SHIFT + ENTER

"#�$� &um¦M45 ~§��¨©�K TAB �'

� CTRL + ENTER

������� | 37

��� ���������� ������������ !���"

#�$%&

'(��

VLISP �����)*���'(� +,-.&/�01�2345�'(�6789:;���'(�7<�=>'( VLISP ?@A�'(�BCDE

FG��'(HI���DJKL�'(�MNOP�&QR�KL�'(�S

TU4VW�� X��YZ�[\��'(HI���DJ&

45�'(�?=>'(&QR��3]�^J'( 7 F3 ��01_'(MNO�8`][\ab&�cd'(e45�Vf�&

g�h]�^J'(ijklmeno8p��45014q�rU VLISP ?�Q8"A�K[stJ@A"uvwE

38 | ��� � Visual LISP ����

�� ������������� VLISP ������ !��"�#$ LISP �%&

'()*'+

,)*-./01234567��89&2:'(�'+;0<

=>'( ?���� !��������&

=>�% @A� !����B��%��&

C� '�D'+E1VLISP �FGH45I)*� VLISP C�J&K�)*45C��6L��%MN� �����G6

LOP&$QD'+�RSTU1VWX� 150Y�,C�Z�%��[\]-&

�% ;^'�_D'+1VLISP �`H45I)*��6� Windows abc�%de1Hf23` VLISP )*Dab�6Lgab&VLISP �)*6L�%MN� �����G6LOP&

==>�%�)*��h1,ij-kl_ VLISP )*���ij&m'(,j0-1nop.qlj0cj��rste)*um'(,jv-1nop.

qljvcj���wte)*&

,�-xyzf{|;0'+<

}[OP ;^'�1VLISP ?OP}[&~;1m)*���� ent ��� enter1'�D'+h1VLISP ��K��OP&��'�D'+h1VLISP ��� enter �� ent OP&

����� ;^'�1VLISP ?OP����OP���&����01Ent � ent ��OP�&;^�L'�D'+1Ent � ent n�OP�&

������� | 39

�� � ��������������������� !"

#$%&'( 40)�*����+,-./01234056��.789:��;<-

=>0?�@�

VLISP �2�ABC�@�DEF�GH�IJK��LMN�-

� O=>0?:P�@��QRLMSTUVWN���O@��� .QR*@�IJKDEF+XYZ4[\@�-

]^��

*_`+aQ�bcd�]^ef�40�@�����]^g�hij���

DEF-

*]^+klmn*@�+klmop�qOrs���-tcd�*]^g+

��m�4�u�BC�hij��v]^:@������DEF�wO@�

�DEFx�*@�yz+��m�ij-

40 | ��� � Visual LISP ����

�� �������������

� ������� !��"#$%�&'()*+,

� �����-�.%/0�1��23%"#$,

4567�89�.%"#$:������� !��"#$%�&'(

)*+;��<=�>?89��,

� ��@A��-BC�.%!��"#$�1��23%"#$,

� ��<=��>?89���,

/0DE

DEFGHI��J'KL�MNOP 32 'DE:QR��STUVWX VLISP /0YZ[KL�%/\,]+^ 32 'DE_:`MNa%DE-bcde%DE,

J'/0YZ[KLfghi%DEj:kDEWXFG�lmJ'KL�n

oVp�qir%DEj,sKL�%BCDEt1&'�����:DEu

�m��vw;v_xy:zd{|}(�~,

xy.sDE�:VLISP -i�xy�w%*+��&'DE:8����mxyB���%DE�.^xy�w%*+,8��%�%�lmGTUV|}

��%*+������%Tvxy&9;��Tv��BCDE&9��}.

�*+,

MNDE%��

1 -���.�MNDE%*+,

2 �����%���DE�� ;� ALT+. ¡ALT ¢£~¤,

l���¥¦� /0�§��i�¨©DE,ª«0¬­%®¯°±:²³

´� 37µ%���/0��ª«� ¶·%¸¹,

������� | 41

��� ����� ����

1 �������� ������� ������ �� ��� �!"

#�$%&'������ ��$(")$ CTRL +,*CTRL +,-./012345

2 �������� ������� ������ �� ��� �!"

#�$%&'������ ��$(")$ CTRL +.*CTRL +6-./012345

789 �:;<=>"?�@<AB��C� �:;���5

�DB�� �;���EF

1 $ CTRL + SHIFT +,*,-.���GHIJ+�� �:;���5

2 $ CTRL + SHIFT +. *6-.���GHIJ+�� �:;���5

K7 ��34+LJ ��34MN5

K7 ����

1 ��� �IJ5

2 $%&'���OP ��$()$ ALT+.*ALT+ 6-.5

�OP ��QRST��UVWXY9Z[2QR\IJ!]LJ8��

�"2QR�^ �K7"_`9ab �!Z[2QR"c�de��

�5

3 9%&'�$�f7gb ��$()� VLISP hi��������� ��

��f7gb ���f7jDkl �gb �5

42 | ��� � Visual LISP ����

��� ����������

�� VLISP ��������� ��������������� AutoLISP !��"#$%&'()*+,��-./!���"#01�VLISP 2�3�&',�-45���67��89 :;<=(>?@3�AB AutoLISP :;�C,��DEFG�

HI Visual LISP !��"#$%

� VLISP ��JKL���MN�(OP�-QRKL(VLISP STUV.WXR�Y AutoLISP �Z[:;(2 ;\]\^_J�`"abc�VLISP defbcA5gh�i%�j*+,k.W lmnH7oJp0H:;<�

qrdsHtu�$%Fv�

w VLISP xy�z{|��}�|MN~�}�|����MN}������(

��-�����tu$%Fv���"#$%�����(���� 473��|����}�

VLISP KL�����H LISP K�]DCL K�]SQL K� C++ "a�K���� VLISP '���K����r(���� 138��|LISP]FAS �`K���} �VLISP �K�¡¢<£¤5K���(>¥¦z{$%Fv�w VLISP xy�z{|��}�|MN~�}�|§"#$%}*�8¨©K��

�ª��"#$%FG�«�XR¬��MN�KL�­�® AutoLISP !��

AutoLISP tu!�$%Fv

AutoLISP "abc i%

Z[:; ¯°±�^o ²%

\^_ ³´%

µ; ¶%

·; ¸¶%

¹º »%¼½(³´%

@o ´%

¾'���bc�¿À�-89Á  Â%

����������� �� | 43

������

����������� VLISP ���������� AutoLISP !"�"#$%��&'(� �)*+(���,- AutoLISP ./$����

�)0123������45���6$�78�9:&;01<=45$

%�>?@2A�B��C&DEFG45HI(JK;$L���

G VLISP MN(JKOPQR�O����STR&UV VLISP ��WXO����RVY01Z[�������:I;\Z[����]^JK_`a&

VLISP bcdef$J`agh����ij�:Ik%JK`a&VLISP blmO����JnRopqr

\O����JnRopq`aq(s#LO����R����`a&t

opqu� :vJnr

V^w�� :IxytJn&����bz��{��A�B|-\�

�Cy}~���:I��tJn&����b���\

����|-{��A�B��C�

9:&:I��_OV^w��RJn&ef get ��b�� getint�getpoint�ssget � vla-getActive ���C�:Ixy_��Jn&��45b��� ssget � vla-getActive&�� get |-\����C(����y}~�

44 | ��� � Visual LISP ����

�� ���������������������

! �"#$%&'()�*� fun*����'(+,-

. fun %��/�012345%)��67 89� �:;������<=>)�����?�@A., fun* %��/

BC�� �������� Apropos DEFGHI%+,��J�<KLMBC)� ����/NHFOPQR�ST�

BC%

UVWX ���YZ�[�\]���%WX^_ VLISP `aPbc��WXde%�\f�:g��WX%hijk�l

mn� 94o%pqr��WXs ����WX��?�tu^_�+�WX%��

UVv ��pUVvsdwf��xYy�\3z��{|�Y�

� }~

��~1UV 1UV

�v ?�v� nil %��

��v ?�v1� nil %��

�� ���/����[�����������%�

�[�� ?��[��%�� (USUBR)

�_�� ?� AutoLISP �_�����U%�� (SUBR)

�� ARX �� ?�����/

��[���UV�v�UV�WX�p�����sdwf���k��

`a�[+�%�\

��[������%��{|�5��pA�s������

����������� �� | 45

����set��� AutoLISP ����

1 � VLISP ���� �!"���#$%&'(�)

2 *�#$%&�+�,-./01./23 set)

3 �/�456%&��+)

4 78�#$%&�+�,-./9:�+)

5 4�;<�=>��)

��#$%&��?@

�#$%&�*AB'(/CD4�EF<��GHIJK%&��L

�#$%&?@�'(MNOPQRSTUVCD��?@WS)*X5Y

Z/[\WSF]^#$%&*_`��JK��ab)

A@�#$%&?@�'(cdCDeOJK��[\'(fCDgPQVh

$'()A@��ij%&��kl 1000 Q[#$%&m��Vh$'(nopCD_qk��)*_rstB[?@'(RSTUfCDuv[AB

YeD,� VL �w����L

46 | ��� � Visual LISP ����

�� ������������������ !"�#$%�&'(

)*+ /,-./0�1%�#$� VLISP *+�� 23�456��7

8&�����.��9:;<�&����=>.8?#56)&����

=>.��$@AB� 7C9:;DEFG8?H

'()*+ /,-

I������ �'() VLISP *+��7*+�� �JK#� Windows '(LM'(7N�O*+,-�*+�� �PQRSTU�,-VW XYZ*+,-�

[\]^�_`a� 82b�&%� Visual LISP JKcd9:.e7

fg h��=����ifg7jk���lmnfg opq

� r���fg7

D#$��=��<%�&�����.��stuv7w�#$= xy

z{��|}1~�) VLISP �(����V������7

�&�����.��~������

1 �xy = �{��7

2 v���$!"stuv�|� =�&'()���.7

3 v����~���� VLISP ��7

4 v���|=�stuv �&��.��8 CTRL +V $��V�7

stuv<���uv>4H

�� h��=�����/07YZ%�C/0�[\]^�_

`a� 95b�&%�&��.��.7

N� ��(��� N�C��l7�=���(���!

"���l|8 ENTER�VLISP IC��l'()�(��"�7

�� h��=��� VLISP ����/07YZ%�C/0�[\]^�_`a� 92b�&%�&����.�� .7

����������� �� | 47

�� ��������� *OBJ* �����

���� ������!�"� #$%�&'��()*+,-

./0123 834"��"� #$%#�

5 6�����785 �

Visual LISP9:;<)*

=>�����������?@)*/ABCDE!;FGH/I VLISP 5A9:JKGH�

LMNOP

��LMNOP/VLISPBC�E!GHQRST9:UVWOP($%XYF@;�Z[/\]7 VLISP ���$%XE!MN[^_

_$ (setq origin (getpoint "\nOrigin of inyn sign: "))_$ (setq radius (getdist "\nRadius of inyn sign: " origin))_$ (setq half-r (/ radius 2))_$ (setq origin-x (car origin))_$ (command "_.CIRCLE" origin radius)

`abc/dbA7���XefE!g@hi�

LMNOPjk

1 7���lmnE![^QR_

_$ (c

2 L CTRL + SPACEBAR 6�LMNOP)*�VLISP opAefE!Cq� c rs;/tu9:(;JKGH_

_$ (command

3 [vdwbA�xy;/zLF{ CTRL + SPACEBAR/VLISP �|}~u�����E!MNCop��Cq� c rs;_

_$ (car

�{L CTRL + SPACEBAR � VLISP ��|}��OP;�[v7 VLISP p�euOP;uA�L CTRL + SPACEBAR/������p�����/`BC

� VLISP ��X��"��#�"LMNOP#�6�()*�

48 | ��� � Visual LISP ����

VLISP �� ������������

������� !"#$%&� '(�)*+��,-�./���� '

0�1,-2�VLISP 3����'45����/"#$%&� '0�1,-�VLISP 3451� '6����

)*+��,-�789:;��<='�>?6@9; C A�@:; c�BC6D@EF6�

)GH��

I�)GH��,-�VLISP JK�L>?6M8"#NOPQR VLISP STU'6��STV�WX� VLISP ���� '>?YZ[\]

_$ (setq origin (getpoint "\nOrigin of inyn sign: "))_$ (setq radius (getdist "\nRadius of inyn sign: " origin))_$ (setq half-r (/ radius 2))_$ (setq origin-x (car origin))_$ (command "_.CIRCLE" origin radius)

)GH��PQ�6^_

1 ����`aZ>?Z"#]

_$ (ha

2 ) CTRL + SHIFT + SPACE bc>?6M8"#0�)GH��,-�VLISP JdeSTU'� ha �f6ghST]

VLISP �STU'� ij����half-r ST@k����� 'lm6no�A handent STp@ AutoLISP qr�

3 stuv6ST��wst��ST�p) ESC�

����������� �� | 49

������ VLISP ������������ !"#�$%&� CTRL + SHIFT + SPACE '(�)*+,

-./012"#�345678VLISP 9:;�<="#�>�?@AB

<="#�>?@ACDEFG:;HIJK<="#,LMNO<="#�

>�PQ��RSTE8UVWX 43Y���<="#�,

-. VLISP Z12[�\]"#^_` 15 a8b.9:;Z<="#b.?@A�,c-8Z���d;e45 get8fg� CTRL + SHIFT + SPACEBAR (�<="#*+8VLISP 9:;-e?@AB

�h���b.ij���ka12l�mn��9op�]q��,LMp�

12]rsq��otu TE8v���<="#b.�ij�ot*+

RSTE8UVWX 45Y���<="#��b.�,

50 | ��� � Visual LISP ����

AutoLISP �� ����

��������������� !��" #��$%&'()*+)*,

- (��+'./VLISP 0��1�� ����21345�6 VLISP 78 9:��2;5<' CTRL+F1 =>?@��� ��2

� Visual LISP ABCDEF

VLISP CDEF�G��5<HIJG AutoLISP KLF EF/MNOPQRSTCD 5UV2CDEF�G��WXY4Z[34/5\]^_��CD

Z[2`a VLISP �������"bcCD de/CDEF�G��f\])g2`;5<hFi^�CDEF�G��=jk^_@�CD EF/�

jk^_ VLISP �����" @l�� EF21��5<ABmno���"p = �� EF/�0��jkABqrstuF2

ABv]�����"��EF wx

1 m VLISP yz"��()*+�(AB���"CD EF+/�z{()*+

)*,- (AB����EF+'./5AB��" @lCD EF2

2 ��|}CD&m()*+yz"��(AB�~CD EF+�z{()*+

)*,- (AB�~CDEF+'./5AB@�CD EF2

��`�AB|}@��� EF/1|}�����H� AutoLISP KLF/��CDEF�G��0������2

��CDEF�G�����CD"X����/N0�������

����(�+/VLISP 0aN�q��X� i�\]��X�/����\��]��X�/���(�+2

�: VLISP CDEF�G��5<MX�����/�N���4a ¡ ¢B��X�2£6¤¥¦§ X������ ¨©��/�ª«� 61¬ (X���¤¥+2

VLISP Y4Z[34a`������"bc��e­a&!)g2Z[��®¯°± AutoLISP X� ²³´�µ¶ 2��°±KLF±·¸ �¹_

� Visual LISP ������ | 51

� AutoLISP ��� ��� 0������� Visual LISP ������� ����� !"#�$%&'(�)*+,�

-. Visual LISP �����/�

VLISP ��0123456789�:;��<=>���/���?@A����B����CDEFG�����<HI� VLISP ��/��J VLISP KLG�<BMNC�BOP��C�BVisual LISP ����C@QRB����CDEFS

TU VLISP VQRWXY����Z�?�<�[B����CDEFG�B !��C[\]^_DEFGQR`a�����

52 | ��� � Visual LISP ����

�� ���������

� ���������

� �������������

!"#$%���&'(

�)*+,-./�

(autoload "appload"’("appload"))

01 ���234�56�789:;<=>��?@��AB�CD��E

FG���

����

H����<7IJK3LMHC�<7NOPQ�� R�S��

(autoload "appload" ’("appload"))

TU56�VWXIJYZ7[0\56�B������

� 56�]9C ^_�`F$abc+^defghijk(

� 56��lmno$apc�qrnoghijkst]9^_`Fu�v^

_PQ�fwxy\z{(

� 56�<|J}~�_�����(

� Visual LISP ������ | 53

��

���� ������������������������ �

��� !"#$

(autoload "appload" ’("appload") )

%&'(�)*�+,-./��"0'(�1���2

� 341�56�$

� ��789:;�<=�>?@ABCD��>?EFGHI$

J�

J��� ������������������������ �

��� !"#$ �����KLM��'(�KLM�NO�PQ>?R

BFGEHI��BJ�PQESTUV�W�0SX 2Y2

(autoload "appload" ’("appload"))

progn '(�1�J��Z[\]^�56�����'(�_^�J�$

`a�

`a���,-�78 !b!$0�cdAefgh;hKi�'� COND '(���jk$W%%�lm

’((10 "{insertion}") (1 "{string}") (7 "{style}"))

nefX2

’((10 "{insertion}") (1 "{string}") (7 "{style}"))

54 | ��� � Visual LISP ����

��� ��

�������������������� AutoLISP ���

!"#��

$��%&�'���(!"#)* +����,-��./0

12/' !"#*34� �)56�)78/'

1-/'9:

;<=

!"#*34� �)56�)>8/'(9?@:;)

<=

1-/'9:

�AB

!"#*34� �)56�)>8/'(9?@:�)

<=

�C0

56�7DEFG0

(cond ((/= (logand mask flg) 0) (list (list txton))))

,H�(I12/'J����� )KHG0

(cond ((/= (logand mask flg) 0) (list (list txton))))

,H�(I1-/'9:;<=J����� )KHG0

(cond ((/= (logand mask flg) 0) (list (list txton)) ) )

,H�(I1-/'9:�ABJ����� )KHG0

(cond ((/= (logand mask flg) 0) (list (list txton)) ))

� Visual LISP ������ | 55

�����

���������VLISP ������������� !"����#$�%&'(�����)*�+�,-./012 3*�+�,-.456278$9

��:;�*����� 2���VLISP ����<=>?�@�A,BC���D� )�+EF��G

;_ � <function name>

���BCH��IJK$� L�,/� �M,� NO�PQR��

��STUE�� D����*����2VWX�D*���� YZ2

[IX�\]ES�D� [I^_

(`

[Iab)G

(autoarxload "image" ’("gifin" "pcxin" "riaspect" "ribackg" "riedge""rigamut" "rigrey" "rithresh" "tiffin"))

����c�G

(autoarxload "image" ’("gifin" "pcxin" "riaspect" "ribackg" "riedge" "rigamut" "rigrey" "rithresh" "tiffin" )) ;_ � autoarxload

�da��,���D� *_ � autoarxload2

efg$h,i

���:;7�VLISP ����<=>?jefkE����D[I�DE$g$l,i ��m%�����A,���DnoQpq�,7�����<=

>?jrks0t�,L^uv(�O�w_xySz{[I�|$D}~l,

i

+`���*efg$h,i2�������D

56 | ��� � Visual LISP ����

�� �

(if (/= s "Function canceled") (princ (strcat "\nError: " s)) ;single semicolon cmt)

������������������ !"� �

(if (/= s "Function canceled") (princ (strcat "\nError: " s ) ) ;single semicolon cmt)

�����#$������� !"� �

(if (/= s "Function canceled") (princ (strcat "\nError: " s)) ;single semicolon cmt)

%&'()*�! princ + strcat ,-�$./01)234

56&7

�����8�9:��;<��=>?@AB!C&76��DEFG>?@

AB4

HIJ3���K@ALM$� 60�NKO6P&7/QM 40�9:��;<��=R�&76 �STU!VW�

(if (/= s "Function canceled")(princ (strcat "\nError: " s)) ;single ;semicolon cmt)

C,��X�

KC,MYZT[\]^_>` 5 a!b^�� defunclambda d�e^,f$gPghi!,4KC,��X�Mjk�0lmnopq�HK@ALMr

!�1)3!,4

��HK����Mstu3#vKC,��X�M���wKxy��Mwz

j{H�stu|}U~(�� ,�3���KC,��X�M��4S�?�KC,��X�M!Tvj�����{��S���!J�s�a��Q)

������K@ALM�� 45��

’("entdel" "entmake" "entmod" "entnext""entsel" "entupd")

� Visual LISP ������ | 57

���

’("entdel" "entmake" "entmod" "entnext" "entsel" "entupd" )

���

’("entdel" "entmake" "entmod" "entsel" "entnext" "entupd" )

���

’("entdel" "entmake" "entmod" "entsel" "entnext" "entupd" )

��������������������� !"#$%&�'

’("entdel" "entmake" "entmod" "entsel" "entnext" "entupd" )

()*�+,-./01��2*3�4*3�567��8,9:��;�2

�567<=

���>�?@A

�BCDEF�VLISP ����GHIJ KL AutoLISP �>�?@A�M�N�O������GHIJPQRS VLISP T�>�-UVWXKL�>�?@A=

,-U2*3YZ[\-U��>�]��>^��_ ASSIGN-PROTECT `a��>'�?@A=,b-U2*3YZ[ \-U� AutoLISP �>�?@A=

�>�?@A��

�� c)

d KL�>�?@A

@A e[f�>g��h0��ij_@A��

?A e[f�>g��h0��ij_?A��

58 | ��� � Visual LISP ����

� Visual LISP ��

VLISP ��� ������������ AutoLISP ���������� !"#$

%&'()*��� +

,-./0+

(defun foo (x) ;|inline comment |; (list 1 2 3) ;comment-column comment ;;current-column comment ;;; heading or 0-column comment ) ;_ function-closing comment

1#� 23+

(defun foo (x) ;|inline comment |; (list 1 2 3) ;comment-column comment ;;current-column comment;;; heading or 0-column comment ) ;_ function-closing comment

45678� 9:

; VLISP <=>9?@ABC�@451#CD245� 9:2E23� VLSIP FGH�$IJ�KD245LM,-�NOPQ>��R��ST� 1#$UV9?)@WX,Y>45� 9:C9:�VLISP ZW��>45� 1#$;@ABC<=>9?@[\9:C�@Visual LISP � 9:CD29>6]^_9:$UV9>)_9:�W`a��� ����b�VLISP cZ� def0�gW���.3$

Visual LISP ��

�� ���� 1#� 3�Jh

;| ai |; Jh6!jkl m��na�opqars$

; =tuv �wx�y"#�z{"#|@=uv�z{C� 9:>� }m~$

;; STy qars�!z{�6�ma������$

;;; ��� 0 y qars��z{$

;_ ���� rsWTmtkl 3$

� Visual LISP ������ | 59

������� �������������������� �!"#

��$%&'()*�'+,-.*�'Visual LISP ���/*0����

������ �1�23

VLISP ������ 145236

� ������ 789:;�<=>?@A;�3BCDE��F'<=G

H*�'>?*IJK>?���L�F'<=GH*�'M�NO<=*I

JK3BC���

� P�Q VLISP ��RS<=0TUV������� �� QWXYZ@>C[\]�^�_�@3BC`�ab�����c �

����def

Qgh� VLISP ��RS<=0i CTRL +E jk�4RS�/6

��RS������lm

�/ n

op�� Q������qW�Orstqu TAB fvop����

wxop�� Q������qWOryzqu TAB f!wx�����op

op{NO| $NOWop}@OqW� ��op~�

O� Q�k����>C[\�!QNOW�������qWOrst�>C[O�

�s Q�k����>C[\�!Q������qW�rst�>C[��

60 | ��� � Visual LISP ����

�� ������

���� �����

����� ����������

� ����!"#$����

% ����!"#$���%

&"'� ����(!)*+!�,*"#����

-./0 -.12/034567� MM/DD/YY8

-.9: -.129:34567� HH:MM:SS8

/0 /9:67 ;</0=9:!67

��>� ����?"'@�>�

-.�� A12BCDEF!GHIJ-.����!KL

MN�OP MNQGHIJ�12OPR!�S��

MNT6 MNQGHIJ��OGHIJU�,*VT6"#W:!�ST6

��BCD��67XJYZ ( �� )

�[ \]

������ | 61

������

�� VLISP �� ��������������������� !"#$%&'(#$)*�+,- ./ 0���1#$2345�67

89,VLISP :���;<=>,�� ?"#$@3�A#$�

BCDE�A

VLISP AutoLISP ��BCFGH�<IJKL�MNOP,Q9,AutoLISP RSTU�����VBCWXBCIY6Z[�VLISP \B;<��]���ABC6^_W6DE`5�

8ab3c)def 50ghijklmnopqRrastuvwx,VLISP ijyzst&,VLISP yzstm{#$�|6DEBC�8}��~;,yzstm{#$ ������BC����BC,� VLISP yzstm{#$�� #$S��6��������BC���,8}~; VLISP ��BC,����:��������

�/ 8}�6~;yzstm{#$��DEBC,��6���ijyz

st�

6���,�����#$� ,¡¢ £¤�����BC���hmnw

¥¦�hBCDEw���|6DEBC§

¨3DE

(CTRL +])�©ª e«¬­jx®¯WVBCZDEXBC@��

8}23«¬­j°±² VBC@3,VLISP �DE³BCXBC�8}«¬­j� ´µtR¶,VLISP ��23´µtVBC·DEXBC�

62 | ��� � Visual LISP ����

��

(CTRL +[) �������������������

����� !"#$%&����'VLISP ��(���������� !")&*+,-.'VLISP /��*+,����0������

�12

(CTRL +SHIFT +]

�����3�4���567�8'98:1-;<�

�=>��.�?@�

�� !"#$%&�����:'ABCD/1-���

�����.�?@'9E�3����

12 (CTRL +SHIFT +[)

�����3�4��567�8'98:1-;<�

�=>��.�?@�

�� !"#$%&����:'ABFD/1-���

�����.�?@'9E�3����

G�'�HIJK

1 (defun yinyang (/ origin radius i-radius half-r origin-x origin-y)2 (setq half-r (/ radius 2))3 (setq origin-x (car origin))4 (setq origin-y (cadr origin))5 (command "_.CIRCLE" 6 origin 7 radius8 (command "_.ARC"9 "_C"10 (list origin-x (+ origin-y half-r)) 11 (list origin-x (+ origin-y radius)) 12 origin 13 )14 (command "_.ARC"15 "_C"16 (list origin-x (- origin-y half-r)) 17 (list origin-x (- origin-y radius)) 18 origin 19 )20 )

L?@-MNOP�'QRS)�0TUVW(XG�Y

������ | 63

�� VLISP �� ����������� 1 �������� !"#$%&'(

� VLISP )�*+$%�,-.�/012�345� �123*� 2 ����5� 123*� 2 675� 123*� 3 675� 123*� 4 675� 128*9:�;�<=,-.>� 20?@

ABC�$%� 5 �D-.�,-.E9:;��,-.5 FGHE=��(AutoLISP 9:�;�<=,-.IJK defun �D-.$%5LM� 5 0�/N��O�PQRK#S�9:���<T5 U�VWGX9:YZX[

\(� 5 �&'�,-.5

]^��_`�a����

AutoCAD � Sample\VisualLISP bcdef<=gh drawline-with-errors.lsp �ij5kKlmn#S/op�9:ij drawline.lsp qr�stN<���5 VLISP uDJij� Tvw0x*��_`JijE�yI^�(

(defun drawline(/ pt1 pt2) ; Local variables declared ;; get two points from the user (setq pt1 (getpoint "\nEnter the start point for the line: "))(setq pt2 (getpoint pt1 "\nEnter the end point for the line: ")) ;; check to see that the two points exist (iff (and pt1 pt2) (command "_.line" pt1 pt2 "") (princ "\nInvalid or missing points!") (princ) ;; exit quietly ))

>Jz{|}^�~�������~��`� T��u����Rw0�

�k�5?

��v}^2�� VLISP ��_`�����>� setq�defun�getdist�getpoint K /?�^�`H��� VLISP ������>�^������?�^�`H�5Jz���v��9:�������iff w� ¡¢H£5���t¤h¥¦�§Z if�k��`¨��h�`5

64 | ��� � Visual LISP ����

��� �����

����� VLISP �� ��������� ��������

� �� !"#$ %&'(

� �� !"#$ &'()�*+,-.!"#/0123245#637

� 89:;� )<� lambda=setq > foreach ?7#��&'(@

89����ABC��DE.FB1�G5����� H��GI9

��@<���CJ�KL� .�M*+N $ O�!"#0P6Q�

AutoLISP CDERH��GIS��@T��AUC��DE.FB�GIS��@

CVWXYZ[DE���� #\]

1 ^_`ab+�cd#VWXYZ@

2 e VLISP fg[hijklm�j�VWX[#nPm����NLno@

3 hijklm�j�hpnPm��qThcdO&0NLcdrE���@

�s VLISP �`���MtCKLu#jVvwGmYZ[xy��z{@<���s| drawline-with-errors.lsp [# iff }~ if���rE��|������z{�

��{�� if ��[ab#$ ��@

������ | 65

��������

� ��������������VLISP ����������� !"#$%��&�'()�*+,-./01�23456

%��78 if �'9:&;9<. princ �'#$&�=> if �'[email protected]/01>GHIJK&�'L/01>MHIJK&�'N;9<. princ �'7OPQ%� RST��UV&WX" RST��&YZ���[D\] 236^& RST��_�`a%b�cdef9Wg�`�cdefh_N2ij�%�'klmn&�!�opK����qr�stuvwxy

����zN

66

������

67

��

�� ������������������

��� �!"#$%��&'()*+#,�-.

/01234�VLISP 56)789�:;<=>�

�?/@�AB1C�

� Visual LISP ��9�DE

� FG�HIJ��

� K= Visual LISP ��9�

� K= Visual LISP LM/NOP

68 | ��� ����

Visual LISP ����

���� ��������������� VLISP ������� ���!�"��#$%

� &'��()��

� &'��()����*+,

� -./01�2,3�

� 4567�8��97,

� �:��()

� ;<()��

� 45=>

VLISP ���?@ABCDEFG�%

:HIJK1 LMNH�:���()�OPQ8RL�:�-.STU

VW,�FX�VW#$*+YZ[Y67S/01\ AutoLISP VW]

45 ^�L_45`Vab�cdVW�efgh]?iVW

jklVWm?/nop��q�rPQ8R45�sF

GklVW .tu�v�)cd��VW�gh]8Rw^�xyz45{|klVW�}~������VWm?7

�Z[\n]

��tu L��()���-.*+,]VLISP ���� Watch tu�����F|��?i_��tu������*+,�

TU�qU������~_��`tu�]

&'=> -.67�8=>]67�8=> VLISP 8C��8R���8673�������8R^�L��������

��m?:H��;<()\n������-.=>]L

������q=>^� ¡����� VLISP ()� ¢�67]

&' £¤ LISP AB�"¥V�&'67��8S¦§¨,��L©ª�&'tu�]

�������� | 69

��������

���� �� VLISP ���������������� VLISP ��������� AutoCAD !"#$� Sample\VisualLISP "#%&��'( yinyang.lsp ����)� VLISP %*+,-.�/01��23�� VLISP �����

45����

6789:;<= yinyang >?�@@ABCD��E�F�>?GHI��JKL�FMJKLNOPQRSTUVWSXYSZ[\�]

<=,^�VLISP G_`ab AutoCAD��cde� AutoCAD fghi%jklmn�

VLISP �� Vo%�pqrs=tu�tu AutoLISP �F�pqrvwlxyz{T| C++ X Visual Basic® Z[%�z}�VLISP %���~Xlxz{T| C[%���z}���~���A���pqr��F����~���pqrtu����0����=�

����� VLISP %������_`�UV-�y�~���_`�X���4�

70 | ��� ����

����� �

������ yinyang.lsp �������������� ��!"#

���� ����$%

1 &'()*+,-.��/0123

(setq half-r (/ radius 2))

,456789:����;<�=3

2 >?@��ABCDE�@FG�AHI�JK VLISP L>�MN @��A�

@FG�A#@FG�AOPQFG��/RST3+U8=VW��

@FG�A�XYE�Z��+U'(=[W�Z��@FG�A\]

^8�#

3 +U_`Ya yinyang bc�d�Yae�fg� VLISP hijk6,��+,lm�n�8bc3

(yinyang)

8��&� AutoCAD lm�E56k6��opqk6g�VLISP &�o���<rs yinyang � ��t���������568�-.3

�������� | 71

�� �����������������

����

���� !"#$%&'()*&+,-+./01/2345���6

��

789:������;

1 �<=>&?@./0ABCD,7 VLISP E�FGH=��A�=>&?@.

/0ADIJKB F8 1LM !�

NO)*DPQRST�UVF�./0W*XY�Z[\]^_`D>a

F����`b./0c

dQ�� &>=��Aefgh�����i�jBCkbefgh�l�&

+BCm�

72 | ��� ����

��� ���������������������� !�" #�

�$%&'�()����*��+,- .��/01234-5+�

2 67�89:;<= !�>���1?� !�@ABCD()E'� !�

B�F�� ��G#H��*�,-IJKLM�

3 67�89:;<= !�>���CDE'NOPQR� !�S$J<=�

!�T�UB�

4 67�89:;<= !�>���CDE':;&PQ�3V�W

5 X1Y�Z;7%&� [\];^��89:; !�>���_`a�*b

c9��>�9:; !�>�IY�� SHIFT + F8 defgW

19:; !�>fg:�VLISP ?NO !�Rh4$J�<= !�Ti&@A�jB/01NO !�5B�k�CDE'�@A !��UB�

�������� | 73

�� �������

������������ !��"# ����$%&���'

�()�*��+,��-

1 �.��/0�*12.��34��/'

VLISP 56.��/78�978*:56;<+, *LAST-VALUE* ���VLISP =>?3@��� ����A� *LAST-VALUE* +,*'

2 �BC yinyang.lsp �DEFGH78*�IJ+,K origin-yLMNOPQ�R'

3 �J.��/78*�.ST��/UV'VLISP ? origin-y +,KWX.��/78Y�78*569+,�Z[�\

]�Z[^_`.��/78abcdef"+,�����g VLISP 0�*12.�h/�.��78/i_`978'

]���J.��/78*�.ST��/UVj[bklmIJ"+,K�

VLISP :56]n78\

���978*op!ef�+,K'VLISP q:78*rstuv3w@�+,Kxy�iz{|}�']�~�>b!ef�+,K�� op� ef�

+,K��~��'

74 | ��� ����

VLISP ��� ����������������

4 �� !�"#$%&�'()*' SHIFT + F8+�

,-.������� origin-y ���/�0123 nil45�����678

42���39� AutoCAD ���:;<� Y =>?

@A����

������BCDE��@A�'(4*F VLISP G��HI������@

A�4J@A�������K@A��LMNM"#OP<4QRSTUP<4

K#L��M��V �

WX��Y&

WX��Z VLISP �[#O��\]42J^_9�� VLISP WX�����`abc$%&�d��WX��Y&efgZ VLISP hPijklm�"#$%&�no�pqrst��uvwx�y��$%&4z��������{

|}hP���

~�WXY&Q�B�

1 F VLISP G��HI������WX���4�0WXY&�

2 �����x":; (yinyang)401�����

� VLISP ��.#O�{y�`4VLISP �uvwx��{����Y&#�4�����x9:;����{|�,-.������������`��

����ZQ���{|���3��9��������#OP<4��K�

�M�P<����

3 �P<��� 4���@A�J���@A��4 `��¡^WXY&�

��

}J^' BREAK ¢)�£¤{¢¥E2� SCROLL—LOCK ¢¦§+¨�PWX�������WX������©�`49J^ª«¬�����4����

��ª«P<�

�� Visual LISP ���� | 75

����� ������������������������

����� ����!"��#$%&'()*+,-��./�01"/

2 VLISP 3&�45�����������6�78��9:

�� Visual LISP ����

;<�=>?@ABCDE��*+�FGH�()�IJ����9:.

K6VLISP LMN<OPQR�����6�ST�UVW*+��6CXY

Z["�� � VLISP \]^_`ab:cd"efg01 2 VLISP 3&�������Z["����hij9:

kl1m n*+opq�[r"��01 2 VLISP 3&�������kl1m��hij9:

stuXv��<j��62 AutoCAD wxMyz{|�}~����F���[r6��� VLISP ��VW6����6������2 AutoCAD ��p VLISP VW���

���|"�

Xv%}���()<�|"����6\�,5��j�

�"6*+�016���"j��������y\��

���� ���\�� ¡�]¢£���()¤¥;

�|"���� 7¦()j���§¨©ª6s«¬�

�­�� ¡®]¢£�

¯°��9: VW2±g¤²³´���]*+�µ¶ Xv()<j�

�6\],`¯°ab:·X defun¸��cd¹º01���*+ 2 VLISP 3&������ �����

��������������»p¼��¯°�½�

£6¥;����hi¯°��9:

76 | ��� ����

��� ���������������VLISP �������� !��"#�$%&' VLISP ������(����)*+, defun-setq �./012$3��456789�:;<=>7$?@2

A��BC

A��,DEF,45%G VLISP HF)�IJ��K�J����K2L�

)M������:�NOP# QRS�TU��V�2V�W8XYZ[3

��\]U��^_`Q2a:3 !��"#,45%�� 70b,Jcdef)e��`QK)gh,cdef2

L��V���ij, VLISP �klmnop(qh��V��gr,LsOP#2t�uvwop)(xy:z)e{|}~2�Zuvwop��8X��

���efr��gr,|���8X��J��Kop����,S2

��)e{|

OP#% AutoLISP ,����F��VLISP ,�����%7e�NOP# Q�!-RS������� LISP ��)�$ ¡'J�¢£K{|2

L�� VLISP )7Z���¤¥¦%§¨©Q AutoLISP ������%���J�¢£K{|)©Q2L�� VLISP uvwop)NOP#RS�¥ªqh,%§¨«h����%���J�¢£K{|)©Q2

����`Q) )e¬­®�VLISP Tuv¯°±uvw��² !�)e{|2)e{|%:zF³,J�¢£K{|�´µ¶�·¸,J�¢£K{|

¹)2)e{|�%8X �e,�$T A:zµ¶ºM)e{|,J�¢

£K{|2)e{|iNº��{|,µ¶�1 ¡'M)e,�12

L� !)e{|��VLISP (�uvw«hs�:z1ks»¼½x�gr{|,�12¾��L�¿� !��,)e{|��uvw«h),1ks»' 1À

�� Visual LISP ���� | 77

_1_$

���� ������������ AutoCAD ���

���� ���� �!���"#$%��&'()*+,-.��/01

234������567� ���89:�;<=>�?@01AB�C�

�;<89$=>�

D01� ��

VLISP �=� ��EFD01� ��G�D01� ���6HI� ?@AB���5DJ��KLMNOD01� ��P

� QR*STU'.VW�X�Y��Z[=\]W��^_`a�bc=\]

WY��Z[�/^de$= .exe fg�bc=\]W�Y��Z[%� X�Y*NO���.hi=jk�

� X�?@�lm= n�

� op*qU.NO� ���

� 6)3r� ��stKAB*K3uv\]W.w*K3\]W.x*y�.

"#�

(?@z� ��{NO:� ����� VLISP ��|��}~�=�{DJ��������3n��Fz9;=��|��D���()�=� �

�=4k�6����stK�DJ�� �?@����=��;<NB

+-��� ����?@6�jk�z� �/7jk��:�r��;<�

��6� �DJ����;<���DJ6��|��K� setq "#89� =>�

(?@qU6� n��¡¢^*��.£o�¤¥�K£o¦�xop§¨=

©ª«¬­�DJ��$0?@=ABLWP

� ®mF¯4 °±��()~�=� ��²³´���|¯4*+,-.���

� ��()4 °±()� ��²³´�234���234��D�}µ3r� ��x¯4*+,-.���

� 01 ^ n01¶·=?@AB�

6��stD�o¸��"#AB¹$3�E?@`aP

78 | ��� ����

� ��� ��������������������� ��!"���#

� �$%�� &'($%����)*+$%���,-./&'0($%����)*!�1��#

� )2 ������34�56���� ��!"56�#

�72,89:!;<=>?9:@�;<=ABCDEFG��H�I0(4

J�KL#

MNOP�,89:

���2QRSTU��VWX�&'YZ[\2RX,8]^_�`ab1

MNOP�,89:#��cMNOP�,89:X�deNGfgRS:h,

�i(Ej�kdeMlOP� ��m� nopq��rs#tuvNOP

�,89:�MNOP�,89:�wxyz{|}�pq��~���OP~

���Nd#

t72MNOP�,89:�N�d\CZF>?]rs)*�;<=>?9

:�m�d\72��?]rs��!}?9:#

�� &'��cMNOP�,89:Xab AutoCAD��`����rs��,� no�+���}�"��`M�(rsAB#���&'��X��

� AutoCAD rs��,�+J�������+`�+��� �¡! AutoCAD CD¢£;<I¤��72,89:@¥ab AutoCAD ��L#�X���+�i(J�`¦ AutoCAD -.�§¨©�ª«�rsAB@�+¬­®#

¯d8°

8°�ded±²³����´Z�µz{�²³�8°NG��¶±��

�·�m·@�kwl� VLISP ¸J¹º»��,YZ8°#

�� Visual LISP ���� | 79

����

1 ��������������������� ����!��"#$%�&

'()*���+,���-!.#/)*�

2 0123456786 F9 9:���;<��=>?#@A VLISP B0CDE2��5�2345�801F9G!HI�JKB0CDE 2345�

� ��LM��N�MO&'(CPQR�STUS���VLISP �V����WX�#/M�GHI�YZ[\]�^_`a�b��@

3 012_5cdb���� b��R_��������e01

2`5�

fg��

1 ������fg�M�

2 0123456786 F9 9�

2345hijk.l@� m%no�pqrjks� !

����m%t!�pfgb��^u:v�2wx5yz{fg

�|}Z[e~�� 80��2�������C�5�

3 A VLISP B0�DE2��5�2�gLo5�:fg�����Lo�

���H��

VLISP �����HI�jk�Lv�^�������C������Y����_���HI��DE2��5�2 ¡¢£5�2¤�¥*

 ¡5G��;C� :BPT-ACTIVE :��b���lO�� VLISP  ¡�����|}Z[�e~�� 473��2¥*¤�5�

80 | ��� ����

���

���������� ��������� ����� ����

!�"#$%&#��'()*+,-./0��� 12345

�� �67

1 89:;<� :=>?@AB:CD5

2 EFG�HIJ@KLMN� OPQ�VLISP 8FGRSTUVW

3 �N� OPQTUV�@AN�QXYZ��[� 5

�� \��VLISP $]^� :=�_`�abcdS�\��� \FGef`5ghi; :BPT-DISABLE LjZ]^[_`5

klmno�����

ENpqQJ@�LMN� rsQZ�tu���v#wx���� kyW

N� rsQklz{� VLISP �|}�v#����� �'~����|}�rs��� 5�K���#���� (yinyang)��� ��{Z�tu�������i;�� 5

�� Visual LISP ���� | 81

���� �������������������� �� !"

#$%� + & - '()�*+,-.�/01��2345678�9:;<=>?�&�;@ABC&��D:��2EF����GH)���

I��� � !2EF�AB�GH()JK��LM�456"IN45

6 �9)1��2

��OPQR

)�ISTUVW$&WXY!�2Z#"[\ISTUVWX]^_�`"

ZXabS�"3�c?IdeSTfgXhi?j2

�Ik� VLISP ABlMRm�?j"[\�9n�op�qE rs_�tuY!�"vI�X� VLISP lM wi0txy*2

=_�z{$%|}�~�<=�W�"I�9��[yo��i�.<=U

V��

� <=����fg�

� I VLISP W�]^_��C�[���zAB/tu��D� � VLISP ��A�P��������fg�

w���"[\�I]^UVfgX����UV"#�?deST3UV"U

VI������i�y*"������ ¡¢�fg !2[\£¤¥¦

§¨"i£¤[y456�

c?IdeSTfg�deK©��UVX"h�tª¢«��fg !2

82 | ��� ����

� Visual LISP �� ��

� VLISP ����������������� !"#$%&'()*+,-./01'(2345678�9: VLISP �� ���;!<=567>?��@A;B�CD���EFG��HI����JKL�MN�OP

QR

�1ST4UV��MN��*+W�XY,/

�1Z[\]4UVMN^_�.�`a/���� \]��b`�c

d.ef)�ef)gh*+-9:ij/

�1'(2345670k�MN'(�XY,8�l��MNKXY�mn�

��op567qr'(�,-mn/

�1st4UV���uvw`aQMN�u LISP 5xyz{'|} AutoCAD ~����ij/

�1�7��4UVMN�u\]7����gh*+�,y�������

�.��ij�/

VLISP l���n��/��p���������� UV���#}�n���/

��-��Z[�n�����

1 ��1Z[4UV/

2 z VLISP �����1��4-1� Z[�n4�¡��n��¢/£u¤¥¦���1Z[4UV�1� Z[�n4�§�C�/

3 ��¡���¨�©1ª«4/¤¥¬«�p���VLISP �­®¤¯�NR

¤¥°±²1;4�VLISP �³´��µ¶}��XY·¸¨¹¤¥±²1º4�VLISP �»¼p���p��½�·¸�¾¿¹¤¥��1ÀÁ4���ÂpÃÄ��L¨�¡�CÅ���¢/

�� Visual LISP ������ | 83

4 �� ������������� ��������� ��!"#

$%

&'(�����)*�+,-�� ./�0123456789����

�%:;� VLISP ������<=>?@��ABC�D5��EFG�� ./%

�� ./0HIAJK,L�����)0MNOPQR�)7'(�VLISP -HIAJ+,����S�PQR�)7���HIAJ5T+,��S%

PQ�U-� VLISP VWX�������VLISP -� *YZ[��R��%������\��UD]�1^�_`abcP VLISP �_`abd��R��ef%

��gh ./

gh ./D- AutoLISP $ijk*ghlmn0o%gh ./�p?k+,?@mn0Sqrs0&Vo�Ptuv,O

- VLISP wx1y0p?z{\<YZ[|}gh ./�v]gh ./~D]+,&V0��MN%-��b��t�p?�����o\YZ[�}

gh ./%

5mn�Ggh ./0z�

1 - VLISP 012��cP�_`ab./��F�./�d�+mnS%

2 ����gh BC���� �������gh �6D]-�H

��mnSJ*���H������������gh %

3 PQ���gh ./���gh ./J��AJ0��gh BC�

D]5mn��Ggh  ��%

84 | ��� ����

� VLISP �� ��������������������� !"#$%&'()*+,-

./0+,1����2345%��*678

/ VLISP 9:;<%()*+,=%>?*'@���-�ABC%()*+, "��'@0+, DEFG%()*+, HI/JK9:;< �A

3LBC%()*+, A'@���"=MN/%()*+,8

O�1�PQRS1TRUV�%()*+,�WX YZ[\.]^� 73_�%()`ab�cde*8

V�%()*fgh

%()*+,1�fghij�klm-

&'() %&'()*no"p��'@q%()*+,187r/9

sBC��+,1�t0�� u7r/%&'()*vw

x1y@0��28

z{+, |%()*+,1}{�T��8

`ab~� "%()*+,1���2l����~�8

��q�� /��

"%()*vwx1�����q%��*+,8���

����� %()*+,1�����u"���q���

���18

V�()�����4

�t%()*�`1��R��45��7#$���48

0���41i��k�-

��d ��%��*�� � ��d8¡YZ[\.]^%V�

¢��£+,*8¤

��d "�����d��q¥¦�� *obj* 18

�� Visual LISP ������ | 85

� � ������������� (’)������ !"

#� $ ���%�&#�'()$*+",-./0123&�

�4#�'(5$*+)"6

789: %�&789:�;)$*+�� ���<=789:2

�"

>?@$*+

!AB

>&?@)� !AB ���"

CD&EFGH)�

VLISP IJK��<L&EFGH)M%N���OPQR�STUVWX�MYZ[\,]^&GH)_`�ab<Mcde��fg6"hijkKlmn

��GH!o�pABqr� sGHfgtuvwxL&LIFO)yy Last In, First Out,z{|}6~

VLISP ��EFGH�&[�)���M�����M} "nTU�W�,l���!���h6�TU�������GH��S�sKDTU�� �M

�="

86 | ��� ����

��� ��� AutoCAD ���������������������� !"���#$%&'(�)*+,-!��"��.���/��012

34���5678!"���9$12)*+VLISP :;!<=>'?@34���A�.BCDE'(#$"���+

!FGHIJ�KL����78 ;MNO%���!PQRS.�,!TU

VWXYZ�[\]^_`Aa�bc��de+

��)*fg

��)*�h������i&'(�ijklm����no�)*pqr

GO

� ����st�gui&����+����st�vw,JO

level (function-name {argument1}...)

"fg��x�yu�z�1{|x�}�������.~����x�

�+

� ������������E��st+1yuvw,JO level :keyword – {optional-data}

keyword h�st����optional-data �no0���RSDE�12��+

� ����+���D����[���� ����$�g�w�Q��! VLISP ��������9��������. ]������Q�+

� Lambda ��+¡���� lambda ��.�VLISP !���#$"��+

� ¢£��+�� foreach � repeat ��.�VLISP !���9$"���"���zyu���x����vwqO

level (function-form ...)

¤J¥¦C§¨©ª����st�E��st+«¥¦�,J¬­®����

��+�¯7¤°«±¬­²�³ VLISP ���������´µ¶·hu�5¸¹ºTU�»¼½j"¾¿O

�� Visual LISP ������ | 87

(defun stack-tracing (indexVal maxVal) (princ "At the top of the stack-tracing function, indexVal = ") (princ indexVal) (if (< indexVal maxVal) (stack-tracing (1+ indexVal) maxVal) (princ "Reached the maximum depth.") ; �� ����� ))(defun c:trace-10-deep () (terpri) (stack-tracing 1 10))

��������

� VLISP ������ !"������"#$�%���"&'#()*+

,-./01#��2�3���+45#61 VLISP 78�����"9:;

<=78+�����"9:78>? stack-tracing 2�+2�3�@ABCD�[email protected];

[2] (STACK-TRACING 10 10)

�M [2] NOPQRO���+EFGHI#S stack-tracing 2�TU+�M (10

10) VOWX�2�+YZ[�\B

78] ����HI+^_

�������`GHIU�%ab#c78de��Bfg�de��#(h

78�HI+ijk+^_B

88 | ��� ����

��� �������� �������������� !"#$

�%�&#'� �()*

+, -�������.+,/&0

12 3����124567890

:;<= >?@A<=�.$B:;CDE-��FG�H:;�

.�I<=JKL/&0

M6 3������M6NOPQR *obj*0

STQR ��IUFVWL-XFYZ.[\�.:;]^ST

QR_`abcdefIg.hUFVWi89L0

jkl +m����FG��.�:;�jnopqrs1t0>

?jnors1t3��uHjno�vw89xyz

��:;{|�}~kl0

�.�jno ���.H:;�����kl�IjklL��0

g.IUFVWL89

>?������� ����ISTQRL ��VLISP 3��IUFVWL89*

IUFVWL89��FG�STQR�bc0\����"#$e;� (INDEXVAL, MAXVAL) ��N��e;�_��_s�N:;0�"e;����\:;�W������0

\IUFVWL89�����������VLISP 3������ �H�� ��u> ��*

+, -��_�.+,/&0

12 \56789�����_0

�� Visual LISP ������ | 89

�� ����������

�� �� �������� *obj*�

� !"# �� � !�"#�$%�

&'()*�+

()*�+,- VLISP ./01234567389:;()*<=>893?@�()*�+ABC12DEFGHIJK3LMNOJK3LPN�

QR?@3()*�+AS12DJKPNI

()*�+TPNU

�+?@ VW389

:ACAD-REQUEST X AutoCAD YZ[\�]^:� :ACAD-REQUEST ()*�+3_4F�+03`�3���

:DCL-ACTION DCL ab3c9O���c9dX AutoCAD efgh3�()* :DCL-ACTION ijEF*kIDCL ���lmn DCL c9opTabO���qrU3 $KEY ����st123d4F�:uvd DCL c9op3 $REASON ����w�+3_4F�+xy3dc9-z{0��3`��

:INSPECT-EVAL ��|}�YZf��

:INSPECT-VERBOSE ~����|}���`��

:TOP-COMMAND VLISP IDE efJK0�4F��3c9gh�t��s:st`�D ��bO� �*������:S12w���

:USER-INPUT VLISP IDE efJK0�4F��3c9gh�t��s:st`�D ��bO� �*������:S12w���

:WATCH-EVAL ��"#3-z{f��

90 | ��� ����

��� ���������������

��������

��� � �!"

:ACMD-CALLBACK #$%� AutoCAD &'�()

:AFTER-EXP *+(,��-./��0123456(78*93:;7<�:&'=�>*93)

:ARQ-SUBR-CALLBACK *+? AutoCAD @ VLISP ABCD�EF�()

:AXVLO-IO-CALLBACK:DWF:DWG

� DWG GH0IJ;KL VL @M)

:BEFORE-EXP *+�NOCDP��Q01R��)S(,(78*93:;7<�:&'=O>*93PT��UVW��=�>*93( :AFTER-EXP ��*+�)

:BREAK-POINT (,XA�1Y)

:ENTRY-NAMESPACE 8Z[\ VLX ]^_`aG0��()

:ERROR-BREAK 8b�cdPef)ghijk�lm+�aGni0�7m+oW:nip4(,�qrstu�efoW)

:FUNCTION-ENTRY �NOCDP��Q01R��)UVWl�8Z��vwxyRz�01�CD��(��)

:KBD-BREAK {R PAUSE �4��|}~)

:PROTECT-ASSIGN ��I������)?ijk�m+���nia4(,�gh7m+oW:�qr��]���S�������U�����)(,���gh7��:&'�qrxyU���*4����� :PROTECT-ASSIGN �l���)

:REACTOR-CALLBACK ��Q�()

:READ-ERROR ��!"P� �ef)ghijk�lm+�aGni0�7m+oW:nip4���stu�efoW)

:SYNTAX-ERROR VLISP ��R AutoLISP ��ef)