Interprogram interakció
Laboratóriumi munka №5
Interprogram kommunikáció - számos módot kínál az információcserére az alkalmazások között. A legtöbb módszer a COM-technológián alapul, amely a Windows operációs rendszerek egyik fő összetevője. Nézzünk egy ilyen módszert, az úgynevezett OLEAutomation. Oroszul ezt a kifejezést általában "automatizálási vezérlőként" fordítják le, bár gyakrabban hagyják fordítás nélkül.
Alkalmazásunk vezérlő lesz (a vezérlő más alkalmazásokat kezel), és a második alkalmazásként (vezérlő objektum) az AutoCAD automatizálási kiszolgálót fogja használni. A legtöbb modern alkalmazás, beleértve az AutoCAD-t is, támogatja a COM technológiát a Microsoft által kifejlesztett specifikáció használatával. és támogatja a szabványos interfészeket, amelyeken keresztül elérheti ezeket az alkalmazásokat. Ez a kézikönyv leírja az AutoCAD OLEAutomation technológiával való együttműködés módját. Azonban mindez átvihető más alkalmazásokra, amelyek támogatják a COM-t.
Keresse meg az acax16enu.tlb fájlt a számítógépén (a fájl nevében szereplő számok meghatározzák az AutoCAD verzióját.) Szóval kicsit más lehet). Ez a fájl általában az AutoCAD telepítéséhez használt könyvtárban található. vagy a C: \ Program Files \ Common Files \ Autodesk Shared könyvtárban. A tlb kiterjesztésekkel ellátott fájlok típus-könyvtárak, tartalmazzák az alkalmazás COM modelljének leírását.
Nyissa meg a C ++ Buildert, és válassza ki a Project-> ImportTypeLibrary menüpontot. A megnyitott párbeszédpanelen kattintson a Hozzáadás gombra, és válassza ki a korábban talált AutoCAD típusú könyvtárat. A Builder regisztrálja a kiválasztott típustárat, majd telepítenie kell (az Install gombra).
Miután összeállítása komponens paletta számos új alkatrészeket kell telepíteni a PC (alapértelmezés helyezzük őket ActiveX oldalon) az összes komponens van szükségünk csak AcadDocument. amely lehetővé teszi az AutoCAD grafikus héjával való interakciót. Itt már használják a technológiát az úgynevezett korai kötődés a szerver, elvileg lehetséges, hogy nélküle importál típusfüggvénytár segítségével késői kötést technológiája azonban az első lehetőség miatt előnyös nagyobb közötti kölcsönhatás gyorsaság és a kényelem a programozás során.
Miután megkaptuk a komponenst az AutoCAD használatához, meg kell tanulnunk, hogyan kell vele dolgozni, azaz. hogy megtudja, milyen funkciókat és hogyan hívhat. Keresse meg az acadauto fájlt a számítógépén. a C: \ Program Files \ AutoCAD \ Súgó könyvtárban kell lennie. Ez egy súgófájl, amely teljes információt tartalmaz az AutoCAD objektummodellről. Itt a metódusok és események mezeinek összes objektumának leírása (az objektumokkal való munka példái a VisualBasic-ban láthatók).
Az automatizálási kiszolgálókkal való együttműködéshez kövesse az alábbi műveletek algoritmust:
· Csatlakozás a kiszolgálóhoz:
· Funkciók végrehajtása ezen a szerveren
· A létrehozott dokumentum mentése:
· Kapcsolódjon le a kiszolgálóról:
Az automatizálási kiszolgálóval való együttműködés és a funkciók hívása érdekében különleges típusú OleVariant típusú adatokra van szükség. a kiszolgálónak szinte minden paraméternek ilyen típusúnak kell lennie. Például, fontolja meg az AddCircle funkciót. a segítség a következő leírásban található.
Kör alakú és sugarú középpontú kört hoz létre.
RetVal = object.AddCircle (Központ, sugár)
ModelSpace Collection, PaperSpace Collection, Block
Az objektum vagy objektumok.
Variáns (háromdimenziós tömb a páros); input csak
A 3D WCS koordináták meghatározzák a kör központját.
A kör sugara. Pozitív számnak kell lennie.
Circleobject
Az újonnan létrehozott Kör objektum.
Ez a kör a WCS XY síkján jön létre.
A Centre paraméter adja meg a kör közepének pontját. Ez három kettős elem tömbje. A C ++-ban létrehozhat egy ilyen tömböt az alábbiak szerint:
A tömbelemek értékeit az alábbiak szerint adhatja meg:
A kétdimenziós esetben a harmadik koordináta nem szükséges. A Radius paraméternek Double típusúnak kell lennie. A létrehozott RetVal objektum visszaküldött mutatója elhagyható. Az összes szükséges paraméter beállítása után hívhatja a funkciót:
Minden más funkciót hasonló módon használhat. A szerverre átadott paraméterek érvényesítését a funkció végrehajtásakor hajtják végre, nem pedig az összeállítás szakaszában, ezért figyeljen a lehetséges futási hibákra.
1. A kocka izometrikus képét egy adott oldal mentén állítsa be (a tengelyek dőlésszöge az izometriában 45 0)
2. Háromszög alakítása három meghatározott oldal mentén.
3. A kocka képét az adott oldal mentén lévő dimenzióban alakítsa ki (a tengely meredeksége a 60 0 méretben)
4. Húzza el háromszöget két oldal mentén és egy szöget egymás között
5. Építsen egy háromszöget az egyik oldalán és két szomszédos sarkon.
6. Húzza össze a hengereket két ponttal, amelyek meghatározzák a körök középpontját és sugarait.
7. Építsen egy négyzetet az adott oldalon és árnyékolja be (a keltetési lépést a felhasználó határozza meg).
8. Háromponttal három pontot állítson fel, és egy sarkát húzza az egyik sarkába.
9. Szabályos n-gont hozzon létre (a sokszög oldalainak számát a felhasználó határozza meg).