図形のスナップ(2015年1月1日更新)
GUIのソフトウェアとしての能力・操作性についてもう少し詳しい特長と具体例を紹介します。
I. マウス操作上の一般的特長
- マウス左ボタンはモデルビューウィンドウ左にあるビューツールバー(視点変更)の機能に対応しています。
- マウス右ボタンは、モデルビューウィンドウの右にあるピックツールバー(図形選択)の機能に対応しています。
- 視点は左ボタンを押したままドラッグすることにより変更できます。 通常、視点変更の機能は、他の操作中(例えば図形選択中)でも使用することができます。 手にとってモデルがあるが如く、3次元でいろいろな角度で眺めながら、作業することができます。
- これは、マウスの左右ボタンに、独立した機能を持たせたことにより、選択しやすい視点に変えながら(左ドラッグ)図形をピック (右クリック) することが可能なので、3次元の入り組んだ特定の図形選択が効率的にできるようになるわけです。
- また、オートスケールはもちろんのこと3Dの回転中心をクリック一発で設定できますので、細長いモデルでも視界から飛んでしまうことはありません。
- また、図形が多数折り重なっていても、1クリックで複数図形が反応した場合、自動的に絞り込みモードになるため目的とする図形を確実にピックすることができます。
II 図形のスナップ
最も簡単で直感的に図形を素早くつくるにはスナップという方法があります。 スナップとは、あらかじめ指定したグリッド平面上にマウスで直接ノードやセルの頂点をクリックして生成していく方法です。 グリッド面にはローカル座標系のXY面・YZ面・XZ面を指定することができ、また切りのいい座標値にすることができます。 ここでは、連続して三角形を作り、それを引き延ばし、三角柱にする例でその機能を具体的に説明しましょう。
データ .. SnapSample001.Pin
- まず、グループタブで、三角形(triセル)を作るグループを生成します。
group 1 tri コマンドが自動的に発行されます。

- 座標系タブで、ローカル座標原点と座標軸を適当に変更します。
例えば (1,1,1)に原点を移動し Z軸回りに30回転した場合、
orign xyz 1 1 1
axis arg 0 0 30
コマンドが自動的に発行されます。

- スナップタブで tri strip ボタンを押します。 するとデフォルトの自動動作として、ローカル座標のXY面にグリッドが描画され、視点が正対する方向に変更されます。
$grid line 50 0.2 xy 0 0 0
$view xy
$snap triStrip grid
コマンドが自動的に発行されます。

- マウスの右ボタンで連続して、三角形の頂点を指定します。
tri strip の方法で作りますので、3点目からは tri セルが自動的に作られます。
下図の場合
xyz -4.2 -0.2 0
xyz -3.2 1.6 0
xyz -2.6 -0.8 0
tri 1 2 3
xyz -1 1.2 0
tri 3 2 4
xyz -0.6 -1.2 0
tri 3 4 5
xyz 1.2 0.8 0
tri 5 4 6
コマンドが発行されます。

- もちろんこのとき、左ボタンドラッグで視点を変更しながらスナップすることもできます。
下図の場合視点を変えながら、さらに
xyz 1.4 -1.8 0
tri 5 6 7
コマンドが発行されました。

- 必要なだけ、triセルを作ったら、グループタブで 三角柱(prismセル)を作るグループを生成します。 (グループを生成したり切り替えたりするとスナップモードは自動的に解除されます。)
下図の場合点を2点足してから三角柱を作るグループを作りました。
xyz 3.2 0.2 0
tri 7 6 8
xyz 3 -3.8 0
tri 7 8 9
group 2 prism
$grid off
$snap off
コマンドが発行されました。

- 次に、伸張タブで右側のピックツールバーのセルを選択し、引き延ばす三角形(triセル)をCtrlキーを押しながら連続ピックして、選択します。

- 選択ボタンを押して、選択を確定します。 必要があれば、再度図形を右クリックして選択リストに追加することができます。
下図の場合、
select group 0 cell 2
select group 0 cell 3
select group 0 cell 4
select group 0 cell 6
コマンドが発行されました。 (伸張タブで自動発行するselect文はグローバル:全体座標系で選択するので常にgroup 0 となります。詳しくはマニュアルをご覧下さい。)
なお、コマンドを入力では sel grp 1 (グループ1のセルをすべて選択する)などが使用できます。

- 引き延ばし幅を指定して、伸張ボタンを押します。
下図の場合、
expand dxyz 0 0 1
コマンドが発行されました。

- 続けて実行ボタンを押すと、2段・3段になります。 (自動的に新たに作られた三角柱の上面が選択されています。)
下図の場合、
expand dxyz 0 0 1
コマンドが発行されました。
なお、コマンドを入力では exp dxyz 0 0 1::5 (expand dxyz 0 0 1 を5回繰り返す)などが使用できます。

- OpenGLの簡易ソリッド表示で形を確認します。

- Pはグループの数だけノード・セル空間とローカル座標系を持っていますので事実上、任意平面上のグリッドを作成して、スナップが可能です。
- この例はスナップのごく一部の機能の紹介です。 実際には、いろいろな設定・方法を提供しています。 もっと詳しく知りたい方は、マニュアルをご覧になるか評価版をお申し込み下さい。
- なお、この後のMGFファイルに変換する例もご覧下さい。