另存为Lisp
我现在有一个lisp,可以打开浏览当前图形的位置。(defun c:xpl ()
(startapp "explorer" (strcat "/n,/e," (getvar "dwgprefix")))
(princ)
)
假设位置为:
J: \2008\01080\dwgs\electrical
我正试图让它做到以下几点:
1、绑定并清除当前图形。
2、询问用户保存到哪里?绑定或电子邮件
a、 如果选择了边界,则使用当前名称保存在此位置
J: \ 2008\01080\绑定\(当前日期)\(当前名称)。图纸
笔记如果尚未创建文件夹,请先创建文件夹。日期文件夹的格式如下2008-09-30
b、 如果选择了电子邮件,则使用当前名称保存在此位置
J: \ 2008\01080\电子邮件\(当前日期)\(当前名称)。图纸
笔记如果尚未创建文件夹,请先创建文件夹。日期文件夹的格式如下2008-09-30。
3、退出图形
我希望这对我以外的人有意义。提前感谢大家。
这并不漂亮,但这应该让你开始。它不会绑定或清除文件,但您应该能够添加它。我只有大约10分钟的时间。
您还应该添加一些错误捕捉。
我希望这有帮助。
(defun c:BindIt ( / )
(setq vDia (getvar "filedia")
vEcho (getvar "cmdecho")
vPrefix (getvar "dwgprefix")
vName (getvar "dwgname")
vDate (rtos (getvar "cdate") 2 6)
vYear (substr vDate 1 4)
vMonth (substr vDate 5 2)
vDay (substr vDate 7 2)
vDateStr (strcat vYear "-" vMonth "-" vDay)
)
(setvar "filedia" 0)
(setvar "cmdecho" 0)
(initget 1 "Bind Email")
(setq vAns (getkword "\nSave file to <Bound>: "))
(cond
((= "Bind" vAns)
(setq vDir (strcat vPrefix "Bound"))
)
((= "Email" vAns)
(setq vDir (strcat vPrefix "Email"))
)
)
(if (= (vl-file-directory-p vDir) nil)
(progn
(vl-mkdir vDir)
(vl-mkdir (strcat vDir "\\" vDateStr))
)
(if (= (vl-file-directory-p (strcat vDir "\\" vDateStr)) nil)
(vl-mkdir (strcat vDir "\\" vDateStr))
)
)
(command ".saveas" "" (strcat vDir "\\" vDateStr "\\" vName))
(setvar "filedia" vDia)
(setvar "cmdecho" vEcho)
(princ)
)
有没有办法让它返回两个文件夹来保存绑定的文件夹或电子邮件?
示例:M:\1234\dwgs\electric,我希望它将文件夹保存在1234文件夹中,该文件夹将是两个文件夹。也可以将其视为dwgs文件夹之前的文件夹。提前感谢您所做的一切。 不是我的代码,但这里有一种方法。
你甚至可以创建一个新文件夹。
(defun ALE_GetFolder (/ DirPat)
(and (setq DirPat (getfiled "Browse for folder"
"Open a folder and click on SAVE"
" "
1
)
)
(setq DirPat (substr DirPat 1 (- (strlen DirPat) 31)))
)
DirPat
)
你失去了我!
有人知道我在说什么吗? 出城直到星期一。
对不起,我一直很忙。
页:
[1]