お知らせ

--------------------------------------------------

プログラム作成/コンサルティングの申し込みはこちら

--------------------------------------------------

2010年3月24日水曜日

マクロについて - その6 「DIESEL 式を使う」(AutoCAD 2011)

マクロについて何回か書いてきましたが、とりあえず今回で一旦終りにしようかと思ってます。

ということで、最後に DIESEL 式についてです。

DIESEL とは、Direct Interpretively Evaluated String Expression Language の略で、入力として文字列を受け取り、結果として文字列を返します。って言っても何のことだかよくわからないですよね。

ということで、簡単な例ですが、こんな感じです。
$M=$(getvar,clayer)
最初の $M= は、メニューで DIESEL 式を使うときの決まった記述形式です。
そのあとの、$(getvar,clayer) は、getvar という関数でシステム変数 clayer(現在層の名前)の値を取得するということです。

結果として、現在層の名前が返されます。(コマンド ラインに現在層の名前が入力される。)

でも、これだけやっても何の意味もないですよね。
例えば、現在層が 0 のときにこれを実行すると、コマンド ラインに 0 と入力されますが、当然そんなコマンドはないので、「0 そのようなコマンド "0" はありません。」と表示されるだけです。

そこで、例えばこんな使い方をします。
^C^C$M=$(if,$(eq,$(getvar,clayer),0),layer;of;0;y;,layer;f;0;)
この例では、もし現在層が 0 画層のときは 0 画層を非表示にして、それ以外の時は 0 画層をフリーズにします。

この例のように、DIESEL 式では if や eq などのいくつかの関数を使用できます。
どんな関数が使えるかということは、オンライン ヘルプの [カスタマイズ ガイド] - [DIESEL 式] - [DIESEL 関数カタログ ] で確認できます。

動画を作りましたので、見てみてください。

0 件のコメント:

コメントを投稿