my_autocad 发表于 2007-10-4 09:42:00

[求助]炸开块中块,到块

<p>炸开块中块,到块</p><p>块中块,就是A块再被定义成B块,甚至B块再被定义成C块,有没有一个程序,可以把文件内所有块中块(B,C),炸开成A块</p>

dasha321 发表于 2020-9-9 23:17:52

还是不能用吗?求帮助

jh3030912 发表于 2024-8-3 20:50:36

现在解决了吗

无痕 发表于 2007-10-5 01:14:00

本帖最后由 作者 于 2007-10-5 10:36:22 编辑

;; 这是炸开块选集的代码,给你参考一下。自己完善
(DEFUN c:xx (/ fil ss)
(setq fil '((0 . "INSERT")))
(setvar "qaflags" 1);;参数如要恢复,自己加代码
(command ".explode" (ssget fil) "")
(while (setq ss (ssget "p" fil))
(command ".explode" SS "")
)(PRINC)
)

ivde 发表于 2007-10-5 06:55:00

最后再将炸开的做成 块 替换初始块<br/>

hbshyjch 发表于 2007-10-6 18:20:00

<p>试验一下</p><p>感谢</p>

my_autocad 发表于 2007-10-8 09:13:00

<font face="Verdana" color="#da2549"><strong>无痕的程序试用了,程序是炸开块中块到图元,不是炸开块中块到块,</strong><font color="#000000">可不可以把文件内所有块中块(B,C),炸开成A块啊?</font></font>

无痕 发表于 2007-10-8 13:31:00

;;编程可以实现,要多几行代码,偷懒了,sorry。
;;也可在原来基础上加(command ".u").只是效率没有那么高就是了:)

(DEFUN c:xx (/ fil ss)
(setq fil '((0 . "INSERT")))
(setvar "qaflags" 1);;参数如要恢复,自己加代码
(command ".explode" (ssget fil) "")
(while (setq ss (ssget "p" fil))
(command ".explode" SS "")
)
(command ".u");; 这里,倒回去一步
(PRINC)
)

my_autocad 发表于 2007-10-8 13:52:00

<p>程序试用了,呵呵,<font color="#ff0000">(</font><a href="http://www.mjtd.com/object/autolisp/command.htm" target="_black"><font color="#0000ff">command</font></a>
                <font color="#ff00ff">".u"</font><font color="#ff0000">)</font><font color="#800080">;; 是个好办法</font></p><p><font color="#800080">但是新的问题又出现了,如果一个块,和一个块中块,一起选中使用命令的话,块就要被炸开!老大,解决一下</font></p>

alin 发表于 2007-10-8 15:06:00

<p>要避免炸开A块可以这样改</p><p>;;; (xx "A")</p><p>(DEFUN xx (blkname / fil ss)<br/>&nbsp; <strong>(setq fil (list (cons 0 "INSERT") (cons -4 "&lt;NOT") (cons 2 blkname)(cons -4 "NOT&gt;")))</strong><br/>&nbsp; (setvar "qaflags" 1)<br/>&nbsp; (command ".explode" (ssget fil) "")<br/>&nbsp; (while (setq ss (ssget "p" fil))<br/>&nbsp;&nbsp;&nbsp; (command ".explode" SS "")<br/>&nbsp; )<br/>&nbsp; (setvar "qaflags" 0)<br/>&nbsp; (PRINC)<br/>)</p>

my_autocad 发表于 2007-10-8 16:24:00

<p>程序试用了,仍然不能避免炸开A,我的CAD是2002</p>

alin 发表于 2007-10-8 20:05:00

<p>可以把图传上来吗?</p>
页: [1] 2
查看完整版本: [求助]炸开块中块,到块