好的,试试这个:
- (defun c:zht (/ varlist oldvars ss eLst bPt zVal nbPt ptLst)
- (vl-load-com)
- (setq varlist (list "CMDECHO" "OSMODE")
- oldvars (mapcar 'getvar varlist))
- (mapcar 'setvar varlist (list 0 0))
- (if (setq ss (ssget "X" '((0 . "TEXT")(8 . "49")(62 . "12"))))
- (progn
- (setq eLst (vl-remove-if 'listp
- (mapcar 'cadr (ssnamex ss))))
- (foreach e eLst
- (setq bPt (cdr (assoc 10 (entget e)))
- zVal (atof (cdr (assoc 1 (entget e))))
- nbPt (subst zVal (last bPt) bPt)
- ptLst (cons nbPt ptLst)))
- (foreach pt ptLst
- (command "_point" pt)))
- (princ "\n<!> No Text Found <!>"))
- (mapcar 'setvar varlist oldvars)
- (princ))
|