Another suggestion that could simplify it a whole lot more: Instead of a series of Lines, and requiring the routine to figure out where to pick on them to Fillet the corners, remember where it was with the last one, etc., just draw a Polyline, and Offset it once -- the corners will all be taken care of. A lot fewer variables, virtually no calculation of anything, etc., etc.
(command "_.pline")
(while (> (getvar 'cmdactive) 0) (command pause)); let User complete the Polyline edge
(command "_.offset" ....
You can build the Erase-the-original option into the Offset command if you like, or explicitly Erase the source edge. You can Explode the result if you want it to be separate Lines in the end. And you can build in figuring out which way to Offset if you still want to instruct the User about which way it will go, but you could instead leave it to the User to designate a side, so they don't have to do the edge in a particular direction.
Kent Cooper, AIA