例えば【■初級 3.回転コピー】 で作成した
■回転コピー
^C^C_select;\_copy;p;;\@;_rotate;p;;@;\ |
を、DIESEL関数"nth"で作成してみましょう。
"nth"を使った、マクロの基本形状は
【■特級 2."nth"マクロ基本】でも述べましたが
*^C^C$M=setenv;to;0;$(nth,$(getenv,to),~記述マクロ1~setenv;to;1,)$(nth,$(getenv,to),,~記述マクロ2~setenv;to;0)^M |
この記述マクロ1,記述マクロ2に、回転コピーマクロを割り付けてみると
*^C^C$M=_setenv;to;0;$(nth,$(getenv,to),_select;\_copy;p;;\@;_setenv;to;1,)$(nth,$(getenv,to),,_rotate;p;;@;\_setenv;to;0)^M |
上記マクロでは
記述マクロ1 = _select;\_copy;p;;\@; 記述マクロ2 = _rotate;p;;@;\ |
例えば・・・
*^C^C$M=_setenv;to;0;$(nth,$(getenv,to),_select;\_setenv;to;1,)$(nth,$(getenv,to),,_copy;p;;\@;_rotate;p;;@;\_setenv;to;0)^M |
上記マクロでは
記述マクロ1 = _select;\ 記述マクロ2 = _copy;p;;\@;_rotate;p;;@;\ |
ここで、誰もが気になる部分は、「,(カンマ)」の数だと思います。
~記述マクロ~の手前にある「,(カンマ)」は、システム変数"to"の値を指しています。
"to"=0なら1つ
"to"=1なら2つ
また、"nth"にマクロを割りつけた場合は
$(nth,A,0,1,2,3,4,5,6,7) |
※注意
ただし!割り付けたマクロの長さは制限されます。
"nth"内に記述したマクロが長過ぎる場合、動作しません。
以上の事から、回転コピーマクロを以下の様に割り付ける事が可能です。
*^C^C$M=_setenv;to;0;$(nth,$(getenv,to),_select;\_setenv;to;1,,)$(nth,$(getenv,to),,_copy;p;;\@;setenv;to;2,)$(nth,$(getenv,to),,,_rotate;p;;@;\_setenv;to;0)^M |
上記マクロでは
記述マクロ1 = _select;\ 記述マクロ2 = _copy;p;;\@; 記述マクロ3 = _rotate;p;;@;\ |
ここで、"nth"で区切られた最後の部分
_setenv;to;1,,) や setenv;to;2,) の「,(カンマ)」の数にも注意!! |
前後の「,(カンマ)」は、表記しないと動作しないので
付け忘れの無い様に注意しましょう。
尚、今回作成した"nth"による回転コピーマクロは
あくまでも検証の為のみに作成したもので
実際使用するマクロとして"nth"にする必要は、全くありません。^^;
速攻解決AutoCAD LT逆引きリファレンス―2013/2012/2011/2010/200.../ソシム

¥3,675
Amazon.co.jp