Sunteți pe pagina 1din 11

#19

19.Tehnologii de programare n mediul AutoCAD. Fiiere SCRIPT, LISP, !A


19.1.Fiiere de comenzi AutoCAD. Comanda SCRIPT
Cel mai simplist mod de automatizare a unor operaii n mediul AutoCAD l constituie crearea i rularea fiierelor de comenzi, denumite fiiere script. Acestea sunt fiiere-text, salvate n format ASC . !xtensia unui fiier de comenzi este .scr. "n fiier script se creaz# cu un editor de texte oric$t de simplu, cum ar fi %otepad sau &ordpad, rulat n afara sesiunii AutoCAD. Atenie! Un iier script tre!uie s" ie sa#$at %n ormat ASCII! ncluderea unor comentarii n fiierele script este posi'il# prin utilizarea caracterului " la nceputul liniei. (inia va fi considerat# n ntre)ime un comentariu. Caracterul *+, adic# ap#sarea tastei *!%,!-+, se reprezint# prin spaiu. Caracterul de sf$rit de r$nd din fiierul script are aceeai valoare. %umele lun)i de fiiere incluse ntr-un fiier script tre'uie s# fie scrise ntre ).ilimele. /ntr-un fiier script nu se admit opriri pentru introducerea datelor. Datele tre'uie s# fie scrise n totalitate n fiier. "n exemplu de fiier script este redat mai 0os1
; rozeta din 4 cercuri, cu centrul rozetei in origine ;primul cerc CIRCLE 0,50 100 ; al doilea cerc CIRCLE 50,0 100 ; al treilea cerc CIRCLE 0,-50 100

19.Tehnologii de programare n mediul AutoCAD. Fiiere SCRIPT,

##$
; al patrulea cerc CIRCLE -50,0 100

!xemplul se nc.eie pe r$ndul al zecelea. "n fiier script se lanseaz# n lucru prin comanda SCRIPT. 2iierele script sunt utile n realizarea unor prezent#ri constituite din succesiuni de slide-uri create n AutoCAD, precum i n crearea o'iectelor 3dmes. n care vertex-urile sunt precizate explicit, punct cu punct. /ntr-o prezentare de slide-uri, pentru a asi)ura staionarea unui slide pe ecran un anumit timp, se folosete comanda D&'A(, specific$nd durata n milisecunde a nt$rzierii dorite. 4aloarea poate fi un num#r natural ntre 5 i 36787. ma)inile utilizate n prezent#rile de acest tip, slide-urile, sunt create prin comanda )S'ID& anterior rul#rii script-ului, i tre'uie s# se )#seasc# n directorul curent de lucru, sau pe o cale de c#utare prespecificat#. -epetarea automat# a execuiei unui fiier script este asi)urat# de folosirea comenzii RSCRIPT pe ultima linie a fiierului. eirea din ciclu se realizeaz# tast$nd *!sc+. 9entru a crea fiiere script corecte, este necesar# o foarte 'un# cunoatere a mediului AutoCAD i mult# experien#. at# un exemplu de fiier script utilizat la prezentarea unei secvene de slide-uri1
; incepe prezentarea si se incarca SLIDE1 SLIDE SLIDE1 ; se preincarca SLIDE! SLIDE "SLIDE! ; se #izioneaza SLIDE1 timp de ! secunde DEL$% !000 ; se a&iseaza SLIDE! SLIDE ; se preincarca SLIDE' SLIDE "SLIDE' ; se #izioneaza SLIDE! timp de ! secunde DEL$% !000 ; se #izioneaza SLIDE' timp de ' secunde SLIDE DEL$% '000 ; se repeta ciclul

Lia D L!A

AutoCAD "### n dou$%e&i de pai

##1
RSCRI()

19.*.Fiiere 'ISP . Comenzi#e +'ISP i APP',AD


