It doesn't need to be after the fact with the selection of two already-existing Arcs. Since you included the drawing of the initial Arc as your desired step 1, this includes that. And there's no need for a lot of extraction of data and calculations to get the endpoints for the Lines.
It lets you draw the initial Arc by whatever of the many means are available. It then pauses only for confirmation or setting of the Offset distance [you can use the Through option as well as a distance], and for you to pick on which side to Offset it.
(defun C:AOC (/ a1 a2) ; = Arc Offset and Close ends
(command-s "_.arc"); [however you choose to draw it]
(setq a1 (entlast))
(command "_.offset" pause (vlax-curve-getStartPoint a1) pause "")
(setq a2 (entlast))
(command
"_.line" "_non" (getpropertyvalue a1 "StartPoint") "_non" (getpropertyvalue a2 "StartPoint") ""
"_.line" "_non" (getpropertyvalue a1 "EndPoint") "_non" (getpropertyvalue a2 "EndPoint") ""
); command
(prin1)
)
[Unfortunately, it doesn't preview the Offset result as you would see in a basic Offset command -- that doesn't seem to be possible within a (command) or (command-s) function.]
Kent Cooper, AIA