iLogic udostępnia funkcje reguł służące do sterowania stanem wyłączenia wiązań zespołu; są one przydatne podczas definiowania konfiguracji na poziomie zespołu przy pomocy reguł iLogic.
Załóżmy na przykład, że musimy zdefiniować alternatywne pozycje dla komponentu w zespole. Można zdefiniować wszystkie wiązania potrzebne, by zatrzymać komponent w każdej z lokalizacji. Następnie, używając reguły można wyłączać i włączać wiązania zależnie od potrzeb, by przemieścić komponent w każdej z konfiguracji.
Program Inventor nie dopuszcza wiązań, które się wzajemnie wykluczają. Utwórz wiązania dla komponentu w jednej pozycji, a następnie ręcznie dokonaj ich wyłączenia, zanim utworzysz kolejne zestawy wiązań dla alternatywnych pozycji komponentu. Po utworzeniu wszystkich wiązań wymaganych przez komponent w każdej z konfiguracji możesz stworzyć reguły pozwalające wybierać pomiędzy wiązaniami.
Aby uzyskać dostęp do funkcji wiązań zespołu, rozwiń węzeł Wiązania na karcie System w polu Szablony kodu okna dialogowego Edycja reguły funkcji iLogic.
Wybiera lub odczytuje stan wyłączenia wiązania na górnym poziomie zespołu.
Każdemu z wiązań, do których odniesienia znajdują się w regule, przypisz unikatową, własną nazwę:
Ręczna zmiana stanu wyłączenia wiązania nie powoduje automatycznego uruchomienia reguł zawierających odniesienia do tego wiązania.
Składnia
Constraint.IsActive("Mate:1")
Constraint.IsActive("SubAssem.iam", "Mate:1")
Przykłady
Wybór stanu wyłączenia:
If ConfigStyle = “A” Then Constraint.IsActive("MateLeftSide:1") = true Constraint.IsActive("MateRightSide:2") = false ElseIf ConfigStyle = “B” Then Constraint.IsActive("MateLeftSide:1") = false Constraint.IsActive("MateRightSide:2") = true End If
Odczyt stanu wyłączenia:
If Constraint.IsActive("MateLeftSide:1") Then (Do something)
Wybierz lub odczytaj stan wyłączenia wiązania w podzespole (określ nazwę pliku podzespołu oraz nazwę wiązania):
Constraint.IsActiveInDoc("SubAssem.iam", "Mate:1")
Aby skopiować i zmienić nazwy wszystkich plików w zespole bez naruszenia reguł, użyj funkcji Constraint.IsActiveInComponent, podając nazwę podzespołu zamiast nazwy pliku.
Wybór z użyciem nazwy podzespołu:
If ConfigStyle = “A” Then Constraint.IsActiveInDoc("SubAssem.iam", “LeftMate”) = true Constraint.IsActiveInDoc("SubAssem.iam", “RightMate”) = false ElseIf ConfigStyle = “B” Then Constraint.IsActiveInDoc("SubAssem.iam", “LeftMate”) = false Constraint.IsActiveInDoc("SubAssem.iam", “RightMate”) = true End If
Odczyt z użyciem nazwy podzespołu:
Constraint.IsActiveInDoc("SubAssem.iam",”LeftMate”) = true then (Do something)
Wyłącza lub włącza definicję wiązania iMate.
Constraint.iMateDefIsActive(“iMate:1”) = False
Wyłącza definicję wiązania iMate o nazwie iMate:1 w bieżącym dokumencie reguły. Rezultat jest identyczny, jak w przypadku wyłączenia za pośrednictwem menu kontekstowego w interfejsie użytkownika. Wyłączona definicja iMate nie jest dostępna dla celów tworzenia wiązań.
Constraint.iMateDefIsActive(“SubAssem:1”,“iMate:1) = False
Wyłącza definicję wiązania iMate o nazwie iMate:1 w komponencie SubAssem:1.
Constraint.iMateDefIsActive(PartA:1”,“iMate:1”) = True
Włącza definicję wiązania iMate o nazwie iMate:1 w części komponentu PartA:1.