Opět vám přináším tip, který vyplynul tentokrát z posledního work­sho­pu 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 sou­bo­ru, aby se automaticky naplnili vlastnosti iProperties. Po příklad uvažujme název souboru tvořeného číslem dílu a číslem revize, na­pří­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 :-)

 Nicom Obr 02-1846

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.

 Nicom Obr 03-1846

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