增强“炸开”工具
见 http://bbs.xdcad.net/thread-711560-1-1.html 帖子的申请。增强了下,可以批量处理。裁剪块只生成显示范围内,带属性图快保留属性文字内容
(defun c:XDTB_XExplode (/ base blk box data e ents mat ss x)
(if (and
(xdrx_initssget "\n选取要炸开的图块<退出>:")
(setq ss (xdrx_ssget '((0 . "INSERT"))))
)
(progn
(mapcar
'(lambda (e)
(cond
((xdrx_insert_isclip e)
(setq mat (xdrx_matrix_block2wcs e))
(setq data (xdrx_insert_getclipinfo e))
(setq box (cdr (assoc "BoundBox" data)))
(setq base (car box))
(setq blk (xdrx_getpropertyvalue e "blocktablerecord"))
(setq box (xdrx_points_transform
box
(xdrx_matrix_inverse
(xdrx_matrix_block2wcs e)
)
)
)
(setq ents (xdrx_block_getentities t (cadr blk) "C" box))
(mapcar
'(lambda (x)
(xdrx_entity_transformedcopy x mat)
)
ents
)
(xdrx_entity_delete e)
)
(t
(xdrx_entity_explode e)
)
)
)
(xdrx_pickset->ents ss)
)
)
)
(princ)
)
回复学习学习 好像很实用的东西 好东西饿喜色小i {:1_12:}{:1_12:}{:1_12:}{:1_12:}{:1_12:}{:1_12:} {:1_12:}{:1_12:}{:1_12:}{:1_12:}强大 支持一下。 {:1_9:}{:1_5:}{:1_1:} 谢谢分享!我的豆豆啊!{:1_7:} 看看,到底怎么炸开的,我用xdrx_entity_explode经常炸没了,为什么 对裁剪块的处理还有问题,如下图,左边是裁剪块,右边是非裁剪块,块内有裁剪嵌套块,炸散后左边的块内裁剪嵌套块未炸散,裁剪框外有部分线条未剪除,右边的块炸散后块内的嵌套块也一起炸散了,但嵌套块并没按原块内裁剪状态剪除,未达到楼主所讲只生成显示范围内的效果,附件内有本图测试块 感谢楼主分享 感谢楼主分享 感谢楼主分析 看看~~~~~~~~~~~~~~
页:
[1]
2