(setvar "filedia" 0)
(command "_.saveas" "2000" "NewDrawingName")
Hope it helps.
As per my previous post, that would make the new copy the current drawing. If that's what you want, then it should be perfect. Unless there's some other reason the OP stated "not doing a saveas".
If you simply want to make a "backup" copy of the current drawing, yet still have the same original drawing open, then try this:
(command "_.SAVE" "NewDrawingName")
Unfortunately it doesn't seem to have the version options as the SaveAs command does. Only way I can think of would be to modify the "DefaultFormatForSave" environment variable (i.e. the default format in the Options dialog's Open and Save tab).
On the other hand, perhaps the OP wanted something which could be called through ObjectDBX - i.e. allowing to work on multiple documents quite quickly (faster than scripts). Then something like this might do:
(vl-load-com)
(defun SaveCopy (doc newPath version / newFile)
(if (not (vl-file-directory-p newPath))
(vl-mkdir newPath)
)
(setq newFile (strcat (vl-string-right-trim "\\/" newPath) "\\" (vla-get-Name doc)))
(if (findfile newFile)
(vl-file-delete newFile)
)
(vla-SaveAs doc newFile version)
)
Call it using something like this:
(defun BackupDrawings2000 ( / dbx doc newPath *error*)
(defun *error* (msg)
(foreach obj '(doc dbx)
(if (and (eq (type obj) 'VLA-OBJECT) (not (vlax-object-released-p obj)))
(vlax-release-object obj)
)
)
(or (not msg)
(wcmatch (strcase msg) "*BREAK,*CANCEL*,*EXIT*")
(princ (strcat "\n** Error: " msg " **"))
)
(princ)
)
(setq dbx (vla-GetInterfaceObject (vlax-get-acad-object) (strcat "ObjectDBX.AxDbDocument." (itoa acver)))
newPath "MyNewPath"
)
(foreach file '("FilePath1" "FilePath2" ... "FilePath#")
(if (not (vl-catch-all-error-p (setq doc (vl-catch-all-apply 'vla-Open (list dbx file)))))
(progn
(SaveCopy doc newPath ac2000_dwg)
(vla-Close doc :vlax-false)
)
)
)
(*error* nil)
)