關於關係中使用的函數
關係中可使用數學、圖形和曲線計算函數。
數學函數
下列運算子可用於關係 (包括方程式和條件語句) 中。
關係中也可以包括下列數學函數:
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)
定義 x 值的範圍,在此範圍內,函數的結果為 0。'lo' 與 'hi' 定義值的範圍。如果 x < lo,函數的結果為 x–lo;如果 x > hi,函數的結果為 x–hi;如果 x 介於 "lo" 與 "hi" 之間,函數的結果為 0。
near(x,y,delta)
測試兩個值是否接近,其中 x 與 y 是兩個值,而 delta 定義它們的允許差。如果 x 在 y 的 delta 內,函數的結果為 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 (arg1, arg2, arg3)
檢查實數 arg 1 與另一個實數 arg 2 在指定公差 arg 3 範圍內是否相符。如果 arg 1 的值介於 (arg 2 - arg 3) 與 (arg 2 + arg 3) 之間,此函數會傳回 TRUE。
如果符合下列條件,此函數會傳回 TRUE:arg1 <= arg2+arg3 && arg1 >= arg2-arg3
例如,欲檢查指定角度是否在 45 度的 3 度公差範圍內。如果指定角度 (arg1) 為 47,則該角度位於 arg2-arg3 (45-3) 與 arg2+arg3(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_idcable_name 繞線時經過之位置的內部特徵 ID。
使用下列語法來計算纜、線或束的最大直徑︰
cable_thick ("cable_name",-1)
Cabling Logical Data File Name Function
cbl_logical_file 函數可讓您建立與您在組件中匯入之邏輯資料檔案名稱的關係。請注意,只有在使用邏輯資料的組件層級定義時,此關係才會返回值。關係會傳回檔案的名稱作為值。可將此關係指派給參數。若指定,則可在 Windchill 中使用此參數來識別佈纜組件中使用的邏輯檔案名稱,而不擷取該組件。當您要更新參照的邏輯資料檔案時,此參數可協助您找出該檔案。
案例研究函數
eang(e_ID1, e_ID2)
案例研究的 e_ID1e_ID2 兩個圖元之間的角度,以弧度為單位
elen(e_ID1)
案例研究的 e_ID1 圖元的長度
edistk(e_ID1, e_ID2)
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 - 圖形之 x 軸上的值,會根據該值傳回 y 值。
對於混成特徵,可以指定軌線參數 trajpar 作為該函數的第二個引數。
* 
通常針對圖形特徵所定義的 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 一致 (取決於您為掃描特徵所選擇的起點)。
這是否有幫助?