明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1829|回复: 2

使用 VLA-CLOSE 出现 “图形忙” 怎么解决?

[复制链接]
发表于 2006-1-15 17:29 | 显示全部楼层 |阅读模式

(DEFUN INIT ();;定义全局变量 初始化
      (VL-LOAD-COM)
      (IF (OR (= MSPACE NIL)(/=(VLA-GET-NAME ACADDOCUMENT) (GETVAR "dwgname")))
     (SETQ ACADOBJECT   (VLAX-GET-ACAD-OBJECT)
    ACADDOCUMENT (VLA-GET-ACTIVEDOCUMENT ACADOBJECT)
    MSPACE       (VLA-GET-MODELSPACE ACADDOCUMENT)
     ) ;_ 结束SETQ
  
      ) ;_ 结束IF
) ;_ 结束DEFUN INIT

(DEFUN C:CL();清理并保存、关闭文件
      (INIT)
      (VLA-ZOOMALL ACADOBJECT)
      (VLA-PURGEALL ACADDOCUMENT)
      (VLA-CLOSE ACADDOCUMENT :VLAX-TRUE (STRCAT (GETVAR "dwgprefix") (GETVAR "dwgname")) );;;运行到此行出现"图形忙"错误
      (PRINC)
      )

请各位大侠不吝赐教。

发表于 2006-1-15 20:29 | 显示全部楼层

VLA-CLOSE不能关闭当前激活的图形,可以改为

(command "qsave")

(command "close")

 楼主| 发表于 2006-1-19 05:09 | 显示全部楼层

我找到不用command的方法了

;;;;;;;DOCMGR.dvb

Public Sub CLAS()
Dim DOC As AcadDocument
Dim APP As AcadApplication
If Documents.Count = 0 Then
        MsgBox "已经没有打开的文档了!"
        Exit Sub
    End If
    ' Close all open documents
    For Each DOC In Documents
    DOC.PurgeAll
    APP.ZoomAll
    DOC.SetVariable "FILEDIA", 1
    DOC.Close (True)
    Next
End Sub

;;;;;;;LISP

(DEFUN RUN-VBAFUN (DVBFILE FUNNAME / DOC)
      (IF (/= NIL (SETQ DOC (FINDFILE DVBFILE)))
     (PROGN
    (VL-VBALOAD DOC)
    (VL-VBARUN FUNNAME)
    (PRINC)
     ) ;_ 结束PROGN
      ) ;_ 结束IF
) ;_ 结束DEFUN

(DEFUN C:CLAS ()
      (RUN-VBAFUN "DOCMGR.dvb" "CLAS")
) ;_ 结束DEFUN

 

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

本版积分规则

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

GMT+8, 2024-5-18 06:23 , Processed in 0.142112 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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