文件名、版本和日期
您好,如果一个新文件尚未保存,我需要一个lisp例程来执行以下操作。将其另存为,其中会提示用户输入文件名。然后在绘制完图纸后,将版次增加1,并添加新的日期和时间。时间应为“hh-mm”格式。此外,保存图形时,应将其保存在两个位置,一个在替代文件夹中,另一个在当前文件夹中。
我已经设法使用vba创建了一个宏,它可以为excel电子表格创建宏,只是想知道是否可以在lisp中为AutoCAD图形创建类似的宏。 您可以重新定义SAVE命令以按这种方式操作。 您好,米尔恰,任何关于如何做到这一点的建议将不胜感激。 启动器:
(vl-load-com)
(command "_UNDEFINE" "_QSAVE")
(defun c:QSave( / stringDate fileName )
(setq stringDate (rtos (getvar "CDATE") 2 6))
(if (eq (getvar "DWGTITLED") 0) ;test if drawing was saved
(if (setq fileName (getfiled "Save drawing" (getvar "DWGPREFIX") "DWG" 1))
(command "_.SAVE" (strcat (vl-filename-directory fileName) "\\"
(vl-filename-base fileName)
"-Rev000-"
(substr stringDate 1
"-"
(substr stringDate 10 4)
(vl-filename-extension fileName)))
)
)
(princ)
)
;(command "_REDEFINE" "_QSAVE") ;to get ride later of this change
上述功能定义应放置在自动加载器中,以便在所有图纸中可用。 VL-FILENAME-BASE
VL-FILENAME-DIRECTORY
VL-FILENAME-EXTENSION
VL-FILENAME-MKTEMP
是(VL-LOAD-COM)独立的函数,所以在代码开始时不需要(VL-LOAD-COM)行。。。
M、 R。 嗨Mircea,
已将lisp例程添加到autocad2011doc。lsp文件,以便在AutoCAD打开时加载。当我键入qsave命令时,什么都没有发生? 请考虑使用acaddoc。lsp自动装载机;您使用的是为系统目的保留的,不建议用户编辑。
此外,不要错过,我的示例仅适用于新的(未保存的)图形,旨在作为您自己代码的启动程序。 嗨Mircea。。。这就是问题所在,我没有lisp方面的经验,因此希望能得到一些额外的帮助。 请你把备份文件夹的路径贴出来好吗?
页:
[1]