Scrigroup - Documente si articole

     

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


Puncte AutoCAD si liste AutoLISP

autocad



+ Font mai mare | - Font mai mic



Puncte AutoCAD si liste AutoLISP

AutoCAD-ul foloseste coordonatele carteziene pentru a descrie punctele 2- si 3-dimensionale. AutoLISP-ul reprezinta un punct sub forma unei liste de numere reale.

Obiective

in acest capitol veti studia:

Cum reprezinta AutoLISP-ul puncte



Cum sa construiti o lista care reprezinta un punct folosind atit constante cit si variabile.

Puncte AutoCAD

Un punct 3-dimensional este format din trei numere, fiecare avind o valoare independenta care corespunde unei distante de la originea sistemului de coordonate de-a lungul axelor X, Y si Z. Imaginati-va punctul 3-D sub forma a trei cutii, fiecare continind un numar real.

Figura 12. Punct 3-d reprezentat prin trei coordonate

Luati, de exemplu, punctul 3-D 1,2,3. AutoCAD-ul are o gama larga de operatori pentru a descrie acest punct: Introducerea in coordonate absolute, relative si polare, agatarea de obiecte, filtre de coordonate etc. Dar reprezentarea interna a punctului se reduce la o asociere intre trei numere reale.

Figura 13. Valori de-a lungul axelor de coordonate.

AutoLISP-ul reprezinta un punct AutoCAD 3-D sub forma unei liste formate din trei numere reale, unde primul element este valoarea coordonatei X, al doilea valoarea Y si al treilea valoarea Z.

Punctul 1,2,3 exprimat sub forma unui obiect AutoLISP este (1.0 2.0 3.0)

Figura 14. Lsta AutoLISP sub forma unui punct AutoCAD

Construirea listelor de coordonate ale punctelor

Rezultatul unei incercari de a crea un obiect AutoLISP, recunoscut de AutoCAD ca punct 3-D, este clar: o lista formata din trei numere reale. Cum se poate construi o astfel de lista?

Exista doua functii pentru construirea acestor obiecte: quote si list.

Construirea punctelor cu functia quote

Asa cum ati observat mai devreme, functia quote impiedica procesul de evaluare pentru singurul ei argument si returneaza acest argument neevaluat.

Construirea unei liste formata din trei numere reale este un proces simplu cu ajutorul functiei quote. De exemplu, expresia (quote (1.0 2.0 3.0) returneaza valoarea (1.0 2.0 3.0), o reprezentare AutoLISP valida a unui punct AutoCAD.

Exemplu

Introduceti expresiile care urmeaza. Creati doua liste formate din cite trei numere reale si folositi listele in linia de comanda AutoCAD.

Command: (setq pt1 (quote (1.0 1.0 1.0)))

Command: !pt1

Command: (setq pt2 (quote (5.0 5.0 0.0)))

Command: !pt2

Command: line

From point: !pt1

To point: !pt2

To point: Enter

Figura 15. Linie de la pt1 la pt2

Construirea punctelor cu functia list

Valoarea returnata a functiei list este o lista formata din valorile argumentelor functiei. Functia poate primi oricite argumente doriti.

list evalueaza fiecare argument, unul dupa altul si le memoreaza valoarea temporar. Cind functia list isi epuizeaza argumentele isi compune valorile argumentelor din elemente in cadrul unei liste si returneaza lista.

Exemplu

Introduceti expresiile care urmeaza.

in timp ce lucrati, nu uitati ca numerele reale se evalueaza pe sine, de exemplu, Command: !4.5 returneaza 4.5.

Folositi functia list pentru a returna o lista formata din trei numere reale.

Command: (list 1.0 2.0 3.0)

Folositi functia setq pentru a lega simbolul pt la o lista cu trei numere reale.

Command: (setq pt (list 1.0 2.0 3.0))

Command: !pt

Folositi simbolul pt ca intrare la comanda AutoCAD ID si verificati daca AutoCAD-ul recunoaste valoarea simbolului ca punct valid 3-D.

Command: id

Point: !pt

X=1.0000 Y=2.0000 Z=3.0000

Command:

Figura 16. Valoare returnata de functia list

Construirea punctelor din variabile cu functia list

Deoarece functia list isi evalueaza argumentele, puteti folosi simboluri sau variabile ca argumente ale functiei list pe/sau in loc de numere reale.

Sa admitem ca aveti trei variabile x, y si z care sint legate de numerele reale 1.0, 2.0 si 3.0.

Figura 17.Legarea variabilelor de numere reale cu functia setq

Atunci expresia (list x y z) va returna aceeasi valoare ca si expresia (list 1.0 2.0 3.0)

   

Figura 18. Valoare returnata de functia list
Exemplu

Introduceti expresiile care urmeaza.

Legati simbolurile x, y si z de trei numere reale

Command: (setq x 1.0)

Command !x:

Command: (setq y 2.0)

Command: !y

Command: (setq z 3.0)

Command: !z

Folositi variabilele ca argumente la functia list.

Command: (list x y z)

Memorati lista intr-o variabila numita pt si folositi-o in cadrul comenzii AutoCAD.

Command: (setq pt (list x y z))

Command: !pt

Command: id

Point: !pt

X=1.0000 Y=2.0000 Z=3.0000

Command:

Recapitulare

AutoCAD-ul foloseste sistemul de coordonate carteziene 3-D pentru a specifica punctele.

Un punct AutoCAD este reprezentat in AutoLISP sub forma unei liste de numere reale.

AutoLISP-ul reprezinta un punct AutoCAD 2-D sub forma unei liste formata din doua numere reale.

Un punct AutoCAD 3-D este reprezentat sub forma unei liste cu trei numere reale.

Functia quote poate construi o lista de numere din constante.

Functia list poate construi o lista de numere din constante sau din variabile.

exercitiul 6: utilizarea listelor de numere ca puncte autocad

in acest exercitiu veti:

Consolida cunostintele despre relatia dintre listele AutoLISP formate din doua sau trei numere reale si punctele AutoCAD.

Lega variabile pentru a reprezenta coordonatele unui punct.

Crea liste ale variabilelor coordonatelor pentru a reprezenta puncte.

Folosi liste ca raspunsuri la cererile de comanda AutoCAD.

Partea I

Introduceti expresiile in coloana din stinga.

Scrieti valoarea returnata a fiecarei expresii in coloana din mijloc.

Daca o legatura simbol apare in cadrul expresiei, scrieti-i valoarea in coloana din dreapta.

Expresia

Valoarea expresiei

Simbol de atribuire

(setq x 1.0)

x = 1.0

(setq y 2.0)

(setq z 0.0)

(list 1.0 2.0 0.0)

(list x y z)

(setq pt1 (list x y z))

!pt1

(quote (5.0 6.0 0.0))

(setq pt2 (quote (5.0 6.0 0.0)))

!pt2

(quote (x y z))

(setq notapoint (quote (x y z)))

!notapoint

Tabelul 15. Crearea punctelor din liste de numere

Partea a II-a

in acelasi desen din partea I introduceti expresiile care urmeaza.

Creati o Linie si un Cerc folosind variabilele legate de liste formate din numere reale asa cum sint punctele pentru comenzile AutoCAD.

Legaturile simbol se bazeaza pe partea I a acestui exercitiu.

Command: line

From point: !pt1

To point: !pt2

To point: Enter

Command: circle

3P/2P/TTR/<center point>: 2p

First point on diameter: !pt1

Second point on diameter: !pt2

Figura 19. Linie si cerc folosind variabilele pt1 si pt2

Aceasta pagina este lasata libera in mod intentionat.



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


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