Opět vám přináším tip, který vyplynul tentokrát z posledního workshopu zaměřeného na iLogic v aplikaci Autodesk Inventor. Zákazník používá dlouhé názvy souborů, které se skládají z čísla dílu a některých dalších informací, a potřeboval tyto informace extrahovat z názvu souboru, aby se automaticky naplnili vlastnosti iProperties. Po příklad uvažujme název souboru tvořeného číslem dílu a číslem revize, například: 48-1970 Rev 4.ipt

Princip a trocha Visual Basicu

Jak mnozí víte, aplikace iLogic pracuje na základě VBA (Visual Basic for Aplication) a je navržena tak, aby uživatelé aplikace Autodesk Inventor nemuseli znát programové kroky ve Visual Basicu (dále jen VB).

Kombinace čísla dílu a čísla revize v názvu souboru může být běžnou konvencí, kterou i vy používáte každý den v kanceláři. Umožňuje nám to tedy udržovat organizovaný systém souborů. Dle mého názoru, pokud použijeme číslo revize v názvu souboru, předejdeme tak odhadům či nutným kontrolám úrovně revizí jednotlivých komponent v sestavách.

Textové řetězce VB

K získání informace z názvu souboru do čísla součásti v iVlastnostech je automatické, žádný problém (viz následující obrázek). Požadavkem však je, mít číslo součásti a číslo revize samostatně. Můžeme použít jednoduché pravidlo iLogic pro extrahování informací z názvů souborů a zapsat následně číslo součásti a číslo revize do dialogu iVlastností. Trik spočívá v manipulaci s textovými řetězci VB, abychom se zbavili „nepotřebných“ informací.

Tady už je potřeba trochu VB znát a nebo googlit 😊

Funkce

Pro název součásti použijeme:

  • funkci VB Left, jejíž syntaxe je Left(řetězec, délka)
  • funkci iLogic FileName
  • možnost False – vrátí název souboru bez koncovky (.ipt)

Celá syntaxe pak je:

iProperties.Value(“Project”, “Part Number”) = (Left(ThisDoc.FileName(False), 7))

Levá část rovnice je brána v dialogu pro úpravu pravidla ze systémového fragmentu iVlastnosti -> Číslo součásti. Pravá pak už používá funkci Left, FileName a 7 reprezentuje 7 znaků. Výsledkem pak je 48-1970 v čísle součásti v dialogu iVlastnosti.

Pro získání čísla revize použijeme obdobnou syntaxi, kde funkci Left nahradíme funkcí Right. Její syntaxe je Right(řetězec, délka).

iProperties.Value(“Project”, “Revision Number”) = (Right(ThisDoc.FileName(False),1))

Levá část rovnice je opět brána ze systémového fragmentu iVlastnosti -> Číslo revize. . Pravá pak už používá funkci Right, FileName a 1 reprezentuje 1 znak. Výsledkem pak je číslo 4 v hodnotě revize v dialogu iVlastnosti.

Závěrem

Pokud chcete získat více informací o textových funkcích VB, doporučuji vyhledat na webu společnosti Microsoft dokumentaci k Visual Studiu.

Pokud máte jiný, rychlejší tip pro vyřešení uvedeného scénáře, napište nám. Pokud chcete získat více tipů na práci s aplikací Inventor iLogic, sledujte náš web nebo využijte některý z našich Autodesk Inventor kurzů.

 

 

Michal Spielmann

Autodesk Certified Instructor
Autodesk AutoCAD Professional
Autodesk Inventor Professional