I (and the users) are sick to death on dealing with a long time issue without much progress to a solution... I currently have welcomed support from two software companies that are looking at the issue - one seems committed, the other is yet to be seen.
Until it is solved, I need to write a Save reactor based code - or better perhaps my own QSave command (redefined qsave) and make it available to the users.
The dialogs below highlight two cases.
I know that if Qsave is ran from lisp... these dialog boxes DO NOT pop, but are instead produced at the command prompt.
In case A the drawing file is there, but in case B the drawing file is not... I could condition somehow... so that a second save is done in both cases.
Has anyone seen a lisp for something like this... or perhaps could give me a leg up?
I don't think a LISP is going to help you here, at least not directly. This looks like server-level problems (possibly NAS? or mixed Mac-Win users?).
You *might* be better off implementing an interim basic copy-local system for working on drawing files ie. when a user opens the file its actually a copy on their computer which is then checked back in when they close it. Vault Basic might be up to this task and should be available to Subscription customers.
I would start by making sure that all my device drivers were up to date. I recall some issues like this that would happen back in R2000. I have a reactor that proforms a file rename at save & plot. It changes the filename to include the date. If you think it will help.
Matthew
OKAY Humor me please...! I am checking some other things, but this issue is very complex. Two large support teams are working on this. But I need an interim piece of code to ease the out and out pain the users are feeling.
This is what I have thus far... I wonder if someone might glance through it and give me any thoughts. okay!... it is not reactor based, nor is it meant to redefine the Qsave command... but it is down and dirty. This is what it does:
(defun QSaveVer01 (File User /)
(if (not (zerop (getvar "dwgtitled")))
(progn
(if (or (not (zerop (getvar "dbmod")))
(not (findfile File))
)
(command "qsave")
)
(if (not (findfile File))
(QSaveVer01 File User)
)
)
)
(princ)
)
;;;=============================================================================================================|
;;; FullQualFilePath |
;;;_____________________________________________________________________________________________________________|
(defun FullQualFilePath (/ DwgPath&Name)
(setq DwgPath&Name (strcat (getvar "dwgprefix") (getvar "dwgname")))
DwgPath&Name
)
(QSaveVer01 (FullQualFilePath) (getvar "Loginname"))
(princ)