■初級 8.マクロで計算 | AutoCADマクロ屋本舗
前回、"SETENV"と"GETENV"で座標値を指定して四角形を作図しました。

今回は、四角形の"横と縦の長さ"の数値を記入し
中心を指定して四角形を作図させるマクロを作ってみましょう。


まずは、四角形の"横の長さ"を、数値で指定させる為に
1)"SETENV"コマンド実行し、変数名を"横"とします。
^C^C_setenv;横;\

次に、四角形の"縦の長さ"を、数値で指定させる為に
2)"SETENV"コマンド実行し、変数名を"縦"とします。
^C^C_setenv;横;\_setenv;縦;\

次に、四角形の中心の位置を指定させる為に
3)"ID"[位置表示]コマンドを実行
^C^C_setenv;横;\_setenv;縦;\_id;\

4)"RECTANG"[四角形作図]コマンドを実行
^C^C_setenv;横;\_setenv;縦;\_id;\_rectang;


ここまでは、前回と一緒です。


では、四角形の中心から"横と縦の長さ"の数値を用いて四角形を作図しましょう。
マクロでは、計算を行なうことができます。

例えば、A+Bを計算させる場合は
$(+,A,B)
この様になります。

他、A-BやA×BやA÷Bは
$(-,A,B)
$(*,A,B)
$(/,A,B)


この様になります。


指定した四角形の中心から、右上の点の座標値は
(X,Y)=("横÷2","縦÷2")

これをそれぞれ、文字列関数で計算させた式は
横÷2 = $(/,$(getenv,横),2)
縦÷2 = $(/,$(getenv,縦),2)


この様になります。


では、中心から右上の点を座標で指定させましょう。


5)座標1[中心点から右上を記入]
^C^C_setenv;横;\_setenv;縦;\_id;\_rectang;non;@$M=$(/,$(getenv,横),2),$(/,$(getenv,縦),2);



次は、中心から左下の点ではなく
右上の点から左下の点を指定します。

そのための座標値は
(X,Y)=(-"横",-"縦")
これをそれぞれ、文字列関数で表すと
-横 = -$(getenv,横)
-縦 = -$(getenv,縦)

この様になります。


6)座標2[座標値1から左下の座標(-横,-縦)を記入]
^C^C_setenv;横;\_setenv;縦;\_id;\_rectang;non;@$M=$(/,$(getenv,横),2),$(/,$(getenv,縦),2);non;@-$(getenv,横),-$(getenv,縦);


これだけで、中心を指定し"横と縦の長さ"の数値を記入した
四角形の作図が出来ます。

マクロでの計算方法は、色々なマクロでも使用することが多いです。
覚えておきましょう。


by totthi

すっきり解決! AutoCAD&AutoCAD LTで困ったときの便利技/稲葉 幸行

¥3,024
Amazon.co.jp