Funkcje iPart i iAssembly — odniesienie (iLogic)

Użytkownik może użyć reguły, by zmienić bieżącą konfigurację części iPart lub zespołu iAssembly w oparciu o własnoręcznie zdefiniowane warunki i zasady.

Funkcje iPart i iAssembly odpowiadają za konfiguracje elementów iPart i iAssembly w zespole.

Funkcje te działają identycznie dla elementów iAssembly, jak dla elementów iPart, lecz parametry niestandardowe mają zastosowanie wyłącznie w przypadku części iPart. Aby użyć danej funkcji dla iAssembly, można zamienić iPart na iAssembly podczas określania funkcji.

Aby uzyskać dostęp do funkcji iPart i iAssembly, rozwiń węzeł iPart na karcie System w polu Szablony kodu okna dialogowego Edycja reguły funkcji iLogic.

Podobne funkcje są dostępne dla iFeatures. Więcej informacji można znaleźć w części Funkcje iFeature.

iPart.ChangeRow

Zmienia aktywny wiersz w tabeli iPart lub iAssembly.

Składnia

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

"iChangedComponentName:1"

Nazwa komponentu identyczna z figurującą w przeglądarce zespołu Inventor. Zmień domyślną nazwę komponentu nadaną przez Inventor, aby ustabilizować nazwę i nie dopuścić do zmiany nazwy po wybraniu innego wiersza w tabeli.

"memberName"

Nazwa przypisana wierszowi w kolumnie Składnik.

W przypadku części iPart o parametrach niestandardowych użyj podanej składni, by stworzyć listę parametrów niestandardowych po "memberName". Kolejność parametrów powinna być taka, jak w tabeli:

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

Użyj podanej składni, by określić numer wiersza zamiast nazwy składnika. Numer wiersza jest liczbą całkowitą, począwszy od 1 dla pierwszego wiersza (wyłącznie dla standardowych części iPart):

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

Przykład

W tym przykładzie bieżąca konfiguracja iPart jest zmieniana w oparciu o instrukcję warunkową oceniającą parametr użytkownika Inventor Port_1_Size. Funkcja ta wymaga wyłącznie nazwy komponentu iPart port_1_Flange_screw i nazwy Składnika tabeli iPart Screw-01, aby zdefiniować aktywną konfigurację iPart:

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

Przeszukuje tabelę iPart lub iAssembly według kolumn w poszukiwaniu wiersza zawierającego określoną lub zbliżoną wartość i ustawia aktywną konfigurację w oparciu o znaleziony wiersz.

Składnia

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

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

"i"

Lokalna zmienna mogąca służyć do przetestowania, czy odnaleziony został prawidłowy numer wiersza.

"iChangedComponentName:1"

Nazwa komponentu identyczna z figurującą w przeglądarce zespołu Inventor. Zmień domyślną nazwę komponentu nadaną przez Inventor, aby ustabilizować nazwę i nie dopuścić do zmiany nazwy po wybraniu innego wiersza w tabeli.

"columnName"

Kolumna do przeszukania w tabeli iPart. Nagłówek kolumny powinien być identyczny z widocznym w tabeli iPart.

Przykład

Ta przykładowa funkcja przeszukuje tabelę iPart w poszukiwaniu wiersza zawierającego wartości równe lub większe niż wartości wyznaczone. iLogic dostosowuje bieżącą konfigurację iPart do wyszukanego wiersza.

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

iPart.CurrentRowValue

Funkcja ta odczytuje wartości w kolumnach dla wiersza wyszukanego przy użyciu iPart.FindRow. Funkcja może odczytać wyłącznie wartości numeryczne. Aby odczytać kolumny zawierające wartości tekstowe, użyj funkcji iPart.CurrentRowStringValue.

Składnia

d0 = iPart.CurrentRowValue("columnName")

Dowolna z poniższych funkcji wybiera bieżący wiersz:

iPart.FindRow lub iPart.ChangeRow.

"columnName"

Nagłówek żądanej kolumny w tabeli iPart.

Przykład

W tym przykładzie w kolumnie Port_Size tabeli iPart port_1_flare_flange szukamy dokładnej wartości odpowiadającej wartości parametru Port_1_Size programu Inventor. Po wyszukaniu wiersza używamy funkcji iPart.CurrentRowValue, aby pobrać wymiary z kolumn A_dim i B_dim tabeli. Następnie przypisujemy ich wartości parametrom programu Inventor o nazwach Port_1_screw_A_dim i 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

Użyj podanej funkcji, by odczytać wartości w kolumnach dla wiersza wyszukanego przy użyciu funkcji iPart.FindRow. Funkcja ta przypomina funkcję iPart.CurrentRowValue, lecz odczytuje wyłącznie wartości tekstowe. Aby odczytać kolumny zawierające wartości numeryczne, użyj funkcji iPart.CurrentRowValue.

Składnia

iPart.CurrentRowStringValue("PartNumber")

Alternatywna składnia dla nazwy komponentu

Definiowanie nazwy komponentu, która nie ulega zmianie podczas zmiany wiersza iPart.

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

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

"iParentFileName:1"

Nazwa pliku macierzystego iPart, gdzie ":1" zastępuje zwyczajowe rozszerzenie .ipt lub .iam. Zmień ":1" na numer komponentu, nad którym pracujesz.

Nie zaleca się stosowania tej składni, choć jest ona obsługiwana. Metodą standardową jest zmiana nazwy komponentu w celu jej ustabilizowania.

iPart.RowName

Pobiera nazwę składnika aktywnego wiersza w wystąpieniu komponentu iPart lub iAssembly. Funkcja ta jest przydatna w regułach uruchamianych przez zdarzenie Zmień komponent iPart lub iAssembly. Użyj iPart.ChangeRow lub iPart.FindRow, aby automatycznie wybrać wiersz przy użyciu reguły. Aby pozwolić użytkownikowi na ręczny wybór wiersza, można połączyć zdarzenie z tą funkcją tak, aby nastąpiła reakcja na zmianę.

Uwaga: Po użyciu funkcji można użyć funkcji iPart.CurrentRowValue lub iPart.CurrentRowStringValue, aby pobrać wartości z pozostałych komórek w wierszu.

Składnia

iPart.RowName("iChangedComponentName:1")

Przykład

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

iPart.RowNumber

Pobiera numer aktywnego wiersza w wystąpieniu komponentu iPart lub iAssembly.

Uwaga: Po użyciu funkcji można użyć funkcji iPart.CurrentRowValue lub iPart.CurrentRowStringValue, aby pobrać wartości z pozostałych komórek w wierszu.

Składnia

iPart.RowNumber("iChangedComponentName:1")

Przykład

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

iPart.Tolerance

W połączeniu z funkcją iPart.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

iPart.Tolerance = <wartość>

Ustala wyższą tolerancję, by powiększyć zakres dopuszczalnych wartości.

Przykład

Załóżmy, ze użyto następujących instrukcji:

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

Razem instrukcje te są równoważne z następującym wyszukiwaniem o zerowej tolerancji:

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

Aby zastąpić składnik iPart składnikiem pochodzącym z innego generatora, użyj funkcji Component.ReplaceiPart.