xhq1954425 发表于 2010-5-23 06:49:00

[求助]直接打开DWG文件有疑惑,请求帮助!

<p>在CAD2008中,用下面的程序直接打开DWG文件后,lisp 编辑器就一直处于求值状态,不能正常编辑了,点击终止求值 后就出现致命错误,这是为什么呢……?</p><p>请高人指点迷津……谢谢!</p><p>&nbsp;</p><p>(defun C:TEST ()<br/>&nbsp; (vl-load-com)<br/>(setq Open-File-Name "e:/文件夹1/图形1.dwg") </p><p>(vla-activate (vla-open (vla-get-documents (vlax-get-acad-object)) Open-File-Name)); 打开DWG文件 <br/>(princ)<br/>)</p>

liu_kunlun 发表于 2010-5-24 10:03:00

不要用vla-activate

xhq1954425 发表于 2010-5-25 04:52:00

liu_kunlun发表于2010-5-24 10:03:00static/image/common/back.gif不要用vla-activate

<p>非常感谢楼上朋友的指点,把vla-activate 去掉后(见下面程序)是能把"e:/文件夹1/图形1.dwg"在窗口里打开,但不是当前文件,不知怎样才能使其为当前文件?谢谢!</p><p>(defun C:TEST ()<br/>&nbsp; (vl-load-com)<br/>(setq Open-File-Name "e:/文件夹1/图形1.dwg")&nbsp;</p><p>&nbsp;(vla-open (vla-get-documents (vlax-get-acad-object)) Open-File-Name); 打开DWG文件 <br/>(princ)<br/>)</p><p><br/>&nbsp;</p>

liu_kunlun 发表于 2010-5-25 08:05:00

<p>acad对“多文档”支持很有限,你不能改变当前文档。你也不能关闭当前文档。因为你的程序运行在当前文档中。但你可以取得打开的文档,利用activex进行操作。</p><p>(setq doc (vla-open (vla-get-documents (vlax-get-acad-object)) Open-File-Name)); </p>

lsjj 发表于 2010-5-25 11:32:00

<p>樓主的程序沒問題</p><p>換別台機子試一下吧</p>

xhq1954425 发表于 2010-5-25 18:07:00

多谢关注此帖的各位朋友!谢谢!

xhq1954425 发表于 2010-5-26 04:02:00

<p>我又试了一下,如果在打开lisp编辑器时运行程序就出现lisp编辑器不能用的问题,如果不打开lisp编辑器运行程序后在打开lisp编辑器就没有任何问题!</p><p>这样看来这也就不算什么大问题了,再次对各位的指点表示感谢!</p>
页: [1]
查看完整版本: [求助]直接打开DWG文件有疑惑,请求帮助!