CATEGORII DOCUMENTE |
Comenzile AutoCAD pot fi chemate direct din AutoLISP, s-expresiile AutoLISP pot fi folosite ca raspunsuri la cererile de comanda.
in acest capitol veti studia:
Cum sa chemati o comanda AutoCAD direct din AutoLISP.
Cum sa folositi sirul AutoLISP, s-expresiile constante si variabile ca raspunsuri la cererile de comanda.
Sintaxa functiei AutoLISP command.
Cum sa evitati lucrul cind traduceti un program folosind comenzile in limba engleza indiferent de versiunea AutoCAD.
Functia command apeleaza functiile AutoCAD din AutoLISP. Functia command accepta un argument de tip sir care trebuie sa fie numele unei comenzi AutoCAD si oricare alte argumente optionale care ar fi in mod normal introduse in linia de comanda.
in cazurile in care este nevoie de un return ca raspuns la o comanda, sirul '' este folosit ca argument. Aceasta este reprezentarea AutoLISP a sirului nul pe care AutoCAD-ul o interpreteaza ca un return in cadrul functiei apelative command.
Functia command accepta siruri si variabile AutoLISP ca argumente. De exemplu aceste trei seturi de expresii traseaza aceeasi entitate Line.
Command: (command 'line' '1,1' '5,5' '')
nil
Command: (command 'line" (quote (1.0 1.0)) (quote (5.0 5.0)) '')
nil
Command: (setq pt1 (list 1.0 1.0) pt2 (list 5.0 5.0))
Command: (command 'line' pt1 pt2'')
nil
Functia command returneaza intotdeauna nil. Efectul secundar al unei expresii command este mult mai interesant decit valoarea returnata. Un efect secundar al unei expresii AutoLISP reprezinta o schimbare in starea programului care se produce datorita unei functii de apelare. Efectul secundar al apelarii unei functii setq este pentru a crea un nou simbol de legatura sau pentru a atribui o valoare la o variabila. Efectul secundar al apelarii unei functii command este de a realiza o comanda AutoCAD care modifica fisierul grafic intr-un anume fel.
incepeti un desen nou.
Introduceti expresiile care urmeaza.
Legati doua variabile de doua puncte 2-dimensionale.
Command: (setq pt1 (list 1.0 1.0))
Command: (setq pt2 (list 5.0 5.0))
Apelati la comanda line si folositi variabilele ca argumente.
Command: (command 'line' pt1 pt2 '')
nil
Figura 32. Linie de la 1.1 la 5.5
Introduceti expresiile care urmeaza.
Folositi variabilele pt1 si pt2 de la exercitiul anterior ca puncte reprezentind centrele a doua cercuri si ca puncte finale ale diametrului unui cerc.
Command: circle
3P/2P/TTR/<center point>: !pt1
Diameter/<Radius>: 0.5
Command: (command 'circle' pt2 0.5)
Command: (command 'circle' '2p' pt1 pt2)
Figura 33. Cercuri definite de pt1 si pt2
Folositi valorile lui pt1 si pt2 de la exercitiul anterior.
Introduceti expresiile care urmeaza.
Desenati doua arce folosind pt1 si pt2 ca puncte finale si o valoare a razei de 3.5.
Command: arc
Center/<Start point>: !pt1
Center/End/<Second point>: e
End point: !pt2
Angle/Direction/Radius/<Center point>: r
Radius: 3.5
Command:(comand"arc" pt2 "e" pt1 "r" 3.5)
Figura 34. Arce definite de pt1 si pt2
Toate versiunile AutoCAD-ului vor accepta comenzile si optiunile din limbajul american si englezesc indiferent de versiunea limbii sursa. Acest lucru permite utilizatorului sa scrie o aplicatie AutoLISP care poate fi folosita in toate versiunile de limbaj ale AutoCAD-ului fara a traduce functiile command in limba sursa.
Fiecare versiune AutoCAD
tradusa intr-o anumita limba pastreaza un menu de optiuni si comenzi din limba
sursa. De exemplu versiunea germana AutoCAD pastreaza un menu de optiuni si
comenzi in limba germana astfel incit cei care o folosesc isi pot introduce
comenzile in germana. Toate versiunile AutoCAD indiferent de limba sursa
pastreza un menu de optiuni si comenzi in engleza
Pentru a folosi versiunea englezeasca a comenzilor si optiunilor AutoCAD, prefatati sirul cu un caracter "subliniere" sau cu '_'. De exemplu acesta este modul in care se apeleaza la linia de comanda in toate versiunile AutoCAD.
Command: (command '_line' '1.1' '5.1' '1.5' '_c')
Functia command permite apelarea comenzilor AutoCAD din AutoLISP.
{irul nul sau '' este tratat ca un return de catre functia command.
Expresiile AutoLISP sint acceptate ca raspunsuri la cererile de comanda AutoCAD in cadrul functiei command.
Argumentele functiei command sint numele comenzii AutoCAD urmate de raspunsurile la cererile de comanda.
Caracterul
subliniere poate fi prefatat in
cadrul unei instructiuni de tip command in engleza
exercitiul 10: transformarea comenzilor in autolisp
in acest exercitiu veti:
Transforma comenzile AutoCAD script in expresii AutoLISP.
Scrie expresiile.
Testa expresiile in editorul AutoCAD.
incepeti un desen nou.
Transformati comenzile si cererile AutoCAD in expresii ale functiei command. Scrieti raspunsurile in coloana din dreapta.
Testati expresiile in editorul AutoCAD.
Comenzi si cereriCommand:
line Command:
circle Command:
circle Command:
arc |
Expresii AutoLISP(command 'line' '1,1' '5,5' '') or (command 'line' '(1.0 1.0) '(5.0 5.0) '') |
Tabelul 17. Traducerea comenzilor in AutoLISP
exercitiul 11: apelul comenzii polyline din autolisp
in acest exercitiu:
Veti folosi AutoLISP-ul pentru a executa o comanda AutoCAD si pentru a desena o noua entitate.
Veti apela comanda AutoCAD PLINE din AutoLISP.
Veti scrie un set de expresii AutoLISP pentru a desena o polilinie rectangulara.
incepeti un desen nou.
Creati urmatoarele legaturi de variabile in AutoCAD:
(setq pt1 (list 1.0 1.0 0.0))
(setq pt3 (list 11.0 8.0 0.0))
Folositi variabilele pt1 si pt3.
Scrieti un set de expresii ce vor desena un dreptunghi, folosind comanda 'Polyline' optiunea 2-D inchisa de la punctul 1,1 la 11,1 la 11,8 la 1,8, folosind variabilele pt1 si pt3.
Folositi functiile car, cdr, list si command daca este nevoie.
Testati expresiile in AutoCAD.
Scrieti-le mai jos.
Aceasta pagina a fost lasata libera in mod intentionat.
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 2175
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved