Funzioni matematiche in iLogic

iLogic fornisce una serie di funzioni matematiche che possono essere aggiunte alle regole. Nella finestra di dialogo Modifica regola iLogic, utilizzare uno dei seguenti metodi per accedere alle funzioni matematiche:

Funzioni matematiche standard

La libreria matematica VB.NET standard fornisce la maggior parte delle funzioni matematiche utilizzate in iLogic:

IsNumeric PI
MinOfMany Sqrt
MaxOfMany Abs
Round Sign
Precisione decimale arrotondamento Int
Arrotonda a incremento più vicino Fissaggio
Arrotonda a incremento Log10
Arrotonda a incremento per difetto Ln
Ceil Pow
Floor Min
Sin Max
Cos CDbl
Tan EqualWithinTolerance

Funzioni matematiche di iLogic

iLogic fornisce alcune funzioni matematiche. Le seguenti funzioni emulano le funzioni disponibili nelle equazioni parametriche di Inventor standard:

Ceil (same as Math.Ceiling)
Sign0(a) = 1 if a > 0.0, = 0 otherwise
Ln (same as Math.Log)

Poiché alcune funzioni di Autodesk Inventor sono diverse da quelle matematiche standard di VB.NET aventi lo stesso nome, vengono convertite quando acquisite per l'utilizzo in una regola iLogic:

Funzioni trigonometriche

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() e Tan() sono funzioni trigonometriche standard con argomenti espresso in radianti (non in gradi):

Se si utilizza l'opzione Acquisisci stato corrente in una formula trigonometrica nella finestra di dialogo Modifica regola, non viene convertita in codice VB.NET. La formula viene invece mantenuta come formula di Inventor. È possibile modificare manualmente la formula per trasformarla in una formula VB.NET (con angoli in radianti).

Per convertire i gradi in radianti, utilizzare la seguente formula:

radianti = gradi *(PI/180)

Altre funzioni matematiche

Funzione Scopo Esempi
Abs() Restituisce il valore assoluto dell'argomento.

Abs(10) = 10

Abs(-9.87) = 9.87

Sqrt() Restituisce la radice quadrata dell'argomento.

Sqrt(25) = 5

Sqrt(100) = 10

Sqrt(3) = 1.732051

Sign() Restituisce un numero che indica il segno dell'argomento.

Se il valore è positivo, Sign(valore) = 1

Se il valore è negativo, Sign(valore) = -1

Se il valore è zero Sign(valore) = 0

Round() Arrotonda l'argomento ad un numero intero o ad un numero specificato di cifre decimali.

Sintassi: Round (argomento, N. facoltativo di cifre decimali desiderato)

Round(2.55689) = 3

Round(2.55689, 1) = 2.6

Round(2.55689, 3) = 2.557

Round(PI, 4) = 3.1416

Ceil() Arrotonda l'argomento al numero intero successivo più alto.

Ceil(2.56) = 3

Ceil(Sqrt(3))= 2

Floor() Arrotonda l'argomento al numero intero successivo più basso.

Floor(1.789) = 1

Floor(PI) = 3

Log10() Restituisce il logaritmo in base 10 dell'argomento.

Log10(10) = 1

Log10(100) = 2

Log10(15) = 1.176091

Ln() Restituisce il logaritmo naturale dell'argomento. (logaritmo in base e).

Ln(5) = 1.609438

Ln(37) = 3.610918

Pow(argomento1, argomento2) Restituisce il risultato dell'innalzamento di argomento1 all'esponente di argomento2.

Pow(2, 2) = 2 2 = 4

Pow(2, 3) = 2 3 = 8

Pow(3, 2) = 3 2 = 9

Funzioni di confronto

Funzione Scopo Esempi
Min(argomento1, argomento2) Restituisce il minore di due argomenti.

Min(2, 4) = 2

Min(9, 4) = 4

Min(Sqrt(2), Sqrt(3)) = 1.4142.....

Max(argomento1,argomento2) Restituisce il maggiore di due argomenti.

Max(2, 4) = 4

Max(9, 4) = 9

Sqrt(3)) = 1,73205.....

MinOfMany( ,,, ) Restituisce il minore tra più argomenti.

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( ,,, ) Restituisce il maggiore tra più argomenti.

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) Confronta i valori di due parametri (rappresentati da a e b) e confronta la differenza con il valore di tolleranza (qui specificato come 0,001). Se la differenza è minore della tolleranza, la funzione restituisce il valore booleano True. Se la differenza è superiore alla tolleranza, la funzione restituisce il valore booleano False.

If a = 10.00 and b=10.01

EqualWithinTolerance(a, b, 0.015) = True[Abs(a-b) è minore del valore di tolleranza di 0.015 pollici]

EqualWithinTolerance(a, b, 0.001) = False[Abs(a-b) è maggiore del valore di tolleranza di 0.001]

EqualWithinTolerance(a,b) Utilizza una tolleranza di default di 0,0000001