Just playing with the idea, although I'd like to see how far Object.dbx can let you scan. (defun c:scan (/ e da ty) (setq e (entsel" Select block: ")) (if e (progn (setq da (entget (car e)) ty (cdr (assoc 0 da)) ) (if (= ty "INSERT") (progn (setq na (cdr(assoc 2 da))) (scan_insert na) ) (progn ) ) ) ) (princ) ) (defun scan_insert ( na / );id ln n y d area cn) (vmon) (setq id (tblsearch "block" na) ln (length id) ) (if (= ln 6) (progn (setq area (entget(cdr (assoc -2 id))) ent (cdr (assoc -1 area)) cn 0) (while (and ent (setq n (entnext ent)) ) ;(pointcollector1 cn) (setq d (entget n) y (cdr (assoc 0 d)) ) (prompt" ") (princ y) (princ d) (if (= y "INSERT") (progn (setq x (cdr (assoc 2 d))) (scan_insert x) ) ) (setq ent n cn (1+ cn)) ) ) ) (princ) )