(im'a0ul de pro)ramare asociat implicit mediului AutoCAD este Auto'ISP. Acesta este un derivat al lim'a0ului de inteli)en# artificial# 'ISP i permite crearea unor aplicaii proprii ale utilizatorului pentru mediul AutoCAD. nterpretorul Auto( S9 este n)lo'at n AutoCAD, astfel c# expresii Auto( S9 pot fi utilizate c.iar pe linia de comand#, la prompter-ul Command1 sau din fiiere externe nc#rcate n memorie. 9entru a o'ine repata'ilitatea utiliz#rii expresiilor Auto( S9, ele tre'uie scrise n fiiere format ASC , cu extensia .#sp. "n fiier lisp poate fi creat n orice editor de texte, cu condiia scrierii sale corecte i a salv#rii n formatul ASC . 4ersiunea AutoCAD 6::: include un mediu inte)rat de dezvoltare ;Inte)rated Development %nvironment<, numit +isua# 'ISP, care conine un compilator, un depanator ;de'u))er<, cataloa)e de funcii precum i controale vizuale care s# simplifice mult scrierea pro)ramelor Auto( S9. /n fi). 5=.5 se prezint# fereastra de lucru pentru 4isual ( S9.

19.Tehnologii de programare n mediul AutoCAD. Fiiere SCRIPT,

###

Figura 19.1 Ferea&tra de lu'ru pentru +isua# 'ISP Aplicaiile Auto( S9 interacioneaz# cu AutoCAD n moduri multiple. 2unciile Auto( S9 pot solicita date de intrare, pot accessa comenzi interne AutoCAD, pot crea i manipula o'iecte n desen, at$t de natur# )rafic# ;cercuri, linii, polilinii, .auri, cilindri, texte, etc.<, c$t i de natur# ne)rafic# ;la>er-e, tipuri de linii, stiluri de scriere, etc.<. 9rin intermediul unor pro)rame Auto( S9, utilizatorul i poate defini propriile comenzi AutoCAD. ?dat# definite, acestea pot fi utilizate simplu, similar cu orice comand# intern#. Scrierea pro)ramelor Auto( S9 necesit# mult# experien# i cunoaterea avansat# a mediului AutoCAD. !xemplul de mai 0os prezint# definirea unei comenzi AutoCAD noi, denumit# R,-&TA, care deseneaz# rozeta din @ cercuri cu centrul n punctul specificat. Lia D L!A AutoCAD "### n dou$%e&i de pai

##(
*de&un C+R,-E)$*. c c1 c! c' c4 r ecou/ ; se sal#eaz0 starea curenta a #aria1ilei de sistem C2DEC3, *set4 ecou *get#ar 5C2DEC3,6// ; se inlatura ecoul comenzilor pe linia de comanda *set#ar 5C2DEC3,6 0/ ; se speci&ica pozitia centrului *initget 1/ *set4 c *getpoint 5.nSpeci&icati centrul rozetei+6// ;se speci&ica raza unui element *initget 7/ *set4 r *getdist c 5.nSpeci&icati raza elementului+6// ;se calculeaz0 pozi8ia celor 4 centre *set4 c1 *list *car c/ *9 *cadr c/ r/// *set4 c! *list *9 *car c/ r/ *cadr c/// *set4 c' *list *car c/ *- *cadr c/ r/// *set4 c4 *list *- *car c/ r/ *cadr c/// ; se deseneaz0 cele 4 cercuri *command 5CIRCLE6 c1 r/ *command 5CIRCLE6 c! r/ *command 5CIRCLE6 c' r/ *command 5CIRCLE6 c4 r/ ;se resta1ileste ecoul comenzilor pe linia de comanda *set#ar 5C2DEC3,6 ecou/ /

/nc#rcarea n desen a unor aplicaii scrise n Auto( S9 se realizeaz# fie prin comanda APP',AD. fie prin funcia Auto( S9 /#oad 0nume1ap#icatie23. Comanda APP',AD desc.ide caseta de dialo) din fi). 5=.6, denumit# 'oad4Un#oad App#ication. Din caset#, se poate selecta fiierul dorit, dup# care, prin 'utonul 'oad, se ncarc# efectiv acel fiier n memorie. -u'rica din st$n)a-0os anun# nc#rcarea efectuat#. -u'rica Startup Suite permite ale)erea aplicaiilor care se ncarc# automat n memorie la nceperea sesiunii de lucru. "n fiier lisp nc#rcat n memorie poate fi desc#rcat prin aceeai comand# i caset# de dialo). Desc#rcarea din memorie duce la )ospod#rirea mai eficient# a resurselor de lucru. Scrierea expresiilor Auto( S9 direct pe linia de comand# este admis#, dar execuia este volatil#, nefiind repeta'il#, dec$t n urma unei noi scrieri.

19.Tehnologii de programare n mediul AutoCAD. Fiiere SCRIPT,

##+

Figura 19.# Ca&eta de dialog pentru n')r'area apli'a*iilor AutoLISP

19.5.Proiecte +6A. Comenzi#e +6A)A7.+6A',AD. +6AU7',AD. +6ARU7. +6AID&


"tilizatorii de AutoCAD resimt necesitatea de a dezvolta noi aplicaii, de a automatiza i simplifica operaiile, astfel nc$t s# do'$ndeasc# maximum de eficien# i comoditate n lucru. "nul din mi0loacele cele mai evoluate i mai ele)ante de realizare a acestui deziderat este crearea aplicaiilor +6A. 4AA este a'revierea denumirii +isua# 6asic or App#ications i desemneaz# un lim'a0 de pro)ramare derivat din 4isual Aasic Standard, cu facilit#i specifice pentru CAD. Lia D L!A AutoCAD "### n dou$%e&i de pai

