Přidání znalosti

Rozšíření a přizpůsobení schopností modulu iLogic

    Obsah
    No headers

    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.

    Co je DoubleForEquals?

    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ů:

    • Používáte funkce knihovny nebo uživatelský kód, který vyžaduje použití typu Double. Pokusili jste se umožnit transparentní konverzi na typ Double. Pokud však funkce předpokládá argument typu Object, konverze není provedena. Pokud předáte funkci objekt typu DoubleForEquals, funkce může předpokládat předání typu Double. Můžete buď použít funkci CDbl, nebo zakázat typ DoubleForEquals.
    • Vyžadujete větší kontrolu nad testy rovnosti nebo srovnáními v pravidle. Například chcete určit vaši vlastní toleranci.
    • Vaše pravidlo neobsahuje žádné srovnávací testy a vy se chcete vyhnout ztrátám výkonu způsobeným použitím typu DoubleForEquals přímým použitím typu Double.
    • Vaše pravidlo obsahuje srovnávací testy, ale parametry jsou mimo dynamický rozsah hodnoty Single (přibližně 1,4E-45 až 3,4E38). Ačkoliv je v modelu aplikace Inventor tato situace nepravděpodobná, je možná s jednotkami, které nejsou jednotkami délky.

    Postupy

    Možnosti konfigurace modulu iLogic

    Konfigurace umístění pro soubory externích pravidel a knihoven DLL

    1. Přejděte na pás karet a klikněte na kartu Nástrojepanel Možnosti iLogic – konfigurace.
    2. Klikněte na položku vedle adresářů externích pravidel k přidávání adresáře do seznamu a pomocí šipek nahoru a dolů definujte pořadí vyhledávání.
    3. Zvolte příponu souboru v poli Výchozí přípona pro soubory externích pravidel.
    4. Zvolte adresář obsahující kód z jiných sestav .NET v poli Adresář knihoven DLL doplňků modulu iLogic.
    5. Klikněte na tlačítko OK.

    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.

    Deaktivace DoubleForEquals

    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.

    Zobrazení podrobností verze modulu iLogic

    Pokud chcete zobrazit dialog, který uvádí informace o verzi modulu iLogic, klikněte na pásu karet na kartu Správa panel iLogic O modulu iLogic.

    Reference

    Pokročilá konfigurace modulu iLogic

    Konfiguruje pokročilá nastavení umístění pro soubory externích pravidel a knihoven DLL.

    Přístup:

    Pás karet: karta Nástrojepanel MožnostiiLogic – konfigurace

    Adresáře externích pravidel

    Seznam adresářů, ve kterých modul iLogic vyhledává externí soubory obsahující pravidla. Plusová ikona + se používá k přidávání adresáře do seznamu. Šipky nahoru a dolů se používají k určení pořadí adresářů, ve kterém budou prohledávány.

    Výchozí přípona pro soubory externích pravidel

    Nastavuje výchozí příponu pro nové soubory externích pravidel.

    • Soubory .vb lze upravovat v aplikaci Visual Studio.
    • .Soubory .txt lze upravovat pomocí textového editoru, například Microsoft Notepad.
    • Přípona .iLogicVB označuje, že soubor obsahuje standardní kód pravidla modulu iLogic pro předzpracování modulů iLogic.

    Adresář knihoven DLL doplňků modulu iLogic

    Pro pravidla, která používají kód v jiných sestavách .NET, toto pole určuje adresář obsahující sestavy .NET. Pro volbu adresáře se používá tlačítko Procházet.

    OK

    Ukládá pokročilá nastavení pro umístění.

    Storno

    Ruší operaci a zavírá dialog.

    Doplňkové výukové materiály VB

    Vyhledávejte výukové programy o blocích pohledů a informace online pomocí webového prohlížeče.

    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í:

    • Aplikace Windows XP

      Program Files\Autodesk\Inventor [version]\Samples\iLogic Samples\API\iLogicAutoTest.ivb

    • Windows 7

      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.

    O modulu iLogic

    Zobrazuje informace o verzi modulu iLogic.

    Přístup:

    Pás karet: karta Správa panel iLogic O modulu iLogic
    VerzeZobrazuje verzi modulu iLogic.
    DruhZobrazuje použitý druh softwaru.
    DatumZobrazuje datum vytvoření verze.
    PodporaObsahuje spojení pro podporu modulu iLogic.
    OKZavírá dialog.