匿名块如何编辑(块名*u)
请问:匿名块如何编辑(块名*u),不想炸开! ;(改块名)无名转有名(defun C:XX (/ obj bkn)
(KX-COMA)
(KX-princA "(改块名)无名转有名")
(setq obj (KX-E2O (car (entsel "\n-->请点选块: "))));转为VLA对象
(setq bkn (KX-str 1 "块名" bkn nil nil))
(KX-Wm2Insert obj bkn);改块名
(KX-COMB)
) ;(改块名)无名转有名作者:【KAIXIN】,QQ:295963716
;本程序需要KAIXIN通用函数的支持
(defun C:XX (/ obj bkn)
(KX-COMA)
(KX-princA "(改块名)无名转有名")
(setq obj (KX-E2O (CAR (KX-Get-Entsel '((0 . "INSERT")(2 . "`**")) "无名块"))));转为VLA对象
(setq bkn (KX-str 1 "块名" bkn nil nil))
(KX-Wm2Insert obj bkn);改块名
(KX-COMB)
)
给你一个编程思路:
1、记录最后实体,如(setq g:last-ent (entlast));
2、记录块信息,如该块所在层等;
3、炸开该块;
4、加入、删减、编辑其中的实体;
5、收集 g:last-ent 之后的所有实体;
6、用造无名块程序将收集实体制成无名块;
7、还原该新建的无名块所处的层等信息;
谢谢,网上找了一段lisp代码,完美解决该问题 真是高手,望而生畏。
页:
[1]