Funkcje komponentów w iLogic

iLogic zawiera funkcje reguł pozwalające wybrać lub odczytać stan wyłączenia i kolor komponentów oraz funkcję służącą do zamiany jednego komponentu na inny. Funkcje te pomagają obsługiwać różne konfiguracje części lub zespołów.

Użytkownik może stworzyć model (część lub zespół) zawierający komponenty odzwierciedlające wszystkie możliwe prawidłowe konfiguracje produktu. Metoda ta jest zwana „supermodelowaniem”. Jeśli części lub komponenty zespołu są zbyt złożone, a supermodelowanie staje się niepraktyczne, użyj funkcji Component.Replace.

Aby uzyskać dostęp do funkcji komponentów, rozwiń węzeł Komponenty w karcie Systemowe w polu Skrawki.

Nadawanie nazw komponentom

Przed odniesieniem się do nazw komponentów w regule należy zmienić nazwy wszystkich komponentów na własne. Zmieniając nazwy domyślne przydzielone przez program Autodesk Inventor, należy upewnić się, że nie ulegną one zmianie, jeśli zmieni się plik referencyjny .ipt lub. iam.

Można zmienić nazwę komponentu z powrotem na oryginalną, nadal zachowując jej stabilność. Aby zmienić komponent, wprowadź niewielką zmianę w jego nazwie, a następnie przywróć nazwę oryginalną.

W przypadku komponentu Content Center zmiana nazwy jest wymagana zarówno dla funkcji Component.IsActive, jak i dla funkcji Component.Replace.

Component.IsActive

Wybiera lub odczytuje stan wyłączenia i strukturę zestawienia komponentów dla komponentu zespołu. Funkcja ta pozwala włączyć lub wykluczyć komponent z konfiguracji zespołu.

Ta funkcja działa dla pojedynczych komponentów lub szyków komponentów. W przypadku szyków należy użyć nazwy szyku. Szyk musi się znajdować na tym samym poziomie zespołu, co reguła, a nie w podzespole.

Nie należy wyłączać podkomponentów. Lepszym rozwiązaniem jest wykonanie wyłączenia z reguły wewnątrz komponentu.

Przykładowo, zespół o nazwie ZespółGłówny zawiera Podzespół:1, z kolei ten podzespół zawiera CzęśćPrzykładową:1.

Użyj reguły wewnątrz Podzespołu, by wyłączyć CzęśćPrzykładową:1. Reguła ta może zawierać parametr wymuszający stan wyłączenia, zaś tym parametrem można sterować przy pomocy reguły w ZespoleGłównym.

Podczas korzystania z iLogic w celu wyłączenia komponentu struktura zestawienia komponentów dla komponentu zostaje zmieniona na Odniesienie. Dzięki temu nie pojawi się on w Zestawieniu komponentów. Jest widoczny w widoku Dane modelu, lecz nie w widoku Strukturalnym ani w widoku Tylko części. Jeśli komponent zostaje włączony, iLogic przywraca komponent do stanu sprzed wyłączenia (Normalny, Nierozłączny, Kupiony lub Pozorny).

Zanim użyjesz reguły iLogic, by zmienić stan wyłączenia komponentu zespołu, utwórz i aktywuj nowy własny Poziom szczegółu.

Składnia

Component.IsActive("ComponentName")

Przykłady

Można użyć cyfry 1 zamiast wyrażenia Prawda i cyfry 0 zamiast wyrażenia Fałsz.

Wybór stanu wyłączenia i struktury zestawienia komponentów:

Component.IsActive("PartA:1") = false
Component.IsActive("PartB:1") = 0
Component.IsActive("PartC:1") = false
Component.IsActive("PartD:1") = 0

Odczyt stanu wyłączenia i struktury zestawienia komponentów:

