janson78 发表于 2008-7-10 15:23:00

多窗口切换与联合作图

<p>给位高手仁兄:</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 我最近使用vlisp开发程序,完成了DCL对话框和控制与制图的lisp程序,现在碰到一个很难解决的问题:</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;我想通过对话框的输入内容控制生成多个CAD图,分别实现它们的自动标注,</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;但是, 发现vlisp 只能对当前窗口制图,&nbsp; 可以通过程序实现新建立一个窗口,但是默认的制图窗口仍旧是原窗口.</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;我尝试用不同的方法来解决,例如,我想在程序中新建新窗口后,使用(command "_close")来关闭原窗口, 这样就可以对新窗口进</p><p>行新的制图, 但是总是会在执行close的时候终止 并在命令行询问 是否要对更改做保存.&nbsp; 更改命令为(command "_close" "")</p><p>或者(command "_close" "N") 都不行.</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 后来我发现 即使能实现close, 在新建立的窗口中也是不能执行前一个窗口加载的程序的. 如果使用命令重新加载,那就不能实现</p><p>控制数据的关联了,也就是前次加载程序的时候通过对话框得到了一些反馈数据,利用这些数据生成了前一个窗口的图,在新的窗口中同样需</p><p>要前次的数据,如果重新加载则不能实现数据的关联啊.</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 请问高手,如果实现使用vlisp对作图窗口的控制 或如何实现多窗口的关联作图呢</p><p></p>

byghbcx 发表于 2008-7-10 15:36:00

vla-activate

janson78 发表于 2008-7-11 08:32:00

<p>(vla-activate (vla-item (vla-get-Documents (vlax-get-acad-object)) 1))</p><p>尝试了在新建立一个窗口后使用上面的命令,但是不行,默认作图窗口还是前一个</p><p>我觉得新建立的窗口不能获得前一窗口的程序信息,</p><p>应该怎么解决呢?</p>

byghbcx 发表于 2008-7-11 09:46:00

用系统变量USE...保存或用白板保存看看

sailorcwx 发表于 2008-7-11 12:28:00

<p>你要知道当指针转移到另一个文档窗口后,当前程序会自动中断结束</p>

janson78 发表于 2008-7-11 13:21:00

<p>那有什么办法实现一个程序控制两个或多个窗口么?</p>

sailorcwx 发表于 2008-7-11 13:50:00

<p>可以控制,也可以操作,不过不能实现与用户交互操作</p>

carrot1983 发表于 2008-7-12 21:26:00

<p>vlisp是不能跨图档操作的。。。楼主的问题涉及到SDI变量</p><p>具体可以看我的。。。多文档操作</p><p><a href="http://carrot1983.blog.sohu.com/93869127.html">http://carrot1983.blog.sohu.com/93869127.html</a></p><p></p>

英雄无敌 发表于 2008-7-12 21:54:00

可以试试用VBA或VB来实现的啊

oyxx1023 发表于 2008-7-13 23:53:00

可以试试黑板或者使用外部文件来保存中间值以传递数据.
页: [1]
查看完整版本: 多窗口切换与联合作图