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.
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
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.
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")
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
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.
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).
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
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.
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)
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”