home *** CD-ROM | disk | FTP | other *** search
/ Share Gallery 1 / share_gal_1.zip / share_gal_1 / GR / GR505.ZIP / LSP.EXE / SAVE.LSP < prev    next >
Lisp/Scheme  |  1988-08-10  |  2KB  |  129 lines

  1. ; SAVE.LSP
  2. ; Allows SAVE to remember last filename. Has automatic drawing SAVE feature.
  3. ; Redefines several commands to include automatic save.
  4. ;
  5. ; Public Domain
  6. ; Copyright 1988 Alacrity
  7.  
  8. ;---------------------
  9. ; Some initial values
  10. ;---------------------
  11. ; Turn off comand echoing
  12. (setvar "CmdEcho" 0)
  13. ; Turn off "Are You Sure?"
  14. (setvar "Expert" 2)
  15. ; Length of time between saves
  16. (setq lsave 30)
  17. ; Time last saved
  18. (setq tsave (getvar "Date"))
  19. ; Save (file)name
  20. (if (not sname) (setq sname (getvar "DwgName")))
  21.  
  22. ;------------------
  23. ; New SAVE command
  24. ;------------------
  25. (command "UNDEFINE" "SAVE")
  26. (defun c:save (/ time char temp)
  27.   (setvar "CmdEcho" 0)
  28.   (if (/= (setq temp (strcase (getstring (strcat "File name <" sname ">: ")))) "")
  29.     (setq sname temp)
  30.   )
  31.   (command ".SAVE" sname)
  32.   (setq tsave (getvar "Date"))
  33.   (setvar "CmdEcho" 1)
  34.   (princ)
  35. )
  36.  
  37. ;------------------------
  38. ; Automatic Save Routine
  39. ;------------------------
  40. (defun asave ()
  41.   (if (> (- (getvar "Date") tsave) (* lsave 6.94E-4)) ; 0.000694 = 1 minute
  42.     (progn
  43.       (prompt "\nPerforming Automatic Save...\n") 
  44.       (command ".SAVE" sname)
  45.       (setq tsave (getvar "Date"))
  46.     )
  47.   )
  48. )
  49.  
  50. ;------------------------------
  51. ; Redefine often used commands
  52. ;------------------------------
  53. (command "UNDEFINE" "LINE")
  54. (defun C:LINE ()
  55.   (asave)
  56.   (command ".LINE")
  57.   (princ)
  58. )
  59. (command "UNDEFINE" "ARC")
  60. (defun C:ARC ()
  61.   (asave)
  62.   (command ".ARC")
  63.   (princ)
  64. )
  65. (command "UNDEFINE" "CIRCLE")
  66. (defun C:CIRCLE ()
  67.   (asave)
  68.   (command ".CIRCLE")
  69.   (princ)
  70. )
  71. (command "UNDEFINE" "PLINE")
  72. (defun C:PLINE ()
  73.   (asave)
  74.   (command ".PLINE")
  75.   (princ)
  76. )
  77. (command "UNDEFINE" "PEDIT")
  78. (defun C:PEDIT ()
  79.   (asave)
  80.   (command ".PEDIT")
  81.   (princ)
  82. )
  83. (command "UNDEFINE" "TEXT")
  84. (defun C:TEXT ()
  85.   (asave)
  86.   (command ".TEXT")
  87.   (princ)
  88. )
  89. (command "UNDEFINE" "DTEXT")
  90. (defun C:DTEXT ()
  91.   (asave)
  92.   (command ".DTEXT")
  93.   (princ)
  94. )
  95. (command "UNDEFINE" "LAYER")
  96. (defun C:LAYER ()
  97.   (asave)
  98.   (command ".LAYER")
  99.   (princ)
  100. )
  101. (command "UNDEFINE" "BLOCK")
  102. (defun C:BLOCK ()
  103.   (asave)
  104.   (command ".BLOCK")
  105.   (princ)
  106. )
  107. (command "UNDEFINE" "ERASE")
  108. (defun C:ERASE ()
  109.   (asave)
  110.   (command ".ERASE")
  111.   (princ)
  112. )
  113. (command "UNDEFINE" "COPY")
  114. (defun C:COPY ()
  115.   (asave)
  116.   (command ".COPY")
  117.   (princ)
  118. )
  119. (command "UNDEFINE" "MOVE")
  120. (defun C:MOVE ()
  121.   (asave)
  122.   (command ".MOVE")
  123.   (princ)
  124. )
  125.  
  126. (setvar "CmdEcho" 1)
  127. (princ)
  128.  
  129. ; End Of File