明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1648|回复: 9

“rongyifei”大侠请进

[复制链接]
发表于 2006-11-25 22:24:00 | 显示全部楼层 |阅读模式

谢谢大侠,这个功能可用了。

不过小弟还有一个问题。

如果上面的功能换做:

reload所有外部参照文件,再邦定所有外部参照文件,然后再执行purgeall和save,最后退出!

您看对外部参照如何操作,请指教

发表于 2006-11-25 22:33:00 | 显示全部楼层
现在还没有这方面的认识,等有接触了再回答你!
 楼主| 发表于 2006-11-25 22:54:00 | 显示全部楼层
vlr函数有对外部参照操作的命令,不过小弟愚钝,看不明白,请仁兄指教
 楼主| 发表于 2006-11-25 23:18:00 | 显示全部楼层

如果可以的话有了结果可以给我发E-mail:zhaomc520@163.com

谢谢

发表于 2006-11-26 13:45:00 | 显示全部楼层
你能把你想表达的意思的dwg图档(包含external reference 图档)传一个上来吗?我想应该有办法解决!
 楼主| 发表于 2006-11-26 15:50:00 | 显示全部楼层

引用图纸问题

图纸太大了,压缩了还是传不上来,其实也不用使用我的图纸

您也可以随便找两张图纸做个引用,使一下就可以了,呵呵

麻烦大侠了

 楼主| 发表于 2006-11-26 18:23:00 | 显示全部楼层

麻烦再问一下,purgeall是什么命令?

为什么我在后面又加了一个(vla-close cendoc),想让图纸都自动关闭,就是实现不了。不知道为什么?

发表于 2006-11-26 20:37:00 | 显示全部楼层

purgeall是一种方法,它就相当于purge的all选项,如果程序是这样的话,

(defun c:test ()
  (setq docs (vla-get-Documents (vlax-get-acad-object))
  )
  (vlax-for cendoc docs
    (vla-purgeall cendoc)
    (vla-save cendoc)
    (vla-close cendoc)
  )
)

它应该可以运行,可以关闭其他图档,但是不能关闭当前使用的图档

如果你想直接退出Auto CAD的话,可以这样写

(defun c:test ()
  (setq docs (vla-get-Documents (vlax-get-acad-object))
  )
  (vlax-for cendoc docs
    (vla-purgeall cendoc)
    (vla-save cendoc)
  )
  (vla-quit (vlax-get-acad-object))
)

 楼主| 发表于 2006-11-26 21:51:00 | 显示全部楼层
谢谢仁兄
发表于 2006-11-27 22:56:00 | 显示全部楼层

(defun c:test ()
  (setq doc (vla-get-activeDocument (vlax-get-acad-object))
 n   0
  )
  (while (< n (vla-get-count (vla-get-blocks doc)))
    (setq block (vla-item (vla-get-blocks doc) n))
    (if
      (= (vla-get-isxref block) :vlax-true)
       (vla-reload block)
    )
    (setq n (1+ n))
  )
)

上面代码可一次更新当前图档中所有外部参照,稍加修改就可以实现你所说的功能!

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

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-9-19 03:54 , Processed in 0.151483 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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