I do remember BricsCAD execute lisp code to other drawings that where already open.
--edit
found the post but it didn't work in AutoCAD back then either.
;;----------------------------------------------------------------------------;;
;; Copy Selection to All open Drawings works in BrisCAD
;; https://www.cadtutor.net/forum/topic/86226-returning-focus-to-excel-after-lisp-ends/
(defun C:Copy_to_All_Drawings () (C:C2AD))
(defun C:C2AD (/ ss x)
(vl-load-com)
(setq ss (ssget))
(vl-cmdf "_.Copybase" "_non" "0,0" SS "")
(vlax-for x (vla-get-documents (vlax-get-acad-object))
(vla-SendCommand x (strcat "_.pasteclip pause"))
)
(princ)
)
You can set a "place holder" right before creating or modifying things in the drawing. using entnext to add each to the selection set.
(setq ss (ssadd)) ; Create an empty selection set
(setq LastEnt (entlast)) ; Get the last entity in the drawing
; code to add items
(while (setq LastEnt (entnext LastEnt)) ; Add all entity's created/modified after setting lastent to the selection set
(ssadd LastEnt ss)
)
"add objects in SS while i'm creating them, in a lisp,"
Look into lisp function SSADD you should be able to add (entlast) to ss.
(setq ss (ssadd)) ; makes a blank selection set
do stuff
(setq ss (ssadd (entlast) ss))