grread (AutoLISP)

いずれかの AutoCAD 入力デバイスから値を読み取ります。

サポートされているプラットフォーム: Windows および Mac OS

構文と要素

(grread [track] [allkeys [curtype]])
track

タイプ: T または nil

nil 以外の値を与えると、ポインティング デバイスからリアルタイムに座標を取得することができます。

allkeys

タイプ: 整数型

grread に実行する機能を伝えるコード。allkeys はビット コード値で、値を加算して機能を組み合わせることができます。次の値を指定することができます。

1 (ビット 0): 「ドラッグ モード」座標を返します。このビットが設定されているときにユーザがボタンの選択やキーを押したりせずにポインティング デバイスを移動すると、grread 関数は 1 番目のメンバーがタイプ 5 で 2 番目のメンバーが現在のポインティング デバイス(マウスまたはディジタイザ)の(X,Y)座標であるリストを返します。これによって AutoCAD はドラッグ操作を実行しています。

2 (ビット 1): すべてのキーの値を返します。これには、ファンクション キーやカーソル キーのコードも含まれます。ユーザがカーソル キーを押してもカーソルは移動しません。

4 (ビット 2): curtype 引数で渡された値を使用して、カーソル表示をコントロールします。

8 (ビット 3): ユーザが[Esc]を押しても、「エラー:」コンソール ブレーク メッセージを表示しません。

curtype

表示するカーソルのタイプを示す整数。allkeys 引数のビット 2 が設定されていないと、curtype 引数は効力を持ちません。curtype 引数は、grread 関数が呼び出されている間のカーソル タイプにのみ影響します。curtype 引数に次の値の 1 つを指定することができます。

0: 通常のクロスヘア カーソルが表示されます。

1: カーソルは表示されません(クロスヘア カーソルなし)。

2: オブジェクト選択のための「ターゲット カーソル」が表示されます。

戻り値

タイプ: リスト

grread 関数が返すリストの 1 番目の要素は、入力のタイプを示すコードです。2 番目の要素は整数か点のどちらかで、入力のタイプで決定されます。次の表に戻り値の一覧を示します。

grread 関数の戻り値

1 番目の要素

2 番目の要素

入力のタイプ

説 明

2

キーボード入力

各種

文字コード

3

選択された点

3D 点

点の座標

4

スクリーン、プルダウン メニュー項目(ポインティング デバイスから)

0 ~ 999

1001 ~ 1999

2001 ~ 2999

3001 ~ 3999

- (中略) -

16001 ~ 16999

スクリーン メニュー ボックス番号

POP1 メニュー ボックス番号

POP2 メニュー ボックス番号

POP3 メニュー ボックス番号

-(中略)-

POP16 メニュー ボックス番号

5

ポインティング デバイス(トラッキング可能な場合のみ)

3D 点

ドラッグ モード座標

6

BUTTONS メニュー項目

0 ~ 999

1000 ~ 1999

2000 ~ 2999

3000 ~ 3999

BUTTONS1 メニュー ボタン番号

BUTTONS2 メニュー ボタン番号

BUTTONS3 メニュー ボタン番号

BUTTONS4 メニュー ボタン番号

7

TABLET1 メニュー項目

0 ~ 32767

ディジタイズ ボックス番号

8

TABLET2 メニュー項目

0 ~ 32767

ディジタイズ ボックス番号

9

TABLET3 メニュー項目

0 ~ 32767

ディジタイズ ボックス番号

10

TABLET4 メニュー項目

0 ~ 32767

ディジタイズ ボックス番号

11

AUX メニュー項目

0 ~ 999

1000 ~ 1999

2000 ~ 2999

3000 ~ 3999

AUX1 メニュー ボタン番号

AUX2 メニュー ボタン番号

AUX3 メニュー ボタン番号

AUX4 メニュー ボタン番号

注: SHORTCUTMENU の値は 0(ゼロ)に設定する必要があります。

12

ポインタ ボタン(タイプ 6 またはタイプ 11 の戻り値に従う)

3D 点

点の座標

25

ポインタ ボタン 2

0 以上

X 軸方向の画面座標値

注: SHORTCUTMENU を 0 より大きい値に設定する必要があります。

注意

特殊な AutoLISP ルーチンのみが、この関数を必要とします。通常、AutoLISP への入力は、getxxx 関数で取得するようにしてください。

grread 関数がアクティブなときに[Esc]を入力すると、(allkeys 引数で禁止していなければ)AutoLISP プログラムはキーボード ブレークで中止されます。これ以外の入力は grread 関数に直接渡され、入力デバイスをアプリケーションで完全にコントロールできます。

スクリーン メニューまたはプルダウン メニュー ボックス内でユーザがポインタ ボタンを押すと、grread 関数はタイプ 6 またはタイプ 11 のコードを返しますが、その後の呼び出しでタイプ 12 のコードを返しません。図面領域内でポインタ ボタンを押した場合にのみ、タイプ 6 またはタイプ 11 の後にタイプ 12 のコードが続きます。

ポインタ ボタンまたは AUX 補助ボタンで別の操作をしようとする前に、コード 12 のデータを必ずクリアしてください。これを行うには、次のように grread 関数をネストしてください。

(setq code_12 (grread (setq code (grread))))

この手順では、デバイスからのストリーム入力としてコード 12 リストの値を取得します。

N/A