基本的な機能 > リレーションとパラメータ > リレーション > リレーションで使用される演算子と関数 > リレーションに使用される関数について
  
リレーションに使用される関数について
リレーションでは、算術関数、グラフ評価関数、およびカーブ評価関数を使用できます。
算術関数
以下の演算子や関数を、方程式や条件文の両方のリレーションで使用できます。
リレーションには、以下の算術関数を使用できます。
sin(x)、cos(x)、tan(x)
標準の三角関数。ここで、x は角度の値 (度) です。
asin(x)
逆正弦関数。ここで、x は -1.0 ~ 1.0 の値です。結果は角度の値 (度) です。
acos(x)
逆余弦関数。ここで、x は -1.0 ~ 1.0 の値です。結果は角度の値 (度) です。
atan(x)
逆正接関数。ここで、x は数値です。結果は角度の値 (度) です。
atan2(y,x)
y/x の逆正接関数。ここで、x と y は数値です。結果は角度の値 (度) です。
sinh(x)
双曲線正弦関数。ここで、x は -85.0 ~ 85.0 の値です。
cosh(x)
双曲線余弦関数。ここで、x は -85.0 ~ 85.0 の値です。
tanh(x)
双曲線正接関数。ここで、x は -85.0 ~ 85.0 の値です。
sign(x,y)
y から x への符号変換。y < 0 の場合、結果は -abs(x) となります。y >= 0 の場合、結果は abs(x) となります。
mod(x,y)
剰余関数、x-int(x/y)*y。ここで、int() は "... の整数部" です。結果の符号は常に x の符号と同じです。
if(c,x,y)
"if" テスト (切り替え関数)。ここで、c は条件、x および y は戻り値です。条件がゼロ以外の値になった場合、この関数の結果は x になります。そうでない場合、この関数の結果は y になります。
bound(x,lo,hi)
x を 'lo' の値と 'hi' の値の範囲内に制限します。x < lo の場合、この関数の結果は lo になります。x > hi の場合、結果は hi になります。x がこれ以外の値の場合、この関数の結果は x になります。'lo' の値は 'hi' の値より小さくなければなりません。
dead(x,lo,hi)
この関数の結果が 0 になる、x の値の範囲を定義します。'lo' と 'hi' は値の範囲を定義します。x < lo の場合、この関数の結果は x - lo になります。x > hi の場合、この関数の結果は x -hi になります。x が "lo" ~ "hi" の場合、この関数の結果は 0 になります。
near(x,y,delta)
2 つの値が近接しているかどうかを調べます。ここで、x と y が 2 つの値であり、delta はその許容される差異を定義します。x が y の近傍にある場合、この関数の結果は 1.0 (true) になります。abs(x-y) <= delta の場合、この関数の結果は 1.0 になります。abs(x-y) > delta の場合、この関数の結果は 0.0 になります。
min(x,y)
x または y のうち、いずれか小さい方の値を返します。x < y の場合、この関数の結果は x になります。x >= y の場合、この関数の結果は y になります。
max(x,y)
x または y のうち、いずれか大きい方の値を返します。x > y の場合、この関数の結果は x になります。x<=y の場合、この関数の結果は y になります。
log(x)
常用対数 (底を 10 とした対数)
ln(x)
自然対数 (底を e とした対数)
exp(x)
e に対する指数次数
pow(num1, num2)
num1 を num2 乗した値を取得します。
sqrt(x)
x の平方根
abs(x)
x の絶対値を返します。x ≥ 0 の場合、この関数の結果は x になります。x < 0 の場合、この関数の結果は -x になります。
ceil(x)
(x – 0.000 000 001) を正の無限大に切り上げます。
floor(x)
(x + 0.000 000 001) を負の無限大に切り上げます。
dbl_in_tol (arg 1、arg 2、arg 3)
指定した公差 arg 3 内で実数 arg 1 が別の実数 arg 2 と一致するかどうかをチェックします。arg 1 の値が (arg 2 - arg 3) と (arg 2 + arg 3) の間である場合は TRUE を返します。
この関数は、次の条件が満たされると TRUE を返します。arg1 <= arg2+arg3 && arg1 >= arg2-arg3
たとえば、ある角度が 3 度の公差内で 45 度に等しいかどうかをチェックする場合、その角度 (arg 1) が 47 であれば、それは arg 2 - arg 3 (45 - 3) と arg 2 + arg 3 (45 + 3) の範囲内です。
 
