オブジェクトプロパティの変更する方法を紹介しました。
今回は、現在画層や現在の色等を変更して
作図する方法を紹介します。
例えば、色赤(色番号: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機械製図/間瀬 喜夫
![](https://img-proxy.blog-video.jp/images?url=http%3A%2F%2Fecx.images-amazon.com%2Fimages%2FI%2F51A6PL8AqaL._SL160_.jpg)
¥2,961
Amazon.co.jp