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:
Keresse meg azt a mappát, ahová menteni a lisp fájlt.
Válassza ki a kívánt fájlt letölteni a listából.
Kattintson a Feltöltés gombra.
(Ha minden jól megy, akkor lásd: „off2.lsp sikeresen feltöltve”)
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: