明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1549|回复: 3

[讨论] [求助]lisp可以实现这个功能吗?

[复制链接]
发表于 2009-5-8 08:15 | 显示全部楼层 |阅读模式
本帖最后由 fl202 于 2013-7-23 17:26 编辑

<p><font face="宋体" size="2">大家好,当我们在cad中打开多个文件进行浏览后,再将软件关闭,不保存,可以用lisp实现一次关闭,不用提示保存吗?打开的图纸如果多的话,而自己又知道不需要保存修改的情况下,关闭每个图纸cad都会提醒你是否保存,非常烦人。<br/>我写了一个:<br/>(command "exit" " N")<br/>问题来了,如果是打开一个文件,正常退出,如果是打开多个,还是要一个一个的提醒。<br/>就是有没有办法来检测当前cad打开了多少个文件?有多少个窗口?因为如果你:<br/>(command "exit" " N" " N" " N" " N" )<br/>多了,也是不行的,cad会把那个N当成新建命令,它会问你新建文件? 然后再提示保存退出。<br/>求高手帮忙。</font></p><p></p>
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2009-5-8 09:34 | 显示全部楼层

(defun C:cldwg(/ cad vbapp)
  (vl-load-com)
  (setq cad (vlax-get-acad-object))
  (setq vbapp (vlax-get-or-create-object "VBCloseDwg.Getalldwg"))
  (vlax-invoke-method vbapp "showform" cad)
  (vlax-release-object vbapp)
  (princ)
)

我想这用LISP可能不好关闭图形,这是我用VB做的一个DLL,用REGSVR32.EXE注册一下DLL就行

本帖子中包含更多资源

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

x
 楼主| 发表于 2009-5-8 16:29 | 显示全部楼层

将压缩文件解压缩到cad的目录,并运行程序

运行结果:

; 错误: 参数类型错误: VLA-OBJECT nil

发表于 2009-5-9 09:29 | 显示全部楼层

解压文件放哪都行,先要向WINDOWS注册,将解压后的DLL用REGSVR32.EXE打开即可注册,注册完后不要再移动DLL,

如果你将DLL放在CAD的目录下,可以这样改程序:

(defun C:cldwg (/ cad vbapp)
  (vl-load-com)
  (setq cad (vlax-get-acad-object))
  (setq vbapp (vlax-get-or-create-object "VBCloseDwg.Getalldwg"));试图创建DLL
  (if (= nil vbapp);如果没有成功
    (progn;找路径,当然,不找也行,直接用(startapp "REGSVR32.EXE /s" "CLoseDwg.dll")
      (setq dllpath (findfile "CLoseDwg.dll"));DLL的名字,如果你修改了下载的DLL的名字,则程序也要跟着修改
      (if dllpath
 (progn
   (startapp "REGSVR32.EXE /s" (strcat "\"" dllpath "\""))
 )
      )
      (setq vbapp (vlax-get-or-create-object "VBCloseDwg.Getalldwg"))
    )
  )
  (if vbapp
    (progn
      (vlax-invoke-method vbapp "showform" cad)
      (vlax-release-object vbapp)
    )
    (alert
      "DLL没有注册,可能是CLoseDwg.dll没有放在CAD的支撑目录下!"
    )
  )
  (princ)
)

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

本版积分规则

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

GMT+8, 2024-5-19 04:07 , Processed in 0.231101 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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