得左,多谢楼上,终于写成了下面的lisp (defun c:ck() (SETQ GOP (SSADD));;设定一个空的图元集合SS (SETQ ss (SSADD)) (SETQ GOP (SSGET "x" '((0 . "*DIMENSION*")))) (IF (/= GOP NIL) (PROGN (SETQ N (SSLENGTH GOP )) (SETQ M 0) (REPEAT N (SETQ ENT (ENTGET (SSNAME GOP M))) (if (and (/= (CDR (ASSOC 1 ENT)) "") (/= (CDR (ASSOC 1 ENT)) "<>")) (ssadd (SSNAME GOP M) ss) ) (SETQ M (+ M 1)) ) (setq k 0) (repeat (sslength ss) (vlax-put-property (vlax-ename->vla-object (ssname ss k)) "textcolor" 3) (setq k (1+ k)) ) ) ) (IF (/= (sslength ss) 0) (princ "注意 文字为绿色的尺寸在图上可能不是1:1的") (princ "所有尺寸在图上都是1:1的") ) (princ) ) |