fugenの操作の基本、共通な約束などに関して説明しています。

## １ コマンドの共通処理、約束

コマンドは次の約束に則っています。

（１）コマンドのキャンセル ESCキー押下

途中でコマンドをキャンセル（処理をさせないで終了する）するためにはESCキーを押します。コマンドはたとえば、図形の作成、修正などをしないで、コマンドが始まる前の状態に戻ります。

（２）複数点の入力、複数オブジェクトの選択の終了 Return キー押下

自由曲線、ポリラインなど、複数の点の入力要求があり点の数が不定の場合、入力の終了をReturnキー押下によりシステムに知らせます。また、複数図形の選択を要求されるとき、Returnキーの押下により選択の終了を知らせます。コマンドによっては、Returnキーはデフォルト入力を示すために用いられることがあります。

例えば、変形コマンドでは変形対象の図形を複数指定し、その数は不定です。対象の図形をすべて選択したのち、Returnキーを押し図形の指定の終了を知らせます。

（３）点入力の入力取り消し BackSpace キー押下

複数の点の入力をしている場合、前の点の入力を取り消して再入力したい場合があります。このようなときはKBのBackSpaceを押下することにより前の入力を取り消すことができます。

（４）コマンドの正常終了 Return キー押下

多くのコマンドは入力により状態遷移し、一定の入力で自然に終了しますが、コマンドによっては入力の終了を指示しないと終了しないものがあります。このようなときはReturnキーの押下により終了させます。

例えば、ポリラインコマンドでは、入力する点の数が不定です。このようなコマンドでは入力する最後の点を指定したのち、Returnキーを押して、入力の終了を知らせます。

（５）コマンドのオプション指定 KB の文字押下

下図のようにコマンドの稼働中、システムが要求するオペレーション内容を示すため、画面の一番下の“ステータスバー”と呼ばれる領域にメッセージが表示されます。ここには、KBのキーを押すことによりオプションの選択が可能なことがあります。次の図の例では、

“パラメータラインを抽出：抽出するアイソカーブを選択［D-方向(Uカーブ)］［P-パラメータ入力］は、

1) KBのDを押すとパラメータラインの方向（種類）が変更できることを示しています。この例ではDを押すと、現在U=一定のパラメータラインがV=一定のパラメータラインに変更できることを示します。

2) KBのPを押すとパラメータの値をダイアログから数値入力できることを示しています。

（６）コマンドの連続実行 Return キー押下

システムのアイドル時、前に実行したコマンドの再実行にはReturnキーを押します。前のコマンドは記憶されており、再度、そのコマンドが起動されます。

（７）割り込みコマンド

コマンド実行中（例えば点の入力中）にほかのコマンドを割り込んで起動させることが可能です。例えばほとんどの解析のコマンドは割り込み可能です。

割り込まれたコマンドは、割り込んだコマンドが終了したのち、継続実行されます。

## ２ ピック処理（オブジェクト選択）

図形上にマウスカーソルを合わせ、マウスのボタンを押すと、コマンドの要求する図形を指定することができます。ピック処理では常にピックされた図形のどこが指定されたのか（図形上のどの点をピックにより指示されたのか）を認識しています。コマンドにより異なりますが、多くの場合、図形のどの位置がピックされたかにより、異なる意味合い（たとえば直線の始点である、とか、終点であるとか）を持ちます。

fugenではピック処理として次の機能を標準サポートしています。

## ２．1 ピック処理１−シングルピック

ひとつの図形だけをピックするときは、単純にカーソルを図形に合わせ左ボタンを押します。この時、カーソルの検知領域内に複数の図形があれば、次のようなダイアログが表示され、複数の図形のいずれを指定したいのかを指示可能です。下の図では、

“黄色い図形の図形種別がLBRep(B-Splineカーブ)で、黒い線の図形種別がStraight(直線)である。この双方がカーソルスコープ内に入っていて、そのいずれかを選択するよう要求されている”

