Hi Ron,
You can try this, I have not tested it but I believe it will work.....providing the block/layer names match as you described.
(defun c:symbols (/ path ss index obj pt layname lay)
(command "._undo" "_begin")
(setq path "C:/GPS_SYM/")
(while (setq lay (tblnext "layer" (not lay)))
(setq layname (cdr (assoc 2 lay)))
(if (setq ss (ssget "x" (list '(0 . "POINT") (cons 8 layname))))
(progn
(setq index -1)
(while (< (setq index (1+ index)) (sslength ss))
(setq obj (ssname ss index)
obj (vlax-ename->vla-object obj)
pt (vlax-get obj 'coordinates)
)
(if (tblsearch "block" layname)
(vl-cmdf "_-insert" layname pt "" "" "")
(vl-cmdf "_-insert"
(strcat path layname ".dwg")
pt
""
""
""
)
)
)
)
)
)
(command "._undo" "_end")
)