This is the lisp that I work on
(defun c:DDDD (/ AP AT DD END1 END2 H HH HTT I II J LEN NP NT XL1 XL2 YL1 YL2 ZND2)
(SETQ TP(ssget '((0 . "Text,Mtext"))))
(command "_.select" TP "")
(sssetfirst nil TP)
(SETQ AP(ssget "_:P" '((0 . "text,mtext")(62 . 1))))
(setq NP (sslength AP)) ; No of POINT
(command "_.select" TP "")
(sssetfirst nil TP)
(SETQ AT(ssget "_:P" '((0 . "text,mtext")(62 . 3))))
(setq NT (sslength AT)) ; No of TEXT
(setq I 0)
(while (< I NT )
(setq END2 (cdr (assoc 10 (entget (ssname AT I ))))) ; Ge_point_tTEXT
(setq ZND2 (ATOF(cdr (assoc 1 (entget (ssname AT I )))))) ; GetTEXT
(setq h (cdr (assoc 40 (ENTGET (ssname AT I )))));HIGHT TEXT
(setq a1
(mapcar '(lambda(x) (cdr(assoc 10 x)))
(mapcar 'entget(vl-remove-if 'listp
(mapcar 'cadr(ssnamex AP))))))
(setq a2
(mapcar '(lambda(x) (cdr(assoc 1 x)))
(mapcar 'entget(vl-remove-if 'listp
(mapcar 'cadr(ssnamex AP))))))
)