Funkce iSoučásti a iSestavy v modulu iLogic

Použijte funkce iSoučásti a iSestavy k řízení konfigurací iSoučásti a iSestavy v sestavě. K změně aktuální konfigurace iSoučásti nebo iSestavy můžete použít pravidlo podle podmínek a logiky, které definujete.

Tyto funkce fungují pro iSestavy stejným způsobem jako pro iSoučásti s výjimkou, že uživatelské parametry lze použít pouze pro iSoučásti. Když chcete použít funkci pro iSestavu, můžete volitelně nahradit iSoučást iSestavou, když funkci specifikujete.

Pro zpřístupnění funkcí iSoučásti a iSestavy rozbalte položku iSoučásti na kartě Systém v oblasti Fragmenty.

Pro iPrvky jsou k dispozici podobné funkce. Další informace jsou uvedeny ve Funkce iPrvku.

iPart.ChangeRow

Provádí změnu aktivního řádku v tabulce iSoučásti nebo iSestavy.

Syntaxe

iPart.ChangeRow("iChangedComponentName:1", "memberName")

“iChangedComponentName:1”

Název komponenty, jak je zobrazen v prohlížeči sestavy aplikace Autodesk Inventor. Změnou výchozího názvu komponenty, přiřazeného aplikací Inventor, proveďte jeho stabilizaci, aby se nezměnil, když v tabulce zvolíte jiný řádek.

“memberName”

Název přiřazený řádku tabulky v sloupci členů.

Pro iSoučást s uživatelskými parametry použijte k uvedení parametrů do seznamu za položku "memberName" následující syntaxi. Uveďte je ve stejném pořadí v jakém jsou v tabulce.

iPart.ChangeRow("iChangedComponentName:1", "memberName", customParam1,customParam2)

Použijte tuto syntaxi k specifikování čísla řádku místo názvu členu. Číslo řádku je celé číslo začínající 1 pro první řádek (pouze pro standardní iSoučásti):

iPart.ChangeRow("iChangedComponentName:1", rowNumber)

Příklad

V tomto příkladu je změna aktuální konfigurace iSoučásti prováděna na základě podmíněného příkazu, který vyhodnocuje uživatelský parametr aplikace Inventor Port_1_Size. K řízení aktivní konfigurace iSoučásti tato funkce vyžaduje pouze název komponenty iSoučásti port_1_Flange_screw a název členu tabulky iSoučásti Screw-01:

If Port_1_Size = .50 Then
iPart.ChangeRow("port_1_flange_screw", "Screw-01")
ElseIf Port_1_Size = .75 Then
iPart.ChangeRow("port_1_flange_screw", "Screw-02")
ElseIf Port_1_Size = 1.00 Then
iPart.ChangeRow("port_1_flange_screw", "Screw-03")
End If

iPart.FindRow

V tabulce iSoučásti nebo iSestavy vyhledává po sloupcích řádek obsahující specifikovanou nebo přibližnou hodnotu a nastavuje nalezenému řádku aktivní konfiguraci.

Syntaxe

i=iPart.FindRow("iChangedComponentName:1", "columnName","<=",0.2,"columnName","<=", 4.1,"|",customParam1,customParam2)

i=iPart.FindRow("iChangedComponentName:1","columnName", "<=",d1,"columnName","<=",d2)

„i”

Lokální proměnná, kterou lze použít k testování, zda je nalezeno platné číslo řádku.

“iChangedComponentName:1”

Název komponenty, jak je zobrazen v prohlížeči sestavy aplikace Inventor. Změnou výchozího názvu komponenty, přiřazeného aplikací Inventor, proveďte jeho stabilizaci, aby se nezměnil, když v tabulce zvolíte jiný řádek.

“columnName”

Vyhledat sloupec v tabulce iSoučásti. Použijte název záhlaví sloupce přesně, jak je uveden v tabulce iSoučásti.

Příklad

Tento příklad v tabulce iSoučásti vyhledává řádek s hodnotami sloupce, které jsou rovny nebo větší než specifikované hodnoty. Modul iLogic přesunuje aktuální konfiguraci iSoučásti do nalezeného řádku:

iPart.FindRow("port_1_flange_screw", "Thread_Diameter", ">=", 0.45, "Thread_Length", ">=", 2.0)

iPart.CurrentRowValue

Po nalezení řádku pomocí iPart.FindRow tato funkce čte sdružené hodnoty sloupce z tohoto řádku. Tato funkce čte pouze číselné hodnoty. Ke čtení sloupců obsahujících textové hodnoty použijte iPart.CurrentRowStringValue.

