「Initget」の版間の差分
細編集の要約なし |
細 (→キーワードの詳細) |
||
82行目: | 82行目: | ||
: 以下は、IntelliCAD のみで有効 | : 以下は、IntelliCAD のみで有効 | ||
:* IntelliCAD (IJCAD 2013 まで) では、キーワードをプロンプトメニューから選択できるようになっているが、プロンプトメニューに表示させたくない場合は、キーワードの先頭に ~ を付ける。(たとえば、"~LType"、"~eXit"、"~_toP" など) | :* IntelliCAD (IJCAD 2013 まで) では、キーワードをプロンプトメニューから選択できるようになっているが、プロンプトメニューに表示させたくない場合は、キーワードの先頭に ~ を付ける。(たとえば、"~LType"、"~eXit"、"~_toP" など) | ||
; サンプル | ; サンプル |
2016年5月22日 (日) 13:35時点における版
- 構文
- (initget [bits] [string])
- 機能
- 次のユーザ入力関数の呼び出しで使用するキーワードを設定する。
- キーワードを指定できる関数には、getint、getreal、getdist、getangle、getorient、getpoint、getcorner、getkword、entsel、nentsel、nentselp がある。キーワード指定できないユーザ入力関数は、getstringのみ。
- 次のユーザ入力関数の呼び出しで、予期されるタイプの入力(たとえば getpoint 関数に対しては点の指定)をユーザが行わないと、キーワードがチェックされる。ユーザの入力がリストに存在するキーワードのいずれかと一致した場合、関数はそのキーワードを文字列として返す。アプリケーションは、キーワードを調べ、それぞれに対応する動作を行うことができる。 ユーザ入力が予期したタイプではなくキーワードとも一致しない場合、CAD はもう一度入力するようユーザに要求する。initget 関数のビット値とキーワードは、次回のユーザ入力関数の呼び出しのみに適用される。
- initget 関数でコントロール ビットを設定した後で、設定されたビットが意味を持たないユーザ入力関数をアプリケーションが呼び出すと、そのビットは無視される。指定された状態についてユーザの入力が正しくない場合(たとえば、0が許可されていないときに0を入力する等)、CAD はメッセージを表示して、もう一度入力するようユーザに要求する。
- 引数
-
- bits : ビットコード化された整数で、特定のタイプのユーザ入力を許可または禁止する。ビットは、値を加算して0から255の範囲で自由に組み合わせることができる。bits 引数を指定しなかった場合は、0とみなされる。
- ビット値には次のものがある。
- 1 (ビット 0) … 要求に対して[Enter]のみ入力することを禁止。
- 2 (ビット 1) … 要求に対して 0 を入力することを禁止。
- 4 (ビット 2) … 要求に対して負の値を入力することを禁止。
- 8 (ビット 3) … ユーザが現在の図面範囲の外側に点を入力することを許可。システム変数 LIMCHECKは無視する。
- 16 (ビット 4) … (現在は使用されてない)
- 32 (ビット 5) … 破線を使用して、ラバーバンド線またはラバーバンドボックスを描く。作図領域内の位置を指定することによってユーザが点を指定できる関数の場合、このビットの値によってラバーバンド線またはラバーバンド ボックスを、実線ではなく破線で表示できる (ディスプレイ ドライバによっては、破線の代わりに独自の色が使用される)。システム変数 POPUPS が 0の場合、このビットを無視。
- 64 (ビット 6) … getdist 関数への Z 座標の入力を禁止する。getdist 関数が 2D 距離を返すことをアプリケーションに対して保証する。
- 128 (ビット 7) … キーワードかどうかに関係なく、任意の入力ができるようにする。このビットは、ビット 0より優先される。ビット 7 とビット 0が設定されているときにユーザが[Enter]を押すと、空の文字列が返される。
- 256 (ビット 8) … 任意の入力より直接距離入力を優先させる。外部アプリケーションでは、既定で任意の入力が直接距離入力より優先される。CAD に、ユーザ入力を直接距離入力として評価させるには、このビットをオンにする。キーボードからの適切な点入力は、常に、直接距離入力または任意の入力より優先されることに注意。
- 512 (ビット 9) … getpoint または getcorner を呼び出す前にオンにすると、カーソルがソリッドの平面状の面のエッジに重なったときに、一時的な UCS が生成される。一時的な UCS は、カーソルが面から離れるとリセットされる。別の面にカーソルを移動するとダイナミックに再生成され、点が取得されるとダイナミック UCS は、現在の UCS にリセットされる。この機能は、円柱の側面のような非平面に対しては無効。
- 1024 (ビット 10) … getdist、getangle、getorient、getpoint、getcorner を呼び出すとき、距離、角度、点、コーナーが、Z 方向には、直交モード、極トラッキング、オブジェクト トラッキングの影響を受けたくない場合があるが、これらの関数を呼び出す前にこのビットをオンにすると、Z 方向の直交モード、極トラッキング、オブジェクト トラッキングが一時的に無効になる。この機能は、ポリライン、円弧、円などの 2D 図形を作成したり、ARRAY[配列複写]コマンドで 2D 配列を作成する場合に便利。
- ビット値には次のものがある。
- 注: initget 関数のコントロール ビットは今後のバージョンで 追加される可能性がある為、ここに示されている以外のビットは設定しない。
-
- string : 一連のキーワードを示す文字列。キーワードの規則は、下記「キーワードの詳細」の通り。
- 戻り値
- nil
キーワードとコントロールビット
- 関数に適用できるコントロール ビット
- コントロール ビットは、次の表に示すように、それが意味を持つ getxxx 関数にのみ有効。
ユーザ入力関数と適用可能なコントロール ビット コントロール ビットの値 関 数 キーワードが
有効null 不可
(1)ゼロ不可
(2)負数不可
(4)範囲なし
(8)破線使用
(32)2D距離
(64)任意入力
(128)直接距離
(256)UCS 面トラッキング
(512)Z トラッキング無効
(1024)getint X X X X X getreal X X X X X getdist X X X X X X X X X getangle X X X X X X X getorient X X X X X X X getpoint X X X X X X X X getcorner X X X X X X X X getkword X X X entsel X nentsel X nentselp X
キーワードの詳細
- string 引数は、次の規則に従って解釈される。
- 各キーワードは、1 つまたは複数のスペースによって他のキーワードと区切る。たとえば、"Width Height Depth" によって 3 つのキーワードが定義される。
- 各キーワードには、半角英数字とハイフン(-)のみを含めることができる。
- キーワードの短縮形を指定する方法には、次の 2 つがある。
- 入力が必要な部分を大文字で、その他の部分を小文字で指定する。大文字による短縮形の指定は、キーワード内のどの部分でも行える(たとえば、"LType"、"eXit"、"toP" など)。
- キーワード全体を大文字で指定し、その直後にカンマと入力が必要な文字を続ける(たとえば "LTYPE,LT")。この場合、キーワード文字はキーワードの先頭の文字でなければならない。つまり、"EXIT,X" は無効。
- 以下は、IntelliCAD のみで有効
- IntelliCAD (IJCAD 2013 まで) では、キーワードをプロンプトメニューから選択できるようになっているが、プロンプトメニューに表示させたくない場合は、キーワードの先頭に ~ を付ける。(たとえば、"~LType"、"~eXit"、"~_toP" など)
- サンプル
- 2 つの簡単な例、"LType" と "LTYPE,LT" は同じ。 ユーザが LT(大文字と小文字のどちらも可)と入力するとキーワードとして認識される。キーワードのスペルどおりなら、ユーザは入力が必要な部分の後にも文字を入力できる。 この例では、LTY や LTYP も認識されるが、L は認識されない。
- string 引数全体が大文字か小文字のどちらかのみで、カンマとその後の文字列が存在しない場合、CAD はユーザがキーワード全体を入力したときのみ、キーワードを認識する。
- initget 関数は、英語以外の言語に翻訳されたキーワードをサポートしている。キーワード文字列に対する次の構文は、英語以外の言語に翻訳されたキーワードの入力が可能で、言語に依存しないキーワードを返す。
"local1local2localn_indep1indep2indepn"
- ここで、local1 から localn は、英語以外の言語に翻訳されたキーワード。 indep1 から indepn は、言語に依存しないキーワード。
- 英語以外の言語に翻訳されたキーワードと、言語に依存しないキーワードの順序は常に同じでなければならない。 また、最初の言語に依存しないキーワードの先頭には、アンダースコアが必要。
- 次に例を示す。
(initget "Abc Def _Ghi Jkl") (getkword "¥nオプションを入力 (Abc/Def): ")
- A と入力すると "Ghi" が返され、_J と入力すると "Jkl" が返される。
(initget (+ 1 2 4)) (setq op (getkword))
関連事項