明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2981|回复: 13

如何在LSP中调用CLOSE这个命令

  [复制链接]
发表于 2011-10-21 09:54:29 | 显示全部楼层 |阅读模式
(DEFUN C:SS()
  (command "-purge" "a" "" "n" )
  (command "-purge" "a" "" "n" )
  (command "-purge" "a" "" "n" )
  (SETQ NAME(getvar "dwgtitled"))
  (IF (= NAME 0)
    (PROGN
      (initdia)
      (command "qsave")
    )
    (COMMAND "_QSAVE")
  )
)
(DEFUN C:WD()
   (SETQ NAME(getvar "dwgtitled"))
   (IF (= NAME 0)
    (PROGN
      (initdia)
      (command "CLOSE" )
    )
    (COMMAND "_CLOSE" )
  )
)
QSAVE这个命令完全符合我的要求,便CLOSE这个就不行了,我想要的是:
当文件没有命名时,也就是常见的drawing1,不使用保存命令,直接关闭时要弹出下面的提示
有文件名时要弹出下面的提示:

也就是要和直接输入close这个命令的效果一致,目前qsave已能实现和直接输入qsave的效果一致,如果改写clsoe这个程序?







本帖子中包含更多资源

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

x
"觉得好,就打赏"
还没有人打赏,支持一下
 楼主| 发表于 2011-10-21 09:57:21 | 显示全部楼层
无文件名时的提示是下面那个附件的样式,不太会插入图片,没有编辑好,请大家赐教如何更改能在LSP自定义close这个命令,而且使用时的效果和直接输入close这个命令的效果是一致的?
发表于 2011-10-21 15:04:26 | 显示全部楼层
(command "._vbastmt" "Thisdrawing.close (false) ")
发表于 2011-10-21 15:30:01 | 显示全部楼层
难道不能用(command ".close" "y")么?
注意在关闭前恢复系统变量。
 楼主| 发表于 2011-10-21 17:54:13 | 显示全部楼层
直接输入close的现象是这样的:
    如果没有给文件命名,它会提示“是否保存drawing1,是,否,取消”,这时你点取消会进入文件命名及存放路径;如果点否直接关闭;如果点取消,返回CAD。
   如果文件已有名字,会提示“是否将改动保存到  路径+名字,是,否,取消,如果点是,会保存后取消;点否,不保存更改,点取消,返回CAD。
   (command ".close" "y")使用这行,在没有文件名时,会进入命名文件和设置存放路径的那一步,这时你不想保存这个文件都不行,因为这时只剩下确定和取消两个了,点取消后不能退出CAD,而此时文件还没有命名,一直循环不止呀!有文件名时,会直接关闭,哪怕你修改东西了,也不保存就退出了。
    因此我想实现的的是:除了在PGP文件中修改wd, *close外,通过LSP可以实现和输入close一样的界面。不管此文件是命名过还是没有命名过,如果文件有改动,也会有相应的弹窗提示。
发表于 2011-10-21 18:57:23 | 显示全部楼层
AutoCAD有个系统变量DWGTITLED识别文件是否命名,可以在close前追加这一变量的检测
发表于 2011-10-21 19:00:02 | 显示全部楼层
(DEFUN C:WD()
   (SETQ NAME(getvar "dwgtitled"))
   (IF (= NAME 0)
    (PROGN
      (initdia)
      (command "CLOSE" "N")
    )
    (command "_CLOSE" "Y")
  )
)
 楼主| 发表于 2011-10-22 09:06:24 | 显示全部楼层
cabinsummer 发表于 2011-10-21 19:00
(DEFUN C:WD()
   (SETQ NAME(getvar "dwgtitled"))
   (IF (= NAME 0)

我们在关闭文件时有四种情况:
1、文件没有文件名,你新建一张图纸,什么都没有动就关闭了,这时根本不提示让你保存;这个情况和你打开一个有文件名的文件,直接关闭是一样的,因为没有任何改动,不会提示保存。
2、文件无文件名,新建一个图纸,画了条线,这时候关闭,会提示你是否保存,如果不保存,直接关闭;如果保存,会让你对文件命名并选择路径。 (command "CLOSE" "N")这一句会直接不保存,少了保存的那一步
3、文件有文件名,无改动,直接关闭,这个同1
4、文件有文件名,你画了条线,点关闭, (command "_CLOSE" "Y")会直接保存你画的线,想不保存都不行。
也就是说我们没有把情况考虑清楚,还要加一个检测文件是否有改动的句子。请高手指教
发表于 2011-10-22 09:10:02 | 显示全部楼层
DWGCHECK        整型        确定图形最后是否经非AutoCAD程序编辑       
 楼主| 发表于 2011-10-22 09:31:51 | 显示全部楼层

DWGCHECK系统变量
类型:         整数
保存位置:         注册表
初始值:         0
   打开图形时检查图形中是否存在潜在问题。
        0        如果试图打开的图形存在潜在问题,则在打开图形之前发出警告。
        1        如果试图打开的图形存在潜在问题,或者如果图形是由 AutoCAD 或 AutoCAD LT 以外 的应用程序保存的,则在打开图形之前发出警告。
        2        如果试图打开的图形存在潜在问题,则在命令行发出通知。
        3        如果试图打开的图形存在潜在问题,则在命令行发出通知。 如果图形存在潜在问题,并且图形是由 AutoCAD 或 AutoCAD LT 以外的应用程序保存的,则在打开图形之前发出警告。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-12-24 03:09 , Processed in 0.210037 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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