Syntaxe

d0 = iPart.CurrentRowValue("columnName")

Všechny následující příkazy nastavují aktuální řádek:

iPart.FindRow nebo iPart.ChangeRow.

“columnName”

Název sloupce tabulky iSoučásti, který chcete.

Příklad

V tomto příkladu hledáme ve sloupci Port_size v tabulce iSoučásti port_1_flare_flange přesnou hodnotou, která se shoduje s hodnotou parametru aplikace Inventor Port_1_size. Po nalezení řádku použijeme funkci iPart.CurrentRowValue k vyhledání rozměrů ze sloupců tabulky A_dim a B_dim. Pak přiřadíme jejich hodnoty parametrům aplikace Inventor nazvaným Port_1_screw_a_dim a Port_1_screw_b_dim:

i = iPart.FindRow("port_1_flare_flange", "Port_Size", "=", Port_1_Size)
Port_1_screw_A_dim = iPart.CurrentRowValue("A_dim")
Port_1_screw_B_dim = iPart.CurrentRowValue("B_dim")

iPart.CurrentRowStringValue

Po nalezení řádku pomocí funkce iPart.FindRow použijte tuto funkci ke čtení sdružených hodnot sloupce z tohoto řádku. Tato funkce je stejná jako iPart.CurrentRowValue s výjimkou, že čte pouze textové hodnoty. Ke čtení sloupců obsahujících číselné hodnoty použijte iPart.CurrentRowValue.

Syntaxe

iPart.CurrentRowStringValue("PartNumber")

Alternativní syntaxe pro název komponenty

Pro specifikování názvu komponenty, která se nemění, když se mění řádek iSoučásti.

iPart.ChangeRow("iParentFileName:1", "memberName")

iPart.FindRow("iParentFileName:1","columnName","<=",d1,"columnName","<=",d2)

“iParentFileName:1”

Název nadřazeného souboru iSoučásti, kde „:1“ nahrazuje obvyklou příponu .ipt nebo .iam. Změňte „:1“ na číslo komponenty, s kterou pracujete.

Ačkoliv je tato syntaxe podporovaná, nedoporučuje se. Obvyklejší metodou je změna názvu komponenty k jeho stabilizaci.

iPart.RowName

Získává název členu aktivního řádku v instanci komponenty iSoučásti nebo iSestavy. Tato funkce je užitečná v pravidlech spouštěných událostí Změnit komponentu iSoučásti nebo iSestavy. Pro automatickou volbu řádku z pravidla použijte příkaz iPart.ChangeRow nebo iPart.FindRow. Jestliže chcete povolit uživateli ruční volbu řádku, můžete spojit tuto událost s touto funkcí k provedení reakce na změnu.

Poznámka: Po použití této funkce můžete použít funkce iPart.CurrentRowValue nebo iPart.CurrentRowStringValue k vyhledání hodnot dalších buněk v aktivním řádku.

Syntaxe

iPart.RowName("iChangedComponentName:1")

Příklad

memberName = iPart.RowName("port_1_flange_screw:1")

iPart.RowNumber

Získává číslo aktivního řádku v instanci komponenty iSoučásti nebo iSestavy.

Poznámka: Po použití této funkce můžete použít funkce iPart.CurrentRowValue nebo iPart.CurrentRowStringValue k vyhledání hodnot dalších buněk v aktivním řádku.

Syntaxe

iPart.RowNumber("iChangedComponentName:1")

Příklad

rowNumber = iPart.RowNumber("port_1_flange_screw:1")

iPart.Tolerance

Když je tato funkce použita s funkcí iPart.FindRow, umožňuje vám vyhledávat hodnotu s určitým rozsahem spíše než vyhledávat přesnou hodnotu. U tohoto vyhledávání je vždy tolerance. Výchozí tolerance je 0,0000001 a nezávisí na jednotkách dokumentu.

Syntaxe

iPart.Tolerancei = <hodnota>

Nastavte větší toleranci pro zvětšení rozsahu přípustných hodnot.

Příklad

Předpokládejme, že použijete následující příkazy:

iPart.Tolerance = 0.001
i = iPart.FindRow("Block:1","length", "=", 2.3)

Společně se tyto příkazy rovnají následujícímu vyhledávání bez tolerance:

i = iPart.FindRow("Block:1", "length", ">=", 2.299, "length","<=", 2.301)

Pro výměnu členu iSoučásti za člen z jiné rodiny použijte funkci Component.ReplaceiPart.