在这里给大家介绍一款我们自己开发的一个很简单的lisp小程序,主要有以下保存功能:1.可以随时保存CAD文件,并且以系统的时间命名,精确到秒;2.保存以后,原有的文件不会替换,这样有利于查找过往文件,以应对图纸反复修改。
需要的朋友,可以复制以下网盘链接,直接下载,记得该命令快捷键是ssss哦
链接:https://pan.baidu.com/s/1N9KqaSu-1LpjQTg_YZB_TA
提取码:50xv
同时也贴上lisp的源程序,对编程有兴趣的朋友也可以参考下,保存时间的格式和保存文件的版本都可以修改的。只要将以下代码复制到空白txt文件中,文件后缀改为lsp即可加载使用。
;图纸存为当前时间
(defun c:ssss ()
(setq oldpath (getvar "DWGPREFIX"));获取文件路径
(setq oldname (getvar "dwgname"));获取文件名
(setq oldnamenum (strlen oldname));获取文件名长度
(if (>= oldnamenum 22);判断字符数是否大于等于日期文字长度22,大于再判断是否含日期关键字
(if(and (= (substr oldname (- oldnamenum 6) 1) "-")
(= (substr oldname (- oldnamenum 9) 1) "-")
(= (substr oldname (- oldnamenum 15) 1) "-")
(= (substr oldname (- oldnamenum 18) 1) "-")
);判断图名中是否已包含时间定义格式中的四个关键字符“-”
(setq oldnamestr (substr oldname 1 (- oldnamenum 23)))
;已用时间命名时,文件名中去除时间和后缀.dwg
(setq oldnamestr (substr oldname 1 (- oldnamenum 4)))
;未用时间命名时,文件名中去除后缀.dwg
);第一个if语句结束
(setq oldnamestr (substr oldname 1 (- oldnamenum 4)))
;字符数小于22时,肯定未用时间命名时,文件名中去除后缀.dwg
)
(setq date (menucmd "m=$(edtime,$(getvar,DATE),YYYY-MO-DD HH-MM-SS)"))
;以指定格式获取系统当前时间
(setq newname (strcat oldpath oldnamestr date ".dwg"))
;设置按时间命名的图名,strcat为合并字符串
(command "saveas" "2004" newname);文件按时间做为保存
每个程序为您的工作节约1分钟就是我们最大的成功!
閱讀更多 建築科技前沿 的文章