马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
将以前论坛提供的炸开插件(炸开属性,炸开多重图块等插件)综合的一起,可以把属性炸开成文字,可以设置随层或当前层,可以设置是否深度炸开所有实体(嵌套块)。
[sell](defun c:XDTB_explode ( / c_layer keyword ss ss1 tf tlen)
(defun _keyword (keyword)
(cond
((= keyword "BE")
(setq tf (xdrx_yesorno "\n炸到底吗?" 0))
(if (= tf 0)
(setq #exp_all "否")
(setq #exp_all "是")
)
)
((= keyword "SE")
(setq tf (xdrx_yesorno "\n炸开到当前层吗?" 1))
(if (= tf 1)
(setq #exp_layer "当前层")
(setq #exp_layer "随层")
)
)
)
(xdrx_prompt "\n当前设置:炸到底= " #exp_all ",图层=" #exp_layer)
)
(if (not #exp_all)
(setq #exp_all "否")
)
(if (not #exp_layer)
(setq #exp_layer "当前层")
)
(setq c_layer (getvar "clayer"))
(xdrx_prompt "\n当前设置:炸到底= " #exp_all ",图层=" #exp_layer)
(xdrx_initssget "\n选取要炸开的对象[炸到底(BE)/图层(SE)]<退出>:" "BE SE"
"" "_keyword" ""
)
(if (setq ss (xdrx_ssget '((0 . "INSERT,*POLYLINE"))))
(progn
(XD::Begin)
(setq tlen (sslength ss))
(setq ss1 (xdrx_entity_explode t ss (if (= #exp_all "是")
nil
t
)
)
)
(if (= #exp_layer "当前层")
(xdrx_entity_setproperty ss1 "layer" c_layer)
)
(xdrx_prompt "\n炸开了" tlen "个实体.")
(XD::End)
)
)
(princ)
)
[/sell] |