在這裡給大家介紹一款我們自己開發的一個很簡單的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分鐘就是我們最大的成功!
閱讀更多 建築科技前沿 的文章