marți, 19 iulie 2011

Curs AutoCAD -7

Noi caracteristici ale personalizării

Scopul acestui capitol este de a explica modul de încărcare a aplicaţiilor rezidente AutoLISP, ActiveX Automation şi aplicaţii modulare.

 

AutoLISP rezident

Atunci când începeţi un nou desen, AutoLISP rămâne încărcat din desenele anterioare. Când AutoLISP se autoîncarcă, el rămâne disponibil pentru toate desenele din sesiunea de lucru curentă.

În tabelul Compatibility din caseta de dialog Preferences, puteţi opta dacă AutoLISP este reîncărcat automat între desene, prin selectarea sau deselectarea opţiunii Reload AutoLISP Between Drawings.

Active X

Folosind OLE 2.0 Automation, puteţi dezvolta fişiere script, macrouri sau aplicaţii ale altor parteneri, pentru AutoCAD, cu limbaje moderne şi accesibile, precum Visual Basic 4.0 sau Visual C++. Cu Active X, puteţi crea şi edita obiecte din orice aplicaţie, care serveşte drept controler Active X, precum Microsoft Excel.

Următoarele trei sunt elementele de bază pentru terminologia Active X:

· Obiecte AutoCAD care sunt posibil a fi procesate sunt cunoscute ca obiecte Active X

· Metodele sunt funcţii care îndeplinesc o acţiune asupra unui obiect Active X

· Proprietăţile sunt funcţii care returnează informaţii despre starea unui obiect

Autodesk Development System (ADS) şi AutoCAD Runtime Extension (ARX) au fost dezvoltate ca instrumente de programare pentru programatori avansaţi. Active X este un instrument de programare mai compact şi transportabil, accesibil tuturor programatorilor.

Caracteristici şi avantaje

Active X este o alternativă la AutoLISP şi Proteus. Versiunea interfeţei în AutoCAD este foarte asemănătoare cu interfaţa Active X în alte aplicaţii, precum Microsoft Excel, Microsoft Acces, Visio 3.0, iar tehnicile de programare sunt aceleaşi în toate aplicaţiile. Puteţi lucra cu obiecte din diferite aplicaţii în acelaşi timp, sau puteţi automatiza operaţiile repetitive în AutoCAD, precum crearea componentelor parametrizate.

AutoCAD funcţionează numai ca server Active X, nu şi ca controler, şi cere ca o aplicaţie precum Excel să lucreze ca un controler automat.

Funcţia de batch plot (plotare din stivă) din AutoCAD este un exemplu de program Active X. Pentru informaţii asupra acestei funcţii, vedeţi “Plotarea din stivă” din capitolul 6 al acestui manual. Pentru o documentare completă asupra metodelor Active X, vedeţi help-ul online, la secţiunea “Using Active X Guide”.

Obiecte Active X

 
  clip_image002

Î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, puteţi avea acces la multe setări şi la controlul obiectelor AutoCAD, aşa cum se prezintă în figura următoare:

Fig 5- 1 Caseta de dialog Object Browser din Excel

Aceste obiecte devin disponibile în Excel, deoarece AutoCAD îşi înregistrează obiectele în mediul sistemului de operare. Având acces la aceste obiecte şi la setările pentru Property şi Methods, vi se oferă condiţiile pentru crearea şi manipularea desenelor AutoCAD.

Proprietăţile obiectelor

Proprietatea unui obiect este un atribut sau o caracteristică a acestuia. În cazul unei linii, câteva din proprietăţile ei sunt punctele de început şi de sfârşit şi grosimea. Aşa cum puteţi observa din figura 5-2, numele unui obiect de tip linie în AutoCAD este AcadLine (în lista din partea stângă) şi una din multele lui proprietăţi este endPoint (în lista din partea dreaptă).

Atunci când creaţi un macro în Excel (controler Active X), puteţi folosi oricare dintre obiecte (din lista Objects/Modules) sau accesa oricare dintre proprietăţile obiectelor (din lista Methods/Properties). Combinarea acestor setări vor conduce la un macro sau program.

Metode

Metodele sunt diferite de proprietăţi, în sensul că metoda controlează acţiunea unui obiect sau valori. Câteva din metodele disponibile pentru Line sunt Erase, Copy sau Move. Un exemplu este folosirea selecţiei Move din lista Methods/Properties, aşa cum se prezintă în figura 5-3.

 
  clip_image004

Fig 5- 2 Caseta de dialog Object Browser cu AcadLine selectată

Puteţi controla mutarea unei linii cu o singură metodă. Aceasta diferă de proprietatea StartPoint sau EndPoint prin aceea că puteţi folosi o singură setare (metodă) pentru a controla punctele de început şi de sfârşit ale unei linii, în loc de două setări (proprietate), câte una pentru fiecare capăt. Sunt foarte asemănătoare, dar când sunt folosite corect pot mări viteza de accesare a macroului sau programului.

Fig 5- 3

 
  clip_image006

Caseta de dialog Object Browser cu metoda Move selectată

Exerciţiul 1: Utilizarea Active X

În acest exerciţiu, veţi folosi Excel pentru a crea un macro care desenează un obiect în AutoCAD.

Considerarea unui obiect AutoCAD de către Excel

1. Deschideţi aplicaţia Excel.

2. Din meniul Insert, selectaţi Macro, apoi Module pentru a insera o pagină Module.

3. Din meniul Tools, selectaţi Reference.

4. În caseta de dialog Reference, prezentată în figura următoare, marcaţi AutoCAD Object Library.

