(defun C:Ztxt ( / objSet Point ptLst tmp1 tmp2 pat txtZList dst *error*) ;;;http://www.caduser.ru/cgi-bin/f1/board.cgi?t=44709Oh ;;;Перенос из содержания текста в координату z рядом стоящей точки ;;;Координатой Z выбранной точки считается БЛИЖАЙШИЙ текст (vl-load-com) (defun *error*(msg)(princ msg) (vla-EndUndoMark (vla-get-activedocument (vlax-get-acad-object)))(princ)) (vla-StartUndoMark (vla-get-activedocument (vlax-get-acad-object))) (if (and (setq objSet(ssget "_:L" '((0 . "POINT")))) (setq Point (vl-remove-if 'listp(mapcar 'cadr(ssnamex objSet)))) (setq ptLst(mapcar 'cdr (mapcar '(lambda(x)(assoc 10 x))(mapcar 'entget Point)))) (setq objSet nil objSet(ssget "_X" (list '(0 . "*TEXT")(cons 410 (getvar "CTAB"))))) ) (progn (setq tmp1 (vl-remove-if 'listp(mapcar 'cadr(ssnamex objSet)))) (setq tmp1 (mapcar '(lambda(x)(setq x (entget x))(list (cdr(assoc 10 x))(cdr(assoc 1 x)))) tmp1)) (foreach pt ptlst (setq tmp2 (mapcar '(lambda(x)(list (distance pt (car x))(cadr x))) tmp1)) (setq pat (car tmp2)) (foreach dst tmp2 (if (< (car dst) (car pat))(setq pat dst))) (setq txtZList (cons (cadr pat) txtZList)) ) (setq txtZList (reverse txtZList)) (setq txtZList (mapcar '(lambda(x) (vl-string-translate "," "." (vl-string-trim "%UuoOcC \t" x)) )txtZList)) (mapcar '(lambda(ptObj pt Z) (vla-put-coordinates (vlax-ename->vla-object ptObj) (vlax-3d-point (list (car pt)(cadr pt) Z)) ) ) Point ptLst (mapcar 'atof txtZList) ) ) ) (vla-EndUndoMark (vla-get-activedocument (vlax-get-acad-object))) (princ) ) (princ "\nType Ztxt in command line")