【■特級 1.「nth」とは】で
$M=$(nth,A,0,1,2,3,4,5,6,7) |
しかしこれは、あくまでも簡単な使用方法です。
この"nth"を使用して、"nth"マクロの0~7に
色々なマクロを割り当てる事で、分岐やループさせる方法となります。
まず、"nth"の値(上記マクロでA)を割り当てる変数を決めます。
多くに用いられている変数は、"setenv"コマンドで指定する"to"です。
※この"to"に深い意味は有りませんが、"go~to"から来たと言われてます。
次に、"nth"マクロの形状です。
*^C^C$M=setenv;to;0;$(nth,$(getenv,to),~記述マクロ1~setenv;to;1,)$(nth,$(getenv,to),,~記述マクロ2~setenv;to;0)^M |
この様なマクロの構文がベースとなります。
最初に"to=0"の為、記述マクロ1が実行され
その後、"to=1"の為、記述マクロ2が実行され
さらにその後、"to=0"の為、記述マクロ1へと繰り返されます。
この構文で大事なことは・・・
1)初めに"*"(繰返し)は必ず付けること。
2)開始時は"$M=setenv;to;0;"とし、"to"の値を最初に指定すること。
3)分岐またはループさせるために、"setenv"コマンドで"to"の値を指定すること。
これが"nth"マクロの基本形状です。
●ポイント
最初の「$M=setenv;to;0;」は、マクロの流れ上、何度も繰返し実行されますが
「$M=」の後に記述されていることで評価が遅れ、各「$(getenv,to)」の値は
記述マクロ1・2の最後に記述された「setenv;to;」の値によって分岐します。
ちなみに・・・
"to"ではなく、"useri5"を使用した場合は・・・
*^C^C$M=useri5;0;$(nth,$(getvar,useri5),~記述マクロ1~useri5;1,)$(nth,$(getvar,useri5),,~記述マクロ2~useri5;0)^M |
AutoCAD 入門&実践バイブル/技術評論社

¥4,410
Amazon.co.jp