SpaceBall/SpaceMouseデバイス
サポートされているSpaceBallまたはSpaceMouseデバイス
HyperMesh、HyperView、HyperGraph 2D、HyperGraph 3D、MotionViewは、以下の3DconnexionのSpaceBallまたはSpaceMouseデバイスをサポートするようになりました:SpaceNavigator, SpacePilot, SpaceExplorer and SpaceTraveler。
HyperWorksを実行する前に、これらデバイス用のドライバがインストールされていることを確認してください。デバイスが正しく接続され、機能するようになると、HyperWorksは自動的にSpaceBall/SpaceMouseを検出し、使用可能にします。
SpaceMouseデバイスでは自由度6の入力は、HyperWorks内での使用に先駆け特別な設定を行う必要はありません。ただし、3Dconnexionコントロールpanelは、デバイスの感度調整や軸がどのように入力に反応するかの調整に使用することが可能です。
ボタン動作番号 | 機能 |
---|---|
1 | トップビュー |
2(中) | レフトビュー |
3 | ライトビュー |
4 | フロントビュー |
5 | フィットビュー |
6 | アイソビュー |
7-10 | View Memoryボタン |
11-16 | ユーザー定義のTclコールバック |
17-29 | これらのボタンはさまざまなプラットフォーム(Windows、Linuxなど)でサポートされているため、HyperWorksアプリケーション内でカスタマイズすることはできません。 |
View Memoryボタン
SpaceBall/SpaceMouseデバイスのView Memoryボタンは、View Controlsダイアログ(HyperWorks panelの下部右側角に位置)のM1、M2、R1、R2ボタンと同様に機能します。
ボタン | 詳細 |
---|---|
View Memoryボタン群の使用 | 7から10までのボタン動作を3Dconnexionデバイスのボタンの1つに割り当てます。 これら4つのボタン動作は、保存されているビュー1から4までに関連付けられます。 |
現在のビューの保存 | SpaceMouseボタンを押し、2秒間もしくはそれ以上ホールドします。 |
保存したビューの呼び出し | SpaceMouseボタンを押してすぐ放します。 保存されているビュー1および2は、M1/R1およびM2/R2ビューと同じビュー登録にリンクされています。 |
カスタムボタンハンドラー
SpaceMouseボタン動作11 - 16は、ユーザー定義のTclコールバックハンドラーをコールするようプログラムされています。これらにより、ユーザーは自身のニーズに合うようSpaceMouseの機能をカスタマイズすることが可能です。
ボタン | 詳細 |
---|---|
GetSpaceballButtonMin() | Tclコールバックにプログラム可能なボタン動作の最も小さいIDを戻します。 |
GetSpaceballButtonMax() | Tclコールバックにプログラム可能なボタン動作の最も大きいIDを戻します。 |
RegisterSpaceballCallback (buttonID, procName) |
指定したボタン動作のIDに対し、Tclコールバックを登録します。コールバックのプロシージャは、動作が起こった時点でのボタンの状態である状態パラメータを取ります。 True - ボタンが押されたことを示します。 False - ボタンが放されたことを示します。 |
例
proc ::FlipAnim { state } {
# Only respond to button events, which occurs when state == "True"
if {$state == "False"} {
return;
}
hwi OpenStack;
set t [lindex [split [expr rand()] .] end];
catch {
hwi GetSessionHandle sess$t;
sess$t GetProjectHandle proj$t;
proj$t GetPageHandle page$t [proj$t GetActivePage ];
if {"false" == [page$t IsAnimating] } {
page$t StartAnimation;
} else {
page$t StopAnimation;
}
}
hwi CloseStack;
}
set t [lindex [split [expr rand()] .] end];
hwi GetSessionHandle sess$t
set buttonID [sess$t GetSpaceballButtonMin];
sess$t RegisterSpaceballCallback $buttonID ::FlipAnim;
sess$t ReleaseHandle;