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:
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 |
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 Inventor sono diverse da quelle matematiche standard di VB.NET con lo stesso nome, vengono convertite quando acquisite per l'utilizzo in una regola 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() 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)
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 |
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 |