command (AutoLISP)

AutoCAD コマンドを実行します。

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

構文と要素

(command [arguments ...])
arguments

タイプ: 整数、実数、文字列、リスト

AutoCAD コマンドとそのオプション。

command 関数の arguments 引数には、文字列、実数、整数、座標値を指定することができ、これらは実行するコマンドのプロンプト シーケンスの要求によって決まります。空の文字列("")は、キーボードで[Enter]を押すのと同じです。引数を指定せずに command 関数を呼び出すと、[Esc]を押したのと同様に、ほとんどの AutoCAD コマンドがキャンセルされます。

戻り値

タイプ: nil

常に nil を返します。

注意

command 関数は各引数を評価し、後続のプロンプトに応じて、その引数を AutoCAD に渡します。コマンド名とオプションは文字列として、2D 点は 2 つの実数のリストとして、3D 点は 3 つの実数のリストとして渡されます。AutoCAD はコマンド プロンプトが表示されているときにのみ、コマンド名を認識します。

Windows 上の Visual LISP から command を実行しても、フォーカスは AutoCAD ウィンドウに移動しないことに注意してください。コマンドがユーザ入力を要求した場合、コンソール ウィンドウに戻り値(nil)が表示されますが、AutoCAD は入力を待ち続けています。手動で AutoCAD ウィンドウをアクティブにし、プロンプトに応答する必要があります。そうしない限り、それ以降のコマンドは実行されません。

AutoCAD の SKETCH[スケッチ]コマンドは、ディジタイザを直接読み取るので、AutoLISP の command 関数で使用することはできません。command 関数で AutoCAD の SCRIPT[スクリプト実行]コマンドを使用するときは、それが AutoLISP ルーチンの最後の関数呼び出しでなければなりません。

また、command 関数を .lsp.mnl ファイルで使用する場合は、defun 文の内側からのみ呼び出さなければなりません。作図セッションの開始時にただちに実行することが必要なコマンドを定義するには、S::STARTUP 関数を使用してください。

オブジェクトの選択を必要とする AutoCAD コマンド(BREAK[部分削除]や TRIM[トリム]コマンドなど)の場合、点を指定する代わりに、entsel 関数で取得したリストを指定することにより、オブジェクトを選択できます。

AutoCAD のシステム変数 CMDECHO(setvargetvar 関数でアクセス可能)が 0(ゼロ)に設定されていると、command 関数から実行されたコマンドは、コマンド ラインにエコーされません。

注: AutoLISP の command 関数からコマンドを入力するときは、AutoCAD のシステム変数 PICKADD の設定は 1 とみなされ、システム変数 PICKAUTO の設定は 0(ゼロ)とみなされます。これにより、AutoCAD の旧リリースとの互換性が保持され、カスタマイズが簡単になります(変数の値を確認する必要はありません)。

AutoCAD 2009 のアクション レコーダの導入によって、コマンドのバージョンが指定されるようになりました。コマンド プロンプトに対してコマンドを使用すると、常にそのコマンドの最新バージョンが実行されます。しかし、AutoLISP およびコマンド マクロでコマンドを使用すると、動作が異なる可能性があります。次に実行されるコマンドのバージョンを決定するには、initcommandversion 関数を使用します。

次の例では、2 つの変数 pt1pt2 に、2 つの点の値 1,1 と 1,5 を代入します。次に command 関数を使用して、AutoCAD の LINE[線分]コマンドを呼び出し、2 つの点の値を渡します。

(setq pt1 '(1 1) pt2 '(1 5))
(1 5)

(command "._line" pt1 pt2 "")
nil