Interprogram de interacțiune

Lucrarea de laborator №5

Comunicarea interprogramă - include multe modalități de a face schimb de informații între aplicații. Cele mai multe dintre aceste metode se bazează pe tehnologia COM, care este una dintre componentele principale ale sistemelor de operare Windows. Ne vom uita la o astfel de metodă numită OLEAutomation. În rusă, acest termen este, de obicei, tradus ca un "controlor de automatizare", deși mai des este lăsat fără traducere.

Aplicația noastră este controlerul (controler controlează alte aplicații), precum și o a doua aplicație (obiect de control) este utilizat serverul de automatizare AutoCAD. Majoritatea aplicațiilor moderne, inclusiv AutoCAD, suportă tehnologia COM utilizând o specificație dezvoltată de Microsoft. și suport pentru interfețe standard prin care puteți accesa funcțiile acestor aplicații. Acest manual va descrie metodologia de lucru cu tehnologia OLEAutomation în AutoCAD. Cu toate acestea, toate acestea pot fi transferate către alte aplicații care suportă COM.

Localizați pe fișierul acax16enu.tlb computerului (numerele din numele acestui fișier se determină versiunea AutoCAD. Deci, aceasta poate varia). Acest fișier este de obicei localizat fie în directorul în care este instalat AutoCAD. sau în directorul C: \ Program Files \ Common Files \ Autodesk Shared. extensii de fișiere TLB sunt biblioteci de tip, ele conțin o descriere a COM - model de aplicare.

Deschideți C ++ Builder și selectați Project-> ImportTypeLibrary din meniu. În caseta de dialog deschis, faceți clic pe butonul Adăugați și selectați biblioteca de tip AutoCAD găsită mai devreme. Builder va înregistra biblioteca de tip selectată, apoi trebuie să o instalați (butonul Instalare).

Interprogram de interacțiune
Interprogram de interacțiune

După compilare a componentei Palette mai multe componente noi vor fi instalate pe PC-ul (implicit acestea sunt plasate pe pagina de ActiveX) a tuturor componentelor care avem nevoie doar AcadDocument. care vă permite să interacționați cu shell-ul grafic al AutoCAD. Aici am folosit tehnologia de așa-numita devreme de legare la server, în principiu, este posibil de a gestiona fără a importa o bibliotecă de tip utilizând tehnologia cu întârziere de legare, cu toate acestea, prima opțiune este de preferat datorită o mai mare interacțiune între viteză și confort în timpul programării.

Având componenta care funcționează cu AutoCAD, trebuie să învățăm cum să lucrăm cu aceasta, adică pentru a studia ce funcții și cum puteți apela. Găsiți fișierul acadauto de pe computer. acesta trebuie să fie localizat în directorul C: \ Program Files \ AutoCAD \ Help. Acesta este un fișier de ajutor care conține informații complete despre modelul de obiect AutoCAD. Iată o descriere a tuturor obiectelor din câmpurile lor de metode și evenimente (exemple de lucru cu obiecte sunt afișate în VisualBasic).

Pentru a lucra cu servere de automatizare, trebuie să urmați următorul algoritm de acțiuni:

· Conectarea la server:

· Executarea funcțiilor pe acest server

· Salvați documentul creat:

· Deconectați de la server:

Pentru a lucra cu serverul de automatizare și apela funcțiile sale, aveți nevoie de un tip special de date OleVariant. aproape toți parametrii trecuți la server trebuie să aibă acest tip. De exemplu, luați în considerare funcția AddCircle. în ajutor puteți găsi următoarea descriere a acestei funcții.

Creează un cerc dat un punct central și o rază.

RetVal = object.AddCircle (Centru, Radius)

Colecția ModelSpace, Colecția PaperSpace, Bloc
Obiectul sau obiectele.

Variantă (matrice de trei elemente de dublu); intrare numai
3D WCS coordonatele specificând centrul cercului.

Raza cercului. Trebuie să fie un număr pozitiv.

Circleobject
Obiectul nou creat Circle.

Acest cerc este creat pe planul XY al WCS.

Parametrul Centru specifică punctul din centrul cercului. Este o matrice de trei elemente Double. În C ++, puteți crea un astfel de matrice după cum urmează:

Puteți specifica valori pentru elementele de matrice după cum urmează:

Pentru cazul bidimensional, nu este necesară a treia coordonată. Parametrul Radius trebuie să fie de tip Double. Pointerul returnat obiectului RetVal creat poate fi omis. După setarea tuturor parametrilor necesari, puteți apela funcția:

Puteți utiliza orice altă funcție într-un mod similar. Parametrii de validare a trecut la server se efectuează nu la compilare, iar în exercitarea acestei funcții, astfel încât să acorde o atenție la posibilele erori run-time.

1. Construiește o imagine izometrică a cubului de-a lungul unei părți date (înclinarea axelor în izometrie este de 45 0)

2. Construiește un triunghi de-a lungul a trei laturi specificate.

3. Construiți imaginile cubului în dimensiune de-a lungul laturii date (înclinarea axei în dimensiunea 60 0)

4. Construiți un triunghi de-a lungul a două laturi și un unghi între ele

5. Construiți un triunghi de-a lungul unei laturi și două colțuri adiacente acestuia.

6. Construiește un cilindru cu două puncte care definesc centrele cercurilor și raza lor.

7. Construiți un pătrat de-a lungul laturii specificate și umbrați-o (pasul de incubație este setat de utilizator).

8. Construiește un triunghi cu trei puncte și trage un bisector într-unul din colțuri.

9. Construiește un regulat n-gon (numărul de fețe ale poligonului este specificat de utilizator).

Materiale conexe

Articole similare