Scrigroup - Documente si articole

Username / Parola inexistente      

Home Documente Upload Resurse Alte limbi doc  
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Comenzi AutoCAD si AutoLISP

autocad



+ Font mai mare | - Font mai mic



Comenzi AutoCAD si AutoLISP

Comenzile AutoCAD pot fi chemate direct din AutoLISP, s-expresiile AutoLISP pot fi folosite ca raspunsuri la cererile de comanda.

Obiective

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

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.

Folosirea argumentelor de tip sir

Command: (command 'line' '1,1' '5,5' '')

nil

Folosirea argumentelor constante

Command: (command 'line" (quote (1.0 1.0)) (quote (5.0 5.0)) '')

nil

Folosirea argumentelor variabile

Command: (setq pt1 (list 1.0 1.0) pt2 (list 5.0 5.0))

Command: (command 'line' pt1 pt2'')

nil

Efecte secundare

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.

Exemplu

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

Exemplu

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

Exemplu

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

Globalizarea comenzilor

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 americana impreuna cu un menu in limba sursa.

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')

Recapitulare

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 americana si va functiona in toate versiunile de limbaj ale AutoCAD-ului.

exercitiul 10: transformarea comenzilor in autolisp

in acest exercitiu veti:

Transforma comenzile AutoCAD script in expresii AutoLISP.

Scrie expresiile.

Testa expresiile in editorul AutoCAD.

Instructiuni

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 cereri

Command: line
From point: 1,1
To point: 5,5
To point: ENTER

Command: circle
3P/2P/TTR/<Center point>: 3,3
Diameter/<Radius>: 0.5

Command: circle
3P/2P/TTR/<Center point>: 2p
First point on diameter: 1,1
Second point on diameter: 5,5

Command: arc
Center/<Start point>: 2,1
Center/End/<Second point>: c
Center: 1,1
Angle/Length of chord/<End point>: l
Length of chord: 1.414

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.

Instructiuni

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



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 2063
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved