- 积分
- 194880
- 明经币
- 个
- 注册时间
- 2009-5-21
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
楼主 |
发表于 2013-6-30 18:36
|
显示全部楼层
本帖最后由 ucuc2003 于 2013-7-4 14:30 编辑
;;;;选字改块名RB2
(defun c:RB2()(c:GKM))
(defun GKM_ZMH ()
(setvar "cmdecho" 0)
(defun *Error* (msg);出错处理
(if (and msg (not (wcmatch (strcase msg) "*BREAK*,*CANCEL*,*QUIT*,*EXIT*,")))
(princ))
);defun *Error*
(setq new-name (getstring T (strcat "\n原块名为:<" name ">. 输入新的块名: ")))
(if (tblsearch "block" new-name)
(princ (strcat "\n新块名<" new-name ">已经存在请重试!"))
(progn
(command "_.rename" "_block" name new-name)
(princ (strcat "\n原块已重命名为:<" new-name ">"))
)
)
(princ)
)
(defun c:GKM (/ name en new_name entype source_txt)
(setvar "cmdecho" 0)
(defun *Error* (msg);出错处理
(if (and msg (not (wcmatch (strcase msg) "*BREAK*,*CANCEL*,*QUIT*,*EXIT*,")))
(princ))
);defun *Error*
(princ "选字改块名")
(vl-load-com)
(setq name (Vlax-Get (Vlax-Ename->Vla-Object
(car (entsel "\n选择要改名的块:"))
)
'Name
)
)
;;;本段代码参考——明经通道 《文字刷 by_阿甘》
(setq en (nentsel (strcat "\n原块名为:<" name ">. 选择新块名称的文字<或自定义输入>: ")))
(if (= en nil)
(progn
(GKM_ZMH)
)
(progn
(setq en_data (entget (car en))
entype (cdr (assoc 0 en_data))
source_txt (if (= entype "ATTDEF")(cdr (assoc 2 en_data))(cdr (assoc 1 en_data)));如果是属性字,则取“标记”为源文字
)
(setq new_name source_txt)
)
)
(if (tblsearch "block" new_name)
(princ (strcat "\n新块名< " new_name " >已经存在.请重试!"))
(progn
(command "_.rename" "_block" name new_name)
(princ (strcat "\n原块已重命名为: " new_name))
)
)
(princ)
) |
|