I have improved on and expanded my earlier multiple-saved-Offset-values routine.
The attached version uses Environment Variables instead of either (vl-propagate) or (vl-bb-...) functions, which has the advantage that the values are retained, and are not only available across all drawings, but remain available even after getting out of AutoCAD, shutting down, etc. It otherwise works the same way for the User as the previous version.
It consolidates its main workings into one sub-routine, with each command name just calling that up with its own suffix after the "O" as an argument. And because it was therefore very easy to do, it has many more commands available [20, with number suffixes, O0 through O9, and letters, OA through OJ]. It could easily be expanded for more if needed -- I stopped there partly just because I already have a command OL [= Offset to another Layer] defined. Others may have some of these command names in use already, so they would need to remove them from this, or rename these somehow, or something.
I have this:
(autoload "OffMult" '("O0" "O1" "O2" "O3" "O4" "O5" "O6" "O7" "O8" "O8" "OA" "OB" "OC" "OD" "OE" "OF" "OG" "OH" "OI" "OJ"))
in acaddoc.lsp, so the commands are available in all drawings, but the file isn't loaded until the User calls for one of the commands.
@Kent1Cooper wrote:I have improved on and expanded my earlier multiple-saved-Offset-values routine.
....
And then, I thought of a further refinement that seemed worth incorporating. The version attached here retains ordinary Offset's default distance despite the use of these commands. So in effect, ordinary Offset becomes a twenty-first "slot" that remembers its own setting separately from the others [except that unlike the others, its default value will not be shared across drawings, nor survive getting out of AutoCAD].