Rozszerzanie i dostosowywanie opcji iLogic

Przechowywanie reguł w plikach zewnętrznych

Reguły iLogic można umieścić w plikach zewnętrznych zamiast przechowywać w modelu Inventor. Ta metoda przechowywania pozwala używać tej samej reguły w kilku różnych miejscach.

Aby przechowywać reguły w plikach zewnętrznych, należy wpierw wybrać domyślne rozszerzenie dla nowych plików. Wybór domyślnego rozszerzenia zależy od tego, jak ma wyglądać edycja pliku. Przykładowo, wybierz rozszerzenie domyślne .vb, jeśli chcesz edytować pliki w Visual Studio. Rozszerzenie .txt pozwala edytować pliki w edytorze tekstu takim jak Notatnik Microsoft. Można również wybrać rozszerzenie domyślne .iLogicVB, jeśli pliki zawierają standardowy kod reguł iLogic wstępnie przetworzony przez iLogic.

Reguły iLogic mogą wykorzystywać kod w innych zespołach .NET. Możesz określić katalog, w którym znajdują się te zespoły .NET. Zespoły .NET można tworzyć przy pomocy narzędzi programistycznych takich jak Visual Studio 2008. Więcej informacji na temat zespołów .NET można znaleźć w dziale „Zaawansowane programowanie reguł”.

Interfejs automatyzacji umożliwiający uzyskanie dostępu do parametrów i reguł

iLogic zawiera interfejs automatyzacji. Możesz użyć tego interfejsu za pośrednictwem kodu Inventor VBA, VB6 lub .NET, by uzyskać dostęp do parametrów i reguł.

Za tę funkcjonalność odpowiada klasa iLogicAutomation.

W projekcie VBA lub VB można użyć tej opcji jako typu wiązania późnego (zadeklarowanego jako Obiekt) bez dodawania odniesienia. Jako, że nie jest to pełny obiekt .COM, nie ma możliwości przeglądania jego metod.

Funkcja DoubleForEquals — typ danych

iLogic używa niestandardowego typu danych o nazwie DoubleForEquals do przechowywania wartości parametrów. DoubleForEquals umożliwia łatwe porównywanie wartości liczbowych. Parametr ten przypomina standardowy typ VB.NET Double. Z tym wyjątkiem, że wartości DoubleForEquals są porównywane tak, jakby były wartościami typu Single (7 miejsc po przecinku zamiast 15). Domyślnie parametry w regułach są deklarowane jako DoubleForEquals.

DoubleForEquals ułatwia ignorowanie błędów zaokrąglania w porównaniach. Załóżmy na przykład, że część wykorzystuje cale jako jednostki dokumentu i istnieje parametr o wartości 13/16 cala. Część nie jest dokładnie równa 13.16 w regule, ponieważ wartość parametru jest przechowywana w modelu w centymetrach. Wartość jest następnie przekształcana na cale, by mogła zostać użyta w regule. Rozważmy następujące porównanie:

if d0 = 13/16 then ... 

W tym przykładzie porównanie nie powiedzie się, jeśli parametr d0 jest typu Double. Jeśli jednak parametr d0 jest typu DoubleForEquals, porównanie się powiedzie.

DoubleForEquals przechowuje wartość typu Double i realizuje wszystkie obliczenia jak w przypadku wartości Double. Tylko porównanie jest wykonywane jak dla typu Single.

W razie potrzeby można dokonać konwersji wartości parametru na typ Double, używając funkcji CDbl.

W VB.NET DoubleForEquals jest typu Structure (typ wartości).

Funkcja DoubleForEquals — porównywanie wartości do zera

DoubleForEquals traktuje porównania z zerem jako przypadki specjalne. Jeśli jedna z porównywanych wartości wynosi dokładnie zero, porównanie równoważności kończy się pomyślnie, jeśli druga wartość jest mniejsza niż 0.0000001 (wartość absolutna).

Dzięki temu łatwiej jest ignorować błędy zaokrąglania, których wartość jest bliska zeru. Przykładowo, poniższe porównanie wykazuje, że x = 0:

angle = PI/2
x = cos(angle)
If (x = 0) Then
...
End If

Kiedy wyłączyć funkcję DoubleForEquals

DoubleForEquals jest domyślnym typem dla wszystkich parametrów programu Inventor używanych w regułach. Możesz wyłączyć to ustawienie z następujących przyczyn: