Cum se utilizează lisp publicat pe forum

Vladimir Azarko aka VVA

Ați găsit util pentru dvs. codul de pe Lisp și doriți să-l utilizați. Există 3 pași:

  • salvați codul de program pe computer

  • descărcați fișierul

  • lansați aplicația







Notă: programele AutoLISP pot fi executate numai pe versiunea completă AutoCAD, dar nu funcționează în cadrul programului AutoCAD LT. (cu excepția cazurilor de descărcare a unor aplicații suplimentare, cum ar fi LT Extender și altele asemănătoare, concepute special pentru a rula aplicații lisp și / sau arx într-un mediu AutoCAD LT.)


^ Salvarea codului de program pe calculatorul dumneavoastră

Utilizați cursorul pentru a selecta acest cod și a-l copia în clipboard făcând clic dreapta și selectând Copy (sau Ctrl + C).
Lansați "Notepad" și inserați codul nostru cu meniul ^ Edit >> Paste (sau Ctrl + V):


(Defun C: OFF2 (/ d obj ad adoc * eroare * anulează Flag)

(defun * eroare * (msg) (vla-EndUndoMark adoc))

(vl-load-com) (setq adoc (vla-get-activedocument (vlax-get-acad-object))

(vla-get-layers-adoc)) (vla-StartUndoMark adoc) (setvar "CMDECHO" 0)

(dacă null * OFF2 *) (setq * OFF2 * (abs (getvar "OFFSETDIST")))))

(dacă (zerop * OFF2 *) (setq * OFF2 * 1)) (setq d (getvar "UNDOCTL"))

(cond ((= d 0) (vl-cmdf "_.UNDO" "_All"))

UNDO "" _Control "" _All "))

(t nil)); - sfârșitul cond

(prințul "\ n Dimensiunea offsetului.")

(initget 6) (dacă (null (setq d (getdist))) (setq d * OFF2 *))

(setq * OFF2 * d anula 0 Marcaj t)

(initget "Renunțare Anulare G J Exit Exit D _Undo Renunțare Renunțare Exit Exit Exit Exit")







(setq obj (entsel (strcat "\ n Selectați obiectul [

(dacă (nu (zerop undo)) "Anulare /" ")

(cond ((= obj "Undo") (dacă (nu (zerop undo)) (progn

(val-cmdf "_UNDO" "_B")) (setq undo (1- undo))) (alerta "Nimic mai mult pentru anulare"))))

((= obj "Ieșire") (setq Flag nil))

(null obj) (dacă (= (getvar "ERRNO") 52) (setq Flag nil) (prințul "*** Mimo ***")))

(t (setq ent (vlax-ename-> vla-obiect (car obj)))

(cond ((= = (vla-get-lock (vla-item-lay)): vlax-true)

(alertă "Pe stratul blocat!"))

((metoda vlax-applicable-pent 'Offset) (val-cmdf "_UNDO" "_M") (setq undo (1+ undo))

(variație în valută) (depreciere (-0 d)))

(t (alertă "Nu se poate crea un obiect ca acesta"))))))

(initget "Undo Cancel G J Ieșire Ieșire D _Undo Renunțare Renunțare Ieșire Ieșire Ieșire Ieșire"))

(princ "\ nSelectați linia de comandă OFF2"))

După ce ați pus codul într-un notebook, ar trebui să avem ceva de genul:



^ Descărcați fișierul lisp

Apoi rulați AutoCAD și alegeți Tools >> AutoLISP >> Load (Instrumente >> AutoLISP >> Load) sau tastați _appload din linia de comandă.
Ar trebui să vedem caseta de dialog ca mai jos:

Utilizați următoarea secvență pentru a încărca off2.lsp:

  1. Navigați la dosarul în care ați salvat fișierul lisp.

  2. Selectați fișierul pe care doriți să îl descărcați din listă.

  3. Faceți clic pe butonul Descărcare.
    (Dacă totul a mers bine, ar trebui să vedeți inscripția "off2.lsp a fost descărcat cu succes")

  4. Faceți clic pe Închidere pentru a termina comanda.


Comandă sau funcție?


În primul rând, trebuie să decideți ce avem: o echipă sau o funcție?
Un pic de teorie.
În descrierea aproape a oricărui cod există o astfel de linie ca

și după aceea este scris ceva acolo. Deci, aici este ceea ce este scris acolo și există un nume de funcție.
Dacă primele caractere sunt C:. atunci funcția este gata să fie apelată din linia de comandă. Dacă aceasta nu este prezentă, atunci trebuie apelată funcția, cuprind numele acesteia în paranteze.
De exemplu, există o funcție

Poate fi apelat direct (cu condiția să fie încărcat) din linia de comandă:

Și acțiunile vor fi efectuate
Dar aceasta:







Articole similare

Trimiteți-le prietenilor: