■初級 16.UCSを変更して作成 | AutoCADマクロ屋本舗
間隔を指定し、2重線を作図するマクロを作成してみましょう。

作成手順としては
①2重線の間隔を記入
②2点を指定
なるべく少ない手順で作成しましょう。


1)"SETENV"コマンドを実行し、変数名"間隔"を指定する"\"を記入
^C^C_setenv;間隔;\


2)"LINE"コマンドを実行
^C^C_setenv;間隔;\_line;\\;



ここで、"UCS"[UCS 管理]コマンドを使用します。

実際に"UCS"コマンドを実行してみると
いくつかのオプションコマンドが存在します。


[作成(N)/移動(M)/直交投影(G)/直前(P)/呼び出し(R)/登録(S)/削除(D)/
一覧(?)/ワールド(W)]

※使い方・内容等はヘルプ参照

又、"UCS"コマンドには、他にもオプションコマンドが存在します。


[Z軸ベクトル(ZAXIS)/3点(3)/原点(O)/ビュー(V)/X軸(X)/Y軸(Y)/Z軸(Z)/
面(FA)/オブジェクト(OB)]

※使い方・内容等はヘルプ参照「3D でのユーザ座標系(UCS)のコントロール」


今回は"オブジェクト(OB)"を使用します。
このオプションは、選択したオブジェクトの傾きに
"UCS座標"を合わせるコトが出来ます。

ただし、オブジェクト選択時は、"点(@)"か"最後(L)"のみ指定です。


それでは、マクロ作成に戻って・・・

3)"UCS"コマンドを実行し、オプションの"オブジェクト(OB)"を実行
^C^C_setenv;間隔;\_line;\\;_ucs;ob;


4)"UCS"を傾けるオブジェクトを"LAST(L)"で指定
^C^C_setenv;間隔;\_line;\\;_ucs;ob;L;


5)"COPY"コマンドを実行し、"最後(L)"で選択
^C^C_setenv;間隔;\_line;\\;_ucs;ob;L;_copy;L;;


6)"連続(M)"を記入し、"_non;@;"で基点を指定
^C^C_setenv;間隔;\_line;\\;_ucs;ob;L;_copy;L;;m;_non;@;



7)DIESEL開始の"$M="を記入
^C^C_setenv;間隔;\_line;\\;_ucs;ob;L;_copy;L;;m;_non;@;$M=



8)1つ目のコピー方向を、指定した基点(@)からの座標値(0,間隔÷2)指定
^C^C_setenv;間隔;\_line;\\;_ucs;ob;L;_copy;L;;m;_non;@;_non;$M=@0,$(/,$(getenv,k1),2);



9)2つ目のコピー方向を、指定した基点(@)からの座標値(0,-間隔÷2)指定
^C^C_setenv;間隔;\_line;\\;_ucs;ob;L;_copy;L;;m;_non;@;_non;$M=@0,$(/,$(getenv,k1),2);_non;@0,-$(/,$(getenv,間隔),2);;



10)最初に作図した線分を"ERASE"コマンドにて削除
^C^C_setenv;間隔;\_line;\\;_ucs;ob;L;_copy;L;;m;_non;@;_non;$M=@0,$(/,$(getenv,k1),2);_non;@0,-$(/,$(getenv,間隔),2);;_erase;p;;



11)最後に"UCS"コマンドにてオプション"直前(P)"で"UCS座標"を元に戻す
^C^C_setenv;間隔;\_line;\\;_ucs;ob;L;_copy;L;;m;_non;@;_non;$M=@0,$(/,$(getenv,k1),2);_non;@0,-$(/,$(getenv,間隔),2);;_erase;p;;_ucs;p;




この様に、オブジェクトの傾きに"UCS座標"を合わせて
マクロを作成する事も出来ます。

オプションの"オブジェクト(OB)"は
マクロ作成時に使用頻度の高いコマンドオプションです。

その他のコマンドオプションも実際に操作して、
覚えておくと良いでしょう。


by totthi


AutoCADを極める! AutoCADの「哲学」を理解することが、エキスパートへの第1歩の本/坂井 政夫

¥3,129
Amazon.co.jp