「現在画層」へオフセット.1

 まず最初に、取り合えずこのように、いくつか画層を用意しておいて下さい。それぞれの画層の「ByLayer色」は違う色にしておいて頂けると、後の作業が分かりやすいです。

 まずは、ツールバーの下とか横とかの、どこか適当にツールバーのないところで、右クリック→カスタマイズと進み、カスタマイズのボックスを開きます。     

  で、ご覧のように、「0」画層「ByLayer」色で描いた線をオフセットする際に、現在の画層(ここでは「画層1」)にするためには、どうしたらよいでしょう?     

 と言うのが、”「現在画層」へオフセットマクロ”なんですが、実は2006からはホントのオフセットコマンドにこのオプションが付いてしまったため、連続コピーマクロと同様、今ではわざわざマクロを使う必要がなくなってしまったんです(悲)。

 でも!ここではマクロの勉強のため、2005以下ではどのようにマクロを組んでいたのか、見ていくこととしましょう。これを押えて頂ければ、2006でも今だに付いていない、コピーコマンドにおける「現在層へ・・・」も、ご自身で組めるようになることウケアイです。(ええ、多分)

さっそくやってみましょう。

 まず、手入力でそれをやる場合はどうやってやるかを考えてみましょう。
 オフセットをフツーにやった後、そのオブジェクトの画層を変えればいいんですが・・・

 私は普段は、「オブジェクトを”選択”して、画層の小窓か、オブジェクトプロパティパレットで変える」という方法でやっていますが、それだと、マクロで表現するのは非常に難しい・・・(というか無理です、多分)。なので、これも普段、あまり使わないコマンドですけど、「change」というコマンドを使ってやってみました。

 これなら、マクロ上でも表現できそうです。

 こんな感じですね。オフセットで「作成」したオブジェクトのプロパティを変更するので、 基礎編でちょっと紹介した「最後に作成したもの=last」が使えます。

 この通り、難なく動きます。

 が、これだと、現在画層が「画層1」でない場合には、意味ない・・・(笑)


「現在層の取得」に使えるシステム変数「CLAYER」

 マクロで「現在層へ○×」をしたい場合、この「CLAYER」が使えます。これをマクロの中へ組み込むと、「○×」を「現在層」へしてくれるんです。

 でも、普通に組み込んだのでは、そこで止まってしまう。かと言って「割込みコマンド」でもない (システム変数ですからね・・・)
 この「CLAYER」をマクロに組み込むには、今度はどうしたら?

 そこで、いよいよ出てくるのがDESEL関数です。