@masao_8 Here is a solution for a simple single selection add and SHIFT-Select to remove. Perhaps this will give you a basis for starting:
;; Function to do a simple Select/Deselect using grread.
;; By PJK - 6/16/2026
(defun pjk-grread-Select (/ done en grl grc grv ss)
(if acet-load-expresstools (acet-load-expresstools))
(setq ss (ssadd))
(princ "\nSelect to add objects or SHIFT+Select to remove from selection set: ")
(while (not done)
(setq grl (grread T 15 2)
grc (car grl)
grv (cadr grl)
)
(cond
((= grc 3)
(if (setq en (car (nentselp grv)))
(if (acet-sys-shift-down)
(progn
(if (ssmemb en ss)(ssdel en ss))
(redraw en 4)
)
(progn
(ssadd en ss)
(redraw en 3)
)
)
)
)
((= grc 2)
(setq done (if (vl-position grv '(13 32)) T nil))
)
((= grc 25)(setq done T))
)
)
(if (> (sslength ss) 0)
(progn
(foreach i (mapcar 'cadr (ssnamex ss))(redraw i 4))
ss
)
nil
)
)