モデル空間の全てのオブジェクトを3回分解するマクロ
モデル空間の全てのオブジェクトを3回分解するマクロ、
もしくはLISPを作りたいのですが、全て選択して分解というのが
単純にはできないらしく、困っています。
なお、使用バージョンはLT2025です。
どなたか方法をご存知の方がいらっしゃったらご教示いただけますでしょうか。
何卒よろしくお願いいたします。
- もも
- 2025/08/04 (Mon) 07:51:20
Re: モデル空間の全てのオブジェクトを3回分解するマクロ
どうでしょうか。(LT2025は持ってませんので、動くか判りません)
^C^Cxplode;all;;;;^C^Cxplode;all;;;;^C^Cxplode;all;;;;^C^C^Z
分解できるオブジェクトが無い時でも、エラーにならない様にしてるつもりです。
- Hamu
- 2025/08/04 (Mon) 10:08:52
Re: モデル空間の全てのオブジェクトを3回分解するマクロ
Hamuさま
早速のご回答ありがとうございます!
教えていただいたマクロを試したのですが、
ハッチングとマルチテキストは分解されませんでした。
拡張分解はハッチングとマルチテキストには対応していない模様です。
- もも
- 2025/08/04 (Mon) 10:16:36
Re: モデル空間の全てのオブジェクトを3回分解するマクロ
こういうことでしょうか?
(defun c:extri (/ ss)
(repeat 3
(setq ss (ssget "X"))
(initcommandversion 2)
(command "explode" ss "")
)
)
>全て選択して分解というのが単純にはできないらしく、困っています。
古いバージョンのexplodeでは、1度に1個のオブジェクトしか分解できなかったため、Lispでcommand関数にてexplodeを使うとその動きになるからでしょうか。(以下URLの#3参照)
https://forums.augi.com/showthread.php?11688-Explode-in-LISP-Does-Not-Explode-Selection-Set
initcommandversionを使うことで、今のコマンドの動きにすることができます。
- LUNE
- 2025/08/04 (Mon) 11:36:26
Re: モデル空間の全てのオブジェクトを3回分解するマクロ
LUNEさま
無事にできました!
「initcommandversion」については存じ上げておらず、大変勉強になりました。
心より感謝申し上げます。
- もも
- 2025/08/04 (Mon) 14:50:50