Fig 5- 4

 
  clip_image008

Caseta de dialog References

5. Selectaţi OK pentru a închide caseta de dialog. Aceasta face ca Excel să ia in considerare obiectele AutoCAD. Puteţi accesa obiectele listate prin alegerea din meniul View a opţiunii Object Browser sau prin apăsarea tastei F2.

Crearea unui macro

1. Mai întâi, veţi înregistra un macro, pe care îl veţi fixa într-o pagină modul. Pagina modul este locul în care este plasată programarea în Visual Basic. Din meniul Tools, selectaţi Record Macro, apoi alegeţi Record New Macro.

2.

 
  clip_image009

Daţi un nume macroului (în acest caz, Draw_Circle) în această casetă de dialog, aşa cum se prezintă în figura următoare:

Fig 5- 5 Caseta de dialog Record New Macro

3.

 
  clip_image010

Selectaţi OK. Excel va afişa un tool palette cu un buton pătrat "stop recording", aşa cum se prezintă în figura următoare:

Fig 5- 6 Stop Recording

4. Apăsaţi acest buton pentru a opri înregistrarea macroului. Aceasta a fost făcută pentru a stabili un nume de macro şi o pagină modul asociată.

5.

 
  clip_image011

Faceţi activă noua pagină modul. Veţi vedea următorul cod:

Fig 5- 7 Microsoft Excel prezentând Sub Draw_Circle

6. Dacă aveţi unul sau mai multe "coduri" între liniile Sub Draw_Circle() şi End Sub, ştergeţi-le şi treceţi la pasul următor. Acest “cod” adiţional este datorat unui meniu sau toolbar pe care l-aţi mutat şi nu au importanţă pentru macroul pe care îl creaţi.

7. Următorul exemplu de cod porneşte AutoCAD-ul, desenează un cerc cu centrul la (5,5,0) şi de rază 0.5. Acest cod schimbă apoi layerul, culoarea şi tipul de linie al cercului la valorile “Geometry”, “Green” şi, respectiv, Dashed şi salvează desenul sub numele circle.dwg.

Asiguraţi-vă că pagina modul este activă şi introduceţi următorul 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 dumneavoastră se va prezenta sub forma următoare:

 
  clip_image013

Fig 5- 8 Macroul Draw_Circle

8.

 
  clip_image014

Dacă calculatorul dumneavoastră nu are suficiente resurse de memorie RAM, asiguraţi-vă că aţi închis orice sesiune AutoCAD deschisă. Apoi, folosiţi butonul Run Macro din tool palette Visual Basic, pentru a rula acest macro:

Fig 5- 9 Selectarea comenzii Run Macro din toolbar-ul Visual Basic

9.

 
  clip_image016

Dacă macroul curent nu a fost salvat, Excel va afişa caseta de dialog Macro, aşa cum se prezintă în figura următoare. Introduceţi un nume pentru acest macro, apoi selectaţi butonul Run.

Fig 5- 10 Caseta de dialog Macro

 
  clip_image017

AutoCAD va fi lansat şi veţi avea un cerc verde creat în layerul Geometry, aşa cum se prezintă în figura următoare:

Fig 5- 11 Cercul creat cu Active X

Încărcarea aplicaţiilor modulare

O cale prin care AutoCAD măreşte performanţa este prin intermediul structurii de aplicaţii modulare şi încărcarea la cerere a aplicaţiilor.

Structura aplicaţiilor modulare

În scopul utilizării la minim a resurselor sistemului, structura de aplicaţii modulare din R14 adoptă varianta încărcării la cerere a aplicaţiilor. În loc să încarce totdeauna aplicaţiile suplimentare la începutul unei sesiuni de lucru, R14 încarcă automat aplicaţia potrivită numai atunci când este necesară, după lansarea unei comenzi sau după selectarea unui obiect. Acest mod de lucru economiseşte resursele sistemului şi măreşte viteza atunci când puţine aplicaţii sunt necesar a fi încărcate.

 
 

Exerciţiul 2: Încărcarea la cerere a aplicaţiilor

În acest exerciţiu, veţi observa încărcarea la comandă a aplicaţiilor într-un fişier eşantion.

Utilizarea comenzilor EXTRUDE şi RENDER

1. Din meniul File, selectaţi Open, apoi alegeţi autodesk.dwg pentru a deschide acest desen. Desenul va arăta ca în figura următoare:

Fig 5- 12

 
  clip_image018

Fişierul autodesk.dwg

2. Din meniul Draw, selectaţi Solids, apoi Extrude. Va fi încărcată aplicaţia modulară Modeler. La prompter, vi se anunţă aceasta:

Command: _extrude

Loading Modeler DLLs.

3. Selectaţi dreptunghiul albastru. Pentru înălţimea extrudării, introduceţi valoarea 67.40, iar pentru unghiul de extrudare acceptaţi valoarea implicită de 0.

4. Faceţi curent layerul Adesklogo.

5. Din meniul Draw, selectaţi Solids, apoi Extrude.

6. Selectaţi cele trei polilinii optimizate roşii. Pentru înălţimea de extrudare, introduceţi valoarea 20, iar pentru unghiul de extrudare, introduceţi 0.

7. Din meniul View, selectaţi Render, apoi Render. Va fi afişată caseta de dialog Render.

8. Din lista Rendering Type, selectaţi Render.

9.

 
  clip_image020

Apăsaţi pe butonul Render. Vederea randată trebuie să arate ca în figura următoare:

Fig 5- 13 Vederea randată a fişierului autodesk.dwg