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

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

マクロからlispへ
マクロからlispへ移行するのはほとんどが可能なのでしょうか?

マクロでしかできないことってあるのでしょうか?

今、lispに移行したいのが寸法矢印編集マクロが掲示板にあるのですがlispに移行できるのでしょうか?
小黒丸に循環するものをlispに移行したいです。
  • 初心者
  • 2025/04/11 (Fri) 20:46:56
Re: マクロからlispへ
多くのマクロは移行できると思います。

但し、機能的には移行できても、操作方法(手順)まで同じにすることは出来ない事が有ります。

>寸法矢印編集マクロが掲示板にあるのですが
そのURLか、マクロをご提示してください。
  • Hamu
  • 2025/04/14 (Mon) 09:00:20
Re: マクロからlispへ
マクロだと右クリックで循環していくのですが、そのような機能もLISPで可能でしょうか?
また下記のマクロはLISPに移行できるのでしょうか?

*^C^C$M=setenv;to;0;$(nth,$(getenv,to),select;$M="""$(if,$(getvar,cmdactive),\,)"""setenv;dimblk;0;;to;1,;dimblk1;$(nth,$(getenv,dimblk),_dotsmall,_open,_dotsmall,_open);;dimblk2;$(nth,$(getenv,dimblk),_open,_dotsmall,_dotsmall,_open);;to;2,,,,)$(nth,$(getenv,to),,,dim1;override;dimsah;on;dimblk1;$(getenv,dimblk1);dimblk2;$(getenv,dimblk2);;p;;setenv;to;3,,,)$(nth,$(getenv,to),,,,offset;;^Xオブジェクトを選択:[$(nth,$(getenv,dimblk),右黒丸,両黒丸,両開矢印,左黒丸)(右クリック)]^X\$M="""$(if,$(getvar,cmdactive),;setenv;to;4,setenv;to;5)""",,)$(nth,$(getenv,to),,,,,select;@;\setenv;to;1,;dimblk;$(if,$(eq,$(getenv,dimblk),3),0,$(+,$(getenv,dimblk),1));;to;1)^M
  • 初心者
  • 2025/04/14 (Mon) 14:40:40
Re: マクロからlispへ
LISP起動後、寸法オブジェクト選択する。
右クリックする度に矢印変更
左クリックで確定し、次のオブジェクト選択へ
終了はESCか、オブジェクト選択時に右クリック。


(defun C:kokuro_kai ( / Ya ss i B1 B2)
(setq Ya (list "_dotsmall" "_open"))
(princ "\n変更する寸法を選択:")

(while (setq ss (ssget '((0 . "dimension"))))
(command "undo" "be" "dimoverride" "dimblk1" (car Ya) "dimblk2" (cadr Ya) "" ss "" "dimoverride" "dimsah" "on" "" ss "" "undo" "e")
(setq i 1)
(while (not (getpoint))
(cond
((= i 0) (setq B1 (car Ya) B2 (cadr Ya)))
((= i 1) (setq B1 (car Ya) B2 (car Ya)))
((= i 2) (setq B1 (cadr Ya) B2 (cadr Ya)))
((= i 3) (setq B1 (cadr Ya) B2 (car Ya)))
)
(command "u" "undo" "be" "dimoverride" "dimblk1" B1 "dimblk2" B2 "" ss "" "dimoverride" "dimsah" "on" "" ss "" "undo" "e")
(setq i (rem (1+ i) 4))
)
)
(princ)
)
  • Hamu
  • 2025/04/15 (Tue) 16:39:32
Re: マクロからlispへ
lispでも右クリックでの循環できるんですね。
助かりました。
(setq Ya (list "_dotsmall" "_open"))を変更すれば
矢の先端をいろいろ変更できることがわかりました。
ありがとうございます。
  • 初心者
  • 2025/04/15 (Tue) 20:44:21

返信フォーム






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