Dnešní článek je pokračování série o pravidlech v iLogic. Minule jsme se naučili pravidlo pro otevření aktuálního umístění dokumentu. Lukáš už zde také ukazoval pravidlo pro uložení dokumentu do PDF do aktuální složky a to buď jednoduše, nebo složitěji. Tentokrát si ukážeme sice delší, ale stále velmi jednoduché pravidlo, které nám bude sloužit pro ukládání aktuálně otevřeného dílu do několika různých formátů najednou. To se sice může zdát zatím zbytečné, my jej ale v následujících článcích využijeme a vytvoříme si například tlačítko do dialogového okna, které nám bude sloužit pro přepínání formátů pomocí tlačítek. Jednoduše si tak zapneme zda chceme uložit normálně nebo i zároveň jako PDF, JPG, STEP atd…
'Ze startu si nastavíme do SLOZKA_ULOZENI cestu pod kterou budeme soubor ukládat SLOZKA_ULOZENI = ThisDoc.Path & "\dalsi_formaty\" & ThisDoc.FileName(False) 'Otevřený dokument nejdříve uložíme samotný tak jak je ThisDoc.Save 'A nyní si uložíme soubor do tří dalších formátů - JPG, PDF a STEP ThisDoc.Document.SaveAs(SLOZKA_ULOZENI & (".jpg") , True) ThisDoc.Document.SaveAs(SLOZKA_ULOZENI & (".pdf") , True) ThisDoc.Document.SaveAs(SLOZKA_ULOZENI & (".stp") , True) 'Další řádek je dialogové okno, které funguje jen jako potvrzení, že se vše zdařilo. MessageBox.Show("Dokument byl správně uložen.", "Uložení dokumentu")
A nyní pojďme opět společně krok po kroku s vysětlováním použitého pravidla. Všechny řádky, kteér začínají apostrofem slouží pouze jako komentář. Tyto řádky slouží tedy pouze pro přehled uživateli a nemají žádnou funkci v iLogicu. Přeskočme tedy hned na řádek druhý.
SLOZKA_ULOZENI = ThisDoc.Path & "\dalsi_formaty\" & ThisDoc.FileName(False)
Zde si nastavujeme proměnnou s názvem SLOZKA_ULOZENI – do ní si potřebujeme nastavit cestu pod kterou chceme náše formáty uložit. Celou cestu skládáme z několika dílů které k sobě spojujeme znakem &. První část ve tvaru ThisDoc.Path jsme si již vysvětlili minule. Jednoduše je to cesta ve které je uložen náš aktuálně otevřený dokument. K němu jsme si přidali další složku, do které ukládáme čistě další formáty – „\dalsi_formaty\“. A na závěr přidáme kód ThisDoc.FileName(False) – Ten slouží k vypsání názvu dokumentu. V mém případě je to Sestava_01. Slovo False v závorce znamená, že se nevypíše přípona souboru. Pokud bychom False přepsali na True, tak výsledkem bude Sestava_01.iam
Uložený řetězec v proměnné SLOZKA_ULOZENI vypadá teda v mém případě takto:
c:\Users\mskarka\Desktop\DATASET_Adeon\Priklady\dalsi_formaty\Sestava_01
A poskládán byl takto:
c:\Users\mskarka\Desktop\DATASET_Adeon\Priklady
+
\dalsi_formaty\
+
Sestava_01
Nastavení proměnné kterou budeme dále využívat máme hotovo. Tudíž pokračujeme v kódu dále. Dále začneme ukládat. Nejdříve sestavu jako takovou (kdyby jsme tam měli neuložené změny). K tomu slouží velmi primitivní příkaz ve tvaru ThisDoc.Save
Sestavu uloženou máme a pojďme tedy na iLogic příkaz Uložit jako (Save As). K účelu tomu jsme stejný příkaz zopakovali 3x a to proto, abychom dokument uložili jako jpg, pdf a step zároveň. Nicméně si můžete nastavit svoje formáty, můžete třeba nechat jenom step a obrázek, nebo přidat dwf,dwg, catii či cokoliv co Inventor zvládne (viz obrázek). Pojďme teda na konkrétní řádek:
ThisDoc.Document.SaveAs(SLOZKA_ULOZENI & (".jpg") , True)
První částí ThisDoc.Document.SaveAs řekneme Inventoru že budeme soubor “Ukládat jako”, využijeme tedy jeho běžnou funkci. Musíme mu akorát nastavit jak má soubor uložit a k tomu slouží údaje v závorce. Nejdřív vložíme naši již nastavenou proměnnou ve které máme řetězec cesty. K němu přidáme požadovanou příponu (i s tečkou!). Pokud chceme step tak příponu .stp, pokud pdf tak .pdf. Je samozřejmě logické že pokud toto pravidlo budu spouštět pod výkresem tak si tam nechám například jen PDF (a možná dwg) a pokud jej budu spouštět pod díly a sestavami tak mě bude více zajímat právě zmíněny step a 3D formáty obecně. Ještě nám zbývá v řetězci slovo True – čímž nastavujeme aby se finálně uložený dokument NEotevíral. Pokud bychom zde místo toho napsali False, tak se nám výsledný dokument po uložení i okamžitě otevře.
A to je v podstatě vše. Na závěr si akorát přidáme potvrzovací okno hlášení, abychom věděli, že se nějaký příkaz provedl.
MessageBox.Show("Dokument byl správně uložen.", "Uložení dokumentu")
Tento příkaz zobrazí okno zpráv s textem v prvních uvozovkách a nadpisem v druhých uvozovkách. Nic víc. V dalších článcích budeme s tímto oknem pracovat více. Dají se do něj přidat třeba varovné ikonky, přidat další řádky, ukázat cestu do které jsme soubor uložili a podobně.
Pokud si chcete předem vyzkoušet pokročilejší dialogové okno tak si zkopírujte následující kód. Popisovat si ho budeme ale až v dalších článcích.
MessageBox.Show("Dokument byl správně uložen." & vbLf & SLOZKA_ULOZENI & vbLf & vbLf & "Další formáty uloženy do:" & vbLf & SLOZKA_ULOZENI & "\dalsi_formaty\", "Uložení dokumentu")
Výsledek ve složce po spuštění tohoto pravidla:
Případné dotazy Vám rád zodpovím níže v komentářích.
Někdy funguje a jindy ne, objeví se hláška:
Chyba v pravidle: Do dxf, v dokumentu: 1
Nespecifikovaná chyba (Výjimka na základě hodnoty HRESULT: 0x80004005 (E_FAIL))
Co s tím?