■初級 9.現在の設定を変更して作図 | AutoCADマクロ屋本舗
以前、作図後に"CHANGE"コマンドと"CHPROP"コマンドで
オブジェクトプロパティの変更する方法を紹介しました。

今回は、現在画層や現在の色等を変更して
作図する方法を紹介します。


例えば、色赤(色番号:1)の線分を作図してみましょう。

現在の色を変更するコマンドは
"COLOR"コマンドですが、このコマンドを実行すると
「色選択」ダイアログが表示されてしまいます。

マクロで行なうには、以前にも紹介しましたが
"コマンドラインオプション"を使用します。
この場合、"-COLOR"コマンドです。

ちなみに、他のコマンドラインオプションは・・・
現在画層変更
現在の線種変更
現在の線の太さ変更
-LAYER
-LINETYPE
-LWEIGHT


それでは、マクロを作成してみましょう。

1)-COLORコマンドを実行し、現在の色を変更
^C^C_-color;1; ※-color;red;でもOK

2)その後、"LINE"[線分作成]コマンド実行
^C^C_-color;1;_line;\\;

これで、色赤の線分が作成されますが
これではマクロ終了後も、現在の色が"赤"に変わったままとなります。


では現在の色を、元の色に戻す方法を・・・

現在の色は、システム変数"CECOLOR"に格納されています。

ちなみに、他のシステム変数は・・・
現在画層
現在の線種
現在の線の太さ
CLAYER
CELTYPE
CELWEIGHT


ただし・・・
^C^C_-color;1;_line;\\;
このマクロで線分を作成した後、現在の色は赤です。

その為、マクロで
^C^C_-color;1;_line;\\;_-color;$M=$(getvar,cecolor);
としても、元の色には戻りません。

では、システム変数"CECOLOR"に
元々の現在の色を記憶させておく為には
どの様にするかと言うと・・・

^C^C$M=_-color;1;_line;\\;_-color;$(getvar,cecolor);
この様に"$M="の位置を、現在の色を変更する前に記入します。

要するに・・・
"$(getvar,cecolor)"この部分は、"$M="以前の値を表示するのです。


ちなみに、現在の線種・色を変更したマクロの場合
^C^C$M=_-linetype;s;Center;;_-color;1;_line;\\;-linetype;s;$(getvar,celtype);;_-color;$(getvar,cecolor);

この様になります。


ここで、このマクロを繰返し行なう為に"*"を付け
*^C^C$M=_-linetype;s;Center;;_-color;1;_line;\\;-linetype;s;$(getvar,celtype);;_-color;$(getvar,cecolor);

↑この様にした場合、マクロが終了したとしても

_-linetype;s;Center;;_-color;1;_line;\
↑上記マクロのこの部分までマクロが走ってしまう為
キャンセルで終了さた時、現在の設定が変わってしまいますね。


その為、繰り返しを行なう場合は
*^C^C_id;\$M=_-linetype;s;Center;;_-color;1;_line;non;@;\;-linetype;s;$(getvar,celtype);;_-color;$(getvar,cecolor);


"ID"[位置表示]コマンドを付け
LINEコマンド最初の点を"non;@;"とした方がいいでしょう。


また、途中キャンセルを考えた場合
今回のマクロよりも
"CHANGE"/"CHPROP"コマンドを使用した方が良いと思います。


しかし、この"現在の設定を変更し、元に戻す方法"は
マクロ作成上覚えておいて下さい。

by totthi

AutoCAD LT2000機械製図/間瀬 喜夫

¥2,961
Amazon.co.jp