TriggeredJoints狀態

應用項目
力覺動作限制物件FMR#

註解
傳回當監控對象為關節位置時,各軸的力覺動作限制達成狀態。

立即執行

用途
FGet Object.TriggeredAxes, iVar

  • Object
    物件名稱
    物件指定為FMR(數值)或FMR(標籤)。

  • iVar
    定義屬性數值的整數變數

數值

Bit 結果
0 J1的LowerLevel達成狀態
1 J2的LowerLevel達成狀態
2 J3的LowerLevel達成狀態
3 J4的LowerLevel達成狀態
4 J5的LowerLevel達成狀態
5 J6的LowerLevel達成狀態
6 J7的LowerLevel達成狀態
7 J8的LowerLevel達成狀態
8 J9的LowerLevel達成狀態
9 J1的UpperLevel達成狀態
10 J2的UpperLevel達成狀態
11 J3的UpperLevel達成狀態
12 J4的UpperLevel達成狀態
13 J5的UpperLevel達成狀態
14 J6的UpperLevel達成狀態
15 J7的UpperLevel達成狀態
16 J8的UpperLevel達成狀態
17 J9的UpperLevel達成狀態

位元值
0: 未達成
1: 已達成

詳細說明
當監控對象為關節位置時,傳回剛使用力覺動作限制時的各軸達成狀態。
若達到條件,會將力覺動作限制的各軸對應位元設為「1」。若未達到條件,則設為「0」。
不過當Polarity屬性設定為FG_OUT時,UpperLevel及LowerLevel皆設為“1”或“0”。
設定為FG_IN時,達成條件的軸UpperLevel與LowerLevel皆設為“1”。
這用於依各軸的位置姿態達成狀態完成分支處理。
擷取Integer型變數的數值時,視不同達成狀態而定,有可能會出現負數的情形。建議使用Int32或Int64型別變數。

使用範例
此為根據力覺動作限制的各軸達成狀態,進行分支處理的範例。

Function TriggeredAxesTest
  Int64 iVar
  FSet FMR1.TriggereMode, FG_ABS_JOINT
  FCKeep FC1 Till FMR1, 10
  FGet FMR1.TriggeredJoint, iVar
  If (iVar And &H01) <> 0 Then
    ' 達到J1的LowerLevel條件時進行處理
    -
  ElseIf (iVar And &H200) <> 0 Then
    ' 達到J1的UpperLevel條件時進行處理
    -
  EndIf
Fend

參考
力覺動作限制物件FMR#