Noi caracteristici ale personalizarii
Scopul acestui capitol este de a explica modul de încarcare a aplicatiilor rezidente AutoLISP, ActiveX Automation si aplicatii modulare.
Obiective
În acest capitol, veti
Face rezidente aplicatiile AutoLISP
Parcurge ActiveX Automation si câteva din aplicatiile sale
Observa procesul de încarcare la cerere a aplicatiilor
AutoLISP rezident
Atunci când începeti un nou desen, AutoLISP ramâne încarcat din desenele anterioare. Când AutoLISP se autoîncarca, el ramâne disponibil pentru toate desenele din sesiunea de lucru curenta.
În tabelul Compatibility din caseta de dialog Preferences, puteti opta daca AutoLISP este reîncarcat automat între desene, prin selectarea sau deselectarea optiunii Reload AutoLISP Between Drawings
Folosind OLE 2.0 Automation, puteti dezvolta fisiere script, macrouri sa 353h71d u aplicatii ale altor parteneri, pentru AutoCAD, cu limbaje moderne si accesibile, precum Visual Basic 4.0 sau Visual C++. Cu Active X, puteti crea si edita obiecte din orice aplicatie, care serveste drept controler Active X, precum Microsoft Excel.
Urmatoarele trei sunt elementele de baza pentru terminologia Active X:
Obiecte AutoCAD care sunt posibil a fi procesate sunt cunoscute ca obiecte Active X
Metodele sunt functii care îndeplinesc o actiune asupra unui obiect Active X
Proprietatile sunt functii care returneaza informatii despre starea unui obiect
Autodesk Development System (ADS) si AutoCAD Runtime Extension (ARX) au fost dezvoltate ca instrumente de programare pentru programatori avansati. Active X este un instrument de programare mai compact si transportabil, accesibil tuturor programatorilor.
Active X este o alternativa la AutoLISP si Proteus. Versiunea interfetei în AutoCAD este foarte asemanatoare cu interfata Active X în alte aplicatii, precum Microsoft Excel, Microsoft Acces, Visio 3.0, iar tehnicile de programare sunt aceleasi în toate aplicatiile. Puteti lucra cu obiecte din diferite aplicatii în acelasi timp, sau puteti automatiza operatiile repetitive în AutoCAD, precum crearea componentelor parametrizate.
AutoCAD functioneaza numai ca server Active X, nu si ca controler, si cere ca o aplicatie precum Excel sa lucreze ca un controler automat.
Functia de batch plot (plotare din stiva) din AutoCAD este un exemplu de program Active X. Pentru informatii asupra acestei functii, vedeti "Plotarea din stiva" din capitolul 6 al acestui manual. Pentru o documentare completa asupra metodelor Active X, vedeti help-ul online, la sectiunea "Using Active X Guide".
În AutoCAD, obiectele Active X sunt toate obiectele din interiorul
AutoCAD-ului, inclusiv layerul, blocul, stilul de text, linia, arcul, cercul,
pentru a denumi câteva dintre ele. Aceste obiecte sunt accesibile unui
controler Active X, precum Excel. Utilizând caseta de dialog Object Browser din Excel, puteti avea
acces la multe setari si la controlul obiectelor AutoCAD, asa
cum se prezinta în figura urmatoare:
Fig 5- Caseta de dialog Object Browser din Excel
Aceste obiecte devin disponibile în Excel, deoarece AutoCAD îsi înregistreaza obiectele în mediul sistemului de operare. Având acces la aceste obiecte si la setarile pentru Property si Methods, vi se ofera conditiile pentru crearea si manipularea desenelor AutoCAD.
Proprietatile obiectelor
Proprietatea unui obiect este un atribut sau o caracteristica a acestuia. În cazul unei linii, câteva din proprietatile ei sunt punctele de început si de sfârsit si grosimea. Asa cum puteti observa din figura 5-2, numele unui obiect de tip linie în AutoCAD este AcadLine (în lista din partea stânga) si una din multele lui proprietati este endPoint (în lista din partea dreapta).
Atunci când creati un macro în Excel (controler Active X), puteti folosi oricare dintre obiecte (din lista Objects/Modules) sau accesa oricare dintre proprietatile obiectelor (din lista Methods/Properties). Combinarea acestor setari vor conduce la un macro sau program.
Metode
Metodele sunt diferite de proprietati, în sensul ca metoda controleaza actiunea unui obiect sau valori. Câteva din metodele disponibile pentru Line sunt Erase, Copy sau Move. Un exemplu este folosirea selectiei Move din lista Methods/Properties, asa cum se prezinta în figura 5-3.
Fig 5- Caseta
de dialog Object Browser cu AcadLine selectata
Puteti controla mutarea unei linii cu o singura metoda. Aceasta difera de proprietatea StartPoint sau EndPoint prin aceea ca puteti folosi o singura setare (metoda) pentru a controla punctele de început si de sfârsit ale unei linii, în loc de doua setari (proprietate), câte una pentru fiecare capat. Sunt foarte asemanatoare, dar când sunt folosite corect pot mari viteza de accesare a macroului sau programului.
Fig 5-
Caseta de
dialog Object Browser cu metoda Move selectata
Exercitiul 1: Utilizarea Active X
În acest exercitiu, veti folosi Excel pentru a crea un macro care deseneaza un obiect în AutoCAD.
Considerarea unui obiect AutoCAD de catre Excel
Deschideti aplicatia Excel.
Din meniul Insert, selectati Macro, apoi Module pentru a insera o pagina Module.
Din meniul Tools, selectati Reference.
În caseta de dialog Reference, prezentata în figura urmatoare, marcati AutoCAD Object Library.
Fig 5-
Caseta de dialog References
Selectati OK pentru a închide caseta de dialog. Aceasta face ca Excel sa ia in considerare obiectele AutoCAD. Puteti accesa obiectele listate prin alegerea din meniul View a optiunii Object Browser sau prin apasarea tastei F2.
Crearea unui macro
Mai întâi, veti înregistra un macro, pe care îl veti fixa într-o pagina modul. Pagina modul este locul în care este plasata programarea în Visual Basic. Din meniul Tools, selectati Record Macro, apoi alegeti Record New Macro.
Dati un nume macroului (în acest caz, Draw_Circle) în aceasta
caseta de dialog, asa cum se prezinta în figura urmatoare:
Fig 5- Caseta de dialog Record New Macro
Selectati OK. Excel va afisa un tool palette cu un buton
patrat "stop recording", asa cum se prezinta în figura
urmatoare:
Fig 5- Stop Recording
Apasati acest buton pentru a opri înregistrarea macroului. Aceasta a fost facuta pentru a stabili un nume de macro si o pagina modul asociata.
Faceti activa noua pagina modul. Veti vedea
urmatorul cod:
Fig 5- Microsoft Excel prezentând Sub Draw_Circle
Daca aveti unul sau mai multe "coduri" între liniile Sub Draw_Circle() si End Sub, stergeti-le si treceti la pasul urmator. Acest "cod" aditional este datorat unui meniu sau toolbar pe care l-ati mutat si nu au importanta pentru macroul pe care îl creati.
Urmatorul exemplu de cod porneste AutoCAD-ul, deseneaza un cerc cu centrul la (5,5,0) si de raza 0.5. Acest cod schimba apoi layerul, culoarea si tipul de linie al cercului la valorile "Geometry", "Green" si, respectiv, Dashed si salveaza desenul sub numele circle.dwg.
Asigurati-va ca pagina modul este activa si introduceti urmatorul cod Visual Basic:
Option Explicit
Public acad As Object
Sub Draw_Circle()
Dim dwg As Object
Dim circle1 As Object
Dim mspace As Object
Dim centerpt (1 to 3) As Double
Set acad = CreateObject ("AutoCAD.Application")
acad.Visible = True
centerpt (1) = 2#
centerpt 2) = 2#
centerpt (3) = 0#
Set dwg = acad.ActiveDocument
dwg.Layers.Add ("Geometry")
Set mspace = dwg.ModelSpace
Set circle1 = mspace.AddCircle (centerpt, 0.5)
circle1.Layer = "Geometry"
circle1.Color = acGreen
dwg.SaveAs ("c: circle")
End Sub
Ecranul dumneavoastra se va prezenta sub forma urmatoare:
Fig 5- Macroul Draw_Circle
Daca calculatorul dumneavoastra nu are suficiente resurse de
memorie RAM, asigurati-va ca ati închis orice sesiune AutoCAD deschisa. Apoi,
folositi butonul Run Macro din tool palette Visual Basic, pentru a rula
acest macro:
Fig 5- Selectarea comenzii Run Macro din toolbar-ul Visual Basic
Daca macroul curent nu a fost salvat, Excel va afisa caseta de
dialog Macro,
asa cum se prezinta în figura urmatoare. Introduceti un
nume pentru acest macro, apoi selectati butonul Run.
Fig 5- Caseta de dialog Macro
AutoCAD va fi lansat si veti avea un cerc verde creat
în layerul Geometry, asa cum se prezinta în figura urmatoare:
Fig 5- Cercul creat cu Active X
O cale prin care AutoCAD mareste performanta este prin intermediul structurii de aplicatii modulare si încarcarea la cerere a aplicatiilor.
În scopul utilizarii la minim a resurselor sistemului, structura de aplicatii modulare din R14 adopta varianta încarcarii la cerere a aplicatiilor. În loc sa încarce totdeauna aplicatiile suplimentare la începutul unei sesiuni de lucru, R14 încarca automat aplicatia potrivita numai atunci când este necesara, dupa lansarea unei comenzi sau dupa selectarea unui obiect. Acest mod de lucru economiseste resursele sistemului si mareste viteza atunci când putine aplicatii sunt necesar a fi încarcate.
Exercitiul
2: Încarcarea la cerere a aplicatiilor
În acest exercitiu, veti observa încarcarea la comanda a aplicatiilor într-un fisier esantion.
Din meniul File, selectati Open, apoi alegeti autodesk.dwg pentru a deschide acest desen. Desenul va arata ca în figura urmatoare:
Fig 5-
Fisierul autodesk.dwg
Din meniul Draw, selectati Solids, apoi Extrude. Va fi încarcata aplicatia modulara Modeler. La prompter, vi se anunta aceasta:
Command: _extrude
Loading Modeler DLLs
Selectati dreptunghiul albastru. Pentru înaltimea extrudarii, introduceti valoarea 67.40, iar pentru unghiul de extrudare acceptati valoarea implicita de 0.
Faceti curent layerul Adesklogo.
Din meniul Draw, selectati Solids, apoi Extrude.
Selectati cele trei polilinii optimizate rosii. Pentru înaltimea de extrudare, introduceti valoarea 20, iar pentru unghiul de extrudare, introduceti 0.
Din meniul View, selectati Render, apoi Render. Va fi afisata caseta de dialog Render
Din lista Rendering Type, selectati Render.
Apasati pe butonul Render. Vederea randata trebuie
sa arate ca în figura urmatoare:
Fig 5- Vederea randata a fisierului autodesk.dwg
|