MyBooleanParam = Component.IsActive("ComponentName:1)
If Component.IsActive("PartE") Then
' do something
End If

Component.iComponentIsActive

Funkcja ta, będąca wariantem funkcji Component.IsActive, odczytuje lub wybiera stan wyłączenia komponentu iPart lub iAssembly. Jeśli użytkownik nie zmienił ręcznie nazwy komponentu, komponenty iPart i iAssembly wymagają zastosowania przedstawionej składni.

Zaleca się zmianę nazwy komponentu. Dzięki temu możliwe jest użycie funkcji Component.IsActive zamiast podanej.

Składnia

Component.iComponentIsActive(“iPartParentName:1”)

iPartParentName

Nazwa części fabrycznej bez rozszerzenia pliku .ipt.

Component.Color

Wybiera lub odczytuje kolor komponentu.

Składnia

Component.Color(“iPartA:1”)

Przykłady

Wybierz kolor:

Component.Color("iPartA:1") = "Green"
Component.Color("iPartA:2") = "Aluminum (Cast)"
Component.Color("iPartA:3") = "As Material"

Odczytaj kolor:

MyStringParameter = Component.Color("iPartA:1")

Component.Visible

Wybiera lub odczytuje widoczność komponentu. Funkcja nie zmienia struktury zestawienia komponentów dla komponentu.

Składnia

Component.Visible("componentName")

Przykłady

Ustaw widoczność:

Component.Visible("Plate") = true
Component.Visible("Bearing") = false

Odczytaj widoczność:

parameter = Component.Visible("Plate")
parameter = Component.Visible("Bearing")
If Component.Visible("PartE") Then
do something
End If

Component.SkipDocumentSave

Ustala, czy dokument komponentu jest zapisywany, jeśli został zmieniony a następnie wyłączony przez regułę.

Składnia

Component.SkipDocumentSave = True

Jeśli zastosowano ustawienie Prawda, dokument komponentu nie jest zapisywany.

Wartością domyślną jest Fałsz (Component.SkipDocumentSave = False); dokument komponentu zostanie zapisany.

Component.Replace

Zastępuje jedną część lub podzespół innym. Funkcja ta może również służyć do zamiany szyków komponentów.

Aby zachować wiązania zespołu w niezmienionej postaci podczas zamiany komponentów, użyj iMates. Można wymieniać część na część, część na zespół lub zespół na część.

Ta funkcja przeszukuje kilka folderów w poszukiwaniu pliku, który ma zostać użyty jako plik zamienny:

Nazwą pliku może być relatywna ścieżka dostępu (względna w stosunku do jednej z przeszukiwanych lokalizacji).

Uwaga: Przed użyciem tej funkcji „ustabilizuj” nazwę komponentu, aby nie uległa zmianie podczas dokonywania zamiany. Aby ustabilizować nazwę komponentu, zmień ją na inną. Nazwa zostanie ustabilizowana nawet, jeśli zostanie zmieniona, a następnie przywrócona do oryginalnej. Jeśli nazwa nie została ustabilizowana, operacja wymiany spowoduje zmianę komponentu, aby odpowiadał innej nazwie. Sprawi to, że po ponownym uruchomieniu reguła nie odnajdzie komponentu.

Składnia

Component.Replace(“ComponentToReplaceName”, “OtherPartfilename.ipt”, <zamieńWszystko>)

ComponentToReplaceName

Nazwa wymienianej części lub podzespołu.

OtherPartfilename

Część lub podzespół zamienny.

<zamieńWszystko>

Wartość logiczna Prawda powoduje wymianę wszystkich wystąpień tego komponentu. Wartość Fałsz powoduje wymianę wyłącznie pojedynczego, nazwanego wystąpienia.

Przykład

If PartType = "Type A" Then
Component.Replace("Widget","PartA.ipt", True)
ElseIf PartType = "Type B" Then
Component.Replace("Widget","PartB.ipt", True)
End If

Component.Replace (z określonym poziomem szczegółu)

Wariant funkcji Component.Replace powoduje wymianę komponentu w zespole na inny komponent na określonym poziomie szczegółów.

Składnia

Component.Replace("SubAssem:1", "OtherAssemFilename.iam<poziom szczegółów>,<zamieńWszystko>)

W tej funkcji argument <zamieńWszystko> jest identyczny jak argument opisany dla ogólniejszej funkcji Component.Replace.

Można również zamienić podzespół na ten sam podzespół na innym poziomie szczegółu.

Component.ReplaceiPart

Funkcja ta jest wymagana dla iPart z parametrami niestandardowymi oraz zalecana dla iPart w wersji standardowej. Jeśli komponent jest częścią iPart, należy jej użyć zamiast funkcji Component.Replace. Aby zmienić określoną konfigurację iPart po dokonaniu zamiany, można użyć funkcji iPart.ChangeRow lub iPart.FindRow.

W przypadku części iPart o parametrach niestandardowych użyj podanej składni, by stworzyć listę parametrów niestandardowych za numerem wiersza. Wartości muszą zachować kolejność identyczną z ich kolejnością w tabeli.

Składnia

Component.ReplaceiPart("iPart1:1", "OtherPartfilename.ipt", True, rowNumber)

Użyj funkcji rowNumber, aby jednocześnie wymienić komponent i wybrać wiersz iPart.

Przykłady

Aby wybrać niestandardowe parametry, powtórz niestandardowe wartości w Component.ReplaceiPart, a następnie ponownie w iPart.ChangeRow lub w iPart.FindRow w dalszej części reguły.

dla ChangeRow:

Component.ReplaceiPart("iPart1:1", "OtherPartfilename.ipt", True, rowNumber, customParam1, customParam2)
iPart.ChangeRow("iPart1:1", rowNumber, customParam1, customParam2)

dla FindRow:

Component.ReplaceiPart("iPart1:1", "OtherPartfilename.ipt", True, rowNumber, customParam1, customParam2)
i = iPart.FindRow("iPart1:1", "Dia", ">=", 3.0, "r;|", customParam1, customParam2)

MakePath

Definiuje ścieżkę dostępu do nazwy komponentu w podzespole. Aby określić ścieżkę dostępu, wymień wszystkie poziomy podzespołu w kolejności, w której znajdują się w drzewie katalogów. Funkcja ta jest wymagana, aby wybrać nazwę komponentu, jeśli identyczna nazwa istnieje również w innym punkcie podzespołu.

Składnia

MakePath(“SubassemblyComponentName”,“PartComponentName”)

Przykłady

Component.Color(MakePath("SubAssem1:1", "Part2:1")) = “Green”
Component.IsActive(MakePath("SubAssem1:1", "SubSubAssem2:1", "Part2:1")) = “Yellow”