フォローする

SETENV、 GETENV のコマンドを使用したマクロの移植

更新 : 2020-04-28 08:43:16 UTC

対象製品: IJCAD 2018 時点

 

_setenv, _getenv コマンドは、 AutoCAD LT のメニューマクロにて情報を保持するためによく使用される機能ですが、 IJCAD には該当するコマンドはありません。

これは、 IJCAD が AutoCAD LT ではなく AutoCAD レギュラー版との互換を重視しているためです。(AutoCAD レギュラー版にもありません。)

_setenv, _getenv コマンドを使用したメニューマクロを IJCAD 移植する場合は、IJCAD で使用可能な LISP 関数を使用することで代用可能です。

 

(setenv "myenv1" "値")
(getenv "myenv1")

 

サンプル

以下の DIESEL マクロをLISP式を使用したマクロに変更してみます。

^C^C_setenv;横;\_setenv;縦;\_id;\_rectang;non;@;non;$M=$(getenv,横),$(getenv,縦);

これをLISP式にを使ったマクロに変更すると以下のようになります。
なお、あらかじめ IJCAD のシステム変数設定 LISPINIT を 1に設定しておいてください。

^C^C(progn (setenv "横" (getstring "横:"))(setenv "縦" (getstring "縦:"))
(command "_rectang" pause "non" (strcat "@" (getenv "横") "," (getenv "縦"))))

また SETENV、GETENV にこだわらない場合、以下のような LISP式を使ったマクロにも変更できます。

(progn (setq x (getreal "横:") y (getreal "縦:")) (command "_rectang" pause "d" x y "@"))

 

この記事は役に立ちましたか?
3人中1人がこの記事が役に立ったと言っています
他にご質問がございましたら、リクエストを送信してください

コメント