找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1295|回复: 12

[求助] [求助]:如何能得到entsel的返回码?判断是鼠标选取还是回车

[复制链接]

已领礼包: 6530个

财富等级: 富甲天下

发表于 2002-10-8 17:58:36 | 显示全部楼层 |阅读模式

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

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

×
用(initget " ")也可以做到:

  1.   (initget "C  ")
  2.   (setq s0 (entsel "\n设置颜色C / 选取文本:"))
  3.   (cond
  4.     ( (= s0 "C") (ett_col))
  5.     ( (and (= (type s0) 'STR) (/= s0 "C")) nil)
  6.     ( (and (= (type s0) 'LIST) (= (cdr (assoc 0 (entget (car s0)))) "TEXT"))
  7.       ...
  8.       ...
  9.     )
  10.     (t (ett_ct))
  11.   )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 40个

财富等级: 招财进宝

 楼主| 发表于 2002-10-8 18:18:43 | 显示全部楼层

Re: 用(initget " ")也可以做到

最初由 ll_j 发布
[B]用(initget " ")也可以做到:
[code]
  (initget "C  ")
  (setq s0 (entsel "\n设置颜色C / 选取文本:"))
  (cond
    ( (= s0 "C") (ett_col))
    ( (and (= (type s0) 'STR) (/= s0 "C")) nil)
    ( (an... [/B]


谢谢晓东和LL-J,问下LL-J,用你的代码,COND判断,能否判断回车退出程序,空点鼠标继续让用户选择这样的功能吗?帮忙看看。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 6530个

财富等级: 富甲天下

发表于 2002-10-8 18:41:52 | 显示全部楼层

Re: Re: 用(initget " ")也可以做到

[QUOTE]最初由 newer 发布
[QUOTE]最初由 ll_j 发布
[B]用(initget " ")也可以做到:

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

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

 楼主| 发表于 2002-10-9 00:09:38 | 显示全部楼层
谢谢晓东和LL-J,下面是我写的一个测试代码,请大家批批


  1. (defun temp(/ tf e err)
  2.    (setq tf t)
  3.    (while tf
  4.       (setvar "errno" 0)
  5.       (setq e (entsel "\r选取实体<退出>:"))
  6.       (setq err (getvar "errno"))
  7.       (if (/= err 7) ;等于7是空点鼠标,继续选择
  8.         (setq tf nil)
  9.       )
  10.    )
  11.    (if (car e) ;选中实体
  12.      (progn
  13.         (princ "\n选中实体!")
  14.      )
  15.    )
  16.    (princ)
  17. )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2003-3-30 00:17:47 | 显示全部楼层
ll_j的东西坏了!!!,ERRNO是控制什么的函数?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-4-2 19:35:02 | 显示全部楼层
errno是个系统变量,说明产生错误的代码值。
以前总是没有注意,看了newer的帖子,知道这个的重要性,谢谢了!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-4-3 00:38:19 | 显示全部楼层
说老实话,我还是第一次接触到ERRNO这个系统变量,看帮助,上面写到:
(只读)
类型:整数
不被保存
初始值: 0
当 AutoCAD 探测出一个 AutoLISP 函数访问导致的错误时,显示其适当的错误编号。AutoLISP 应用程序可用 (getvar "errno") 来检验 ERRNO 的当前值。
ERRNO 系统变量并不总是被清为零。除非在 AutoLISP 函数发现错误之后立即检查该变量,否则代码值所指示的错误可能会引起误解。在启动或打开一个图形时,该变量被清为零。
它还有其它值吗?分别代表什么意思?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 145个

财富等级: 日进斗金

发表于 2003-4-3 01:28:51 | 显示全部楼层
最初由 zhynt 发布
[B]说老实话,我还是第一次接触到ERRNO这个系统变量,看帮助,上面写到:
(只读)
类型:整数
不被保存
初始值: 0
当 AutoCAD 探测出一个 AutoLISP 函数访问导致的错误时,显示其适当的错误编号。AutoLISP 应用... [/B]


用errno 可以判断ENTSEL是回车退出还是鼠标空选,你试试查看不同的返回码,这个方法论坛以前介绍过的。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-4-3 03:54:45 | 显示全部楼层
测试结果:
直接回车:返回52
选中目标:返回52
鼠标空选:返回7
还有没有其它的值?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-4-4 10:56:54 | 显示全部楼层
注意  变量 ERRNO 的可能值及其含义,在 AutoCAD 的后续版本中可能会发生变化。

联机程序错误代码

值        含义
0         没有错误
1         符号表名称无效
2         图元或选择集名称无效
3         超出选择集的最大数目
4         选择集无效
5         块定义的用法错误
6         xref 的用法错误
7        对象选择时拾取失败
8         图元文件结束
9         块定义文件结束
10         未找到最新图元
11         非法操作:试图删除视口对象
12         绘制 PLINE 时,操作非法
13         句柄无效
14         句柄未启用
15         坐标转换中要求的参数无效
16         坐标转换中要求的空间非法
17         非法使用已删除的图元
18         表名无效
19         表函数的参数无效
20         试图设置只读变量
21         不允许输入 0 值
22         数值越界
23         正在进行复杂的图形重生成
24         试图改变图元类型
25         图层名称错误
26         线型名称错误
27         颜色名称错误
28         文本样式名错误
29         型名称错误
30         图元类型字段错误
31         试图修改已删除的图元
32         试图修改子图元 SEQEND
33         试图修改句柄
34         试图修改视口的可见性
35         图元所在图层被锁定
36         图元类型错误
37         多段线图元错误
38         块中的复杂图元不完整
39         块的名称字段无效
40         块的标志字段重复
41         块的名称字段重复
42         法线矢量错误
43         缺少块名称
44         缺少块标志
45         无名块非法
46         块定义无效
47         缺少必需的字段
48         未知的扩展数据 (XDATA) 类型
49         XDATA 中序列的嵌套错误
50         APPID 字段的位置错误
51         XDATA 数据容量溢出
52         图元选择时,响应为空
53         APPID 重复
54         试图新建或修改视口图元
55         试图新建或修改 xref、xdef 或 xdep
56         ssget 过滤器:序列错误结束
57         ssget 过滤器:缺少测试运算符
58         ssget 过滤器:操作码 (-4) 字符串无效
59         ssget 过滤器:条件序列嵌套错误或内容为空
60         ssget 过滤器:条件序列的开始和结束不匹配
61         ssget 过滤器:条件序列中参数的数目错误(对于 NOT 或 XOR 而言)
62         ssget 过滤器:超出最大嵌套层数限制
63         ssget 过滤器:组码无效
64         ssget 过滤器:字符串测试无效
65         ssget 过滤器:矢量测试无效
66         ssget 过滤器:实数测试无效
67         ssget 过滤器:整数测试无效
68         定点设备不是数字化仪
69         数字化仪尚未校准
70         数字化仪参数无效
71         ADS 错误:不能分配新的结果缓存区
72         ADS 错误:检测到空指针
73         无法打开可执行文件
74         应用程序已经加载
75         加载的应用程序数目越界
76         无法执行应用程序
77         版本号不兼容
78         无法卸载被嵌套的应用程序
79         应用程序拒绝卸载
80         应用程序尚未加载
81         内存不足,无法加载应用程序
82         ADS 错误:变换矩阵非法
83         ADS 错误:符号名称无效
84         ADS 错误:符号值无效
85        显示对话框时,AutoLISP/ADS 操作被禁止
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-26 09:47 , Processed in 0.368396 second(s), 57 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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