iLogic の数値関数

iLogic では、ルールに追加できる一連の数値関数が提供されています。iLogic の[ルールを編集]ダイアログ ボックスで、次のいずれかの方法を使用して数値関数にアクセスします。

標準の数値関数

標準の VB.NET 数値ライブラリには、iLogic で使用する、ほぼすべての数値関数が提供されています。

IsNumeric PI
MinOfMany Sqrt
MaxOfMany Abs
Round Sign
Round decimal precision Int
Round Closest to Increment Fix
Round Up to Increment Log10
Round Down to Increment Ln
Ceil Pow
Floor Min
Sin Max
Cos CDbl
Tan EqualWithinTolerance

iLogic の数値関数

iLogic ではいくつかの数値関数が提供されています。次の関数は、標準の Inventor パラメータの計算式で使用可能な関数と等価です。

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

一部の Autodesk Inventor 関数は、同名の VB.NET 標準数値関数と処理が異なるため、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()、および Tan() は、標準の三角関数です。引数には度数ではなくラジアンを使用します。

三角関数の数式に対して、[ルールを編集]ダイアログ ボックスの[現在の状態を取り込む]オプションを使用すると、その数式は VB.NET コードに変換されません。Inventor の数式として残されます。この数式は手動で編集して、VB.NET の数式(ラジアン単位の角度)に変更することができます。

度数からラジアンへ変換するには、次の数式を使用します。

ラジアン = 度数 * (PI/180)

その他の数値関数

機能 目的 例 :
Abs() 引数の絶対値を返します。

Abs(10) = 10

Abs(-9.87) = 9.87

Sqrt() 引数の平方根を返します。

Sqrt(25) = 5

Sqrt(100) = 10

Sqrt(3) = 1.732051

Sign() 引数の符号を表す数値を返します。

値が正の場合 Sign(value) = 1

値が負の場合 Sign(value) = -1

値がゼロの場合 Sign(value) = 0

Round() 引数を整数または特定の小数点以下の位まで丸めます。

構文: Round(引数, 小数点以下の位を表す数)

Round(2.55689) = 3

Round(2.55689, 1) = 2.6

Round(2.55689, 3) = 2.557

Round(PI, 4) = 3.1416

Ceil() 引数の小数点以下を切り上げて整数にします。

Ceil(2.56) = 3

Ceil(Sqrt(3))= 2

Floor() 引数の小数点以下を切り捨てて整数にします。

Floor(1.789) = 1

Floor(PI) = 3

Log10() 引数の常用対数(底が 10 の対数)を返します。

Log10(10) = 1

Log10(100) = 2

Log10(15) = 1.176091

Ln() 引数の自然対数を返します。(底が e の対数)。

Ln(5) = 1.609438

Ln(37) = 3.610918

Pow(argument1, argument2) argument1 を argument2 でべき乗した結果を返します。

Pow(2, 2) = 2 2 = 4

Pow(2, 3) = 2 3 = 8

Pow(3, 2) = 3 2 = 9

比較関数

機能 目的 例 :
Min(argument1, argument2) 2 つの引数の小さい方の値を返します。

Min(2, 4) = 2

Min(9, 4) = 4

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

Max(argument1,argument2) 2 つの引数の大きい方の値を返します。

Max(2, 4) = 4

Max(9, 4) = 9

Sqrt(3)) = 1.73205.....

MinOfMany( ,,, ) 複数の引数の最も小さな値を返します。

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( ,,, ) 複数の引数の最も大きな値を返します。

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) 2 つのパラメータの値を比較し(ab で表現)、差を許容値と比較します(ここでは 0.001 に指定)。差異が許容差以下の場合は、ブール値 True が返されます。差異が許容差を上回る場合は、ブール値 False が返されます。

If a = 10.00 and b=10.01

EqualWithinTolerance(a, b, 0.015) = True[Abs(a-b) is less than the tolerance value of 0.015 in]

EqualWithinTolerance(a, b, 0.001) = False[Abs(a-b) is greater than the tolerance value of 0.001]

EqualWithinTolerance(a, b) 既定の許容差 0.0000001 を使用します。