Hogyan kell használni Lisp, megjelent online most

Vladimir Azarko aka VVA

Azt találtuk hasznosnak magam Lisp kódot, és szeretné használni. Mi lehet megkülönböztetni három lépésből áll:

  • megőrzése kódot a számítógépen

  • fájl feltöltése

  • alkalmazás elindítása

Megjegyzés: AutoLISP programot lehet futtatni csak a teljes verzió AutoCAD, nem működnek alatt AutoCAD LT. (Esetektől eltekintve letöltésével további alkalmazások, például LT Extender és hasonlók, amelyeket kifejezetten futtatni a LISP és (vagy) ARX alkalmazás AutoCAD LT környezetben.)


* Megőrzése a kódot a számítógépen

A kurzorral válassza ki a kódot, és másolja azt a vágólapra való jobb kattintással és válassza a Másolás (vagy Ctrl + C).
Indítsa el a „Jegyzettömb”, és illessze a kódot ^ Szerkesztés menü Beillesztés >> (vagy Ctrl + V):


(Defun C: OFF2 (/ d obj ENT ADOC * hiba * Undo állapít Flag)

(Defun * hiba * (MSG) (VLA-EndUndoMark ADOC))

(Vl-load-com) (setq ADOC (VLA-get-activedocument (oláh-get-Acad-objektum))

állapít (VLA-get-rétegek ADOC)) (VLA-StartUndoMark ADOC) (setvar "CMDECHO" 0)

(Ha (null * OFF2 *) (* setq OFF2 * (abs (getvar "OFFSETDIST"))))

(Ha (zerop * OFF2 *) (setq * OFF2 * 1)) (setq d (getvar "UNDOCTL"))

(Cond ((= d 0) (VL-cmdf "_.UNDO" "_All"))

Visszavonás "" _Control "" _All „))

(T nil)); _ végén cond

(Princ "\ n Az elmozdulás nagyságát.")

(Initget 6) (ha (null (setq d (getdist))) (setq d * OFF2 *))

(Setq * OFF2 * d visszavonás 0 Flag t)

(Initget "Visszavonás Mégsem J Kilépés Kilépés T Y D _Undo Undo Visszavonás Kilépés Kilépés Kilépés Kilépés")

(Setq obj (entsel (strcat "\ n Jelölje ki az objektumot ["

(Ha a (nincs (zerop visszavonás)) "Cancel /" "")

(Cond ((= obj "Visszavonás") (ha (nem (zerop visszavonás)) (progn

(Vl-cmdf "_UNDO" "_B") (setq visszavonás (1- visszavonás))) (figyelmezteti "Szükségtelen hosszabb megszünteti")))

((= Célkitűzés az "Exit") (setq Flag nulla))

((Null obj) (ha (= (getvar "ERRNO") 52) (setq Flag nulla) (princ "*** *** Past")))

(T (setq ent (Vlax-ename-> VLA-objektum (autó obj)))

(Kond ((= (VLA-get-lock (VLA-tétel kimondja (VLA-get-réteg ent))): oláh-true)

(Alert "egy zárolt fólián!"))

((Vlax-módszer-alkalmazandó-p ENT „Offset) (VL-cmdf "_UNDO" "_M") (setq visszavonás (1+ visszavonás))

(VLA-offset ent d) (VLA-offset ENT (- 0 d)))

(T (figyelmeztessen „Nem lehet létrehozni egy objektumot, mint ez”)))))

(Initget "Visszavonás Mégsem J Kilépés Kilépés T Y D _Undo Undo Visszavonás Kilépés Kilépés Kilépés Kilépés"))

(Princ "\ nNaberite OFF2 parancssor"))

Miután behelyezte a kódot jegyzettömb, mi kell, valahogy így:



^ Fájl letöltése lisp

Ezután indítsa el az AutoCAD és válasszuk az Eszközök >> Avtolisp >> Letöltés (Eszközök >> AutoLISP >> Load) vagy írja be a parancssorba _appload.
Meg kell látni egy párbeszédablak az alábbiak szerint:

Használja a következő betölteni off2.lsp:

  1. Keresse meg azt a mappát, ahová menteni a lisp fájlt.

  2. Válassza ki a kívánt fájlt letölteni a listából.

  3. Kattintson a Feltöltés gombra.
    (Ha minden jól megy, akkor lásd: „off2.lsp sikeresen feltöltve”)

  4. Kattintson a Bezárás gombra a parancs befejezéséhez.


A parancs vagy funkció?


Először meg kell határozni, mi van: a parancs vagy funkció?
Egy kis elmélet.
A leírás gyakorlatilag bármilyen kódot, van egy sorban,

majd utána valami írva van. Tehát ez az, amit mond, az a függvény nevét.
Ha az első karakter C:. A funkció készen kell hívni a parancssorból. Ha nem, akkor meg kell hívni egy függvényt bezáró nevét zárójelben.
Például, van egy funkció

Ennek oka az (feltéve, hogy az betöltés) lehet közvetlenül a parancssorból:

És az akció kerül végrehajtásra
De ez:

Kapcsolódó cikkek