「Command」の版間の差分
編集の要約なし |
編集の要約なし |
||
34行目: | 34行目: | ||
: システム変数 CMDECHO(setvar と getvar 関数でアクセス可能)が 0(ゼロ)に設定されていると、command 関数から実行されたコマンドは、コマンド ラインにエコーされない。 | : システム変数 CMDECHO(setvar と getvar 関数でアクセス可能)が 0(ゼロ)に設定されていると、command 関数から実行されたコマンドは、コマンド ラインにエコーされない。 | ||
: * IntelliCAD では command | : * IntelliCAD では command 関数でなんかしら動作がこけるとそれ以降、動きが挙動不審になる事があるので注意が必要。(最悪落ちる。) | ||
----- | ----- |
2010年2月22日 (月) 17:14時点における版
- 構文
- (command [arguments] ...)
- 機能
- コマンドを実行する。
- 引数
-
- arguments :コマンドとそのオプション。
- command 関数の arguments 引数には、文字列、実数、整数、座標値を指定することができ、これらは実行するコマンドのプロンプト シーケンスの要求によって決まる。空の文字列("")は、キーボードで[Enter]を押すのと同じ。引数を指定せずに command 関数を呼び出すと、[Esc]を押したのと同様に、ほとんどのコマンドがキャンセルされる。
- command 関数は各引数を評価し、次にくるプロンプトに応じてその引数を CAD に渡す。コマンド名とオプションは文字列として、2D 点は 2 つの実数のリストとして、3D 点は 3 つの実数のリストとして渡す。CAD はコマンド プロンプトが表示されているときにのみ、コマンド名を認識する。
- 戻り値
- nil
- サンプル
- 次の例では、2 つの変数 pt1 と pt2 に、2 つの点の値 1,1 と 1,5 を代入する。次に command 関数を使用して、LINEコマンドを呼び出し、2 つの点の値を渡す。
(setq pt1 '(1 1) pt2 '(1 5)) (1 5) (command "line" pt1 pt2 "") line 1 点目を指定: 次の点を指定 または [元に戻す(U)]: 次の点を指定 または [元に戻す(U)]: nil
-
- 制限と注意
- AutoCAD の SKETCH コマンドは、ディジタイザを直接読み取るので、AutoLISP の command 関数で使用することはできない。command 関数で SCRIPT コマンドを使用するときは、それが AutoLISP ルーチンの最後の関数呼び出しでなければならない。
- また、command 関数を自動ロードの acad.lsp(AutoCAD) や icad.lsp(IJCAD)、.mnl ファイルで使用する場合は、defun 文の内側からのみ呼び出さなければならない。作図セッションの開始時にただちに実行することが必要なコマンドを定義するには、S::STARTUP 関数を使用する。
- オブジェクトの選択を必要とする CAD コマンド(BREAK や TRIM コマンドなど)の場合、点を指定する代わりに、entsel 関数で取得したリストを与えることにより、オブジェクトを選択できる。
- システム変数 CMDECHO(setvar と getvar 関数でアクセス可能)が 0(ゼロ)に設定されていると、command 関数から実行されたコマンドは、コマンド ラインにエコーされない。
- * IntelliCAD では command 関数でなんかしら動作がこけるとそれ以降、動きが挙動不審になる事があるので注意が必要。(最悪落ちる。)
関連事項
- vl-cmdf 関数