*注記 三角関数の変数には度数を使用します。
 
ケーブリングモード関数
ケーブリングモードの関数を使用して、ケーブル、ワイヤ、バンドルの長さと最大直径を計算できます。
ケーブルの長さを計算するには
ケーブルまたはバンドルの現在の長さを計算するには、次の構文を使用します。
cable_len ("cable_name",location_id1,location_id2)
cable_name は、カレントハーネスで測定するケーブルまたはバンドルの名前です。
location_idcable_name が通る位置の内部フィーチャー ID。ここで、location_id1location_id2 は間の長さを計算する位置です。
ケーブルの全長を計算するには、次の構文を使用します。
cable_len ("cable_name",-1,-1)
ケーブル、ワイヤ、またはバンドルの最大直径を計算するには
ケーブル、ワイヤ、またはバンドルの特定の位置における最大直径を計算するには、次の構文を使用します。
cable_thick ("cable_name",location_id)
cable_name は、カレントハーネスで測定するケーブル、ワイヤ、またはバンドルの名前です。
location_id は、cable_name がルーティングされる位置の内部フィーチャー ID です。
ケーブル、ワイヤ、またはバンドルの最大直径を計算するには、次の構文を使用します。
cable_thick ("cable_name",-1)
ケーススタディ関数
eang(e_ID1, e_ID2)
ケーススタディの 2 つのエンティティ e_ID1e_ID2 の間の角度 (ラジアン)
elen(e_ID1)
ケーススタディの e_ID1 エンティティの長さ
edistk(e_ID1, e_ID2)
2 つのエンティティ e_ID1e_ID2 の間の距離
ecoordx(e_ID1)
ケーススタディの e_ID1 エンティティの x 座標
ecoordy(e_ID1)
ケーススタディの e_ID1 エンティティの y 座標
 
*注記 e_ID1e_ID2 はケーススタディエンティティを識別する整数です。
 
グラフ評価関数
グラフ評価関数を使用すると、グラフフィーチャーを使用し、リレーションによって寸法を駆動できます。断面、部品、またはアセンブリの寸法を駆動できます。フォーマットは次のとおりです。
evalgraph("graph_name", x)
ここで、
graph_name - グラフの名前。
x - y の値を返す、グラフの X 軸上の値。
スイープフィーチャーで、軌道パラメータ trajpar をこの関数の第 2 引数として指定できます。
 
*注記 グラフフィーチャーは通常、定義した X 軸の値によって評価されます。定義された範囲を超えて評価する場合、Y 軸の値が外挿されます。初期点から接線を延長して初期値より小さい x 軸の値に対する外挿値が計算されます。同様に、最終点から接線を延長して最終値より大きい x 軸の値に対する外挿値が計算されます。
複合カーブの軌道関数
複合カーブの軌道パラメータ trajpar_of_pnt をリレーションに使用できます。
以下の関数は 0.0 と 1.0 の間の値を戻します。
trajpar_of_pnt("trajname", "pointname")
ここで、
trajname - 複合カーブの名前。
pointname - データム点の名前。
この軌道は複合カーブに沿ったパラメータで、カーブの接線に垂直な平面がそのデータム点を通過します。データム点はカーブ上にある必要はありません。データム点に最も近いカーブ上の点でパラメータが計算されます。
複合カーブが複数軌道スイープのスパインとして使用される場合、trajpar_of_pnt は、この平面のパラメータ trajpar に対応するか、または 1.0 - trajpar に対応します (スイープフィーチャーの始点の選択により異なります)。