找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 2208|回复: 19

[求助] [求助]:请问能不能在Lisp中Open打开DWG的图啊?

[复制链接]
发表于 2004-5-22 17:05:18 | 显示全部楼层 |阅读模式

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

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

×
请问能不能在Lisp中Open打开DWG的图啊?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2004-5-22 17:35:26 | 显示全部楼层

Re: [求助]:请问能不能在Lisp中Open打开DWG的图啊?

最初由 raohuan 发布
[B]请问能不能在Lisp中Open打开DWG的图啊? [/B]

[php]
;;;|打开文件并激活文件的VBA方法
(defun opfile (dwgname)   
    (vl-cmdf "vbastmt" (strcat "AcadApplication.Documents.Open (\"" dwgname "\")"))
  )
************************************************************************
;;;|打开文件的vla方法
(defun opfile (fl)
  (vla-activate (vla-open (vla-get-documents (vlax-get-acad-object)) fl :VLAX-TRUE))
)
[/php]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2004-5-23 12:50:13 | 显示全部楼层
或者:
(defun opendwg (dwgname)               
  (setq doc (vla-get-documents (vlax-get-acad-object)))
  (setq dwgdoc (vla-open doc dwgname))
  (vla-activate dwgdoc)
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-5-23 16:19:19 | 显示全部楼层
楼上的,能解释一下你的具体内容吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-5-24 22:26:17 | 显示全部楼层
谢谢各位老大!问题解决了^_^
不好意思!还有一个问题想请教:我一次打开了几张图,在处理完一些命令后,怎样才能关闭其中一张呢?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-6-18 15:16:07 | 显示全部楼层
snsj   你的第二个方法好像有问题
打开图形后图形变为了只读
P.S.  楼上

  1. ;; (dd_ColseThisFile)
  2. ;;  关闭图形
  3. (defun dd_ColseThisFile ( /  item cur)   
  4.   (vlax-for item (vla-get-documents (vlax-get-acad-object))
  5.     (if ( = (vla-get-active item) :vlax-false)
  6.        (princ);;(vla-close item :vlax-false) ;; 可以关闭全部
  7.       (setq cur item)
  8.     )
  9.   )
  10.   (vla-sendcommand cur  "_.CLOSE " )
  11.   )
  12. 【、
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-6-20 10:37:41 | 显示全部楼层
fylinwater  你的程序可不可以改進少少. 就是關閉是不存盤關閉的.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-6-20 15:23:25 | 显示全部楼层
我都看不懂,看来要好好提高一下了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-6-20 19:32:10 | 显示全部楼层
不过发现用这样的关闭和保存的函数在文档启动时无法执行,(执行了但是没有效果)
还得用其他办法了

P.S. 保存图形的函数

  1. (defun dd_SaveThisFile ()   
  2.   (vlax-for item (vla-get-documents (vlax-get-acad-object))
  3.     (if ( = (vla-get-active item) :vlax-false)
  4.        (princ);;(vla-close item :vlax-false)
  5.       (setq cur item)
  6.     )
  7.   )
  8.   (vla-sendcommand cur  "_.QSAVE " )
  9.   )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-6-26 17:10:16 | 显示全部楼层
那要实现局部加载,应该怎么办?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-6-26 17:13:56 | 显示全部楼层
局部加载用ObjectDBx实现
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-6-26 17:45:27 | 显示全部楼层
斑主,我对ObjectDBx了解很少,能不能详细介绍一下啊。谢谢了先!!!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-6-26 17:58:17 | 显示全部楼层
ObjectDBX有两种版本,一种是完全不需要AutoCAD,可单独运行,但它只能通过VC++来开发。

另外一种是ActiveX。可以在VB、VBA、及VL中使用,它可以做到在打开AutoCAd的情况下不打开图形而对图形进行编辑。

通过VBA的智能提示可以了解ObjectDbx提供的功能

基本与Document类相似,但要弱一些

不能调用选择集

不能使用Save方法

在VBA中引用ObjectDBx类
键入下列代码
Sub t4()
Dim a As AxDbDocument
Set a = Application.GetInterfaceObject("ObjectDBX.AxDbDocument")
a.


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

使用道具 举报

发表于 2004-6-26 20:29:17 | 显示全部楼层
那打开以后是什么样子呢?好像不能在autocad的窗口里显示,也好像不能往里面写东西
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-26 00:19 , Processed in 0.459342 second(s), 59 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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