ことを示します。ダイアログ内の図形種別の文字を（カーソルで、または、ＫＢの矢印キーで）選択することにより、いずれかを選択指示します。このとき、選択された図形が選択に対応して黄色く強調表示されます。

## ２．2 ピック処理２−マルチピック

（１） 矩形範囲指定１

画面の左上の点から、右下の点まで（正確には画面のＸ座標値が小から大へのカーソルの動きにより）、マウスの左ボタンを押したままカーソルを移動させる（ドラッグする）とその矩形（この時矩形の線は実線で表示されます）のなかに図形のすべてが収まっている図形だけが選択の対象となります。

（２） 矩形範囲指定２

画面の右下の点から、左上の点まで（正確には画面のＸ座標値が大から小へのカーソルの動きにより）、その矩形（この時矩形の線は破線で表示されます）に図形の一部でも含まれる図形すべてが選択の対象となります。

## ２．3 ピック処理３−追加選択

すでに選択されている図形に対してＫＢのctrllキーまたはshiftキーを押しながらピック処理をすることにより選択の追加が可能です。ctrlキーまたはshiftキーのいずれを押しても同じ効果が得られます。

（１） 未選択のものをctrlキーまたはshiftキーを押しながらピック

この場合、選択済の図形に、ピックしたものが、追加選択されます。

（２） 選択済のものをctrlキーまたはshiftキーを押しながらピック

この場合、選択されている複数の図形から、ピックしたものだけが、未選択（選択から排除される）となります。

## ２．4 ピック処理４−コマンドの特殊ピック処理

各コマンドはピックに関して、コマンドの内部指定により次の特殊処理が可能です。これらの処理はコマンドのプログラムにより自動的に指定されていますので、各コマンドの仕様書を参照ください。

（１） 上記の２．２ マルチピックで記述されている矩形指定によるピック処理を禁止し、シングルピックだけを可能とする

（２） ctrlキーまたはshiftキーが押されていなくても、押していることと同じピック処理をシミュレートする

（３） 既に選択されている図形をctrlキーまたはshiftキーを押して非選択とすることを禁止する

（４） 選択の図形種類をコマンドが必要な種類に限定して、その他の種類の図形をピック対象外とする

（５） 境界(面の場合は面を囲む境界の線、線の場合は始終点)を選んだこととする

## ３ 位置データ入力（ロケート）

位置データ（空間の座標値は）、次の2種の入力方法により入力します。

(1) マウスカーソルにより（マウス左ボタンをあるビュー内で押下する）

(2) ＫＢにより数値を入力する(F8入力と称します)

この空間の座標値を入力することをロケート処理といいます。複数の点のロケート処理では、共通に次の入力処理が行われます。

（１） 点の入力の終了：ＫＢのReturnキー押下で複数点の入力終了を意味します。

（２） 前の入力点の取消：Backspaceキー押下で前に入力した点が取り消されます。たとえば、現在までに5点を入力していれば、Backspaceキーを押すことに5点目のデータが取り消され、入力点数は4点となります。

（３） 入力自体のキャンセル：通常のコマンドキャンセル（Escキー押下）と同様入力処理全体を取り消します。多くのコマンドで、コマンドのキャンセルとなります。

## ３．1 カーソルによるロケート

コマンドが座標値の入力を要求する(たとえば、図形の作成のため、点の座標値入力を要求する場合)と、カーソルはロケートのためのカーソル（下の図の左上のウィンドの十字カーソル参照）に変化し、現在ロケート処理が要求されていることを示します。下の図は、現在のコマンドが自由曲線の生成コマンドで、曲線の通過点の指定（ロケート処理）が要求されています。ウィンドを4分割ウィンドにしていて、下図の4種のウィンドで表示されています。

（Ｘ，Ｙ）平面図 | 鳥瞰図
（Y, Z）平面図 | （X, Z）平面図

十字カーソルの真ん中のはシステムが実際に入力として検知する点の位置を示しています。後で説明されるスナップ機能により、カーソルの位置が、ある制約を受けた、少し異なる位置の点として入力されることがある。上の絵ではカーソルは（Ｘ，Ｙ）ウィンド内にあるが、その点がほかの視点からみた場合どこの位置となるかがにより他の視点のウィンドに表示されています。

