iLogic udostępnia funkcje reguł służące do wyboru lub pobierania właściwości iProperty części, zespołu oraz dokumentów rysunkowych Inventor. Ponieważ reguły są wykorzystywane do przetwarzania lub modyfikacji projektów w konfiguracjach, dokumenty projektowe iProperty powinny być zawsze aktualne. iProperties muszą być również aktualne, aby poprawne było Zestawienie komponentów. Reguły mogą również służyć do odczytywania wartości iProperty dokumentów i ustalania reakcji na te wartości. Możliwe jest na przykład stworzenie reguły zmieniającej grubość części, jeśli zmianie uległy właściwości materiału. Reguła może też wywoływać zmianę, jeśli ciężar części wykracza poza minimalną lub maksymalną wartość. Dowolna właściwość iProperty, którą można ustawić ręcznie, może zostać ustawiona lub odczytana przy pomocy reguły.
Aby uzyskać dostęp do funkcji iProperty, rozwiń węzeł iProperties w karcie Systemowe w polu Skrawki.
Składnia
iProperties.Value("nazwa karty właściwości", "nazwa właściwości")
Odczytuje lub ustala wartość właściwości w dokumencie zawierającym regułę.
iProperties.Value("filename.ipt", "nazwa karty właściwości", "nazwa właściwości")
Funkcja stosowana w regule na poziomie zespołu, pozwala na dostęp do właściwości iProperty części lub podzespołu.
Jeśli nazwa pliku części lub podzespołu ulegnie zmianie, reguła również musi zostać zmieniona.
Zalecane jest używanie nazw komponentów (po utworzeniu własnych nazw), a nie nazw plików.
iProperties.Value("niestandardowa nazwa komponentu", "nazwa karty właściwości", "nazwa właściwości")
Ustala lub odczytuje wartości właściwości w komponencie. Ta funkcja korzysta z nazwy komponentu, a nie z nazwy pliku. Zalecane jest tworzenie własnych nazw komponentów (zmiana nazwy z oryginalnej nazwy domyślnej), dzięki czemu nazwy te nie ulegną zmianie, jeśli zmieni się odniesienie pliku.
Przykłady
Ustaw wartość iProperty
iProperties.Value("Project", "Stock Number") = "302A"
Odczytaj wartość iProperty
MyStringParam = iProperties.Value("Project", "Stock Number")
Ustaw niestandardową wartość iProperty
iProperties.Value("Custom", "Age") = 41 'number type iProperties.Value("Custom", "Company") = "Autodesk, Inc" 'text type iProperties.Value("Custom", "Date") = CDate("11/1/2008") ' date type iProperties.Value("Custom", "Insured") = true 'yes or no type
Odczytaj niestandardową wartość iProperty
age = iProperties.Value("Custom", "Age") company = iProperties.Value("Custom", "Company") thedate = CStr(iProperties.Value("Custom", "Date")) insured = iProperties.Value("Custom", "Insured")
Warto zapamiętać
Work_In_Progress = 1 Pending = 2 Released = 3 iProperties.Value("Status", "Design State") = Pending
Starsze wersje funkcji
Poprzednie wersje iLogic wykorzystywały poniższe funkcje do uzyskiwania właściwości iProperty z części w zespołach.
iProperties.ValueInDoc("filename.ipt", "nazwa karty właściwości", "nazwa właściwości")
Zawiera odniesienie do nazwy pliku.
iProperties.ValueInComponent("niestandardowa nazwa komponentu", "nazwa karty właściwości", "nazwa właściwości")
Zawiera odniesienie do nazwy komponentu.
Choć funkcje te nie są dostępne w polu Skrawki okna dialogowego Edycja reguły, będą działać poprawnie, jeśli zostaną użyte w regule. Zaleca się jednak stosowanie funkcji iProperties.Value zamiast starszych funkcji.
Funkcja ta obsługuje opcję używania tego samego dokumentu w różnych wersjach językowych programu Autodesk Inventor. Model łatwiej wykorzystać w innych projektach, jeśli nazwy materiałów i kolorów w regułach zapisane są w języku angielskim. Jeśli funkcja ma wartość True, to dowolna funkcja zwracająca nazwy materiałów lub kolorów zwróci je w języku angielskim. W nazwach materiałów lub kolorów można używać języka instalacji programu Autodesk Inventor. Zaleca się jednak, by w celu zachowania spójności używać nazw w języku angielskim. Poniższe funkcje zwracają nazwy w jęz. angielskim, jeśli funkcja iProperties.StylesInEnglish ma wartośćTrue:
Ustala lub odczytuje materiał dokumentu.
Wybierając materiał należy użyć dokładnej nazwy materiału (z zachowaniem wielkości liter), identycznej z figurującą na liście materiałów fizycznych aktywnego standardu. Wartości materiałowe mają zawsze postać ciągów tekstowych znajdujących sie w cudzysłowie.
Przykłady
Wybór materiału:
iProperties.Material = "Gold"
Odczyt materiału:
MyStringParam = iProperties.Material
Wybiera lub odczytuje materiał części w zespole poprzez określenie nazwy pliku.
Funkcja ta jest stosowana w regułach na poziomie zespołu, by uzyskać dostęp do materiału części w zespole poprzez określenie nazwy komponentu.
Wybiera lub odczytuje bieżący kolor części. Wartości koloru części mają postać ciągów tekstowych w cudzysłowie. Zmiana koloru nie wpływa na bieżącą wartość materiału.
Ta funkcja ma zastosowanie wyłącznie dla części.
Przykłady
Wybór koloru:
iProperties.PartColor = "Green" iProperties.PartColor = "As Material"
Odczyt koloru:
MyStringParam = iProperties.PartColor
Odczytuje lub zapisuje masę dokumentu części lub zespołu zawierającego regułę.
W przypadku zapisywania masy nowa wartość nadpisuje wartość obliczoną. Aby przywrócić wartość obliczoną, ustaw wartość masy równą -1.
iProperties.Mass(„nazwapliku.ipt”)
Odczytuje lub zapisuje masę części lub podzespołu w zespole poprzez określenie nazwy pliku.
iProperties.Mass(„nazwa komponentu:1”)
Odczytuje lub zapisuje masę komponentu w zespole poprzez określenie nazwy komponentu. Funkcji tej można również użyć do odczytu lub zapisu masy komponentu wirtualnego.
Przykłady
Odczyt masy:
MyMassParam = iProperties.Mass MyMassParam = iProperties.Mass("component:1") MyMassParam = iProperties.Mass("mypart.ipt")
Wybór masy (nadpisuje obliczenia automatyczne):
iProperties.Mass = 3 kg iProperties.Mass("virtual_component") = 233 g iProperties.Mass("mypart.ipt") = 4.2 lb massiProperties.Mass = -1 'set the mass back to automatic calculation
Odczytuje lub zapisuje objętość dokumentu zawierającego regułę.
iProperties.Volume(„nazwapliku.ipt”)
Odczytuje lub zapisuje objętość części lub podzespołu zawierających regułę poprzez określenie nazwy pliku.
iProperties.Volume(„komponent:1”)
Odczytuje lub zapisuje objętość komponentu w zespole poprzez określenie nazwy komponentu. Funkcji tej można również użyć do odczytu lub zapisu objętości komponentu wirtualnego.
Przykłady
Odczyt objętości:
MyVolumeParam = iProperties.Volume MyVolumeParam = iProperties.Volume("component:1") MyVolumeParam = iProperties.Volume("mypart.ipt")
Wybór objętości (nadpisuje obliczenia automatyczne):
iProperties.Volume = 12.4 in^3 iProperties.Volume("virtual_component") = 542 cm^3 iProperties.Volume("mypart.ipt") = 12.8 in^3 iProperties.Volume = -1 'set it back to automatic calculation
Odczytuje środek ciężkości modelu w dokumencie zawierającym regułę.
Składnia
pt = iProperties.CenterOfGravity
pt jest typu Inventor.Point, który został opisany w dziale Pomoc dla Inventor API. Istnieje możliwość odczytania wartości X, Y oraz Z punktu wyrażonych w jednostkach dokumentu reguły:
cx = pt.X cy = pt.Y cz = pt.Z
pt = iProperties.CenterOfGravity(„komponent”)
Odczytuje środek ciężkości komponentu w zespole poprzez określenie nazwy komponentu.
Odczytuje pole powierzchni modelu w dokumencie zawierającym regułę.
Składnia
surfaceArea = iProperties.Area
surfaceArea = iProperties.Area(„komponent:1”)
Odczytuje pole powierzchni komponentu w zespole poprzez określenie nazwy komponentu.