找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 794|回复: 10

[求助] [求助]:如何实现处理多窗口(同时打开的多个图形)的程序

[复制链接]
发表于 2004-5-7 01:26:29 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
如何实现处理多窗口(同时打开的多个图形)的程序?在CAD2004可以同时打开好多图形,但不知怎样才能让一个程序逐个的对已打开的图形进行处理(对各个窗口中的图形进行处理)
请高手帮忙!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2004-5-7 08:21:16 | 显示全部楼层
用VL是可以处理的,但好像不如用VBA稳定。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-5-7 09:12:46 | 显示全部楼层
最初由 lijiao 发布
[B]用VL是可以处理的...[/B]

请给个例子?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-5-7 13:17:40 | 显示全部楼层

Re: [求助]:如何实现处理多窗口(同时打开的多个图形)的程序

最初由 xiaomai9 发布
[B]如何实现处理多窗口(同时打开的多个图形)的程序?在CAD2004可以同时打开好多图形,但不知怎样才能让一个程序逐个的对已打开的图形进行处理(对各个窗口中的图形进行处理)
请高手帮忙! [/B]

请问用哪个函数,给点提示!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1915个

财富等级: 堆金积玉

发表于 2004-5-8 11:57:06 | 显示全部楼层
(setq doc (vla-open (vla-get-documents APP) DWGNAME2))
                                        ;打开图形并获得其对象
        (setq msp (vla-get-ModelSpace doc)) ;获得其模型空间
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-5-8 23:36:15 | 显示全部楼层
最初由 zhang8755 发布
[B](setq doc (vla-open (vla-get-documents APP) DWGNAME2))
                                        ;打开图形并获得其对象
        (setq msp (vla-get-ModelSpace doc)) ;获得其模型空间 [/B]

楼上的,我的意思是几个图形已经打开了。有办法吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-5-9 07:59:40 | 显示全部楼层
最初由 xiaomai9 发布
[B]
楼上的,?.. [/B]

给你写了几行,供参考。

  1.   [FONT=courier new]
  2. (vl-load-com)
  3. ;;;获取CAD程序
  4. (setq CADAPP (vlax-get-acad-object))
  5. ;;;获取CAD文档集合
  6. (setq CADDOCS (vla-get-Documents cadapp))
  7. ;;;已经打开的文档数目
  8. (setq doc_count (vla-get-count caddocs))
  9. ;;;指定文档名称
  10. (setq doc_name "Drawing2.dwg")
  11. ;;;获取一个文档
  12. (cond
  13.   ((not (vl-catch-all-error-p (setq caddoc (vl-catch-all-apply 'vla-item (list caddocs doc_name)))))
  14. ;;;   获取模型空间
  15.    (setq cadmod (vla-get-ModelSpace caddoc))
  16. ;;;   .......................
  17. ;;;   添加你的代码
  18. ;;;   获取图纸空间
  19.    (setq cadpap (vla-get-PaperSpace caddoc))
  20. ;;;   .......................
  21. ;;;   添加你的代码
  22.    )
  23.   (t (princ (strcat "\n没有找到" doc_name "文档")))
  24.   )
  25.   [/FONT]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1915个

财富等级: 堆金积玉

发表于 2004-5-9 10:48:21 | 显示全部楼层
省略号处填入你所需的代码:
(setq APP (vlax-get-acad-object))
(setq DOCS (vla-get-Documents app))
(vlax-for doc DOCS
      (setq msp (vla-get-ModelSpace doc))
      ......
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-5-12 22:01:02 | 显示全部楼层
谢谢楼上的两位朋友,我的想法是想编一个小程序,把当前CAD打开的所有图形都打印出来(按照默认方式),但每次运行后,只有一个图形能自己打印出来,其他的图形,需要人工切换到相应的窗口去,反复几次,才能打出来(与打印设置无关,我试了一下,把打印命令换成其他命令,比如画一条线,同样不能自动完成)。
能不能不用人工干预,就把所有的图形打出来啊,大家帮忙看看,程序如下:
(defun c:Openp( )

(vl-load-com)

;;;获取CAD程序
(setq CADAPP (vlax-get-acad-object))
;;;获取CAD文档集合
(setq CADDOCS (vla-get-Documents cadapp))
;;;已经打开的文档数目
(setq doc_count (vla-get-count caddocs)
      index (1- doc_count)
)

(while (>= index 0)
;;;   获取模型空间
   (setq caddoc (vl-catch-all-apply 'vla-item (list caddocs index)))
   (setq cadplot (vla-get-plot caddoc))
   (setq cadmod (vla-get-ModelSpace caddoc))
   (print index)
   (vla-activate caddoc)
   (vla-Plottodevice cadplot)   
   ;(vla-plottodevice cadplot)
   (vla-activate caddoc)
   (setq index (1- index))
  
);end while

(princ)

) ;end progn
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-5-13 08:47:17 | 显示全部楼层
我在前面说过,VL不如VBA稳定,指的就是打印,这一点我是试验过的,其他方面还比较稳定。关于画线的问题,我已在另一个帖子里给你回复了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-5-13 22:42:33 | 显示全部楼层
最初由 lijiao 发布
[B]我在前面说过,VL不如VBA稳定,指的就是打印,这一点我是试验过的,其他方面还比较稳定。关于画线的问题,我已在另一个帖子里给你回复了。 [/B]

你的意思是根本实现不了?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2025-9-27 10:14 , Processed in 0.272400 second(s), 52 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表