オートキャド(AutoCAD)のどんなコマンドを実行するにしても、コマンドマクロの冒頭は「^C^C」から始まります。
つまり「Escキー」を2回押すところからコマンドマクロは始まる、という事になります。
それは、オートキャド(AutoCAD)がどんな状態であっても、確実に目的のコマンドを実行する為。
前回はそんな内容の話をしました。
コマンドマクロの冒頭は大抵の場合「^C」から始まる。
ということは、「Escキー」の役割を持つ「^C」は、非常に使用頻度の高い特殊文字だという事になります。
当然のことですが、仮に自分で新しくコマンドマクロを作成する場合でも、条件としては同じです。
他のコマンドマクロと同じやり方で始める、という程度の認識でも構わない訳ですけど……
なぜそういうルールになっているのかを理解しておいた方が、コマンドマクロを作成する側としては良いと思います。
まあそんなに複雑な話でもないんですけど、今回はそのあたりの話を、サンプルを交えて説明してみましょう。
■コマンド待ち状態
オートキャド(AutoCAD)では、特にコマンドを実行していない状態だと、コマンドラインは以下のような状態になっています。
これは、これからどんなコマンドを実行しますか? という「コマンド待ち状態」であることを意味しています。
この状態でコマンドを入力して「Enter」を押すと、入力したコマンドに対応した機能が実行される。
これはオートキャド(AutoCAD)の基本的な操作の流れで、例えば線分コマンドを実行するとこうなります。
線分コマンドである「LINE」を入力して「Enter」を押すことにいって、どこから線を引くのかを指定する状態になりました。
この先の流れは実行したコマンドによって違いますが、基本的なコマンドはこのような流れになります。
■まずは現状をキャンセル
しかしここでひとつ問題があります。
先程の例で言えば、線分コマンドを実行している途中で、やっぱり移動コマンドを実行する必要があることに気が付いたとします。
これは、オートキャド(AutoCAD)で図面を描いている際には、かなり良くある状況だと思います・
そうすると線分コマンドはヤメにして、すぐに「MOVE」コマンドを実行する流れになります。
問題というのはこの時、作業の状況によっては必ずしもコマンド待ち状態にはなっていない、ということ。
線分コマンドの途中で「MOVE」と入力しても、こんな結果になるだけ。
オートキャド(AutoCAD)はまだ線の始点入力待ち状態で、そこで「MOVE」と言われても……という感じなんです。
コマンドを実行する前には、どんなコマンドが実行中であっても、ひとまずコマンド待ち状態に戻す必要がある。
これが、コマンドマクロの冒頭に「Esc」を押す特殊文字「^C」を配置している理由です。
先程の例で言えば、線分の始点を指定する状況で「Esc」を押して、それから改めて移動コマンドを実行する、という流れです。
Escキーを2回押すのは、場合によっては2段階キャンセルが必要な状況もあるからです。