■簡易四則計算マクロ
本サイトの「マクロ屋掲示板」に、四則計算マクロの修正依頼 が有りました。
そのマクロを使用する事で、マクロ中での簡易的な四則計算が可能です。
以下に例を示します。
【マクロ例1】
オフセット
*^C^Csetenv;v1;\;v0;$M=$($(substr,$(getenv,v1)/1,$(+,1,$(strlen,$(+,$(getenv,v1)))),1),$(+,$(getenv,v1)),$(+,$(substr,$(getenv,v1)/1,$(+,2,$(strlen,$(+,$(getenv,v1)))))));offset;$M="$(getenv,v0)";\ |
*^C^C$M=setenv;to;0;$(nth,$(getenv,to),;v1;\;v0;$M="""$($(substr,$(getenv,v1)/1,$(+,1,$(strlen,$(+,$(getenv,v1)))),1),$(+,$(getenv,v1)),$(+,$(substr,$(getenv,v1)/1,$(+,2,$(strlen,$(+,$(getenv,v1)))))))""";;to;1,)$(nth,$(getenv,to),,offset;$(getenv,v0))^M |
LT2000/LT2004/LT2006 動作確認済み
また、たちばなさんが、マクロの解読を試みて下さいました。
その結果、以下の様にする事で、さらにマクロを短くする事が可能です。
※最初に、下の5行を直接コマンドラインに、一度に貼り付けて下さい。
setenv -SISOKU "$M=$($(substr,$(getenv,v1)/1,$(+,1,$(strlen,$(+,$(getenv,v1)))),1),$(+,$(getenv,v1)),$(+,$(substr,$(getenv,v1)/1,$(+,2,$(strlen,$(+,$(getenv,v1)))))))" |
その後、以下のマクロ例を実行してください。
【マクロ例2】
オフセット
*^C^Csetenv;v1;\offset;$M=$(getenv,-sisoku); |
LT2000/LT2002 動作確認済み LT2004 動作不可
◆説明
最初に
SETENV 変数名を入力: v1
値 <>:
と、コマンドラインに表示されます。
ここで、「5/2」や「4*3」「10-3」「5+4」の様に
テンキーでの四則計算式を記入することが可能です。
また、通常の数値記入や小数点の計算も可能です。
ちなみに・・・
R版及びLT2006以降では、この四則計算マクロを使わなくても
calコマンドによる四則計算が可能です。
▲注意
1.あくまでも、簡易的な四則計算なので
「20/2*5」や「5*2+6」等の計算は行なえません。
2.【マクロ例1】は、ほとんどのバージョンで動作するみたいですが
【マクロ例2】は、バージョンによって、動作しない場合があります。
■コメント
マクロじゃ無理と思っていた四則計算が
このマクロを付加することで可能となります。
たちばなさんの御協力に感謝します。
しかし、この大元のマクロを考えた方は凄いですね・・・(^^;
使える! AutoCAD & LT カスタマイズブック 使えるカスタムプログラム100、使える.../ソフトバンククリエイティブ
![](https://img-proxy.blog-video.jp/images?url=http%3A%2F%2Fecx.images-amazon.com%2Fimages%2FI%2F51g7gxavJ1L._SL160_.jpg)
¥3,360
Amazon.co.jp