;|OBSIT.LSP by Paul Kirill, copyright 2002 Kirill Design - PC & CAD Consulting (KDCAD) This routine is freely given and may be freely distributed as long as the Kirill Design copyright and contact info remains intact. There are no guarantees offered with this routine. KDCAD is not responsible for loss of data or work due to the use of this routine. If you have any questions or are interested in contracting for additional custom routines, email us at info@kdcad.com. NOTES: OBSIT creates an archive point for the current drawing by saving it out and adding and OBS+date" prefix (eg "Drawing1.dwg" is saved out as "OBS 01.07.03 Drawing1.dwg"). You continue to work in "Drawing1.dwg".|; (princ "\nOBSIT.LSP loaded successfully. Type OBSIT to run...") (defun c:OBSIT () (defun *error* (msg) (princ "\nHEY, WHAT THE?? ") (setvar "filedia" 1) (princ msg) (princ) ) (setvar "filedia" 0) (defun SAVE_IT () (setq OBSDNAME_FULL (strcat "C:\\Temp\\" OBSDNAME)) (while (vl-string-search "\\" OBSDNAME_FULL) (setq OBSDNAME_FULL (vl-string-subst "/" "\\" OBSDNAME_FULL)) ) (command ".save" OBSDNAME_FULL) (princ) ) (defun SAVE_IT2 () (while (vl-string-search "\\" OBSDNAME_FULL) (setq OBSDNAME_FULL (vl-string-subst "/" "\\" OBSDNAME_FULL)) ) (command ".save" OBSDNAME_FULL "Y") (princ) ) (defun NAME_IT () (setq CRNTPATH (getvar "dwgprefix")) (setq CRNTDNAME (getvar "dwgname")) (setq CDATE (rtos (getvar "cdate") 2 4) YEAR (substr CDATE 3 2) MONTH (itoa (atoi (substr CDATE 5 2))) DAY (itoa (atoi (substr CDATE 7 2))) ) (if (< (atoi DAY) 10) (setq DAY (strcat "0" DAY)) ) (if (< (atoi MONTH) 10) (setq MONTH (strcat "0" MONTH)) ) (setq OBSDATE (strcat YEAR "." MONTH "." DAY)) (setq OBSDNAME (strcat "OBS " OBSDATE " " CRNTDNAME)) (name_chk) (princ) ) (defun VERSION_IT () (setq VERNUM (itoa (getint "\nEnter version number: "))) (setq OBSDNAME (strcat "OBSv" VERNUM " " OBSDATE " " CRNTDNAME) ) (NAME_CHK) (princ) ) (defun NAME_CHK () (if (findfile OBSDNAME) (progn (initget "Y N" 0) (setq FEXIST (getkword "\n File exists! Overwrite? /N: ")) (if (= FEXIST "N") (VERSION_IT) (SAVE_IT2) ) ) (SAVE_IT) ) ) (name_it) (alert (strcat "File has been saved as " OBSDNAME_FULL)) (setvar "filedia" 1) (princ) )