Vítejte !   Přihlášení | Registrace
Hlavní menu
CATIA fórum.cz
Novinky
Seriál CATIA
Obecně o CAD
Novinky ze světa DS
Makra pro CATIA V5
Diskuse
Základy Catia
Ke stažení
Doporučujeme
Pracovní příležitosti
Reklama a kampaně
O fóru
Nápověda

Programujeme v .NET - 1.díl: Představení platformy VB.NET (Visual Studio)

Publikováno: 11. června 2012 | Zobrazeno: 3860x
Při jedné z posledních úprav obsahu Catia fóra byla záměrně zrušena sekce Makra a programování s tím, že celý původní obsah této sekce bude postupně uváděn v samostatných dílech zaměřených vždy na jeden konkrétní příklad, které se budou podrobně věnovat vždy jednomu ucelenému tématu.
Se základy programování už jsme se seznámili a ukázali si prostředí Visual Basicu 6, které integrované přímo v Catia. Dnes bych se chtěl zaměřit na modernější prostředí platformy .NET (Visual Studio 2008), ve které v současné době programuji většinu aplikací, nebo jen maker. Mé programátorské počátky sice probíhaly na CATScriptech a VBScriptech následované několika projekty ve VBA, dnes ale naprostá většina maker a aplikací vzniká ve Visual Studiu 2008 - Visual Basicu .NET. VBA jsem úplně nezatratil, má své určité výhody a navíc někteří zákazníci VBA pro svá makra stále vyžadují. Ukázky a příklady v tomto seriálu však budou z velké části právě ve VB.NET.

Platforma .NET

Zde se nebudu pouštět do kdovíjak podrobného popisu. Zaprvé, jak jsem již několikrát uváděl, nejsem "kovaný" programátor, zadruhé to ani nebude příliš nutné. V podstatě se jedná o moderní prostředí společnost Microsoft určené pro tvorbu Win / Web aplikací, nativně podporující některé další MS aplikace (MS SQL,...). V našem případě si vystačíme se dvěma základními typy aplikací:
  • 1. Formulářová aplikace (Windows form application)
  • 2. Konzolová aplikace (Console)
V prvním případě se jedná a standardní "okénkovou" aplikaci obsahující ovládací prvky (tlačítka, textová pole, rozevírací seznamy,...) potřebné pro vytvoření interaktivní aplikace, ve druhém případě půjde a aplikace pracující na většinou na pozadí, kdy uživatel zpravidla nemusí do běhu nijak zasahovat.

Rozdíly mezi VB6 a VB.NET

Pokud budeme uvažovat integrované prostředí VB6 v Catia a srovnáme ho s VB.NET, narazíme na několik podstatných odlišností. Budu uvádět jen ty nejpodstatnější.
V první řadě je trochu odlišná syntaxe, kde je zásadní rozdíl v klíčovém výrazu Set, který je třeba uvádět u VB6 při vytváření instance objektů a které v .NET odpadá. VBAčkařům budou možná chybět některé funkce, které jsou ale nahrazeny funkcemi novými, nabízejícími více možností.
Dalším rozdílem (pokud chceme programovat makra pro Catii) je nutnost vytvořit, resp. nadefinovat reference na dll (dynamicky propojované knihovny) Catie, které jsou v případě integrovaného VB6 navázané automaticky. Ti z vás, kteří si už nějaké makro ve VB6 (i CATScript) napsali, si mohli všimnout, že všechny objekty a funkce byly okamžitě dostupné. To je umožněno právě díky integraci VB6, u .NET je třeba si reference vytvořit.
Asi největší rozdíl je ale ve vlastním formátu vytvořeného makra. Zatímco u VBA nebo CATscriptu to byly souboru s příponou CATVBA, resp. CATScript (CATVBS), které bylo možné spustit jen z prostředí Catie, výstupem platformy .NET bude v našem případě spustitelný soubor (s příponou exe). K němu bude dále vytvořeno několik dll knihoven, které si prostředí .NET vygeneruje z nativních dll Catia knihoven a které jsou potřebné ke správnému běhu aplikace. Počet dll knihoven bude záležet na požadavcích na makro - čím více funkcí budete používat, tím více knihoven se bude vytvářet. Pro základní funkcionalitu jsou potřeba čtyři knihovny a dále by se dalo říci, že pro každý modul je jedna knihovna (plochy, výkresy, ...).

Výhody a nevýhody

