Modul iLogic poskytuje sadu matematických funkcí, které lze přidat do pravidel. V dialogu Upravit pravidlo v modulu iLogic použijte následující metody k zpřístupnění matematických funkcí:
Standardní matematická knihovna v jazyce VB.NET poskytuje většinu matematických funkcí používaných v modulu iLogic:
IsNumeric | Ludolfovo číslo |
MinOfMany | Sqrt |
MaxOfMany | Abs |
Round | Sign |
Zaokrouhlení desetinné přesnosti | Int |
Round Closest to Increment | Pevný bod |
Zaokrouhlení nahoru k přírůstku | Log10 |
Zaokrouhlení dolů k přírůstku | Ln |
Ceil | Pow |
Floor | Min |
Sin | Max |
Cos | CDbl |
Tan | EqualWithinTolerance |
Modul iLogic poskytuje některé matematické funkce. Následující funkce emulují funkce dostupné ve standardních parametrických rovnicích aplikace Inventor:
Ceil (same as Math.Ceiling) Sign0(a) = 1 if a > 0.0, = 0 otherwise Ln (same as Math.Log)
Protože se některé funkce aplikace Autodesk Inventor liší od standardních matematických funkcí se stejným názvem v jazyce VB.NET, jsou převedeny, když jsou shromážděny k použití v pravidle modulu iLogic:
Sin(0) = 0 | Cos(PI) = -1 |
Sin(PI) = 0 | Tan(0) = 0 |
Sin(PI/2) = 1 | Tan(PI/4) = 1 |
Cos(0) = 1 | PI = 3,1415926...... |
Cos (PI/2) = 0 |
Sin(), Cos() a Tan() jsou standardní trigonometrické funkce s argumenty vyjádřenými v radiánech (ne ve stupních):
Jestliže používáte možnost Zachytit aktuální stav v trigonometrickém vzorci v dialoguUpravit pravidlo, nebude převeden do kódu jazyka VB.NET. Místo toho je vzorec ponechán jako vzorec aplikace Inventor. Vzorec můžete ruční úpravou změnit na vzorec jazyka VB.NET (s úhly v radiánech).
Pro převod stupňů na radiány používejte následující vzorec:
radiány = stupně *(PI/180)
Funkce | Účel | Příklady |
---|---|---|
Abs() | Výsledek je absolutní hodnota argumentu. |
Abs(10) = 10 Abs(-9,87) = 9,87 |
Sqrt() | Výsledek je druhá odmocnina argumentu. |
Sqrt(25) = 5 Sqrt(100) = 10 Sqrt(3) = 1,732051 |
Sign() | Výsledek je číslo udávající znaménko argumentu. |
Jestliže je hodnota kladná, Sign(hodnota) = 1 Jestliže je hodnota záporná, Sign(hodnota) = -1 Jestliže je hodnota nula, Sign(hodnota) = 0 |
Round() | Zaokrouhlit argument na celé číslo nebo na určený počet desetinných míst. |
Syntaxe: Zaokrouhlit(argument, volitelný požadovaný počet desetinných míst) Round(2,55689) = 3 Round(2,55689, 1) = 2,6 Round(2,55689, 3) = 2,557 Round(PI, 4) = 3,1416 |
Ceil() | Zaokrouhlit argument na další vyšší celé číslo. |
Ceil(2,56) = 3 Ceil(Sqrt(3)) = 2 |
Floor() | Zaokrouhlit argument na další nižší celé číslo. |
Floor(1,789) = 1 Floor(PI) = 3 |
Log10() | Výsledek je dekadický logaritmus argumentu. |
Log10(10) = 1 Log10(100) = 2 Log10(15) = 1,176091 |
Ln() | Výsledek je přirozený logaritmus argumentu. (e logaritmus). |
Ln(5) = 1,609438 Ln(37) = 3,610918 |
Pow(argument1, argument2) | Výsledek je umocněný argument1 argumentem2 jako mocnitelem. |
Pow(2, 2) = 2 2 = 4 Pow(2, 3) = 2 3 = 8 Pow(3, 2) = 3 2 = 9 |
Funkce | Účel | Příklady |
---|---|---|
Min(argument1, argument2) | Výsledek je menší ze dvou argumentů. |
Min(2, 4) = 2 Min(9, 4) = 4 Min(Sqrt(2), Sqrt(3)) = 1,4142..... |
Max(argument1,argument2) | Výsledek je větší ze dvou argumentů. |
Max(2, 4) = 4 Max(9, 4) = 9 Sqrt(3)) = 1,73205..... |
MinOfMany( ,,, ) | Výsledek je nejmenší z mnoha argumentů. |
MinOfMany(2,4,3,6,7,8) = 2 MinOfMany(9,4,5,67,3,5) = 3 MinOfMany(Sqrt(2), Sqrt(3), Sin(PI/2)) = 1 |
MaxOfMany( ,,, ) | Výsledek je největší z mnoha argumentů. |
MaxOfMany(2,4,3,6,7,8) = 8 MaxOfMany(9,4,5,67,3,5) = 67 MaxOfMany(Sqrt(2), Sqrt(3), Sin(PI/ignored>/2)) = 1,73205..... |
EqualWithinTolerance(a, b, 0,001) | Porovnává hodnoty dvou parametrů (zastoupených a a b a porovnává rozdíl s hodnotou tolerance (zde specifikovanou jako 0,001). Jestliže je rozdíl menší než tolerance, výsledkem této funkce je booleovská hodnota Pravda. Jestliže je rozdíl větší než tolerance, výsledkem této funkce je booleovská hodnota Nepravda. |
Pokud a = 10,00 a b = 10,01 EqualWithinTolerance(a, b, 0,015) = True[Abs(a-b) je menší než hodnota tolerance 0,015] EqualWithinTolerance(a, b, 0,001) = False[Abs(a-b) je větší než hodnota tolerance 0,001] |
EqualWithinTolerance(a,b) | Použijte výchozí toleranci 0,0000001 |