- 积分
- 3800
- 明经币
- 个
- 注册时间
- 2010-8-26
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
建议大家将变量汉化
造成我们阅读代码时效率低的原因不是函数,因为函数我们知道它的意义。原因是变量,众多变量,它的含义我们要记要查。
如果将变量汉化了,则阅读代码极轻松高效。
所以,为了方便自己及别人的阅读,最好是将变量汉化。
汉化 还有一个好处,变量不易重名。
;命令以指定内容替代所选的文本
(Defun c:以指定内容替代所选的文本 ( / 新字符串 选择的文本集 v2 单个图元名 原字符串 单个图元组码表 )
(setvar "cmdecho" 0);;系统变量CMDECHO决定了命令行回显是否产生通过command 函数执行的命令是否会在命令行中显示CAD
(prompt "\n框选需改变内容的单行文本:");prompt函数此函数将显示msg 在绘图屏幕的命令提示区上LISP
(setq 选择的文本集 (ssget));;框选图元
(setq 新字符串 (getstring T "\n输入替代的内容: " ));;输入新字符串
(setq 新字符串 (cons 1 新字符串));;将新字符串编为表对
(setq v2 0)
(if (/= 选择的文本集 nil)
(while (< v2 (sslength 选择的文本集));;循环直到v1的总个数,(sslength 选择的文本集)为选择集的总个数
(setq 单个图元名 (ssname 选择的文本集 v2 ));;取得第选择集V1中的第V2个图元的名称。
(setq 原字符串 (assoc 1 (entget 单个图元名)));;(entget 单个图元名),根据名称获得组码。(assoc 1 组码),取得图元内容。
(setq 单个图元组码表 (entget 单个图元名));;(entget 单个图元名),根据名称获得组码
(entmod (subst 新字符串 原字符串 单个图元组码表));;用新内容替换老内容的表对
(entupd 单个图元名);将新组码赋给图元重生成
(setq v2 (+ v2 1 ));下一个循环。
)
)
)
|
|