 - ;;文本编辑扩展工具,文本修改后变换颜色显示。可以设置ddedit命令修改后文本
- ;;的颜色,默认为当前系统颜色号加一,确认不修改为修改文本颜色号加一。
- ;;作者:南京市市政设计研究院 嵇龙(ll_j@21cn.com)
- ;; 025-3283626
- (defun ett_ct()
- (initget "C ")
- (setq s0 (entsel "\n设置颜色C / 选取文本:"))
- (cond
- ( (= s0 "C") (ett_col))
- ( (= s0 "") nil)
- ( (and (= (type s0) 'LIST) (= (cdr (assoc 0 (entget (car s0)))) "TEXT"))
- (redraw (setq sn (car s0)) 3)
- (setq s1 (entget sn)
- n1 (cdr (assoc 1 s1))
- )
- (command "_.DDEDIT" sn "")
- (entupd sn)
- (if (/= n1 (cdr (assoc 1 (entget sn))))
- (progn
- (setq s1 (entget sn))
- (if (/= (assoc 62 s1) nil)
- (setq s1 (subst (cons 62 c2) (assoc 62 s1) s1))
- (setq s1 (cons (cons 62 c2) s1))
- )
- (entmod s1)
- (redraw sn 1)
- )
- (progn
- (setq s1 (entget sn) c3(+ c2 1))
- (if (= c3 257) (setq c3 1))
- (if (/= (assoc 62 s1) nil)
- (setq s1 (subst (cons 62 c3) (assoc 62 s1) s1))
- (setq s1 (cons (cons 62 c3) s1))
- )
- (entmod s1)
- (redraw sn 1)
- )
- )
- (setq sn nil)
- (ett_ct)
- )
- (t (ett_ct))
- )
- )
- (defun ett_col()
- (setq c1 c2)
- (setq c2 (acad_colordlg c2))
- (if (= c2 nil) (setq c2 c1))
- (ett_ct)
- )
- (defun c:ett(/ sn s0 s1 c1 c2 c3 n1)
- (setq c1 (getvar "CECOLOR"))
- (if (or (= c1 "BYLAYER") (= c1 "BYBLOCK"))
- (setq c1 1)
- (setq c1 (1+ (read c1)))
- )
- (if (= c1 256) (setq c1 1))
- (setq c2 c1)
- (princ (strcat "\n当前颜色号 " (getvar "cecolor") ",设置颜色号 " (itoa c2) "。"))
- (ett_ct)
- (princ)
- )
- (princ "\n**Text文本编辑扩展工具。作者:南京市市政设计研究院 嵇龙。**")
- (princ "\n**命令:ett")
|