Knihovny tříd ObjectARX

Přehled informací

Vysvětlení pojmu knihovny tříd

Ve vytvářených aplikacích budeme muset používat prostředky, které nám umožní pracovat s AutoCADem. V prostředí C++ a ObjectARX se těmto prostředkům říká třídy a funkce. Třídy a funkce jsou uloženy v knihovnách tříd. ObjectARX obsahuje několik knihoven tříd pro různé použití. Ve výkladu se dozvíte jaké třídy a funkce knihovny obsahují a které knihovny musíte přidat do projektu, aby pracoval správně.

Knihovna AcRx

Knihovna AcRx obsahuje systémovou-úroveň tříd pro inicializaci a linkování DLL, pro registraci a identifikaci tříd v reálném čase. Základní třídou této knihovny je třída AcRxObject, která umožňuje:

AcRx knihovna obsahuje množinu maker C++, usnadňující vytváření nových tříd jako potomků třídy AcRxObject.

Hierarchie tříd z knihovny AcRx:

Soubory obsahující knihovnu AcRx

Abysme mohli využít třídy, funkce, makra atd. knihovny AcRx musíme do projektu VC++ přidat následující soubory:

Knihovna AcEd

Knihovna AcEd obsahuje třídy pro definici a registraci příkazů AutoCADu, které pracují stejně jako vestavěné příkazy AutoCADu. Nově vytvořené příkazy mohou takto pracovat, protože jsou umístěny do stejné interní struktury AcEdCommandStack stejně jako vestavěné příkazy.

Knihovna dále obsahuje reaktor typu editor (třída AcEditorReactor, má stejnou funkci jako reaktor typu editor ve Visual LISPu - monitoruje stav editoru AutoCADu a reaguje na specifikované události) a množinu globálních funkcí pro interakci s AutoCADem.

Hierarchie tříd z knihovny AcEd:

Soubory obsahující knihovnu AcEd

Abysme mohli využít třídy, funkce knihovny AcEd musíme do projektu VC++ přidat následující soubory:

Knihovna AcDb

Knihovna AcDb obsahuje třídy sloužící k práci s výkresovou databází AutoCADu. Databáze uchovává všechny informace o grafických objektech (entitách), negrafických objektech (např. bloky, vrstvy, typy čar atd.). Třídy knihovny AcDb umožňují manipulovat s existujícími objekty, vytvářet nové objekty a mazat nepotřebné objekty v databázi.

Hlavní prvky výkresové databáze AutoCADu:

Hierarchie tříd z knihovny AcDb:

Soubory obsahující knihovnu AcDb

Abysme mohli využít třídy, funkce atd. knihovny AcDb musíme do projektu VC++ přidat následující soubory:

Knihovna AcGi

Knihovna AcGi umožňuje použít grafické rozhraní pro kreslení entit AutoCADu. Tuto knihovnu používají členské funkce třídy AcDbEntity:

AcGiWorldDraw objekt poskytuje API pomocí kterého AcDbEntity::worldDraw() může vytvořit grafickou reprezentaci ve všech výřezech najednou. Obdobně AcGiViewportDraw objekt poskytuje API pomocí kterého AcDbEntity::viewportDraw() může vytvořit rozdílnou grafickou reprezentaci pro každý výřez.

Hierarchie tříd z knihovny AcGi:

Soubory obsahující knihovnu AcGi

Abysme mohli využít třídy, funkce knihovny AcGi musíme do projektu VC++ přidat následující soubory:

Knihovna AcGe

Knihovna AcGe je používána knihovnou AcDb pro práci s třídami utilit (vektory a matice), které jsou potřeba pro 2D a 3D geometrické operace. AcGe obsahuje i základní geometrické objekty jako jsou body, křivky a povrchy.

Knihovna AcGe se skládá ze dvou podmnožin tříd:

V hierarchii tříd si všimněte, že některé třídy (např. AcGeMatrix2d) nejsou potomky žádné jiné třídy. Tyto třídy mohou být použity pro uskutečnění řady operací jako například:

Hierarchie tříd z knihovny AcGe:

Soubory obsahující knihovnu AcGe

Abysme mohli využít třídy, funkce knihovny AcGe musíme do projektu VC++ přidat následující soubory:

Knihovna ADSRX

Knihovna ADSRX obsahuje globální funkce, které mohou být volány z aplikace ObjectARX. Knihovnu ADSRX je možné použít pro následující operace:

Soubory obsahující knihovnu ADSRX

Abysme mohli využít třídy, funkce knihovny AcGe musíme do projektu VC++ přidat následující soubory: