AUTOLISPCommand: (- 9 4 2) 3 * بU ا •. $ ا , ا 2 لو8ا , ا بU ل $ ا اCه 2 Command: (*...

39
WWW.AMRSELIM.NET و م ا او 1 AUTOLISP AUTOLISP AUTOLISP AUTOLISP ال هت ى ا ا اآ Autodesk ، VBA ، ObjectARX . و هدآ ة ، ا و، ا ات ور ا و ا. دآ ا آ، ا أن . Lisp is a programmable programming language. و ه lisp و وء اآت ا ا ه ا ه ت ا آ ن ج ا ، ر ن اول و آAUTOLISP ا AUTOCAD 2.18 1986 . ر ا و هLISt Processing. Or LISt Programming ر ال ا و"Lots of Stupid Parentheses". و هinterpreted. ال ا ا compiled . ا TOOLS أLOAD APPLICATION

Transcript of AUTOLISPCommand: (- 9 4 2) 3 * بU ا •. $ ا , ا 2 لو8ا , ا بU ل $ ا اCه 2 Command: (*...

  • WWW.AMRSELIM.NET ���� و�� �����و�� ا����م ا�

    1

    AUTOLISPAUTOLISPAUTOLISPAUTOLISP ال ����� �� ��آ� ا� ا������ا��ى ���ته� � �!Autodesk ، #$� ��$�VBA ،ObjectARX. %&' و ه

    .و ا�456ر ا�!%(ات و '(��2 ا�(,1، و '�0�/ �. ا���� �-�� ، ,(ة �*'(آ�د#0 �(�� أن '

  • WWW.AMRSELIM.NET ���� و�� �����و�� ا����م ا�

    2

    �E =-��LOAD �56 ا�ا

    .� Qا��� =N� اوWindows Explorer8و'(آ�د��ا�&�# ���-� Dا� أ�56 :�� ا���-= :S� ��O�A�' #�N ا8'(آ�د 2 آ# ��R :&�#و

    CONTENTS

    �%� ا8وا�� aaploadاو اآ5= 2

    Command: appload

    Q�� 2 �&U� #���� VN�acaddoc.lsp 9 او acad.lsp و ��50�9 اوا�� '&�# �� ��ا:� ا�5: Q�� )و ه

    �-�رات 2 #��� supportا8'(آ�د �� ��ا:� ا�5

    ��autolispا�� �

    .8 ' او ا��ا�9 او8) 3

    Command: (+ 4 2) 6

  • WWW.AMRSELIM.NET ���� و�� �����و�� ا����م ا�

    3

    (ن اي ��ف او ر,� �� �ا ا�����5 :�0. ان :0) 4- () ' ; " \

    و 5N: 8(ي �D �-��2 و :�= ان :��ا ا�� ���5��Nف و ��M ر,�

    أ�$�� �D ا���ء ا�����5ات AMRSELIM WHOAMI ENGWEB13

    '&�:Q ا�����5 ه( �-��� 2 ا�Cاآ�ة ��N(زة ����A ����5ة

    2+ع = �$* س 12= '0(ن ,��� س 10= ���� '0(ن ع و 5= اذن س 3= 2&���� '0(ن ع

    :�= ان '0(ن ه��ك �-��2 ��. ا��ا�� و ا�����5) 5

    Command: (+ 4 2) 6

    � 8 ر���9 %6^ i' ���5ا�� و ا���. ا���اه��ل ا��-��2 ��BAD FUNCTION

    Command: (+4 2) ; error: bad function: 4

    6 ( ��* 9��, =50� j��&' ���5آ ��;

    Command: (+ 4 2 ) ;comment 6

    :و ا���ادات ���ا ا���� �� ���ن

    Lspوز ا���(:����ا�&�د:� R�0>���� ة�:�N' .0�: ا�&�دي و Q *.mnl

    Vlx Fas 9�8ل ���� ا)N� =-�� Q�� #�N: �2ن ا8'(آ�د �A��-ادات ا��5�8��ا��8 M>�� ث ��

  • WWW.AMRSELIM.NET ���� و�� �����و�� ا����م ا�

    4

    DRAFTSMAN/group/com.google.groups://httpاو ا�0-ك *� ا��$.� ا�+-,�,

    ��و ����

    ر��م ه���

  • WWW.AMRSELIM.NET ���� و�� �����و�� ا����م ا�

    5

    1 Autolistا�+�ا, command line:�0. آ�5�� ا8وا�� ����Iة 2 �%� ا8وا�� ا�!�ص ��8'(آ�د )1

    ��� ا8'(��-= ه( :5�S ()و :<� ا8'(آ�د ان اي ا�� :��أ ��8,(اس

    2 ( Q�� lsp ا�S� .� TXT D '��� ا5�8�اد txtاو آ�5�� ا8وا�� 2

    ���د�� و ا�5&�:# �' # .و ه( ا��&�5د ��-

    ��O�, Dه= ا�C� ه��G ��q اد�و اذا آ�ن ا5�8 tools Dا� �Efolder option

    �Eview �!�5ر

    ا�-%��. ا��م " A� �E"m(م ��زا�9 *�� Hide extensions for known file types

  • WWW.AMRSELIM.NET ���� و�� �����و�� ا����م ا�

    6

    و ا����4 ا�&��� (defun c:9ا��9 )ا�� ا�q�2ر � (�50= ه�� ا�����5ات ا�!� 9 ����ا�9 او :�0. '�آ �50= ه�� ا��وال و ا8وا��)

    �t�I M�� ا��8 و #�-5� Qا�� ا��� M>� )ا�9 ه�ان :0(ن ا�� ا� #U>: و.

    )���I �5ح ا��$�ل �A�8( ���� �-5%�# �$�ل �-�A� u(م 9�2(defun c:REC1() (setq a (getpoint)) (setq b (getpoint)) (command "rectangle" a b) )

    3 ( ����� 9v�� D6(ل ا��ا�visual lisp editor

    و '&% ,(ة ��5&�:# و �&���� ا68%�ء , .����O Tools �56أAutolisp �E Visual Lisp Editor

  • WWW.AMRSELIM.NET ���� و�� �����و�� ا����م ا�

    7

    �I�I /ا��� �i'VISUAL LISPFOR AUTOCAD

    : ا�45$23ا��وال

    �%� ا8وا�� ����Iة ���ح ��9 ا8'(��-= ا�����5 �$��ا82 � .و :�0. آ�5�5

    • Sا���+ .ا��$�ل ا���5 ���S ��2 ا��,� ا8ول �D ا��,� ا�$��

    *�� ا���S او =50� 8(M0 اآ$� ���ت ا������( �S ا�&�� ا���

  • WWW.AMRSELIM.NET ���� و�� �����و�� ا����م ا�

    8

    Command: (+ 1 2) 3

    - ا�%�ح • Command: (- 4 1) 3

    Command: (- 4 4) 0

    �tح ر,� ���= �. ر,� �(;=Command: (- 4 -4) 8

    �� �tح E*ث ار,�م :�t �5ح ا��,� ا�$�� �. ا8ول �t �Eح ا�$��V �. ا���'[ Command: (- 9 4 2) 3

    *ا��Uب •

    هCا ا��$�ل ��Uب ا2 .��,� ا8ول 2 ا��,� ا�$��Command: (* 4 10) 40

    z&�

    ا��$�ل ا���5 ��Uب E*ث ار,�م 22.

    Command: (* 3 7 100) 2100

    }�ب ر,� �(;= 2 ر,� ���=

    Command: (* 2 -3) -6

    • ��-Aا�/

    ,-�� ر,� �D ا�6 Command: (/ 21 3) 7

    D� ث ار,�م :�5 ,-�� ا8ول*E ��-, �� و �E :�5 ,-�9 ��'[ ا� 9�-A�D ا��,� ا�$��V، ا�$��

    Command: (/ 8 4 2) 1

    �$�ل ا�6

    Command: (/ 22 3) 7

    .�A�A� .��,. ر��آ��1 ��-Aان ا� V�� ان ��� ا8'(��-= '��ه�1 ا�0-(ر ��� j��-ا��$�ل ا� 2integer

    � #��&5: 9��2double�D ا�9 و �� ا� 9�-A�D آ-� i: 0-(ر و���ا�����5 ��� Command: (/ 21.2 3)

  • WWW.AMRSELIM.NET ���� و�� �����و�� ا����م ا�

    9

    7.06667

    اآ�� ��9 2^نو �� A�A� �6ا D� A�A� ��� �,ا���'[ :0(ن :0(ن آ-� و ,-�9 ر ]��������5ه# �ا� و '0(ن ا�����5

  • WWW.AMRSELIM.NET ���� و�� �����و�� ا����م ا�

    10

    ���9 ا�4

  • WWW.AMRSELIM.NET ���� و�� �����و�� ا����م ا�

    11

    Command: (MAX 950 314) 950

    MINا��ا�� • و ه '&%��� ا��,� ا8 ��

    Command: (MIN 3000 1000) 1000

    REMا��ا�� • �*ر,�م ) ا�C�ُآ�(REMINDERا:��د

    ��-Aا� .� A� ا��5Command: (REM 3 4) 3 Command: (REM 4 4) 0

    A� 4�D 6 �. ,-�� ا��5

    Command: (REM 6 4) 2

    Command: (rem 42 16) 10

    FIXا��ا�� •

    '�A:= 8,�ب �د m�N و ا���ء ا�0-(رCommand: (FIX 3.2) 3 Command: (FIX 3.7) 3

    FLOATا��ا�� •

    'N(ل ا�&�د ا�D آ-�

    Command: (FLOAT 3.2) 3.2 Command: (FLOAT 3) 3.0

    �� ه ا�

  • WWW.AMRSELIM.NET ���� و�� �����و�� ا����م ا�

    12

    7 FLOAT'^�# ا��$�ل ا���5 �� ا�5!�ام ا��ا��

    Command: (/ (FLOAT 22) 3) 7.33333

    LOGا��ا�� •

    �5:�q)ا:��د ا�� Command: (LOG 1) 0.0 Command: (LOG 10) 2.30259 Command: (LOG 2) 0.693147

    SQRTا��ا�� •

    و '&%��� ا��Cر ا��5��&Command: (SQRT 144) 12.0

    .و :&%��� ر���9 6%^، 8 :5&�ف ��9 ، و �� ا%�9O ر,� ���= Command: (sqrt -4) ; error: function undefined for argument: -4

    sinدا�� •

    �و '&%��� ;� ا�>او:�:�Oا�و ��-1 ا� �:�%Aو :�5 اد�6ل ا�>او:� ا�

    Command: (sin 165) 0.997797

    cosدا�� • و '&%��� ;�5 ا�>او:�

    �:�Oا�و ��-1 ا� �:�%Aو :�5 اد�6ل ا�>او:� ا� Command: (cos 165) -0.0663369

    atanدا� •

    و '&%��� G# ا�>او:� #G %&' �

    � زاو:�5. 2^�O�%ا ���� )�� # ,-�� ا8و� D�D ا�$����(و 2

    Command: (atan 1) 0.785398 Command: (atan 1 2) 0.463648

    angleدا�� •

  • WWW.AMRSELIM.NET ���� و�� �����و�� ا����م ا�

    13

    و '-5!�م 8:��د ا�>او:�Command: (angle '(1.0 1.0) '(1.0 4.0)) 1.5708 Command: (angle '(5.0 1.33) '(2.4 1.33)) 3.14159

    ��getpoint ��ا�9 او :�0. آ�5�5� �%�:�A ا�6ي ��5�8&�

    Command: (setq a (getpoint)) Command: (setq b (getpoint)) Command: (angle c b) 0.724992

    minuspدا�� •

    ه# ا��,� ا��&%D ���= ام 8 tاذا آ�ن ���= '&% nilاذا آ�ن �(;= �&%

    Command: (minusp -1) T Command: (minusp 13) nil

    intersدا�� •

    ار�uA� Sو,*' �%A� %&'

    Command: (inters a b c d) (-443.205 399.475 0.0)

    دوال ا���$ر( ���%&' اذا آ��1 ا��t �N�N ���5و ه

    اذا آ��1 ا��nill9vt�6 ���5و

    =:-�وي •Command: (= 3 3.0) T Command: (= 314 950) nil Command: (= "omar" "omar") T Command: (= "omar" "bush") nil

    �� ا%�E 9O*ث ,�� �2��5ط '-�وي ا�$*ث ,��

    Command: (= "AHMED" "AHMED" "SHARON")

  • WWW.AMRSELIM.NET ���� و�� �����و�� ا����م ا�

    14

    nil =/*�� 8 :-�وي •

    Command: (/= "omar" "omar") nil Command: (/= "omar" "us") T Command: (< 10 20) T Command: (< 10 20 30) T

    Command: (< 3 4 5 5) nil

    اي ا��2�N. او8 Command: (< "e" "t") T

    ا �� �. او :-�وي •Command: (

  • WWW.AMRSELIM.NET ���� و�� �����و�� ا����م ا�

    15

    T Command: (equal f3 f2) T Command: (equal a b) nil

    0.000001 و a b��. ا�

  • WWW.AMRSELIM.NET ���� و�� �����و�� ا����م ا�

    16

    Command: (car '((3 4) 5)) (3 4)

    Command: (car '()) nil

    �cadr�ا� ا •

    ر,� 2 ا�-�-�� ��E ض�

    Command: (cadr x1) 2

    caddrا��ا� • �ض V��E ر,� 2 ا�-�-��

    Command: (caddr x1) 3

    cdrا��ا� •

    �ض ا�-�-�� ��ون ا��,� ا8ولCommand: (cdr x1) (4 3 2)

    nthا��ا�� •

    .اول ��4 �4

  • WWW.AMRSELIM.NET ���� و�� �����و�� ا����م ا�

    17

    Command: (append '(egypt sudan) '(iraq syria) '(lebnan philsten) ) (EGYPT SUDAN IRAQ SYRIA LEBNAN PHILSTEN)

    reverseدا�� •

    و 'A(م �&M0 ا�-�-�� ا��,��� Command: (setq a '(1 2 3 4 5 6)) (1 2 3 4 5 6) Command: (reverse a) (6 5 4 3 2 1)

    memberدا�� • �� �. اول هCا ا�&��4و ه '^C6 ��4 و ا�� ا�-�-�� ا��,��� و '&%��� ا�-�-�� ا��,�

    Command: (setq a '(2 3 4 5 6)) (2 3 4 5 6) Command: (member 4 a) (4 5 6)

    � ���q �4 �(;(د 2 ا�-�-�� ا��,��� '&%��� O�%ا ���� nilو 2 Command: (member 1 a) nil

    listpدا�� • ه# ا�&��4 ا��&%D ��-�� ر,��� ام 8

    tاذا آ�ن ��-�� ر,��� nil اذا آ�ن ��q هCا و

    Command: (listp a) T Command: (listp t) nil

    strlenدا�� • و ا8ر,�م و ا���(ز ��� �2� ا��-��2ت و '&�� �د ��وف ا�����

    Command: (strlen "destory israil") 14

    دوال ا���5," atofدا�� •

    A�A� �,ر Dا�� ا� #:)N5�float . �2ن ا�&����ت ا��-N��� �E' 8 ��9 و 8 :��5وب �&� string�D ه�9v 314�� '!>:. ر,� �$#

    Command: (atof "2.2") 2.2

  • WWW.AMRSELIM.NET ���� و�� �����و�� ا����م ا�

    18

    atoiدا�� •

    �N5(:# ا�� ا�D ر,� &��t

    Command: (atoi"2.2") 2

    rtosدا�� •

    � Dا��,� ا� #:)N5� Command: (rtos 2) "2"

    cvunitدا�� • ا�.......(اء و,1 او وزن او t(ل او ا�N5(:# �. و��ة ا�D و��ة ا�6ى �

    Command: (cvunit 1 "minute" "second") 60.0 Command: (cvunit 1 "gallon" "furlong") nil Command: (cvunit 1.0 "inch" "cm") 2.54 Command: (cvunit 1.0 "acre" "sq yard") 4840.0 Command: (cvunit '(1.0 2.5) "ft" "in") (12.0 30.0) Command: (cvunit '(1 2 3) "ft" "in") (12.0 24.0 36.0)

    typeا��ا�� • ا�����5و '&%��� �(ع

    Command: (SETQ A 2) Command: (TYPE A) INT Command: (SETQ A "AMRSELIM") Command: (TYPE A) STR

    princا��ا�� •

    �ر ر��� 9�D �%� ا8وا�� Gا

    Command: (princ "م)�, �: � �:")

    :� ,�(م"� �:"

    ا��50�� �; �%� D�:�n\و :�0. ا}��2 ,�� #&��

    Command: (princ "good \n friend") good friend

  • WWW.AMRSELIM.NET ���� و�� �����و�� ا����م ا�

    19

    ا��50�� �&� �t\�2�-و :�0. ا}��2 ,�� #&��

    Command: (princ "father come \t hide") father come hide

    ALERTا��ا� •

    �ر ر���9 ���-5!�م Gا

    Command: (ALERT "R��N� ن ا و�N��")

    COMMANDا��ا� •آ��� u6 او autolispو ه��ك ا�0$�� �. اوا�� ا8'(آ�د '-5!�م ���

  • WWW.AMRSELIM.NET ���� و�� �����و�� ا����م ا�

    20

    Command: (defun s (n)(+1 n))

    V��n ��5� ��ه � و :(;� �(�. �. ا�����5ات ����5 :-5!�م �(ا�%� ا��ا��

    ��*&� 9A� :-5!�م 2 ا��ا�uA2 9 و :�5 ��N� ���5� و/

    Command: (defun s (/n)(………….))

    �N� ه������5:. ا��

    Command: (defun s ( o /m)(………….)) ��ون ����5

    Command: (defun s ( )(………….))

    (defun C:HATCH ( ) (alert "Using the BHATCH command!") (princ "\n OLDHATCH to get to real HATCH command.\n") (command "BHATCH") (princ) ) (defun C:HATCH ( )

    آ^ي 8*م ا������[ ان :&��# ا��ا�� :C و HATCHا�� ا��ا�9 ه�� ه( ، .ا%��� ا�� ���ا�� : ا�-%� ا8ول أ�� �. أوا�� ا8'(آ�د

    ر���9 ا*م ���-5!�م: ا�-%� ا�$�� V��$م : ا�-%� ا��ر���� ���-5! �i' S�ا�-%� ا��ا : ]����� ا%�ء ا�� ��

    Command: (defun c:ze() (command "zoom" "e"))

    هCا ا��$�ل �2�� دا�� ���� 2ze ��*� ا�456ر ���$�� zoom, Extents و ه

    ���9 �-��ن ا��-��2 ��. ا�456ري 2 � z , eو '

  • WWW.AMRSELIM.NET ���� و�� �����و�� ا����م ا�

    21

    Command: (SETQ A 1 S 2 E 3)

    او

    Command: (SETQ A 1 S 2 E 3)

    و :�A� .0# ,��� ا�����5 ا�D ����5 ا�6 Command: (setq a 123) 123 Command: (setq b 'a) A

    �O��5�8 م�5!-�! Command: !x 1

    getpointا��ا�� •

    � 5�8!�ا�� N5� �A�8�:� �A%� و ا%5�Eا�ا� ]����� �ء ا�

    Command: (setq a (getpoint)) (-640.261 146.069 0.0)

    getdistا��ا�� •

    .�5%A� .�� �2�-م ��&�92 ا���9 و :-5!�آ�5 � ��V �&%�9 ا��ى ا��N� �E .�5%A�د ا�$���� �����وس او ���6Command: (getdist a) 2727.41

    (setq dist (getdist '(1.0 3.5)))

    و :�0��� ا}�92 �ال ���-5!�م (setq dist (getdist '(1.0 3.5) "How far? "))

    او :�0. '�ك 'N�:� ا��A%�5. ���-5!�م(setq dist (getdist))

    distanceا��ا�� •.�5%A� .�� �2�-م ��&��2 ا���. (و '-5!��و ��5. ����Iة ا��� ه�� �&%�� ا��getdist %Aا�

  • WWW.AMRSELIM.NET ���� و�� �����و�� ا����م ا�

    22

    Requires an integer value.

    �:���# اي ر,� �9 *�� A: *2 m�N �,. ر� ��8 Command: (getint) 15.0 Requires an integer value.

    ���5� 2 � و :�5 ه�� '!>:�

    Command: (setq num (getint "Enter a number:")) Enter a number: 25

    getrealا��ا�� •

    �و '-5!�م ��4N(ل �D اي ر,� m�N او آ-Command: (getreal) 2.2

    (setq val (getreal "Scale factor: "))

    getstringا��ا�� •

    D4,8ا �Nم و ا��ا��-5! .� � D� 4(لN��132 9، ��ف� اذا آ5�1 اآ$� �. هCا ���5 '��Command: (setq q (getstring "it's a good day")) it's a good day "friday"

    � ا�D \ *��و اذا آ5= ا��-5!�م�)N: ]����� دوال أ�6ى �0�55. �. ا�5!�ا�� آ�-�ر \\ 2^ن ا�2

    Command: (setq s (getstring T "Enter filename: ")) Enter filename: c:\my documents\vlisp\secrets "c:\\my documents\\vlisp\\secrets"

    getcornerا��ا�� •6^' �E �%A� ��%&' A� C%� ا�6ى �. ا��-5!�م . �I� /:�N' j:�t ا���وس ��5&�ا . ا�� �%A�D و ه

    #�%5-� 9vا�8$�� ا�&���� (ه� 2 �iا� �E j�t �$اآ � )ا�%�:�A ا�$���� ���� �-#�%5، ��<Command: (setq b (getcorner a)) (5250.86 639.033 0.0)

    asciiا��ا�� • ا%�ء ر,� ا0�8 ���Nف

    Command: (ascii "b") 98

    uA2 8ول ��ف و 2 ��� 99O�% آ��� :&%��� ا0�8Command: (ascii "a") 97 Command: (ascii "amr") 97

  • WWW.AMRSELIM.NET ���� و�� �����و�� ا����م ا�

    23

    chrا��ا�� •

    ا%�ء ا��Nف ا���A�# ��,� ا0�8

    Command: (chr 97) "a"

    atomا��ا�� • اذا �� :t 9�-�� .0 ��-�9 و اذا آ�ن nilو '&%

    Command: (setq a '(b c d e)) (B C D E) Command: (atom a) nil Command: (atom b) T Command: (atom '(s d f)) nil

    evalا��ا�� •

    ������A ا��-��� 2 ا�����5���!'

    Command: (setq q 3) Command: (eval q) 3

    Command: (eval (abs -10)) 10

    quoteا��ا�� •

    '� ا��Nوف آ���ةCommand: (quote q) Q

    Command: !'a A Command: (quote (a b)) (A B)

    setvarا��ا�� •

    ا%�ء ,��9 �����5 ا8'(آ�د #$�cmdecho-%� ا8وا���ت ا�!� 9 ����5�8��ا�!�ص

    (setvar "cmdecho" 1) 8وا�� و�9 او ; ا�5&��# 2 �%� ا ا�m�-' D5 �/ ����56ر ا���

  • WWW.AMRSELIM.NET ���� و�� �����و�� ا����م ا�

    24

    (setvar "filedia" 1) �ض ���&�ت ا�N(ار 8وا�� �5�(� �$# ا�%��� او ; ا�5&��# 2 �%� ا8وا�� و�cmddia 9و

    .�5��, 8 '&�ض ��د:j ا�N(ار0 �ض ��د:j ا�N(ار1

    (setvar "cmddia" 1)

    Snapunit بC. ا����ا��-��2 2 �0N5: ���5� )و هsnap (setvar "snapunit" '(12 12))

    Taskbar ���5�uA2 �ر وا�)G م او�

    (ر آ# ��

  • WWW.AMRSELIM.NET ���� و�� �����و�� ا����م ا�

    25

    "AcDbLine") (10 891.592 1203.92 0.0) (11 1789.65 627.174 0.0) (210 0.0 0.0 1.0))

    و ه��ك ر�(ز O�I&9 ا5�8!�ام �$# -1.O�0ا�� ا� 0.O�0ع ا�)� ,��� ا�� 15 9U�Aا� handle LINE TYPE ا�� ال 68 �A� ا�% )�N-= ا�&��4 ا��N�د ( �A%� ا���ا:� او ا���آ>10 �A%� ا���:� او ا���Nذاة1138uA-ا�� ا�-�/ 39 �Q4 ا�A%� او ار'

  • WWW.AMRSELIM.NET ���� و�� �����و�� ا����م ا�

    26

    polarا��ا�� • �� :N�د �A%� ���ء �A� D%� ا�6ى و ا�>او:� ا�N� D5�ده� و ا��-��2 ���

    هCا ا��$�ل 2: �%A�ا�a �:ون0.1 و ا�>او�� و ا��-��2 Command: (setq a (getpoint)) Command: (setq q (polar a 0.1 20)) (917.808 2660.4 0.0)

    assocا��ا�� •

    2 VN� . زوج آ# �association list�4 ا��>دو;� ا�-*�#:

    Command: (setq country '((amrica israil) (almania itali) (iran turki) )) ((AMRICA ISRAIL) (ALMANIA ITALI) (IRAN TURKI)) Command: (assoc 'amrica country) (AMRICA ISRAIL)

    و 2 ���� �ا� 9 .���q �4 �(;(د

    Command: (assoc 'utobia country) nil

    ANDا��ا�� •

    ���� اذا آ�ن ا�����5 او!' �9 ,��� ام 8 ا��&%Dو ه ���, �� � اذا ا%�95 اآ$� �. ����5 �2��5ط ان :0(ن آ���%&��t

    ���%&: 9��, 9� M�� اذا آ�نnil Command: (setq a 103 b nil c "string") "string" Command: (and 1.4 a c) T Command: (and 1.4 a b c) nil Command: (and a) T Command: (and w) Nil Command: (AND 5) T

    arxدا�� • ا��arx ����� ���Nو '&%��� ا���ء

    AutoCAD Runtime Extension Command: (arx) ("acapp.arx" "accamera.arx" "acdblclkedit.arx" "acdblclkeditpe.arx" "acdim.arx" "acdwgrecovery.arx" "acdxnotify.arx" "aceplotx.arx" "acetlodr.arx" "acetutil.arx" "acgsconfig.arx" "achapi17.dbx" "achlnkui.arx" "acidropmgr.arx"

  • WWW.AMRSELIM.NET ���� و�� �����و�� ا����م ا�

    27

    "acismobj17.dbx" "acismui.arx" "aclayerp.arx" "acmgd.dll" "acpltstamp.arx" "acprevinput.arx" "acsecopt.arx" "acsign.arx" "acspacetrans.arx" "acstd.arx" "actaskbar.arx" "actp.arx" "acxrefesw.arx" "acxrefservice.arx" "movebak.arx" "oleaprot.arx" "vl.arx" "whohas.arx" "wscommcntraccon.arx")

    arxloadدا�� •

    Q�� #��N5�arxload Command: (arxload anyfile.arx)

    Command: (arxload "c:/program files/AutoCAD 2007/anyfile.arx")

    arxunloadدا�� • Q�� #��N' ���8ءarx

    Command: (arxunload anyfile)

    boundpدا�� • '��i ه# :5N(ي ا�&� �4�D ,��� ام 8

    tاذا آ�ن :5N(ي �D ,��� ا���'[ nilا�� اذا آ�ن 5N: 8(ي �D ,��� ا���'[ :0(ن

    Command: (setq x 13 y nil) nil Command: (boundp 'x) T Command: (boundp 'y) nil

    ا���if��tا��ا�� •

    ��:.و '-5!�م �(}�I Sط �D ��ث $�2* 8 '��� .� �� دا�Oة ا8 اذا آ�ن �Q4 ا�A%� اآ

    � و ��5Command: (if (ط�� ((��ث ا�6 اذا �� :jAN5 ا���ط)(��ث اذا 'jAN ا���ط ) ( ا�

    IF (YOU UNDERSTAND ANY THING) ,( MEET ME)

    Command: (setq z 1) Command: (if (< z 3) (alert"islamna"))

    Command: (setq e (getint)) Command: (if (< e 20) (princ "e is less than 20") (princ "e is not less 20")) e is not less 20"e is not less 20"

    ا�-%� ا8ول أ��^�� �C6^: ���5 ر,� �. ا�-5!�م2

    � ر���� Gا .:�� ا �� �. ا��,� ا�Cي اد95�6"ا�-%� ا�$�� اذا آ�ن ا��,� ا�Cي اد��6 ا��-5!�م ا,# �. .:��� ر���9 " Gا .:�� .� ����:."و اذا آ�ن ا��,� اآ .� �� "ا��,� ا�Cي اد95�6 اآ

    Command: (SETQ A (GETINT)) Command: (SETQ B (GETINT))

  • WWW.AMRSELIM.NET ���� و�� �����و�� ا����م ا�

    28

    Command: (if (= a b) (setq b 5 (setq b 6)) .:���5��� A,Bا�-%� ا8ول و ا�$�� �%�= �. ا��-5!�م اد�6ل ر,�

    �5 ا�$��V اذا آ��1 ,��5 ا�����5:. �5-�و:�. �2; ,��� ا�����5 ا�$�� ا�-% 6و اذا �� :0(�(ا �5-�و:�. �2; ,��� ا�����5 ا�$��

    • Repeat

    '�0ار ���9 �&��� �د �&�. �. ا���اتCommand: (SETQ A 100) Command: (REPEAT 4 (SETQ A (+ A 10))) 140

    ا�-%� ا�$�2�5� ���, ا�D ا�����5 �010ار ���� ا}��2 • While

    اN: D5� �� I #&2�ث ��ث �&�.">�50: D5� ا�!>ا�� �,�� " ا���:�/ا���5 2" D5� ا����ب

    � 'ا���5 2� "��غ ا�6 ا�

    Command: (while (ط�I) (]����� ((ا8وا�� ا�C>��� D5ه� ا� Command: (setq a 1) Command: (while (< a 20) (princ a) (princ "\n") (setq a (+ 1 a)))

    ا�-%� ا8ول �N�د ,��� ������5.:���� ا������[ ان :-��5 2 ا�&�# �� دام ا�����5 ا �� �. ا�&!� ا�-%� ا�$��

    ا�-%� ا�$��V و ا��ا�S اوا�� �������[ و ه�� �^��R ��50�� ا�����5 1ا�-%� ا�!��M ا; ا��:

  • WWW.AMRSELIM.NET ���� و�� �����و�� ا����م ا�

    29

    Command: (ACAD_COLORDLG 3) )ا%�ء �(ن �%�9A �$* ( �5!>:. ا��(ن 5�8!�ا�� A�8ً�و

    Command: (SETQ Q(ACAD_COLORDLG 3)

  • WWW.AMRSELIM.NET ���� و�� �����و�� ا����م ا�

    30

    DCL �� وا;9 ر�(���

    Q�� #��N5� وDCL .:. أ��� ��8 Qا��� S{ا8ول و DCL او ا}��2 ا��-�ر ا�D ��

  • WWW.AMRSELIM.NET ���� و�� �����و�� ا����م ا�

    31

    ا�$�� ������1. z��8ا��(ن ا Dآ# ا�&�� � ا� ���'

    Command: ( command "_chprop" "all" "" "color" "7" "")

    ( command ا��� ��&%�9 ا�� �. اوا�� ا8'(آ�د ]����� ا*م ا�"_chprop" O�4!ا�� '��� ا� "all" O�4!ا��56ر '��� آ# ا�

    ����5 ا��(ن �68�last uA2 �4 او :�0. آ�5�9 }�u زر ا8د�6ل "" "color" ا��56ر '��� �6 �� ا��(ن "7" z��8ا��56ر '��� ا��(ن ا }�u زر ا8د�6ل (""

    2. ���&� �A�t D� D5ن ا�&�� � ا�)� ���'

    Command: (command "layer" "color" "7" "hvac" "") (command ا��� ��&%�9 ا�� �. اوا�� ا8'(آ�د ]����� ا*م ا�"layer" ت�A� ا�� ا�% "color" ا��56ر '��� �6 �� ا��(ن "7" z��8ا��56ر '��� ا��(ن ا "hvac" �A� ا��56ر ا�% }�u زر ا8د�6ل (""

    3. u6 ر�� Command: (setq a (getpoint)) Command: (setq b (getpoint)) Command: (command "line" a b "")

    .�5%A� � ا�-%� ا8ول و ا�$�� �N�د �2 ا�-%� ا�$��V ���� �-5%�# ��&�(��� رآ��9

    }�u زر ا8د�6ل "" و �&�� ر�� �-#�%5 .4

    Command: (setq a (getpoint)) Command: (setq b (getpoint)) Command: (command "rectangle" a b)

    .�5%A� � ا�-%� ا8ول و ا�$�� �N�د �2 ا�-%� ا�$��V ���� �-5%�# ��&�(��� رآ��9

    �A:�t ا�6ى ���� �-#�%5 .5

    Command: (setq a (getpoint a)) Command: (setq b (getcorner a)) Command: (setq c (list (car b)(cadr a))) Command: (setq d (list (car a)(cadr b))) Command: (command "line" a c b d a "")

    سEا����د �N' �%A� ص ، اي �%A� د�N� ا�-%� ا8ولA

  • WWW.AMRSELIM.NET ���� و�� �����و�� ا����م ا�

    32

    ���ء �D ا��A%� ا8و�B (Dا��A%� (ا�-%� ا�$�� �N�د رآ. �%A� د�N� V��$ا�-%� ا�) �%A�ا�C( �%A�ر ا�-���ت و �. ا�)N� D� �'^C6 �. ا��A%� ا�$���� �(,&

    � �&,)� Dر ا��4داتا8و�)N� D �%A� د�N� S�ا�-%� ا��ا) �%A�ا�D ( �%A�ر ا��4دات و �. ا�)N� D� �'^C6 �. ا��A%� ا�$���� �(,&

    � �N� D(ر ا�-���ت &,)� Dا8و�) )ر�� ���� ا�-%� ا�!��M ���� ار�S 6%(ط ��. ا��uA ا8ر�&9

    6. #�%5-� ���� �$��E �A:�t

    Command: (command "rectangle" "_width" "2" "0,0" "10,10")

    /�-� #�%5-� ���� V��2 .�5%A� 10,10" "0,0" ه�� �&�(و��5. و" ر�� دا�Oة .7

    Command: (setq a (getpoint)) Command: (command "circle" a 200) circle Specify center point for circle or [3P/2P/Ttr (tan tan radius)]: Specify radius of circle or [Diameter]: 200

    ا�-%� ا8ول 'N�:� �A%� ا���آ> ا�-%� ا�$��

    (command ا��� ��&%�9 ا�� �. اوا�� ا8'(آ�د ]����� ا*م ا�"circle" ة�Oر�� دا a

  • WWW.AMRSELIM.NET ���� و�� �����و�� ا����م ا�

    33

    آ�5�� � .9

    0 و زاو:� 200آ�5�� � ���� �2�&� �%A��A و ار'

  • WWW.AMRSELIM.NET ���� و�� �����و�� ا����م ا�

    35

    ��N�%4ت ا����0 ا���ح

    #$� ��A�A� 5-و2.3و2ار,�م REAL OR FLOAT #$� �N�N �,3و6و5ر�:�� ��ون ار,�م

    .� 32768- ا�D 32767و هINTEGER

    ���(� �. ا8ر,�م ا��-�-�� ذات '�'�= �&�.(6 5 2 14 8)

    LIST

    string ">ةq>ة ر�> ا�&"� #$� �4�point symbol

    4$��ة 8 3-ا

    • DCL&Lisp Generator #�&�

  • WWW.AMRSELIM.NET ���� و�� �����و�� ا����م ا�

    37

    �IأLISP

    add.lsp �'& أ%$�#ً� �! � أر��م ����دة ��� ا����� أ����، و� ا�� أن ���م

    ���2 ا��1,.(، و����$� ,�ى أن �/�& ��� )* �$( ا�! � �.��&ة دون ا-,+*�#( )3�5 ,'& ا���1(، 34 �/�& ��� ا�& 3� ا�&�3 �� زر ا8د�7ل +&ى ا�&

    ALLUNITS

    @1+�ج إ�� ا�+�1@� )$ و%?ات ا��$�س ا� >+�;( أ4/�ء ا�* �، � �C� D��#&.ا ا�Eه G$ +@ALLUNITS );�+< و%?ات ا��$�س ا� $( �@�1+�� )*@&Hا� �+�@&'(

    ، ا�'�ل، ا� �H%(، ا�1!3، ا��زن، ا�Gوا@�(�Gس ا��$�، آ� ذ�� )و%?ات

    ��M$�� آ��E ا��& )�;�$( دا�7 C @ يEو ا� D��#&.%�ار ا� �ام �&)?

  • WWW.AMRSELIM.NET ���� و�� �����و�� ا����م ا�

    38

    ��! �وا��

    defun c:)ا�?ا�( ()ا,3 ا�?ا� W@&*� atof 5�$�% 3� �+�1@� ا�/a ا�� رzerop - ام &;` D��/آ? ه� ا�m+�� atoi 5*$.T 3� �+�1@� ا�/a ا�� رexp �$,-5 ا��$ ( ا'*� rtos a# 3 ا��� �+�1@� ا�& ا�+�1@� � و%?ة ا�� و%?ة ا7&ى cvunit �+ 3 ا�*?د ~

    MAX &.3 ا-آ� �*'$/� #�ع ا� +TYPE &$M ا�&MIN &M`-3 ا� ا�Rnر ر,��� ��� ,'& ا-وا�& princ ا�&REM ) Hا�� ا�Rnر ر,��� �� H+>?م ALERT ا� +.�5 �FIX ر�HCء ا��Mو ا� d$1` ب �?د&�- ^@&�� COMMAND ء اوا�& ا-��آ�د�'�-

    FLOAT &H�1ل ا�*?د ا�� آ� LOAD W�� �$ 1+� LOG 3ا@!�د+@&hا��� setq &$M+ � ) $� ?@?1�

    SQRT 5*$(&+ر ا�E!ا� getpoint )'�# ?@?1+� sin )@اوGا� �� getdist $+'�# $( )�H ا� � @H+>?م � *&cos )@اوGا� �+� distance $+'�# $( )�H ا� � @H+>?م � *&atan )@اوGا� �n getint ا � d$1` 3� � H+>?م ���c1ل ��� رangle )@اوGا� getreal &Hاو آ d$1` 3� ���c1ل ��� اي ر

    minusp - 3 ا� *'� ,��^ ام� ا� H+>?م getstring ا�&� a# ��� ل�c1�� inters j�# �(5 ار�Z� )'�# ascii 5 ��1&فC,-3 ا� ا�'�ء ر

    ا�'�ء ا�1&ف ا� ��)� �&�3 ا-,�H@ - chr 5Cوي =/eq +�H�Hام -ا�

    �+�Hو@$$ atom 5'*� وnil و ��H�, اذا آ�ن t C@ 3� اذا

    equal $+�H�, 5 ا� +eval &$M ���ر#( )$ )�!H 5 )���$ ( ا�#&.?م ssget �&ض ��4[ رcdr � @1?د #�'( )/�ء ��� #�'( ا7&ى و ا�Gاو@( polar 3 ا-ول�&ض ا��H�H( )?ون ا�&nth )$ � ا��H�H( ا�&� $*� &c/� ض&� AND - ام ) $� ا� +M$& او ا� *'� )�

    cons ) Qول ا���- &c/� )�qا arx و �*'$/� ا, �ءarx �$��% )� 1 ا� apply )$ E$;/� arxload W�� �$ 1+�arxload دا�( �*$/( ��� ا��H�H( ا�1&

    append وا%?ة )�H�, 5 )$ � �M�-arxء �arxunload W�� �$ 1 �3 ا�ZH,� ا�&reverse )$ ��$ ( ام - rC� boundp ا��H�H( ا�& ��� &c/*ه� @1+�ي ا�

    listp - ام )$ � ��q� �&ط ��� %?ث if ه� ا�*/c& ا� *'� ,��H( رstrlen )� !د %&وف ا�?� Repeat ا� &ات � �C&ار � �$� �*$/( �?د �*$

    : ���&ح � ^H$���-آ+�ب �&ح ا � % While ا*� �u �� %+� @1?ث %?ث �*$www.amrselim.net acad_strlsort �ً@?!(ا �.$�&� )$ و ه5 �&�^ ا�ZH,� ا�1&

    ا�!�5م ا'��D ان اآ2j:�%اول ا� D� /��, S{و 2 1A25&�� ��� (ن و� AUTOLISP ، ت�و اذا و; 9� D����2 ^%6 ، 0(را�� 9N� او ا

    أذنت يف إصالحه ملن فعل وما ا من خطأ ومن خلل فذا وذا من أمجل األوصاف لكن بشرط العلم واإلنصاف سـبحانه حببله اعتصـامي واهللا يهدي سـبل السـالِم

    ��50ب

  • WWW.AMRSELIM.NET ���� و�� �����و�� ا����م ا�

    39

    كلمات حول الكتاب

    بعد دراسة لغة االوتوليسب من قبل االستاذ حممد شوقى واالستاذ رضا فوزىاصبح كتاب االوتوليسب وبرشامة االوتوليسب الذين قمت بعملهمامها املرجع لدى عندما اقوم

    بعمل او تعديل اى ليسب فجزاك اهللا عىن وعن كل رسام يسترشد مبا تفعله خري اجلزاء

    و قل اعملوا فسريى اهللا عملكم و رسوله و املؤمنون( بسم اهللا الرمحن الرحيم )يحممود فوز

    ابدا كالمي بشكرك علي هذا اهود املشكور من قبلك يف كيفية شرح لغة االوتوليسب متكنك من اللغة نت من اللغات الثقيلة من زمان و لكنك من طريقة شرحك لالوتوليسب واليت كا

    خري قدرت توصل ايل ايسر طريقة لفهم اللغة و جزاك اهللا عنا كل االستاذ حسني حممد

    مكتب انفايرورئيس قسم الرسم يف سيفك

    و أ رب ا��2��$: