你好
我创建了一个lisp例程,该例程绘制PDF并根据客户机将其保存到某个文件夹中。作为扩展,我想为从块中提取的客户机的每个工作创建一个文件夹。我已经设法使用这些信息创建了一个文件夹,但需要两种不同类型的PDF,我想再次将其拆分为两个不同的文件夹。
我遇到的问题是创建这两个子文件夹。
文件夹结构应为“C:\\Users\\“UName”\\Documents\\PDF的\\Client A\\”作业名,然后在此文件夹中还有另外两个文件夹,一个称为Issue,另一个称为Check Print。我试图创建这两个子文件夹,但没有运气,但程序运行良好,没有任何错误。
我猜是因为在绘图时,lisp创建了带有JobName的文件夹,但无法验证它是否存在,然后在JobName文件夹中创建子文件夹。我可能错了,但经过一些搜索后,我能在网上找到的唯一帮助就是创建一个文件夹或要求用户输入的东西。lisp背后的想法是向用户询问一些最小的问题,如图纸大小、颜色或单色打印等,并自动完成其余部分,因此我真的不想再添加另一个对话框,让用户输入保存PDF的位置,因为这将无法解决问题。
- (defun ClientProjectFolder ( / UName SJobDesc1 SJobDesc2 SJobDesc3 SPN ClientProjectFolderName ClientProjectFolderNameCP ClientProjectFolderNameIssue)
- (setq UName (getenv "UserName"))
- (setq SJobDesc1 (showattvalue "PW_TITLE" "JOB_DESC"))
- (setq SJobDesc2 (showattvalue "PW_TITLE" "JOB_DESC2"))
- (setq SJobDesc3 (showattvalue "PW_TITLE" "JOB_DESC3"))
- (setq SPN (strcat SJobDesc1 " " SJobDesc2 " " SJobDesc3))
- (setq ClientProjectFolderName (strcat "C:\\Users\" UName "\\Documents\\PDF's\\ClientA\" SPN))
- (vl-mkdir ClientProjectFolderName)
- T
- (setq ClientProjectFolderNameCP (strcat "C:\\Users\" UName "\\Documents\\PDF's\\ClientA\" SPN "\\Check Print\"))
- (vl-mkdir ClientProjectFolderNameCP)
- T
- (setq ClientProjectFolderNameIssue (strcat "C:\\Users\" UName "\\Documents\\PDF's\\ClientA\" SPN "\\Issue\"))
- (vl-mkdir ClientProjectFolderNameIssue)
- T
- )
如果我创建的一些变量不匹配,请原谅,我只是快速更改了名称,因为它们是客户端名称。 |