カーソルによってロケートされる座標値は画面下部の座標値表示領域に下図のように表示されます。この座標値はカーソルの位置をCPlane（作業平面）に投影して得られたCPlane上の点、またはスナップ処理がされていれば、その点となります。

## ３．2 キーボードによるロケート（ファンクションキーF8によるロケート処理）

キーボードから座標値を入力（ロケート）できます。カーソルがロケート処理を要求していることを示す十字カーソルになっているとき（コマンドが座標値の入力を要求しているとき）に、ＫＢのＦ８キーを押すことにより、ロケート処理をＫＢから行うことが可能です。

座標入力を必要とする操作中に、F8 キーを押すと、図のダイアログボックスが表示されます。

（１） Previous Point

直前の入力座標が表示されます。まだ座標を入力していない場合には、ここには何も表示されません。

（２） ワールド絶対直交座標／ワールド相対直交座標

世界座標系における座標を入力したい場合、ワールド絶対直交座標をマークします。ダイアログボックス上部にあるエディットボックスにカンマで区切り、x, y, z座標値を　1,1,1のように入力します。 Previous Pointからの相対座標で入力したい場合、ワールド相対直交座標をマークして、同様に入力します。Previous Pointの座標値に入力の値が加算され、座標値が求められます。

（３） CPlane絶対直交座標／CPlane相対直交座標／CPlane極座標(度)

・ CPlane 絶対直交座標はWCS 絶対直交座標と似ています。違いは、基準となる座標系が世界座標系ではなく、現在の作業平面座標系であるということだけです。

CPlane 相対直交座標は WCS相対直交座標と似ています。基準となる座標系は、世界座標系ではなく、現在の作業平面座標系です。

・ CPlane 極座標(度)は、座標を極座標で指定します。極座標とは、原点からの距離をｘ値、座標軸からの回転角度（ラジアンではなく、度数で入力します）をy値とした（ｘ、ｙ）を座標値として入力します。この場合の原点とは、CPlaneの原点を指します。座標軸とはCPlaneの座標軸を指します。CPlaneの座標軸はCPlane平面内で直行する二つの直線であり、それぞれu軸、v軸と呼びます。通常、u軸を赤、v軸を緑の半直線で表示します。

CPlaneの原点をＰ， u軸の方向ベクトルの単位ベクトルをuderiv, v軸の方向ベクトルの単位ベクトルをvderivとして、 （l, θ)と入力された座標値Ｑは次の式で表現されます：

Ｑ＝Ｐ＋l＊cos(θ)＊uderiv>＋l＊sin(θ)＊vderiv.

ここで、PはCPlaneの原点の世界座標値です。

## ３．3 ロケート処理のスナップ機能

ロケートの要求がある時、そのロケートの点に関して、各種の制約を設けることができます。点はその制約条件に合う点が見つかれば、その点が優先してロケート点として採用されます。これらのロケート点に制約を設けることをオブジェクトスナップと呼びます。オブジェクトスナップには現在次のようなものが提供されています：

·格子点 CPlane上の格子点にスナップする。格子点のスナップに対してはカーソルの真ん中のが格子点上の点にスナップされるが、他のスナップ点のようにカーソルに種類の表示はない。

·端点 曲線の始点、または終点にスナップする。スナップされたとき、”ENＤ”がカーソルの近くに表示される。

·近傍点 曲線の近傍点にスナップする。スナップされたとき、”NEAR”がカーソルの近くに表示される。

格子点　　　　　　　　　端点　　　　　　　　　　　　近傍点

· 中心点 曲線、または曲面の中心点にスナップする。スナップされたとき、”CENTER”がカーソルの近くに表示される。

中心点：曲線の場合

中心点：曲面の場合

·ノット NURBSにはノットと呼ばれる点が曲線内部に存在します。このノットにスナップします。スナップされたとき、”KNOT”がカーソルの近くに表示されます。

