EricDevault 发表于 2022-7-6 03:00:27

定位本地文件

我有一个“piggyback”程序,可以从AutoCAD在我的F:\驱动器的根上创建一个自定义文件。然而,有时这些文件没有创建,当你认为它们在那里而它们没有时,这是一个很大的头痛。是否有一个lisp例程或一个自定义例程,我可以单击它,它会检查F:\驱动器以查看文件是否存在?文件名是基于AutoCAD图形名so 123456创建的。dwg将创建一个F:\123456。如果可能的话,我只想把这个过程自动化为一次点击检查

Lee Mac 发表于 2022-7-6 03:06:44

(findfile (strcat "F:\\" (vl-filename-base (getvar 'dwgname)) ".cmd"))

EricDevault 发表于 2022-7-6 03:10:03

太棒了,你是个魔术师。我相信我以前和你谈过,你只是一个巨大的帮助。为了使这个问题变得简单(是的,我必须对这里的一些人这样做),它可以用“yes”或“no”来代替“filename.cmd”或“nil”吗?

Lee Mac 发表于 2022-7-6 03:14:44

 
谢谢你的夸奖,埃里克,我很感激
 
 
当然:
(if (findfile (strcat "F:\\" (vl-filename-base (getvar 'dwgname)) ".cmd"))
   "Yes"
   "No"
)

EricDevault 发表于 2022-7-6 03:16:34

 
好的,请原谅我的无知,这是我键入某个命令的lisp还是将其与按钮相关联的lisp。除了将粘贴复制到命令行之外,我如何执行此操作?

EricDevault 发表于 2022-7-6 03:24:12

或者,是否可以弹出一个带有“是”或“否”的对话框,提示用户单击“确定”退出对话框?

Lee Mac 发表于 2022-7-6 03:26:58

 
抱歉,没有-这只是一个表达式,我假设您希望根据需要插入到现有程序中。
 
如果您正在寻找专门用于此任务的独立程序,下面是一个快速示例:
(还考虑到您对弹出对话框的请求)
(defun c:test ( / fn )
   (setq fn (strcat "F:\\" (vl-filename-base (getvar 'dwgname)) ".cmd"))
   (alert
       (strcat "The file \"" fn "\" was "
         (if (findfile fn)
               "found."
               "not found."
         )
       )
   )
   (princ)
)

EricDevault 发表于 2022-7-6 03:29:20

完美!对不起,我之前没有解释情况,但这正是我想要的。现在,没有更多的理由不创造。cmd文件,哈哈。

Lee Mac 发表于 2022-7-6 03:33:33

别担心!

EricDevault 发表于 2022-7-6 03:38:26

好的,回到绘图板(双关语)。。。我想将此合并到图纸结束检查中,以消除遗漏生产步骤的人为错误。第一个命令与最后一个修订版一样运行良好。是否可以在图形的当前目录中检查类似以下内容的文件:第一个SO之后,目录会根据作业而更改,但我要查找的文件是BX-123456。jpg,其中123456将更改,但位置位于当前图形123456的目录中。图纸。然而,JPEG也总是作为一个大小为0kb的模板存在,但当它被更新时,它会超过10kb。我不知道这是否可能,如果不可能,我可以生活,但搜索BX-123456。jpg公司
页: [1] 2
查看完整版本: 定位本地文件