Uložení pravidel do externích souborů
Pravidla modulu iLogic můžete vložit do externích souborů spíše než je ukládat do modelu aplikace Inventor. Tato metoda uložení vám umožňuje použít stejné pravidlo v několika různých umístěních.
Pro uložení pravidel do externího souboru nejdříve nastavte výchozí příponu pro nové soubory. Výchozí přípona, kterou zvolíte, závisí na tom, jak chcete soubor upravovat. Například jestliže chcete upravovat soubory v aplikaci Visual Studio, nastavte výchozí příponu na .vb. Přípona .txt vám umožní upravovat pravidlo pomocí textového editoru, například Microsoft Notepad. Nebo můžete nastavit výchozí příponu na .iLogicVB, jestliže soubory obsahují standardní kód pravidla modulu iLogic pro předzpracování modulů iLogic.
Pravidla modulu iLogic mohou používat kód v jiných sestavách .NET. Můžete určit adresář, ve kterém budou tyto sestavy .NET umístěny. Sestavu .NET vytvoříte nástroji programování, například Visual Studio 2008. Další informace týkající se použití sestav .NET v pravidlech jsou uvedeny v oddílu Pokročilé programování pravidel.
Použití automatizovaného rozhraní
Modul iLogic poskytuje automatizované rozhraní. Toto rozhraní můžete použít z kódu aplikace Inventor VBA nebo VB6 nebo .NET k zpřístupnění parametrů a pravidel.
Tuto funkci umožňuje třída iLogicAutomation.
V projektu VBA nebo VB ho použijete jako dynamicky vázaný typ (deklarovaný jako objekt) bez přidání odkazu. Protože není úplným objektem .COM, nelze jeho metody procházet.
Modul iLogic používá k ukládání hodnot parametrů vlastní datový typ DoubleForEquals. Typ DoubleForEquals podporuje snadné porovnávání čísel. Tento typ se podobá klasickému datovému typu jazyka VB.NET Double. Liší se pouze tím, že hodnoty typu DoubleForEquals jsou porovnávány tak, jakoby byly hodnotami typu Single (měly 7, a ne 15 desetinných míst). Ve výchozím nastavení jsou parametry v pravidlech deklarovány jako typu DoubleForEquals.
Typ DoubleForEquals usnadňuje ignorování chyb porovnání způsobených zaokrouhlením. Například předpokládejme, že součást používá palce jako jednotky dokumentu a že máte parametr s hodnotou 13/16 palců. Součást není v pravidle přesně rovna hodnotě 13/16, protože hodnota parametru je uložena v modelu v centimetrech. Tato hodnota je pak převedena na palce pro použití v pravidle. Vemte do úvahy následující srovnání:
if d0 = 13/16 then ...
Pokud by byl parametr d0 v tomto příkladu typu Double, porovnání by bylo neúspěšné. Pokud však bude parametr d0 typu DoubleForEquals, porovnání bude úspěšné.
Datový typ DoubleForEquals ukládá hodnotu jako typ Double a provádí všechny výpočty tak, jako kdyby se jednalo o hodnoty typu Double. Pouze srovnání je prováděno s jednoduchými hodnotami.
V případě potřeby můžete hodnotu parametru převést na typ Double pomocí funkce CDbl.
Typ DoubleForEquals je v jazyce VB.NET deklarován jako struktura (datový typ Structure).
Jak typ DoubleForEquals srovnává hodnotu s nulou?
Datový typ DoubleForEquals provádí porovnání s nulou jako speciální případ. Když jedno z čísel testovaných na rovnost je přesně nula, test je úspěšný, když je další číslo menší než 0,0000001 (v absolutní hodnotě).
Toto srovnání usnadňuje ignorování chyb zaokrouhlení, které jsou v hodnotě blízko nuly. Například následující srovnání určuje, že x = 0:
angle = PI/2 x = cos(angle) If (x = 0) Then ... End If
Kdy můžu deaktivovat typ DoubleForEquals?
DoubleForEquals je výchozí typ pro všechny parametry aplikace Inventor používané v pravidlech. Toto nastavení můžete deaktivovat z následujících důvodů:
Možnosti konfigurace modulu iLogic
Konfigurace umístění pro soubory externích pravidel a knihoven DLL
Zpřístupnění automatizovaného objektu
Chcete-li získat přístup k automatizovanému objektu z pravidla modulu iLogic, použijte vlastnost iLogicVb.Automation.
Automatizovaný objekt používá rozhraní Autodesk.iLogic.Interfaces.iLogicAutomation. Dokumentace pro toto rozhraní je poskytnuta v Autodesk.iLogic.Interfaces.xml.
DoubleForEquals je výchozí typ pro všechny parametry aplikace Inventor používané v pravidlech. Pro deaktivování tohoto nastavení použijte následující příkaz na začátku pravidla:
iLogicOption DoubleForEquals Off
Tento příkaz je podobný standardnímu příkazu jazyka Visual Basic Option.
Pokročilá konfigurace modulu iLogic
Konfiguruje pokročilá nastavení umístění pro soubory externích pravidel a knihoven DLL.
Doplňkové výukové materiály VB
Vzorový kód pro automatizované rozhraní
Vzorové makro VBA k zpřístupnění modulu iLogic je k dispozici v následujícím umístění:
Program Files\Autodesk\Inventor [version]\Samples\iLogic Samples\API\iLogicAutoTest.ivb
Users\Public\Documents\Autodesk\Inventor [version]\Samples\ iLogic Samples\API\iLogicAutoTest.ivb
Použití funkce GetiLogicAddin ve vzorovém kódu znázorňuje, jak zpřístupnit objekt automatizace modulu iLogic v jazyce VBA nebo VB.
Tento vzorový kód, zapsaný ve VBA aplikace Inventor, řídí hodnotu textového parametru. Vyžaduje, aby v aktuálním modelu aplikace Inventor existoval textový parametr text0. Také uvádí všechna pravidla v modelu.
Hodnotu parametru můžete nastavit nebo vrátit pomocí funkce iLogicAuto.ParamValue. Interně používá vlastnost Parameter modulu iLogic.
Další informace týkající se automatizovaného rozhraní jsou uvedeny v oddílu Rozšíření a přizpůsobení schopností modulu iLogic.