自由曲線のノット位置へのスナップ

·面頂点 曲面の境界を構成するエッジの接続点を頂点といいます。Faceではなく、Surfaceの場合はエッジを持ちませんが、四辺の隅を頂点として扱います。

面頂点

## ３．4 AETモード（Angle, Elevation, Tabモード）よる特殊ロケート

Angle指定、Ctrlキー押下（Elevationモード）してのマウス左ボタン押下、または、Tabキー押下、により、特殊な制約のあるロケートが可能です。

(1) Angleモード

Angleモードは、連続した複数の点を入力するときに、２点目から前の点と次の点とを結んだ直線と各ビューの作業平面の横軸（U軸、またはX軸）と成す角度が指定角度の倍数となるようにするための制限です。

連続した点入力の２点目以降にのみに適応され、U軸（X軸）とのなす角度が指定された角度の直線上に制限された点を入力点とします。

Angle モードの指定

“ツール ->オブジェクトスナップ -> 設定ダイアログ”から設定ダイアログを開き、角度を指定します。角度の値の指定はこのダイアログからだけ可能です。

例えば上の図のように30 のように入力してAngleチェックを有効にしますと、マウスカーソルの動きは、以下の図の直線群の上に制限されます（実際には下のような直線は表示されません）。ここで、黄色い線が集まる原点は前に入力された点です。

Angleにチェックが入っていなくても、入力された角度は記憶され、AngleモードがONにされた時点からスナップ処理がなされます。黄色の線は、入力するビューの作業平面のノーマル（z軸）回りに、x軸（u軸）と３０度の倍数の角度をなす線分です。

Angle モードで入力される点は必ずしも作業平面上の点とはかぎりません。直前の入力点が作業平面上であれば、作業平面上で指定の角度の制限の点となりますが、直前の入力点が作業平面上になければ作業平面を直線の入力点まで平行に移動した平面上の点の入力となります。

AngleモードのOn/Offの切り替えだけは“ツール -> オブジェクトスナップ -> 設定ダイアログ”以外に、ステータスバーのAngleボタンからも可能です。ステータスバーのAngle表示があるペインを押下することにより、On/Offがトグルします。

ステータスバーのAngleペイン

Angleモードが有効な時は上図のように青色で表示され、有効でないときはグレーで表示されます。このAngleペインは、Tabモード、Elevationモードが有効であれば、それぞれ、Tab, Elevationと表示されます。AETモードが有効で青色の表示のとき、このボタンを押すことにより機能を無効化可能です。コマンドが内部的にTab, Elevation, Planarモードを利用しているとき、そのコマンドがAETモードの変更を禁止することがあります。このようなときのAETモードの表示は赤色となり、ペインを押下してもそのモードは変更できないことが示されます。

上の図の例では、スケーリングファクタの大きさを、白線の線の長さ比で指定します。この時コマンドは内部的にTabモードを利用し、カーソルは白の線上だけを移動可能なように制約しています。このときTABの表示のあるAngleペインを押してモードを変更することは出来ません。

(2) ELEVATIONモード(CtrlキーによるCPlaneにノーマルな仮想直線上の点の入力)

Ctrlキーによる特殊ロケート（ELEVATIONモード）は、CPlaneとノーマルな仮想直線上に入力点をスナップします。Ctrlキーを押しながら、CPlane上のある点を指定します（マウスの左ボタンを押す）と、システムはその点を通る、CPlaneにノーマルな仮想無限直線を形成し、ロケート点はすべてこの直線上の点へとスナップされます。ステータスバーの窓にはELAVATEと青字で表示されます。このスナップモード（ELEVATIONモード）のときに、ふたたびCtrlキーを押しながら左ボタンを押すか、ステータスバーのペインを押下すると、ELEVATION モードは解除され、通常の入力モードとなります。Ctrlを押しながら入力した点はELEVATIONモードの更新と認識され、入力点としては認識されません。

