可否用lisp不打开制图软件(非autocad)直接执行其命令行输入命令
请问各位一个画图软件有命令行输入,如何用lisp不打开软件直接执行这个命令 本帖最后由 highflybird 于 2011-4-25 10:23 编辑VLISP是解释执行的语言,意味着只有开了CAD才能解释执行,你如何能不打开CAD去执行? 本帖最后由 x_s_s_1 于 2011-4-25 13:55 编辑
回复 highflybird 的帖子
谢谢,我说的不是不打开autocad,而是在autocad中调用其它cad软件(该软件未提供端口),后台执行也可以,也就是说我在后台打开我需要打开的程序,然后向其发送指令,看到过一个帖子http://www.stonedwg.com/article.asp?id=204,不知他山是如何实现的 (setq dbx (Vlax-Get-Or-Create-Object (strcat "ObjectDBX.AxDbDocument." (substr (getvar "acadver") 1 2)))) 回复 zark 的帖子
我的应用程序是D://Program Files//PKPM_PC//CFG//Modifyw.exe,我如何打开它,然后如何向其sendkeys 本帖最后由 x_s_s_1 于 2011-4-25 18:29 编辑
回复 highflybird 的帖子
(setq ws (vlax-create-object "WScript.Shell"))
(vlax-invoke-method ws'run "Modifyw")
(vlax-invoke-method ws 'sleep 100)返回; 错误: ActiveX 服务器返回错误: 未知名称: SLEEP
(vlax-invoke-method ws'AppActivate "ready");总是返回:vlax-false是什么意思呢?如何知道”指定在要激活的应用程序窗口的标题栏的标题“
(vlax-invoke-method ws 'sendkeys "ttodwg")
搞了一晚,自己是没能力解决了,厚颜顶起 本帖最后由 highflybird 于 2011-4-26 09:33 编辑
(setq ws (vlax-create-object "WScript.Shell"))
(vlax-invoke-methodws 'run "calc")
;;(vlax-invoke-method ws 'sleep 100) ; 错误: ActiveX 服务器返回错误: 未知名称: SLEEP
(command "delay" 2000) ;最好用delay来替代,因为sleep必须要在脚本里面运行,时间可以设置长点。
(vlax-invoke-method ws 'AppActivate "计算器");此处应输入完整的程序窗口名称
;例如,"TH-Arch2010 - "
(vlax-invoke-method ws 'sendkeys "11233");这样你就可以看到效果了
(vlax-release-object ws)
可以了,非常感谢 回复 highflybird 的帖子
还有个问题,sendkey的时候有汉字怎么办?转成asc!!码吗?
页:
[1]
2