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 chcete zefektivnit svoji práci, neváhejte si vybrat z kurzů aplikace Autodesk Inventor v Autodesk autorizovaném středisku NICOM, a. s., pod vedením autorizovaného lektora. Uvedené tipy řešíme v kurzu pro iLogic.
Autorizované školicí středisko NICOM provádí školení na pevných učebnách v Brně, Ostravě a Praze, nebo na mobilních učebnách po celé republice.
Těším se na Vás na některém z vybraných 3D či CAD kurzů.
Michal Spielmann
Autodesk Certified Instructor
Autodesk AutoCAD Professional
Autodesk Inventor Professional