概要 - ユーザ入力のためにマクロを一時停止する

マクロは、ユーザに何らかの形式で入力を求めるポイントに円記号(¥)を使用することによって、一時停止することができます。

次の例では、CIRCLE[円]コマンドが一時停止され、ユーザに円の中心点を指定するよう求めるプロンプトが表示されます。円記号の後ろにスペースがないことに注目してください。

^C^C_.circle \1

この例では、マクロによって -LAYER[画層管理]コマンドが開始され、[非表示(OF)]オプションが入力されます。次に、ユーザは、コマンドを終了する前に非表示にする画層名を入力するように求められます。

^C^C_.-layer off \;
注: -LAYER[画層管理]コマンドは通常他の操作をプロンプト表示し、スペースバーまたは[Enter]が押された場合にのみ終了します。マクロでは、セミコロン(;)を[Enter]として使用します。

通常、1 つの要素、たとえば 1 つの点位置が入力されると、マクロが再開します。したがって、要素数が決まっていない入力(オブジェクトの選択のように)を受け取り、その後も続けてマクロを実行するようなマクロは作成できません。しかし SELECT[オブジェクト選択]コマンドは例外です。円記号によって、マクロはオブジェクト選択が完了するまで停止します。次の例を考えてみます。

^C^C_.select \_.change previous ;properties color blue ;

このマクロでは、1 つまたは複数のオブジェクトの選択に SELECT コマンドが使用されています(^C^C_.select¥)。次に、CHANGE[データ変更]コマンドが実行され、[直前(P)]オプションを使用して選択セットが参照され、選択されたすべてのオブジェクトの色が青に変更されます(_.change previous ;properties color blue ;)。

注: 円記号(¥)により、ユーザからの入力を受け取るためにマクロが一時停止します。マクロの中では他の目的のために円記号を使用できません。ファイル パスを指定するときは、/direct/file のように、スラッシュ(/)をパス区切り記号として使用してください。

次のような状況では、マクロの再開が遅れます。

注: コマンドが入力されると、システム変数 PICKADD は 1 とみなされ、システム変数 PICKAUTO の設定は 0(ゼロ)であるとみなされます。これにより、旧バージョンの AutoCAD との互換性が保たれ、これらの変数の設定をチェックする必要がないため、カスタマイズがより容易になります。