明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1136|回复: 6

[已解答] 单文档模式open命令怎么判断是否要放弃保存

[复制链接]
发表于 2014-8-22 10:49 来自手机 | 显示全部楼层 |阅读模式
单文档模式中,文档有变动时,需要用(commnad "open" "y")才能放弃操作并打开新的文档,没有变动,就不用加y。
有什么代码可以检测要不要加y的吗?
另外,如何检测打开的文档是不是只读文件?
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2014-8-22 12:08 | 显示全部楼层
1、dbmod 系统变量,如果文档没改变过为0,否则非0;
2、判断文件是否只读


(defun ReadOnly    ()  
  ;;;这个范例演示当前的图形是否为只读  
  (VL-LOAD-COM)  
  (setq    AcadObject   (vlax-get-acad-object)  
  AcadDocument (vla-get-ActiveDocument Acadobject)  
  )   
  (if (= (vla-get-ReadOnly AcadDocument) :vlax-true)  
  (princ "当前的图形文件为只读.    ReadOnly 范例\n")  
  (princ "当前的图形文件为读/写.    ReadOnly 范例\n")  
)  
  (princ)  
)  
发表于 2014-8-22 15:41 | 显示全部楼层
...放弃操作...

Indicates the drawing modification status using bitcode. The value is the sum of the following:

1 Object database modified
4 Database variable modified
8 Window modified
16 View modified

AutoCAD resets the DBMOD value to 0 when you save the drawing.

另方:
给它添加个 Point / 空白文字 ...
 楼主| 发表于 2014-8-25 10:28 来自手机 | 显示全部楼层
819534890 发表于 2014-8-22 12:08
1、dbmod 系统变量,如果文档没改变过为0,否则非0;
2、判断文件是否只读


周末有事,没能及时感谢。谢谢!!
 楼主| 发表于 2014-8-28 10:45 来自手机 | 显示全部楼层
819534890 发表于 2014-8-22 12:08
1、dbmod 系统变量,如果文档没改变过为0,否则非0;
2、判断文件是否只读


有没有办法判断要打开的图纸是不是只读,不是当前图纸
发表于 2014-8-28 11:29 | 显示全部楼层
本帖最后由 819534890 于 2014-8-28 11:31 编辑
lostbalance 发表于 2014-8-28 10:45
有没有办法判断要打开的图纸是不是只读,不是当前图纸

可以,如果文件已经打开(但不是当前),和当前的方法类似。
如果文件还没打开,用下面的方法:
(setq Fil (vlax-get-or-create-object "Scripting.FileSystemObject"))
  (setq ss (vlax-invoke fil 'getfile file)) ;file为需要判断的文件
  (setq k (vlax-get-property ss 'Attributes ))

如果k值为奇数则为只读。
 楼主| 发表于 2014-8-28 22:39 | 显示全部楼层
感谢回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-18 21:32 , Processed in 0.218736 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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