找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 726|回复: 9

[求助] [求助]:怎样能让LISP检测当前的文档是否一个全新的文档

[复制链接]
发表于 2003-6-12 12:03:56 | 显示全部楼层 |阅读模式

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

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

×
设计了一个LISP小程序,要求是在一个全新的文档下执行—
图层只有“0”层,文字样式、标注样式都是缺省的,屏幕上
也没有创建任何对象。问题是怎样才能让LISP检测到当前文档
是否一个全新的文档?如果这样做很难或者很麻烦,也可以
只要能检测到屏幕上是否存在图元对象就行了。在此先谢谢
各位高手!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2003-6-12 12:41:30 | 显示全部楼层
什么是全新的文档?能否下一个确切的定义?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2003-6-12 12:54:48 | 显示全部楼层

Re: [求助]:怎样能让LISP检测当前的文档是否一个全新的文档

最初由 mhy007 发布
[B]设计了一个LISP小程序,要求是在一个全新的文档下执行—
图层只有“0”层,文字样式、标注样式都是缺省的,屏幕上
也没有创建任何对象。问题是怎样才能让LISP检测到当前文档
是否一个全新的文档?如果这样做很难?.. [/B]


如果你只要检查当前数据库是否有实体,你只需要构建一个X参数的选择集,判断是否有实体或者选择集是否存在就可以了。

  1. [font=courier]

  2. (if (and (setq ss (ssget "x"))
  3.            (> (sslength ss) 0)
  4.     (progn
  5.         (prompt "非空")
  6.    )
  7.    (progn
  8.         (prompt "空图")
  9.    )
  10. )

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

使用道具 举报

 楼主| 发表于 2003-6-12 19:00:06 | 显示全部楼层
lijiao朋友,我认为全新的文档应该是在AutoCAD新建时“无样板打开-公制”的缺省值—图层
只有“0”层,白色;文字样式是缺省的“Standard”,高度为零;标注样式是缺省的“ISO-25”;文件名为Drawing1、2、3、4、5…总之就是新建后没有进行过任何操作的文档。不知
这样理解对不对。
  同时谢谢XDSoft,我要尽快试试您的方法。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-6-13 08:18:07 | 显示全部楼层
只要你有一个确切的标准,完全可以用程序来逐项进行检查和判断,没有什么难度。如果哪一项不会检查,请提出来,大家帮你解决。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-6-13 08:34:21 | 显示全部楼层
"全新的文挡" 这个词需要统一概念. 曾经有人提出 " 到底是在编辑一张新图还是旧图?"
如果是这样, 可在原型图中设置一个变量, 作为新图标志. 在Acad.lsp中测试这个变量.
决定是新还是旧...
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

 楼主| 发表于 2003-6-13 15:28:12 | 显示全部楼层
XDSoft,按照您的方法反复试验,只有当屏幕上有对象时,才会进行下一步我设定的操作,
但是当屏幕上没有任何对象的话,总是显示 ;错误:参数类型错误:lselsetp nil  ,然后
就停止了,而我要的是当屏幕上没有任何对象,才进行下一步操作。后来我采用了一个
“笨”办法,就是先用“line”画一小线段,然后(>(sslength  ss)  1)则是已经编辑过的,如
果(=(sslength  ss)  1)就是新文档。这是菜鸟编程的幼稚办法。不知各位还有没有更好的办法?
再次谢谢XDSoft!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-6-13 16:17:12 | 显示全部楼层
最初由 mhy007 发布
[B]XDSoft,按照您的方法反复试验,只有当屏幕上有对象时,才会进行下一步我设定的操作,
但是当屏幕上没有任何对象的话,总是显示 ;错误:参数类型错误:lselsetp nil  ,然后
就停止了,而我要的是当屏幕上没有任?.. [/B]

应为这样:

  1.   [FONT=courier new]
  2. (if (ssget "x")
  3.     (progn
  4.         (prompt "非空")
  5.    )
  6.    (progn
  7.         (prompt "空图")
  8.    )
  9. )
  10.   [/FONT]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-6-15 19:01:48 | 显示全部楼层
if 判断语句:   
(if (ssget "x")
    (progn
        (prompt "非空")
   )
   (progn
        (prompt "空图")
   )
)
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-26 12:58 , Processed in 0.277409 second(s), 50 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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