この掲示板は AutoCADマクロ屋本舗 の掲示板です。

【 注意 】最初に必ず ↓↓ 下記内容 ↓↓ を参照ください。
① マクロが分からない方は、まず 【 マクロ講座 】 を参照ください。
② 質問の前に 【 マクロ使用前の注意事項 】 をお読みください。
③ 質問する時は、新規投稿フォーム下の【 新規投稿時のお願い 】を必ずお読みください。

LISPにおける遅延処理の方法
お世話になります。
現在,DIESELからLispへの置き換えについて学習しているのですが,マクロ講座の「中級 2.DIESEL評価の遅らせ方」の置き換え方法がわからず,つまづいております。Lispにおける遅延処理の定義はあるのでしょうか。大変申し訳ありませんが,ご教示お願いいたします。

中級2 マクロ2(正)の内容
^C^Carea;o;\setenv;直径;$M=$(/,$(getvar,perimeter),3.141592654);setenv;半径;\change;@;;;$M="$(getenv,半径)";

使用バージョンはAutoCAD2019です。
  • YASU
  • MAIL
  • 2019/01/21 (Mon) 22:21:53
Re: LISPにおける遅延処理の方法
マクロをlispに置き換えると

(command "area" "o" "\\")
(setq dia (/ (getvar 'perimeter) pi))
(setq rds (getreal "\n半径:"))
(command "change" "@" "" "" rds)

リスプは上から下に順番に式を評価するので特別なことは必要ないです。
むしろdieselの$M=が特殊なのだと思います。
  • zukki-
  • 2019/01/21 (Mon) 22:44:08
Re: LISPにおける遅延処理の方法
zukkiさま

おかげさまで遅延処理の置き換え方法について解決できました。
どうもありがとうございました。
  • YASU
  • 2019/01/21 (Mon) 23:04:11

返信フォーム






プレビュー (投稿前に内容を確認)