Elevationモードでは作業平面の垂線上に点を置くため、Elevationモードを始めたビューでは位置を見ることができません。そのため、3面図を表示して、作業平面の垂線が横から見ることができるビューで入力する必要があります。

Elevationモードを始めたのは(x, y, z)のビューだが、z軸と並行の線上の点入力で、(x, z)のビューで入力

コマンドのロケート待ち状態が終了したときにも、ELEVATIONモードはキャンセルされ通常の入力モードとなります。

(3)　Tabモード（Tabキーによる、ある仮想直線上の点の入力）

Tabキーによる特殊ロケート（Tabキースナップモード）は、連続した点の入力を行う場合で2点目以降に働かせることができます。直前の入力点を始点(PS)とした、直線を形成するもうひとつの通過点PEへカーソルを移動しTabキーを押します（マウスの移動はしますが、左ボタンの押下はしません）。　この通過点PEは通常はCPlane上の点となりますが、スナップされたオブジェクト上の点でも構いません。システムはPSとPEを結ぶ仮想の無限直線を形成し、ロケートはこの直線上の点へとスナップされます。　ステータスバーの窓にはTABと青字で表示されます。このスナップモード（Tabモード）が有効なときにもう一度Tabキーを押下するか、ステータスバーの窓を押下すると、Tab キースナップモードは解除され、通常の入力モードとなります。Tabキーを押したときの点は入力点とは見なされず、Tabモードの設定／解除の指示とされます。

コマンドのロケート待ち状態が終了したときにも、Tabモードはキャンセルされ通常の入力モードとなります。

ステータスバーのTab表示

## ３．5 PLANARモードによる特殊ロケート

Planarモードは入力する点を同じ平面上にあるよう制約するためのものです。PlanarモードをON(ステータスバーのPLANARの表示のペインを押下するとPLANARの文字が青色で表示され、ONになります)にしますと、最初の点は自由に入力できますが、2点目からは前の入力点と同じ平面にあるようカーソルが制約されます。この同じ平面とは入力するビューの作業平面に平行で、前の点を通る平面です。入力するビューを変更しても、変更したビューの作業平面が適用されます。

上の図の例では最初の点を右上のメインビューの作業平面の原点を指定し、今は、右下の（x、z）のビュー内でPLANARモードをONにして入力しようとしています。右下の(x, z)ビューの作業平面はy=300の平面ですが、yの値は前に入力した点（0,0,0）のyの値のままです。

PlanarモードはAETモードと一部排他的に動作します。AngleモードはPlanarモードと同時に指定可能ですが、Elevate, Tabモードとは同時に指定することはできません。Elevate、Tabのモードの時にPlanarを指定すると、それらのモードは解除され、Planarモードだけが有効となります。また、逆にPlanarモードのときにElevate, Tabの入力指定をすると、PlanarモードはOFFにされ、Elevate, Tabのモードが有効となります。

## ３．6 距離制限モード

“オブジェクトスナップ -> 設定ダイアログ -> 距離制限”　では角度制限と同じように連続した点入力で２点目以降の入力に関して、前の点と次の点との距離が入力の値以下に制限されます。

距離制限にチェックし、エディットボックスに 50 のように距離を示す値を入力してOKボタンを押すと、マウスカーソルの動きが直前の入力座標からの距離が 50 以内にある座標に限られます。50以上距離が離れた点が入力されたときちょうど５０となる点が入力されます。

## ３．7 ロケートのsnapなどの各種特殊入力の優先度

各種の入力条件は次の順序で処理されます。前に処理される入力データに対する整形は順番に後の整形により加工されていきます。

(1)グリッドスナップ

(2)オブジェクトスナップ（近傍店、端点、面上点などのオブジェクト上へのスナップ）

(3)Angle /Elevation/Tab Mode/Planar

Angle, Elevation, Tabの３つの入力制限はお互いに排他的です。また、Elevation, Tab, Planarの３つの入力制限もお互いに排他的です。

(4)距離制限（距離制限は（３）のAngle/Elevation/Tab Mode/Planarの条件と、もし、指定されていれば同時に制約がかかります）