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 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:
Abysme mohli využít třídy, funkce, makra atd. knihovny AcRx musíme do projektu VC++ přidat následující soubory:
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:
Abysme mohli využít třídy, funkce knihovny AcEd musíme do projektu VC++ přidat následující soubory:
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:
Abysme mohli využít třídy, funkce atd. knihovny AcDb musíme do projektu VC++ přidat následující soubory:
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:
Abysme mohli využít třídy, funkce knihovny AcGi musíme do projektu VC++ přidat následující soubory:
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:
Abysme mohli využít třídy, funkce knihovny AcGe musíme do projektu VC++ přidat následující soubory:
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:
Abysme mohli využít třídy, funkce knihovny AcGe musíme do projektu VC++ přidat následující soubory: