Visual LISP este o aplicație ObjectARX, ceea ce înseamnă că rulează direct sub AutoCAD. Având la bază Vital LISP, program dezvoltat de Basis Software, Visual LISP cuprinde o serie de module având menirea de a ajuta dezvoltatorii în realizarea de noi aplicații AutoCAD. Aceste module conțin un editor dedicat dezvoltării de programe LISP, o consolă LISP, fereastra proiectului și altele. De asemenea, trebuie remarcat că interfața unora dintre aceste aplicații arată diferit deoarece au fost dezvoltate de grupuri diferite. Visual LISP este un sistem evoluat de programare și nu doar un compilator al unui limbaj de programare. Programatorii AutoLISP de ocazie ar putea spune că ei nu au nevoie de un compilator pentru micile aplicații pe care le realizează. De fapt, orice programator AutoLISP cu experiență, are nevoie să piardă ceva timp până când realizează ceea ce și-a propus, iar aceasta nu pentru că AutoLISP-ul ar fi neprietenos.
Instalarea acestui software este foarte ușoară. În Windows, se începe automat instalarea în momentul în care ați introdus CD-ROM-ul cu kit-ul de instalare în unitatea de citit. Componentele programului se instalează într?un director care se creează singur, nemodificându-se AutoCAD-ul în nici un fel. De fapt, puteți utiliza AutoCAD-ul ca și până acum, apelând Visual LISP doar atunci când aveți nevoie de el. Aceasta este o caracteristică importantă a Visual LISP, reprezentând una dintre metodele cele mai uzuale pentu adăugarea de noi caracteristici (aplicații) AutoCAD-ului. Sistemul ObjectARX permite adăugarea de aplicații AutoCAD-ului fără modificarea produsului în sine. Managerul sistemului permite acest lucru, permițând de asemenea, reducerea timpului necesar adăugării unei noi caracteristici și a timpului necesar verificării deoarece sistemul de bază nu se modifică. Odată instalată aplicația, nu aveți decât să o încărcați utilizând comanda APPLOAD sau urmând succesiunea din meniul pull-down al AutoCAD-ului: Tools/Load Application... De acum înainte puteți apela aplicația ori de câte ori veți avea nevoie, doar introducând comanda VLIDE.
Se pune întrebarea, de altfel firească, dacă o aplicație realizată in mediul de programare Visual LISP rulează mai rapid decât una realizată în AutoLISP. Ei bine, referitor la relația dintre timpul necesar realizării și rulării unei aplicații vizavi de Visual LISP, există două aspecte distincte care trebuie menționate. Întrebarea de bază este dacă aplicația rulează mai rapid. În principiu, răspunsul este afirmativ, cu câteva observații. Există diferențe subtile între modul individual de interpretare în evaluarea codului program și consecvența cu care este acesta realizat, acest aspect ducând la viteze diferite de rulare a aplicației. Cu alte cuvinte, depinde foarte mult de stilul de programare utilizat. De exemplu, la testele făcute pentru compararea vitezelor dintre Visual LISP și AutoLISP, s-au observat cazuri în care AutoLISP a rulat mai rapid. AutoLISP s-a descurcat mai ușor în rezolvarea problemelor de recurență decât Visual LISP. Ca exemplu, s-a utilizat problema rezolvării unei funcții de calcul al factorialului. Chiar după ce a fost compilat programul într-un modul ARX, AutoLISP s-a descurcat mai repede în rezolvarea acestei probleme. Oricum, în alte teste utilizând structuri mult mai complexe, cu multe iterații și calcule în virgulă mobilă, Visual LISP a fost de două sau chiar trei ori mai rapid decât AutoLISP. Deci, vă puteți aștepta ca o aplicație, care utilizează multe calcule numerice, să ruleze mai rapid dacă este realizată în mediul Visual LISP.
Al doilea aspect de care trebuie ținut cont și de care pomeneam la început, este timpul pe care îl pierde programatorul în realizarea aplicației respective. Sub acest aspect, Visual LISP oferă îmbunătățiri semnificative față de orice mediu de programare în AutoLISP de până acum. Mediul de editare este deosebit de prietenos pentru introducerea programului iar codurile de culoare fac foarte ușoară citirea programelor sursă deja existente. De fapt, el are introduse în editor câteva caracteristici care fac ușoară munca cu codul AutoLISP.
Mediul de dezvoltare interactiv Visual LISP (VLIDE ? Visual LISP Interactive Development Environment) rulează direct în interiorul AutoCAD-ului R14. El are câteva ferestre, pe care programatorii le pot utiliza pentru vizualizarea aplicației la care lucrează. Pentru cei care sunt noi în utilizarea programării sub Windows, s-ar putea să le pară complicat la o primă vedere. Help-ul sensibil la context, precum și tool tips-urile, ajută la învățarea utilizării interfeței. Cel mai mult timp îl pierd programatorii în scrierea și corectarea codului pe faze. Visual LISP conține numeroase caracteristici de corectare a codului sursă, cum ar fi balansul parantezelor, formatarea automată a textului, simboluri de protecție și altele, toate acestea având ca rezultat reducerea timpului necesar pentru a face programul respectiv să funcționeze.
Prima caracteristică testată, dintre cele de corectare a codului sursă, a fost balansul parantezelor. Având un instrument bun pentru verificarea parantezelor, puteți economisi mult timp necesar altfel, la verificarea lipsei unei paranteze sau dacă există în plus paranteze. Plasați cursorul oriunde în codul sursă al programului, apoi aduceți-l înaintea parantezei pe care vreți să o verificați, dacă aceasta este de stânga, respectiv după ea, dacă este de dreapta. Dacă apăsați combinația de taste formată din Ctrl și paranteza de dreapa, respectiv stânga, cursorul sare automat la paranteza pereche a celei analizate. Totodată, dacă la combinația de taste anterioare se adaugă și apăsarea tastei Shift, atunci întregul câmp aflat între cele două paranteze este activat. De reținut că sunt valabile pentru selecție atât parantezele rotunde, cât și cele pătrate.
Deoarece aceasta este o caracteristică internă a editorului, orice greșeală apărută în codul sursă al programului poate fi corectată pe loc, imediat ce a fost depistată.
Această caracteristică preia codul sursă AutoLISP și-l reformatează urmând prescripțiile stabilite anterior. Dacă veți utiliza această caracteristică a mediului de dezvoltare interactiv Visual LISP, toate programele vor arăta la fel, având același mod de indentare și de legare a parantezelor. În cazul în care programul a fost realizat de un alt programator, codul sursă al programului s-ar putea să arate diferit. O altă posibilitate ar fi ca programul respectiv să fie mai vechi, astfel, în timpul scurs de la conceperea sa, modificându-se stilul propriu de scriere a codului sursă. Astfel, această caracteristică de formatare automată a codului sursă ne oferă posibilitatea de a avea un standard în ceea ce privește modul de prezentare a unui program, permițându-ne să corectăm mai ușor programele, chiar dacă au fost scrise de altcineva. Iar lucrul cel mai important este că acest mod de formatare este programabil.
După formatarea textului codul sursă este mult mai ușor de citit. O altă caracteristică importantă este utilizarea codurilor de culoare. Ea ajută la depistarea erorilor de sintaxă. Astfel, dacă vreți să introduceți o comandă, aceasta își va schimba culoarea doar în momentul în care a fost introdusă corect.
După încărcarea codului sursă în fereastra consolei, codul poate fi rulat cu caracteristica de animație activată, având astfel, o privire mai bună asupra corectitudinii scrierii acestuia, și urmărind totodată modul de derulare a programului, integral sau pe porțiunea încărcată. De reținut că durata animației este programabilă. Încărcarea în fereastra consolei a aplicației se poate face fie din meniul pull-down prin: Tools/Load Selection sau Tools/Load Text in Editor, dacă este vorba de o zonă selectată din aplicație, respectiv de întreaga aplicație, fie utilizând icon-ele definite în acest scop. De asemenea, se pot utiliza și combinații de taste (arătate de altfel, în meniul pull-down). Pentru lansarea aplicației nu este nevoie să se revină în AutoCAD, ci doar ca în caseta consolei să se treacă în mod AutoCAD. Acest lucru se obține prin realizarea următoarei succesiuni din meniul pull-down al lui Visual LISP for AutoCAD Release 14: Tools/AutoCAD Mode (respectiv Ctrl-Shift-C). Acum, pe prompt-ul Command: din fereastra consolei, se poate lansa aplicația la fel ca și în AutoCAD.
Aceasta este o altă caracteristică utilă a lui Visual LISP. Apelarea ei se face prin selectarea din meniul pull-down al lui Visual LISP a comenzii View/Apropos Window... (respectiv Ctrl-Shift-A, este valabilă și combinația de taste Ctrl-Shift-Space). Astfel, apare o casetă de dialog în care se introduc o succesiune de caractere care aparțin unor simboluri. Simbolurile care conțin această succesiune de caractere sunt afișate într-o casetă nouă. Putem afla informații asupra unuia dintre simboluri făcând un dublu click pe simbolul care ne interesează.
Visual LISP suportă un număr mărit de funcții față de AutoLISP. Funcțiile noi introduse de Visual LISP sunt prezentate în tabel. De exemplu, printre funcțiile noi introduse se numără și câteva dedicate gestiunii sistemului. Acest lucru este o noutate pentru programatorii cu experiență din AutoLISP, până acum având doar alternativa de a lucra în ADS sau ARX pentru rezolvarea problemelor legate de gestiunea fișierelor. De asemenea, sunt prezente noi mijloace de manipulare a listelor și șirurilor. Deoarece Visual LISP este o aplicație ObjectARX, ea poate expune integral programatorului structura internă, cu toată baza de date, a AutoCAD-ului. Aceasta înseamnă că programatorul în Visual LISP are acces la obiecte atât la metode, cât și la proprietăți. Metodele sunt librării de funcții care îndeplinesc scopuri bine definite cu obiectele din baza de date. Unele sunt metode de reactualizare a proprietăților obiectelor (gîndiți-vă de exemplu, la straturi, culori, puncte, raze, ș.a.m.d.) iar altele sunt metode dedicate situaților de interacțiune cu obiecte, cum ar fi cazul determinării intersecției unui obiect cu altul. Aceasta nu face din Visual LISP un sistem de programare orientat obiect, deoarece el nu îndeplinește toate criteriile necesare (încapsulare, polimorfism și moștenire). ObjectARX utilizează direct manipularea obiectelor, acest lucru făcându-se mult mai rapid. Oricum, Visual LISP este un sistem evoluat deoarece utilizează accesul la obiecte, dar nu este tot atât de rapid ca și utilizarea mediului ObjectARX singur.
Acum, baza de date internă include mai mult decât doar date grafice. De fapt, cuprinde funcții de rechemare care permit ca programul dvs. să fie apelat când are loc o schimbare. Aceasta înseamnă că stabiliți o funcție care să servească ca și funcție de rechemare atunci când un eveniment particular se întâmplă în interiorul sistemului. Această funcție este apelată doar atunci când evenimentul respectiv are loc. În general, în programele AutoLISP, utilizatorul pornește aplicația din linia de comandă a AutoCAD-ului sau din meniu. Când aplicația se încheie, controlul revine sistemului. Aceste funcții de reacție sunt apelate de sistem când un eveniment are loc. Există patru grupe de funcții de reacție în interiorul sistemului AutoCAD-ului. Prima este cea de legături, utilizată pentru formarea de legături cu alte aplicații ARX. Funcțiile de reacție de tip editor vă anunță când o comandă este pornită sau când sistemul de desenare este salvat sau abandonat. Funcțiile de reacție de tip bază de date sunt apelate atunci când se întâmplă ceva în baza de date a desenului, cum ar fi de exemplu, adăugarea sau ștergerea unui obiect. În sfârșit, funcțiile de reacție de tip obiect sunt atașate de obiectele individuale din baza de date a desenului și sunt apelate când aceste obiecte sunt importate. O listă a acestor funcții este prezentată în tabel.
O altă caracteristică importantă a mediului de dezvoltare interactiv Visual LISP este posibilitatea transformării unei aplicații într-un program ARX. Dacă veți dori să faceți acest lucru, aveți la dispoziție trei alternative. Prima este versiunea VLX, care este o versiune a mediului Visual LISP, pentru rularea acesteia având nevoie de încărcarea, în prealabil, a Visual LISP-ului în AutoCAD. Avantajul acestei versiuni este dimensiunea mult mai mică a fișierului decât a unei versiuni ARX. Pentru transformarea într-o aplicație ARX avem la dispoziție două variante: Standard ARX sau ARX cu utilizarea metodei ActiveX. Pentru realizarea aplicației ARX este nevoie de încărcarea tuturor elementelor proiectului, și anume, atât a codului sursă LISP, cât și a fișierelor care conțin casetele de dialog, etc.; aceste fișiere trec de 500 KB deoarece conțin absolut totul în ele. Dacă lucrați cu o aplicație închisă, ea va rula perfect, în schimb, dacă veți utiliza mici module ARX separate s-ar putea să apară probleme prin supraîncărcarea sistemului, reducându-se astfel performanțele acestuia. O altă problemă care poate să apară este legată de trecerea la o variantă nouă de AutoCAD, în acest caz trebuind să se realizeze și o reactualizare a aplicației. În oricare din aceste cazuri pornirea este aceeași. Din meniul pull-down al lui Visual LISP se lansează comanda File/Make Application/New Application Wizard... (respectiv Ctrl-Shift-M). După introducerea numelui aplicației, apare o casetă de dialog în care se face selecția tipului de aplicație pe care vrem să o obținem (VLX, Standard ARX sau ARX cu ActiveX), continuând cu completarea celor 8 pași, fiecare având o casetă de dialog proprie, necesari pentru ducerea la bun sfârșit a aplicației.
În încheiere, trebuie remarcat că Visual LISP este o opțiune demnă de luat în seamă de programatorii catre utilizează în mod frecvent AutoLISP-ul, oferindu-le facilități multiple. Dar poate mai important decât aceasta este faptul că, prin această nouă aplicație, Autodesk oferă un semnal clar asupra continuării prezenței AutoLISP-ului, ca mijloc de personalizare a sistemului, în viitoarele versiuni de AutoCAD. Chiar dacă nu este atât de ușor de utilizat ca și AutoLISP-ul, mediul de dezvoltare interactiv Visual LISP este o prezență bine venită pentru dezvoltatorii de aplicații sub AutoCAD.