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 ではいくつかの数値関数が提供されています。次の関数は、標準の 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 つのパラメータの値を比較し(a と b で表現)、差を許容値と比較します(ここでは 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 を使用します。 |