Nedávno jsem od klienta dostal zajímavý dotaz. A to, jak hromadně vyplnit jednu iVlastnost na základě určitě logiky. Úloha to není ani nijak složitá, takže se na to pojďme společně podívat. Využijeme na to velmi jednoduchý iLogic kód a externí aplikaci.
Vezměme si tedy následující modelovou situaci. Máme složku plnou Inventor souborů, které jsme například odněkud dostali. Může se jednat například o databázi dílů dodavatele. V mém modelovém případu jsem stáhnul balík dat ze stránek grabcadu.
Já osobně mám asi 23 dílů, vy ale od dodavatele můžete dostat desítky až stovky souborů. V našem modelovém příkladu chceme vzít název souboru a vložit jej do iVlastnosti „Skladové číslo“. A to hromadně bez toho aniž bychom museli otevírat každý díl a zvlášť jej editovat. Jelikož to u stovek souborů není ani možné.
iLogic Code injector
K tomu využijeme nástroj „Code Injector“ od uživatele Inventoru Megajerk. Aplikaci si jednoduše stáhněte (odkaz níže), a spusťte „Code Injector\bin\Release\Code Injector.exe“. Spustí se vám tak následující dialogové okno:
Krok 1: Přes tlačítko Select Folder vyberte složku, ve které máte všechny soubory, které chcete takto editovat. V části „Current File Selection“ uvidíte výběr všech souborů. Pokud máte ve složce i jiné soubory než jenom IPT, ale sestavy například editovat nechcete, pak vpravo zaškrtněte pouze „Choose File Type: IPT“.
Krok 2: Do textového pole níže vložte potřebný kód, který chcete do souboru vložit. V našem případě se bude jednat o velmi jednoduchý jednořádkový příkaz:
iProperties.Value("Status", "Stock Number") = ThisDoc.FileName(False)
Importovat takto můžete kód už i z jiného Inventor souboru popřípadě i z textového souboru. Nově vytvořené pravidlo můžete v sekci Eventr Triggers nastavit i na daný iSpouštěč, to my ale nepotřebujeme, stačí nám, aby se pravidlo spustilo jednou a dost.
Krok 3: Velmi důležité je, abyste zaškrtli „Run Rule – Keep rule after run“. Nebo-li, aby se pravidlo spustilo po importování a pro jistotu tak i jako vytvořené zůstalo, ač to není nutné a klidně může být v našem případě i po spuštění smazáno.
A to je vše, nyní jen potvrďte tlačítkem Add Rules a vyčkejte. Čím více souborů, tím déle bude samozřejmě operace trvat. Vlevo dole v aplikaci ale máte progress bar, který vám ukazuje, jestli se vůbec něco děje. Po skončení importu vám vyskočí potvrzující okno.
A jaký je výsledek? Náhodně si otevřeme nějaký soubor a podívejme se na vyplněnou iVlastnost. Na kartě Stav, pole Skladové číslo máme nyní vyplněno to samé, jako je název souboru, čili 8001-07 (bez koncovky ipt samozřejmě).
Možnosti využití tohoto Code Injectoru jsou mnohem větší a tohle je pouze jenom menší ukázkou. Aplikace je sice postarší a v názvu uvádí, že je vhodná pouze pro Inventor 2011-2013, ale já sám ji mám odzkoušenou i na nejnovějších verzích v poměrně hodně příkladech a zatím jsem se s žádným problémem nesetkal.
Aplikace ke stažení
iLogic Code Injector
Vážený pane Škarka,
Lze-li použit i i-logic k načteni údajů do razítka (nebo kamkoliv do listu výkresu .dvg) s tabulky lsešitu .xlsx?
Moc děkuju za odpověď!
Viktor Jarema