CATEGORII DOCUMENTE |
Puteti crea functii definite de utilizator introducind codul corespunzator in linia de comanda. Pentru definirea functiilor si pentru succesiuni complexe de s-expresii este adesea mult mai eficient sa folositi un editor de text si sa scrieti functiile sau expresiile intr-un fisier de tip text cu o extensie .lsp. Codul din fisier poate fi incarcat in editorul grafic cu ajutorul functiei AutoLISP load.
in acest capitol veti studia:
Cum sa scrieti fisiere text care contin programe AutoLISP.
Cum sa incarcati fisierele program AutoLISP in editorul grafic AutoCAD.
Cum lucreaza functia AutoLISP load.
Cum sa recunoasteti cele mai frecvente mesaje de erori in timpul incarcarii.
Functia load citeste pe rind expresiile dintr-un fisier si evalueaza fiecare expresie in parte. Valoarea returnata de functia load este valoarea ultimei expresii care a fost evaluata.
Functia load cere un singur argument de tip sir: numele fisierului .lsp de incarcat.
(load "filename").
Daca adaugati codul pentru functia c:rectangle la numele unui fisier rectang.lsp puteti incarca fisierul intr-o sesiune de editare grafica fara sa
reintroduceti intreaga definitie a functiei
NOT| Functia AutoLISP load este diferita de comanda AutoCAD LOAD.
AutoLISP-ul va cauta fisierul rectang.lsp in directorul curent impreuna cu alte directoare mentionate in specificarea de cale a bibliotecii AutoCAD-ului. Daca gaseste fisierul, il va incarca in editor.
Pentru lista de directoare aflate in specificarea de cale a bibliotecii AutoCAD consultati descrierea functiei findfile in capitolul 4 din AutoLISP Programmer's Reference Manual.
Daca AutoLISP-ul afiseaza un mesaj de eroare la incarcarea fisierului, trebuie sa editati fisierul si sa corectati eroarea.
Lista erorilor AutoLISP si a cauzelor acestora se afla in Appendix D din AutoLISP Programmer's Reference Manual.. O lista succinta a erorilor pe care este posibil sa le intilniti la incarcare este data mai jos. Majoritatea mesajelor indica erori tipice de programare AutoLISP cum ar fi:
Ortografierea gresita a functiilor sau a numelor simbol
Tipuri gresite de argumente la functie
Paranteze neimperecheate
Ghilimele neimperecheate
Mesaje de eroare |
Explicatii |
can't open file for input -- LOAD failed |
Fisierul numit in Functia load nu poate fi gasit., sau utilizatorul nu are acces sa citeasca fisierul. |
extra right paren |
S-a detectat una sau mai multe paranteze dreapta in plus. |
insufficient string space |
Nu exista spatiu suficient pentru a aranja sirul text specificat, de obicei datorita ghilimelelor neimperecheate. |
malformed list |
O lista citita dintr-un fisier s-a terminat prematur. Cea mai frecventa cauza este imperecherea gresita a parantezelor sau a ghilimeleor.. |
Tabelul 18. Mesaje de eroare la incarcare
Programele AutoLISP pot fi stocate in fisiere text externe.
Fisierele AutoLISP au extensia .lsp.
Functia load incarca un program AutoLISP in AutoCAD.
AutoLISP-ul va atrage atentia printr-un mesaj de eroare daca are o problema la incarcarea fisierului.
exercitiul 15: incarcarea unui fisier sursa autolisp
in acest exercitiu veti:
Crea un fisier program AutoLISP.
incarca fisierul in editorul grafic .
Folosi comanda definita de fisier.
Folositi editorul text pe statia dvs. de lucru. Rugati instructorul sa va ajute sa configurati editorul de text in sistemul dvs.
Creati un fisier de text numit rectang.lsp.
Salvati fisierul in directorul de lucru.
incarcati fisierul in editorul grafic.
Folositi comanda RECTANGLE.
(defun c:rectangle ()
(setq pt1 (getpoint 'anFirst corner: '))
(setq pt3 (getpoint 'anOther corner: '))
(command
'_.pline'
pt1
(list (car pt1) (car (cdr pt3)))
pt3
(list (car pt3) (car (cdr pt1)))
'c'
)
Command: (load 'rectang')
C:RECTANGLE
Command: rectangle
First corner:
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 1262
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved