Was doing a search on object data and since this was never answered, thought i'd share.
Only functions on autocad map products with entities containing object data.
(defun c:rod (/ )(c:readobjectdata))
(defun c:readobjectdata (/ count ename *error* fieldnames fieldstring input strcatlst tablelist textename usercmdecho viewsize)
(defun *error* ( msg )
(princ (strcat "\n<" msg ">\n"))
(progn
(and TextENAME (entdel TextENAME))
(vl-cmdf "ucs" "p")
(setvar "cmdecho" usercmdecho)
);progn
(princ)
);defun
(setq usercmdecho (getvar "cmdecho"))
(setvar "cmdecho" 0)
(vl-cmdf "ucs" "w")
(while (and (setq Input (grread T 4 2)) (= (car Input) 5))
(if TextENAME
(progn (entdel TextENAME) (setq TextENAME nil))
);if
(if
(and (setq ENAME (car (nentselp (cadr Input))))
(not (eq TextENAME ENAME))
);and
(progn
(setq viewsize (getvar "VIEWSIZE"))
(setq tablelist (ade_odgettables ename))
(setq count 0)
(repeat (length tablelist)
(foreach x (cdr (assoc "Columns" (ade_odtabledefn (nth count tablelist))))
(if (not (member (cdr (assoc "ColName" x)) fieldnames))
(setq fieldnames (cons (cdr (assoc "ColName" x)) fieldnames))
)
)
(setq count (1+ count))
)
(if fieldnames (setq fieldnames (acad_strlsort fieldnames)))
(setq strcatlst
(apply 'strcat
(mapcar
(function
(lambda (x)
(strcat x " : "
(If (/= (type (setq fieldstring (ade_odgetfield ename (ade_odgettables ename) x 0))) 'STR)
(rtos fieldstring 2 2)
fieldstring
)
"\n")
)
)
fieldnames
)
)
)
(setq TextENAME
(entmakex
(list
(cons 0 "MTEXT")
(cons 100 "AcDbEntity")
(cons 100 "AcDbMText")
(cons 1
(strcat "{\\fArial;"
strcatlst
"}"
);strcat
);cons 1
(cons 10
(polar (cadr Input) 0 (/ ViewSize 50.0))
)
(cons 40 (/ ViewSize 75.0));
(cons 50 (- 0 (getvar "VIEWTWIST")))
(cons 62 250)
(cons 71 1)
(cons 72 5)
(cons 90 1)
(cons 63 255)
(cons 45 1.2)
);list
);entmakex
);setq
);progn
);if
);while
(and TextENAME (entdel TextENAME))
(vl-cmdf "ucs" "p")
(setvar "cmdecho" usercmdecho)
(princ)
);defun