Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Selectia interactiva a punctelor AutoLISP

autocad



+ Font mai mare | - Font mai mic



Selectia interactiva a punctelor AutoLISP

AutoLISP-ul dispune de functii care opresc evaluarea unei expresii si permit utilizatorului sa stocheze puncte si distante folosind metodele standard AutoCAD de specificare a acestor valori. Punctul sau distanta devine valoarea returnata a expresiei.

Obiective

in acest capitol veti studia:



Cum sa cereti informatii utilizatorului in cadrul unui program AutoLISP.

Cum sa cereti coordonatele unui punct utilizatorului.

Cum sa cereti o distanta utilizatorului.

Cum sa cereti utilizatorului valoarea pe care o doriti.

Cum sa folositi puncte si distante de la utilizator in cadrul functiilor AutoLISP command    si comenzilor AutoCAD.

Puncte si distante

Functia getpoint permite utilizatorului sa selecteze un punct folosind orice metode standard AutoCAD de selectare a punctelor: selectare grafica, coordonate absolute, relative sau relative polare, agatarea obiectelor, filtre de coordonate sau accesarea ultimului punct.

Functia getdist permite utilizatorului sa specifice o distanta prin introducerea valorii sau selectiond doua puncte. Este acelasi mecanism folosit de fiecare comanda AutoCAD care cere utilizatorului o distanta.

getpoint

Functia getpoint foloseste serviciile AutoCAD pentru a permite utilizatorului sa introduca un punct. Punctul selectat de utilizator reprezinta valoarea returnata a expresiei. AutoLISP-ul returneaza punctul sub forma unei liste formata din trei numere reale: valorile coordonatelor X, Y si Z.

Command:(getpoint)

Functia getpoint este folosita pentru a obtine un punct de la utilizator in cadrul unei expresii AutoLISP. De exemplu ar putea fi nevoie sa cereti utilizatorului din cadrul unui program AutoLISP, puncte care vor fi folosite apoi ca puncte finale ale unei linii.

Command: (setq pt1 (getpoint))

Command: (setq pt2 (getpoint))

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

Deoarece toate serviciile AutoCAD de specificare a punctelor sint disponibile in timpul apelarii functiei getpoint, nu sinteti constrins sa introduceti coordonatele exacte ale punctului.

Command: (setq pt1 (getpoint))

<pick a point with the mouse>

<list of three reals returned>

Command: (setq pt2 (getpoint))

<pick a point with the mouse>

<list of three reals returned>

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

Exemplu

Introduceti expresiile care urmeaza. Legati variabilele pt1 si pt2 de puncte pe care le selectati cu mouse-ul in cadrul unei functii de apelare getpoint si folositi variabilele intr-o comanda LINE.

Command: ( setq pt1 (getpoint))

pick a point

Command: (setq pt2 (getpoint))

pick a point

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

Exemplu

Introduceti expresiile care urmeaza. Legati variabila pt1 de un punct pe care il selectati cu mouse-ul si variabila pt2 de un punct descris de coordonatele polare relative. Folositi variabilele in linia de comanda.

Command: (setq pt1 (getpoint ))

pick a point

Command: (setq pt2 (getpoint))

@2<45

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

Exemplu

Introduceti expresiile care urmeaza. Legati variabila pt1 de un punct pe care il selectati cu mouse-ul in cadrul unei functii de apelare getpoint si folositi variabila intr-o comanda CIRCLE.

Command: (setq pt1 (getpoint))

pick a point

Command: (command "circle" pt1 0.5)

getdist

Functia getdist cere utilizatorului doua puncte. Valoarea returnata este un numar real: distanta 3-D intre doua puncte.

Command: (setq dst1 (getdist))

Second point: 2,2

Command: !dst1

Functia getdist primeste un argument optional, punctul de baza de la care se masoara distanta. in acest caz functia cere utilizatorului un singur punct.

Command: (setq pt1 (list 1.0 1.0 0.0))

Command: (setq dst1 (getdist pt1))

Command:    !dst1

Figura 35. Functia getdist "drag" din punctul initial 1,1,0

Exemplu

Introduceti expresiile care urmeaza. Legati variabila pt1 de un punct folosind coordonatele absolute si variabila rad de distanta dintre doua puncte pe care o selectati cu mouse-ul. Folositi variabila in comanda CIRCLE.

Command: (setq pt1 (getpoint))

Command: (setq rad (getdist))

pick two points

Command: (command "circle" pt1 rad)

Exemplu

Introduceti expresiile care urmeaza. Legati variabila cen de un punct pe care il selectati cu mouse-ul. Legati variabila rad de distanta dintre cen si un punct pe care il selectati cu mouse-ul. Folositi variabilele in comanda CIRCLE.

Command: (setq cen (getpoint))

pick a point

Command: (setq rad (getdist cen))

pick a point

Command: (command "circle" cen rad)

Dialog cu utilizatorul

Functiile getpoint si getdist primesc si argumente optionale: un sir de text care este afisat in zona liniei de comanda ca o cerere pentru utilizator.

Command: (getpoint "Point:")

Point: 1,1

Daca getdist cere doua puncte, se cere automat al doilea punct 'Second point:'.

Command: (getdist "From point:")

From poin: 1,1

Second point: 2,2

Deoarece getdist primeste doua cereri optionale, ordinea si tipul de date in acest caz sint importante. Daca primul argument al functiei getdist este un sir, acesta reprezinta o cerere. Daca primul argument este un punct, atunci se poate proceda la cererea celui de-al doilea argument.

Command: (getdist (quote (1.0 1.0 0.0)) "To point:")

To point: 2,2

Recapitulare

Functia getpoint returneaza    un punct de la utilizator.

Functia getdist returneaza    o distanta data sub forma unui numar real de la utilizator.

Ambele functii primesc argumente optionale pentru utilizator.

Utilizatorul poate aplica oricare dintre metodele AutoCAD de specificare a punctelor si distantelor la o cerere AutoLISP pentru un punct sau o distanta.

exercitiul 12: cererea si folosirea punctelor de la utilizator

in acest exercitiu veti:

Scrie expresiile care cer utilizatorului puncte si distante.

Scrie comenzile de desenare in AutoCAD.

Partea I

Instructiuni

Scrieti un set de expresii. Testati-le in editorul AutoCAD apoi scrieti-le mai jos.

Cereti utilizatorului patru puncte.

Atribuiti-le variabilelor pt1 prin pt4.

Trasati o polilinie 2-D inchisa intre cele patru puncte.

Partea a II-a

Instructiuni

Scrieti un set de expresii. Testati-le in editorul AutoCAD apoi scrieti-le mai jos.

Cereti utilizatorului un punct centru si atribuiti valoarea unei variabile numite cen.

Cereti utilizatorului distanta de la variabila cen si atribuiti valoarea unei variabile numite rad.

Desenati un cerc cu centrul cen si raza rad.

Partea a III-a

Instructiuni

Scrieti un set de expresii. Testati-le in editorul AutoCAD apoi scrieti-le mai jos.

Cereti utilizatorului doua puncte.

Atribuiti-le variabilelor pt1 si pt2.

Desenati o polilinie 2-D inchisa.

Folositi pt1 si pt2 pentru colturile opuse ale poliliniei.

Calculati celelalte doua puncte din pt1 si pt2 folosind functiile car, cdr si list.

Aceasta pagina a fost lasata libera in mod intentionat.



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 1241
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