newer 发表于 2013-11-17 22:51:22

转换图块中实体到0层,支持嵌套图块,一转到底。

**** Hidden Message *****

st788796 发表于 2013-11-18 07:14:10

本帖最后由 st788796 于 2013-11-18 07:18 编辑

Insert 图层不变, Blcokdef 内 颜色为 Byblock
这样没有后悔机会

(princ "\n选择归并 0 层图块<回车全选>: ")
(if (setq ss (ssget '((0 . "INSERT"))))
ss
(setq ss (ssget "x" '((0 . "INSERT"))))
)

守仁格竹GM 发表于 2013-11-18 08:34:32

力顶 各位高手 大爆发         

守仁格竹GM 发表于 2013-11-18 08:49:28

貌似不是一转到底

守仁格竹GM 发表于 2013-11-18 08:50:03

做成递归也许好些

st788796 发表于 2013-11-18 08:54:39

守仁格竹GM 发表于 2013-11-18 08:50
做成递归也许好些

一般可以收集一个块名表,最后根据这个表再去遍历,不用递归,减少无用操作

守仁格竹GM 发表于 2013-11-18 09:05:08

st788796 发表于 2013-11-18 08:54
一般可以收集一个块名表,最后根据这个表再去遍历,不用递归,减少无用操作

有多层嵌套呢,而且每个子嵌套的子嵌套也均不同

st788796 发表于 2013-11-18 09:15:54

守仁格竹GM 发表于 2013-11-18 09:05
有多层嵌套呢,而且每个子嵌套的子嵌套也均不同

遇到insert就收集,当然要判断下是否已经收集过了,最后改的时候
while blst
   ifinsertnot position blst -> cons bn blst
   cdr blst
这样循环

守仁格竹GM 发表于 2013-11-18 09:19:56

st788796 发表于 2013-11-18 09:15
遇到insert就收集,当然要判断下是否已经收集过了,最后改的时候
while blst
   ifinsertnot posit ...

受教了。多谢

liuyj 发表于 2013-11-18 10:13:23

好东西,收集

dbx5511 发表于 2013-11-18 11:44:11

看看,感觉不错阿。

写诗天涯 发表于 2013-11-18 13:34:09

谢谢,比较不错的应用

q3_2006 发表于 2013-11-18 17:39:09

归零也包括颜色随层不?

st788796 发表于 2013-11-18 20:35:49

来个彻底的

(defun to0 ()
(mapcar '(lambda (x)
             (mapcar '(lambda (e)
                        (xdrx_setpropertyvalue e "Layer" "0")
                        (xdrx_setpropertyvalue e "Color" 0);_256 bylayer
                      )
                     (xdrx_block_getentities x)
             )
           )
          (mapcar 'cadr (XD::Ojbect:Get "BLock"))
)
)

wtjtdb-909 发表于 2013-12-6 12:40:48

我正需要这个插件来清理图层,减小文件,谢谢
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 转换图块中实体到0层,支持嵌套图块,一转到底。