tzframpton 发表于 2022-7-7 00:09:42

利用SHELL操作系统命令?

我想知道是否可以直接从AutoCAD打开程序(或任何文件)?我试图实现的是:
 
我们正在使用AutoCAD中的纵断面构建“特定于客户端”的工具选项板库。在每组工具选项板的顶部,我们需要一个“信息”选项卡。从那里,他们可以单击一个图标,弹出我们从客户那里收到的标准的PDF文档,这样,如果有任何混淆,起草者可以始终依赖工具选项板的“信息”选项卡。我们还想链接到其他东西,例如Word文档,可能是作业目录,带有特定作业计划的Excel文件,等等。
 
这能轻松完成吗?在启动SHELL命令后,我一直在尝试输入命令行路径目录,但我空手而归。
 
提前谢谢。

alanjt 发表于 2022-7-7 00:28:59

您可以使用wscript,但最简单的方法是使用start命令。
如。
 
Command: start

Application to start: c:\\300.pdf
 
代码:
(command "_.start" "c:\\300.pdf")

tzframpton 发表于 2022-7-7 00:37:25

完美的效果很好。我想文件名中不能有空格?我不得不用下划线替换空格。我一做到这一点,事情就开始正确地开始了。这正是我需要的,再次感谢你的技巧。

alanjt 发表于 2022-7-7 00:49:14

据我所知,如果直接从TP调用,将空格放入命令集中(命令“_.shell”…),而不是将其视为宏,则空格将起作用。

alanjt 发表于 2022-7-7 00:52:31

这里有一个wscript示例,但我真的认为不需要它。。。
 
(defun AT:OpenFile (file / s r)
;; Open specified file
;; file - file to open
;; Alan J. Thompson, 11.16.10
(if (setq file (findfile file))
   (progn (setq r (vl-catch-all-apply
                  (function
                      (lambda (/)
                        (vlax-invoke (setq s (vlax-create-object "Shell.Application")) 'Open file)
                      )
                  )
                  )
          )
          (vlax-release-object s)
          (not (vl-catch-all-error-p r))
   )
)
)

tzframpton 发表于 2022-7-7 01:00:08

实际上,我试图将命令集直接放在工具选项板的命令字符串文本区域中,但失败了,出现了以下错误:
然后我做了一个快速例程,如果我只调用函数,它可以从工具选项板中工作:
但是我可以接受。这就是我在LISP部分中关于将多个命令合并到一个文件的另一篇文章的缘由。

tzframpton 发表于 2022-7-7 01:18:47

哦,糟了,这比我高得多!
页: [1]
查看完整版本: 利用SHELL操作系统命令?