Matematické funkce v modulu iLogic

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é funkce

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

Matematické funkce modulu iLogic

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:

Trigonometrické funkce

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()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)

Další matematické funkce

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

Srovnávací funkce

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 ab 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