Funkcje iFeature służą do wyboru wiersza w sterowanych tabelą elementach iFeature.
Każdy wiersz zawiera zestaw wartości parametrów definiujących iFeature.
Funkcje iFeature działają wewnątrz części, w której umieszczony został element iFeature. Ich składnia przypomina składnię stosowaną w funkcjach GoExcel i iPart.
Aby uzyskać dostęp do funkcji iFeature, rozwiń węzeł iFeature na karcie System w obszarze Szablony kodu okna dialogowego Edycja reguły funkcji iLogic.
Zmienia aktywny wiersz w sterowanym tabelą elemencie iFeature.
Składnia
iFeature.ChangeRow("iFeatureName", "rowName")
"iFeatureName”
Nazwa elementu iFeature figurująca w drzewie modelu.
"rowName"
Żądana wartość kluczowego parametru w tabeli iFeature.
Jeśli element iFeature ma więcej niż jeden parametr kluczowy, należy określić je wszystkie w ciągu tekstowym [Klucz1=Wartość1][Klucz2=Wartość2]. Na przykład:
[Size=A0][CutLength=0.4375000 in]
Przykład przedstawia właściwość iFeatureTableRow.MemberName zgodnie z opisem w dokumentacji funkcji API programu Inventor. Alternatywnym sposobem definiowania kilku wartości parametrów jest zastosowanie funkcji iFeature.FindRow.
Można również użyć numeru wiersza w postaci liczby całkowitej.
iFeature.ChangeRow("iFeatureName", rowNumber)
Przykład
W tym przykładzie bieżąca konfiguracja iFeature jest zmieniana na podstawie instrukcji warunkowej oceniającej wielkość, czyli parametr tekstowy. iFeature.ChangeRow wymaga wyłącznie nazwy komponentu iFeature RectangularPocket1 i tabeli iFeature Kolumna kluczowa o nazwie " Pocket-01", aby sterować aktywną konfiguracją iFeature:
If size = "small" Then iFeature.ChangeRow("RectangularPocket1", "Pocket-01") ElseIf size = "medium" Then iFeature.ChangeRow("RectangularPocket1", "Pocket-02") ElseIf size = "large" Then iFeature.ChangeRow("RectangularPocket1", "Pocket-03") ElseIf size = "very large" Then iFeature.ChangeRow("RectangularPocket1", "Pocket-04") End If
Wyszukuje wiersz w oparciu o jedno lub więcej kryteriów wartości kolumny. Jeśli wiersz zostaje odnaleziony, staje się on aktywnym wierszem elementu iFeature.
Składnia
i = iFeature.FindRow("iFeatureName", "columnName", "<=", 0.2, "columnName", "<=", 4.1)
"iFeatureName"
Nazwa sterowanego tabelą elementu iFeature.
"columnName"
Nagłówek kolumny do przeszukania.
Operatory
Wartość może mieć postać wartości numerycznej lub ciągu tekstowego. Wartość może zostać zdefiniowana przy użyciu wartości ustalonej, parametru lub lokalnej zmiennej.)
Wynik
iFeature.CurrentRowValue(“columnName”)
Odczytuje wartość z wiersza wyszukanego za pomocą funkcji iFeature.FindRow, gdzie "columnName" jest nagłówkiem kolumny. Zwraca wartość komórki bieżącej wartości wiersza zwróconej przez funkcję iFeature.FindRow. Na przykład:
i = iFeature.FindRow("RectangularPocket1", "pocketdepth", "=", 0.250) pocketlength = iFeature.CurrentRowValue("pocketlength") pocketwidth = iFeature.CurrentRowValue("pocketwidth")
Jeśli żądana kolumna nie istnieje w elemencie iFeature, reguła wyświetla komunikat o błędzie.
iFeature.CurrentRowStringValue("columnName")
Stosuj tę funkcję, jeśli szukany wpis w tabeli elementu iFeature ma postać ciągu tekstowego. Na przykład:
Part_number = iFeature.CurrentRowStringValue("Part Number")
W połączeniu z funkcją iFeature.FindRow funkcja ta pozwala na wyszukiwanie wartości należącej do wyznaczonego przedziału, a nie dokładnej wartości. W tym wyszukiwaniu zawsze stosowana jest tolerancja. Domyślna tolerancja wynosi 0.0000001 i nie jest zależna od jednostek w dokumencie.
Składnia
iFeature.Tolerance = <wartość>
Ustala wyższą tolerancję, by powiększyć zakres dopuszczalnych wartości.
Przykład
iFeature.Tolerance = 0.001 i = iFeature.FindRow("insertpocket", "pocketlength", "=", 2.0)
Niniejszy przykład odpowiada wierszowi o wartości pocketlength równej 2.0004.