Vytváření těchto tzv. interop dll knihoven (interoperability), které zajišťují komunikaci naší aplikace s API Catie (API = application programable interface, jde o běžný způsob automatizace aplikací), jsou vždy vytvářeny z aktuálně instalované kombinace release Catie + Service Packu + HotFixu. Tím pádem nemusí být zajištěna funkčnost na jiných kombinacích, které se od sebe mohou mírně lišit. U VB6, který pracuje vždy s nativními knihovnami, tento problém odpadá. Rozdílnost může vadit zejména u distribuce maker, v 99% ale většina maker kompilovaných na např. na R19 SP2 bez problémů funguje i na R21. Navíc není problém si vygenerovat různé verze interop knihoven pro konkrétní kombinaci Catia + SP + HF a ty pak distribuovat.
Tato nevýhoda je ale bohatě vyvážena celou řadou jiných výhod. Těmi jsou např. nezávislé spuštění makra na běhu samotné Catie ("zakouslé" makro nám nutně nemusí shodit Catii), dále máme k dispozici více ovládacích a designových prvků, inteligentní našeptávač a sledování hodnot proměnných přímo za běhu a hlavně můžeme z jednoho makra ovládat další a další aplikace jako jsou MS Excel, databázové SW apod.
Pokud zůstaneme u VB.NET, není v podstatě problém převést stávající VBA projekty do tohoto prostředí, stačí jen vytvořit design poupravit kód.

VB, C++, C#

Příznivci jiných jazyků můžou u .NET využit možnost volby jazyka a napsat si makro např. v C++ (v němž, resp. odvozeném CAA Rade je de facto napsaná celá Catia) nebo v dnes oblíbeném a syntaxí PHP podobném C#. Záleží na zvyklostech a znalostech daného jazyka.
Tolik tedy k teorií, přejděme k praxi.

Instalujeme Visual Studio 2008 Express edition

Instalaci Visual Studia 2008 Express edition (dále je VS) si můžeme bezplatně stáhnout, společnost ji poskytuje bezplatně (plná verze Visual Studia už je placená). Základní balík verze 2008 obsahuje Visual Basic, Visual C#, Visual C++, Visual Web Developer, SQL Server.
Vlastní instalaci není třeba popisovat, VS se instaluje jako jakákoliv jiná win aplikace, kde si vystačíme s výběrem instalačního adresáře, jako prostředí pak zvolíme VB.NET a klikáním na "Další" dokončíme instalaci. Volitelně si můžeme nainstalovat MS SQL server, pokud bychom se chtěli pouštět do databázových aplikací.

Spuštění VS a vytvoření projektu

Po instalaci a spuštění VS vybereme v horním roletovém menu položku File a dále vybereme New Project. Otevře se okno, kde si můžeme vybrat ze základních typů aplikací. Zvolíme Windows Form Application, projekt pojmenujeme např. MojeMakro a potvrdíme.

Výběr typu aplikace - volíme Window Form Aplication

Po vytvoření projektu se dostáváme do pracovního prostředí VS, rozděleného do několika částí - plovoucích oken. Levá hlavní část (pod hlavním menu) bývá rozdělena do záložek, které nabízejí možnosti zobrazit desing (to jak bude aplikace vypadat), zdrojový kód designu, zdrojový kód aplikace či vlastnosti celého projektu.
V pravé horní části je okno Solution explorer. V vidíme stromovou strukturu celého projektu, tj. všechna dialogová okna, obrázky, složky, atd. Ve stromu můžeme používat kontextové menu (pravé tlačítko myši), kde jsou funkce pro zobrazení (design, zdrojový kód), přejmenování a smazání jednotlivých částí (objektů) projektu.

Prostředí VS s aktivní záložkou Design - skutečný vzhled budoucí aplikace

Pod oknem Solution explorer je okno Properties, kde se zobrazuje seznam všech dostupných vlastností aktuálně vybraného objektu. Každý objekt má své specifické vlastnosti, které zde lze jednoduše editovat a tím měnit vzhled a chování objektu v aplikaci.
Pokud z kontextového menu ve stromu projektu (pravé tlačítko nad objektem Form1.vb) vybereme volbu View code, zobrazí se v hlavní levé části editor zdrojového kódu, který můžeme ihned upravovat. Editor má zabudovaný inteligentní našeptávač, který při nám při psaní kódu opravdu a doslava napovídá - přednabízí výběr objektů, jejich metod a vlastností, okamžitě po napsání prvního volného znaku v editoru.

Prostředí VS s aktivní záložkou Code - Editor zdrojového kódu


Uložení projektu

Posledním úkonem, který si dnes popíšeme, je uložení celého projektu. Z menu File zvolíme možnost Save project as. V okně, které se otevře, vybereme cestu pro uložení. Můžeme změnit název zadaný při vytváření a jako poslední zadáme název tzv. solution - hlavní soubor celého projektu, kde jsou zapsané všechny informace (jakási sestava projektu).
Nyní máme připravený projekt a můžeme přistoupit k vytvoření referencí, vytvoření designu dialogu vkládáním ovládacích prvků a samozřejmě vlastního programování obslužných procedur.

Uložení projektu - výběr složky


Příště: Přidání referencí a spojení s Catia