File.Copy(doc.Name, sb.ToString()); // второй параметр как раз и содержит имя, о котором спрашиваешь.
не понял, зачем копировать текущий файл чертежа?
Допишу тогда про автосейв и его логику работы:
Есть файл чертежа, с которым работают например:
test.dwg
Когда срабатывает автосохранение, оно создает другой файл в папке автосохранений:
test_1_1_1191.sv$
При этом test.dwg не обновляется весь день.(100% юзеров не заставить нажимать сохранить, это читсто их желание, с которым даже не стоит бороться)
Через заданные промежутки времени автосейв заменяет файл test_1_1_1191.sv$.
Если автокад глюкнет, то test.dwg останется такой-же, как во время запуска и восстановление пойдет из test_1_1_1191.sv$. на момент последнего автосейва
Если нажать сохранить файл, то обновиться test.dwg и удалиться test_1_1_1191.sv$.
Если в конце дня пользователь не нажал "_qsave" и вышел, отказавшись от сохранения, то test.dwg будет неизменным как при запуске, а файл test_1_1_1191.sv$ будет удален, т.е. информация полностью потеряется!.
Если сработало автосохранение, после которого пользователь нажал "_qsave", то файл test_1_1_1191.sv$ удалиться, а test.dwg обновиться. Но при этом если до следующего автосейва произойдет глюк с test.dwg и автокадом, то мы потеряем и test_1_1_1191.sv$ и test.dwg
Т.е. нужно именно в момент сохранения. (Тут не важно, юзер или автосейв сохранил), сделать копию, ничего не затирая.