##, AutoCAD include un mediu de dezvoltare interactiv# a aplicaiilor, 4AA D! ;4AA nteractive Development !nvironment<, cu c$teva caracteristici care l individualizeaz# fa# de mediile similare create pentru alte pac.ete soft. Cu a0utorul 4AA D!, se pot crea proiecte 4AA, care sunt colecii de module de cod, module de clas# i formulare electronice destinate toate ndeplinirii unei anumite funcii. Aceast# funcie are de o'icei un caracter complex. "n proiect 4AA poate fi stocat n interiorul desenului, ca em!edded pro8ect, caz n care se salveaz# odat# cu acesta, sau n afara unui desen, ca un fiier independent, 9#o!a# pro8ect. /n prima variant#, proiectul n cauz# este utiliza'il numai n interiorul desenului-)azd# i se ncarc# automat la desc.iderea desenului. "n sin)ur proiect 4AA poate fi fixat n desen la un moment dat. /n varianta a doua, proiectul este disponi'il spre utilizare n orice desen, dar tre'uie nc#rcat n mod explicit. "n proiect )lo'al poate fi parta0at cu ali utilizatori. "tilitarul +6A )ana9er )estioneaz# unitar toate proiectele 4AA disponi'ile ;fi). 5=.6<. "tilitarul permite nc#rcarea., desc#rcarea, salvarea, crearea unor proiecte, fixarea B i respectiv extra)erea proiectelor 4AA din desen. "tilitarul este lansa'il prin comanda +6A)A7 sau din meniul pull-doCn Too#s, linia )acro. Comenzile +6A',AD i +6AU7',AD ncarc#Ddescarc# din memorie proiecte 4AA.

19.Tehnologii de programare n mediul AutoCAD. Fiiere SCRIPT,

##.

Figura 19.# -tilitarul +6A )ana9er ntervenia n desen a elementelor dintr-un proiect 4AA se concretizeaz# prin macrocomenzi. (ansarea unei macrocomenzi se realizeaz# prin +6ARU7, activa'il# i din meniul pull-doCn Too#s. Caseta de dialo) )acros ;fi). 5=.3<, desc.is# de comanda +6ARU7 ofer# lista macrocomenzilor accesi'ile n momentul lucrului. Casetele )acros i +6A )ana9er sunt apela'ile reciproc, pentru a asi)ura )estionarea rapid# a proiectelor i a macrocomenzilor. 9entru crearea, corectarea, modificarea proiectelor 4AA, se utilizeaz# 4AA D!, mediul de lucru menionat anterior. Acesta se poate lansa fie din +6A )ana9er ;'utonul +isua# 6asic &ditor<, fie din meniul pull-doCn Too#s, linia )acro, sau prin comanda +6AID&.

Lia D L!A

AutoCAD "### n dou$%e&i de pai

##2

Figura 19.( Ca&eta de dialog /)acros0 de&tinat) managementului ma'ro'omen1ilor /n fi). 5=.@ i n fra)mentul de pro)ram de mai 0os, se prezint# un exemplu de creare a unei aplicaii printr-un proiect 4AA, aplicaie n care se deseneaz# rozeta din patru cercuri exemplificat# anterior n Auto( S9 i ntr-un fiier script.
(ri#ate Su1 d:cmd:Clic;*/ <Declaram #aria1ilele in care se stoc=eaza <coordonatele centrelor cercurilor Dim center*0 )o !/ $s Dou1le Dim c1*0 )o !/ $s Dou1le Dim c!*0 )o !/ $s Dou1le Dim c'*0 )o !/ $s Dou1le Dim c4*0 )o !/ $s Dou1le Dim radius $s Dou1le <Citim coordonatele rozetei din casutele te>t center*0/ ? CD1l*@serAorm1B)e>tCo>1B)e>t/ center*1/ ? CD1l*@serAorm1B)e>tCo>!B)e>t/ center*!/ ? 0

19.Tehnologii de programare n mediul AutoCAD. Fiiere SCRIPT,

##3
radius ? CD1l*@serAorm1B)e>tCo>'B)e>t/ <Calculam coordonatele cercului 1 c1*0/ ? center*0/ c1*1/ ? center*1/ 9 radius c1*!/ ? 0 Set circle,1D1 ? )=isDraEingB2odelSpaceB$ddCircle*c1, <Calculam coordonatele cercului ! c!*0/ ? center*0/ - radius c!*1/ ? center*1/ c!*!/ ? 0 Set circle,1D! ? )=isDraEingB2odelSpaceB$ddCircle*c!, <Calculam coordonatele cercului ' c'*0/ ? center*0/ c'*1/ ? center*1/ - radius c'*!/ ? 0 Set circle,1D' ? )=isDraEingB2odelSpaceB$ddCircle*c', <Calculam coordonatele cercului 4 c4*0/ ? center*0/ 9 radius c4*1/ ? center*1/ c4*!/ ? 0 Set circle,1D4 ? )=isDraEingB2odelSpaceB$ddCircle*c4, <Regeneram #ieEport-ul acti# )=isDraEingBRegen ac$cti#e ieEport -oom$ll 2sgCo> FRozeta a &ost creataGGGF, , FRozetaF End Su1 (ri#ate Su1 e>it:cmd:Clic;*/ End End Su1 (ri#ate Su1 @serAorm:Initialize*/ @serAorm1BLe&t ? ' " )=isDraEingBHidt= . 4 @serAorm1Btop ? )=isDraEingB3eig=t . ! End Su1

radius/

radius/

radius/

radius/

Lia D L!A

AutoCAD "### n dou$%e&i de pai

##9 Figura 19.+ Ca&eta de dialog 'reat) n !A, pentru parametri1area ro1etei din + 'er'uri

19.Tehnologii de programare n mediul AutoCAD. Fiiere SCRIPT,

S-ar putea să vă placă și