another way if you are creating alot of things at once.
(setq ssnew (ssadd)) ;blank selection set.
(setq LastEnt (entlast)) ;put this before anything is created or modified.
;rest of your code
(if (setq en (entnext LastEnt)) ;pick up anything made or modified in the drawing since LastEnt was defined.
(while en
(ssadd en ssnew)
(setq en (entnext en))
)
)
(command "_.mirror" ssnew pt1 pt2"") ;mirror those objects in the drwaing.
If you look at ssadd and create a selection set with that, would it work? perhaps
... some code
(setq New_Objs (ssadd)) ; create blank / emp[ty selection set
.....some more code, create an object
(ssadd (entlast) New_Objs)
.. some more code
(command '_Mirror.....
Look for (vlax-curve-getclosestpointtoprojection) function... You make line horizontaly like in your picture, then measure - 1.0, then (foreach pt pts => (setq ptn (vlax-curve-getclosestpointtoprojection spline pt '(0.0 1.0 0.0)))... So ptn are your new points on spline - then just use (entmake) or POINT command to place them on spline...
Oops, I edited the last post,
I had replaced
(setq points (append points (list (drawPoint pt))))
with another function that I ended up scrapping.
Copy paste the code again please.