
如何使用LISP命令来实现修改 "块"的名字
2个回答
展开全部
(setq ss (ssget '((0 . "INSERT")))) ;选取你要修改的块
(setq i (1- (sslength ss)))
(setq name (getstring "\n输入要修改块的名字:")
(setq change (getstring "\n输入修改后的名字:")
(repeat (sslength ss)
(setq blk (ssname ss i))
(setq i (1- i))
(setq ent_data (entget blk));取得块的组码
(setq ent_n (assoc 2 ent_data));获取块的名字
(if (= ent_n name);查找块
(progn
(setq ent_data (subst (cons 2 change) (assoc 2 ent_data) ent_data));替换
(entmod ent_data);更新
)
)
)
(setq i (1- (sslength ss)))
(setq name (getstring "\n输入要修改块的名字:")
(setq change (getstring "\n输入修改后的名字:")
(repeat (sslength ss)
(setq blk (ssname ss i))
(setq i (1- i))
(setq ent_data (entget blk));取得块的组码
(setq ent_n (assoc 2 ent_data));获取块的名字
(if (= ent_n name);查找块
(progn
(setq ent_data (subst (cons 2 change) (assoc 2 ent_data) ent_data));替换
(entmod ent_data);更新
)
)
)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询