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

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

ポリラインを雲マークにするマクロ
はじめまして
ポリラインで作図したオブジェクトを選択して雲マークに変更するマクロを作成したいのですが、
ポリラインの点数が決まった数ではなく可変であるため、\\記号で入力待ち状態を作っても実際の点数と異なる為うまくできません。

ポリライン点数が4点ある場合は以下のマクロで良いのですが、これが4点の場合も20点の場合もあるということです。
^C^C_pline;\\\\\;_revcloud;a;\;o;last;n;

ポリラインの点数が何点でも入力待ち状態を作る方法はございますか。

ご教示のほどよろしくお願いします。
  • るうるう
  • 2017/11/08 (Wed) 16:11:50
Re: ポリラインを雲マークにするマクロ
AUTOCADのバージョンですが、2009LTでございます。
よろしくお願いします。

るうるう
  • るうるう
  • 2017/11/08 (Wed) 16:15:12
Re: ポリラインを雲マークにするマクロ
ループマクロならできると思います。

まずはこちらを参考に、※最初に~ 以下を実行してください
https://ameblo.jp/totthi-macro/entry-10950262965.html

で、マクロがこちら。
^C^Cpline;^x$m=$(getenv,cmdloop-)_revcloud;a;\\o;l;n;

2016Rで動作確認しました。
  • LUNE
  • 2017/11/08 (Wed) 16:42:17
Re: ポリラインを雲マークにするマクロ
一応、ループなしだけどループなマクロもどーぞ

*^C^C$M=setenv;to;0;$(nth,$(getenv,to),;to;1;pline,revcloud;a;\;o;last;n)^M
  • とってぃ
  • 2017/11/09 (Thu) 09:38:55
Re: ポリラインを雲マークにするマクロ
ありがとうございます。助かりました。
  • るうるう
  • 2017/11/10 (Fri) 11:37:41
Re: ポリラインを雲マークにするマクロ
^C^Cpline;^x$m=$(getenv,cmdloop-)_revcloud;a;\\o;l;n;

こちらをLISPで表現するとどうなりますでしょうか。宜しくお願い致します。
  • るうるう
  • 2022/05/21 (Sat) 14:27:14
Re: ポリラインを雲マークにするマクロ
こうかな?
(defun C:P2Rev ()
(command "pline")
(while (> (getvar "cmdactive") 0)
(command pause)
)
(command "revcloud" "a" pause pause "o" "l" "n")
)
  • Lon
  • 2022/05/22 (Sun) 06:27:10
Re: ポリラインを雲マークにするマクロ
ありがとうございます。自分なりに理解を記入してみました。

(command "pline") /ポリラインを実行
(while (> (getvar "cmdactive") 0) /getvarでcmdactiveの変数を参照して0を超えていたら command pauseの処理
エンターキーを押すと0になるので。
0になれば revcloudで直前のポリラインを選択して雲マークする。


色々と勉強になります。今後とも宜しくお願いします。
  • るうるう
  • 2022/05/22 (Sun) 09:28:18

返信フォーム






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